:root{--bg:#FBF8F4;--card:#fff;--ink:#1B1A2E;--mut:#6B6880;--line:#ECE7E0;--pri:#6D4AFF;--pri-d:#4F2FE0;--pri-l:#EFEAFF;--ok:#18A957;--ok-d:#0E8443;--ok-l:#E3F7EC;--warn:#F59E0B;--warn-l:#FFF4DB;--bad:#E5484D;--bad-l:#FDECEC;--fire:#FF7A1A;--fire-l:#FFF0E5;--ice:#3BA3F7;
--r:18px;--sh:0 1px 0 rgba(27,26,46,.04),0 6px 24px rgba(27,26,46,.06);--f:ui-rounded,"SF Pro Rounded","Nunito","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,sans-serif}
*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--f);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--pri)}h1,h2,h3{line-height:1.2;margin:0 0 .4em;letter-spacing:-.01em}h1{font-size:28px}h2{font-size:21px}h3{font-size:17px}
p{margin:0 0 .8em}.muted{color:var(--mut)}.small{font-size:14px}.tiny{font-size:12px}.center{text-align:center}.hide{display:none!important}
.wrap{max-width:1080px;margin:0 auto;padding:20px 20px 110px}
.kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pri)}
button{font-family:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:12px 18px;font-weight:800;font-size:15px;cursor:pointer;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line),0 3px 0 var(--line);transition:transform .06s,box-shadow .06s;text-decoration:none;min-height:46px;letter-spacing:.01em}
.btn:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px var(--line),0 1px 0 var(--line)}
.btn.primary{background:var(--pri);color:#fff;box-shadow:0 4px 0 var(--pri-d)}.btn.primary:active{box-shadow:0 2px 0 var(--pri-d)}
.btn.ok{background:var(--ok);color:#fff;box-shadow:0 4px 0 var(--ok-d)}.btn.ok:active{box-shadow:0 2px 0 var(--ok-d)}
.btn.danger{background:var(--bad);color:#fff;box-shadow:0 4px 0 #B3282D}
.btn.ghost{background:transparent;box-shadow:none;color:var(--mut)}.btn.ghost:hover{background:rgba(0,0,0,.04)}
.btn.big{font-size:18px;padding:16px 26px;min-height:58px;border-radius:16px;width:100%}
.btn.sm{padding:7px 12px;min-height:36px;font-size:14px;border-radius:12px}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #B7A6FF;outline-offset:2px}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:20px;border:1px solid var(--line)}
.grid{display:grid;gap:16px}.grid>*{min-width:0}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack>*+*{margin-top:12px}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-weight:800;font-size:13px;background:var(--pri-l);color:var(--pri-d)}
.chip.fire{background:var(--fire-l);color:#C2410C}.chip.ok{background:var(--ok-l);color:var(--ok-d)}.chip.warn{background:var(--warn-l);color:#92400E}.chip.bad{background:var(--bad-l);color:#B3282D}.chip.gray{background:#F1EFEC;color:var(--mut)}
input,select,textarea{font:inherit;border:2px solid var(--line);border-radius:12px;padding:11px 13px;background:#fff;color:var(--ink);width:100%}
label{display:block;font-weight:700;font-size:14px;margin-bottom:12px}label input,label select{margin-top:6px}
/* Topbar + Nav */
.top{position:sticky;top:0;z-index:20;background:rgba(251,248,244,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .in{max-width:1080px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:20px;text-decoration:none;color:var(--ink)}.brand img{width:32px;height:32px}
.nav{display:flex;gap:4px;margin-left:12px}.nav a{padding:8px 12px;border-radius:12px;text-decoration:none;color:var(--mut);font-weight:800;font-size:15px;display:flex;gap:7px;align-items:center}
.nav a.on{color:var(--pri);background:var(--pri-l)}.nav a:hover{color:var(--ink)}
.stats{margin-left:auto;display:flex;gap:8px;align-items:center}
.stat{display:flex;align-items:center;gap:5px;font-weight:900;font-size:16px;padding:6px 10px;border-radius:12px;text-decoration:none;color:var(--ink)}.stat:hover{background:rgba(0,0,0,.04)}
.stat .ic{font-size:19px}.stat.off{filter:grayscale(1);opacity:.6}
.tabbar{display:none}
@media (max-width:760px){.nav{display:none}.tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:800;color:var(--mut);text-decoration:none;padding:6px 0;border-radius:12px}.tabbar a .ic{font-size:22px;line-height:1}.tabbar a.on{color:var(--pri);background:var(--pri-l)}
.g2,.g3{grid-template-columns:1fr}.wrap{padding:14px 14px 100px}h1{font-size:24px}.top .in{padding:8px 14px}.brand span{display:none}}
/* Home */
.hello{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:6px 0 16px}
.hello h1{margin:0}.today-card{position:relative;overflow:hidden;padding:24px;border:0;background:linear-gradient(135deg,#6D4AFF 0%,#8C5CFF 55%,#B061FF 100%);color:#fff;box-shadow:0 10px 30px rgba(109,74,255,.25)}
.today-card .kicker{color:rgba(255,255,255,.8)}.today-card h2{font-size:26px;margin:.25em 0 .35em;max-width:640px}.today-card .q{opacity:.92;max-width:640px;font-size:16px}
.today-card .pair{display:inline-flex;gap:6px;flex-wrap:wrap;margin-top:2px}.today-card .pair span{background:rgba(255,255,255,.18);border-radius:999px;padding:4px 10px;font-weight:800;font-size:13px}
.today-card .kp{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.today-card .kp div{background:rgba(255,255,255,.14);border-radius:14px;padding:10px 12px;font-weight:800;font-size:14px;line-height:1.3}
.today-card .kp b{display:block;font-size:12px;opacity:.75;font-weight:800;margin-bottom:2px}
.today-card .btn.big{background:#fff;color:var(--pri-d);box-shadow:0 4px 0 rgba(0,0,0,.18);max-width:360px}
.today-card .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.today-card .btn.ghost{color:#fff;opacity:.85}
.today-card .deco{position:absolute;right:-30px;top:-30px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%);pointer-events:none}
.today-card.done{background:linear-gradient(135deg,#14965A,#1DB96B 60%,#37C98A)}
@media (max-width:760px){.today-card .kp{grid-template-columns:1fr}.today-card h2{font-size:22px}.today-card{padding:18px}}
.week{display:flex;gap:6px;justify-content:space-between}.week .d{flex:1;text-align:center;font-size:12px;font-weight:800;color:var(--mut)}
.week .dot{width:34px;height:34px;margin:4px auto 0;border-radius:50%;display:grid;place-items:center;background:#F1EFEC;font-size:16px}
.week .dot.met{background:var(--fire);color:#fff;box-shadow:0 3px 0 #D9600B}.week .dot.freeze{background:#DCEFFE}.week .dot.today{outline:3px solid var(--pri-l)}
.flame{font-size:44px;line-height:1;display:inline-block;transform-origin:50% 90%}.flame.live{animation:flick 1.8s ease-in-out infinite}
@keyframes flick{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.06) rotate(-3deg)}60%{transform:scale(.97) rotate(2deg)}}
.streak-box{display:flex;gap:14px;align-items:center}.streak-box .n{font-size:34px;font-weight:900;line-height:1}
.ring{--p:0;width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--ok) calc(var(--p)*1%),#EEE9E3 0);display:grid;place-items:center;flex:none}
.ring>div{width:50px;height:50px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:900;font-size:14px}
.xpbar{height:14px;border-radius:999px;background:#EEE9E3;overflow:hidden}.xpbar>div{height:100%;background:linear-gradient(90deg,#FFB020,#FF7A1A);border-radius:999px;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.list-item{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;border:2px solid var(--line);background:#fff}
.list-item .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:var(--pri-l);flex:none}
.list-item .grow{flex:1;min-width:0}.list-item .t{font-weight:800}.list-item .s{color:var(--mut);font-size:14px}
.banner{border-radius:14px;padding:12px 14px;background:var(--warn-l);color:#7A4A00;font-weight:700;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.banner.info{background:var(--pri-l);color:var(--pri-d)}.banner.bad{background:var(--bad-l);color:#9B1C20}
/* Slides */
.slide{position:relative;aspect-ratio:16/9;width:100%;border-radius:14px;overflow:hidden;background:#fff;color:#1B1A2E;box-shadow:inset 0 0 0 1px var(--line);container-type:inline-size;font-family:var(--f)}
.slide .sin{position:absolute;inset:0;padding:6cqw 7cqw;display:flex;flex-direction:column;justify-content:center}
.slide .sk{font-size:2.4cqw;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--pri);margin-bottom:1.6cqw}
.slide .st{font-size:5.4cqw;font-weight:900;line-height:1.12;letter-spacing:-.02em}
.slide ul{margin:3cqw 0 0;padding:0;list-style:none}.slide li{font-size:3.3cqw;font-weight:700;margin:1.4cqw 0;padding-left:4.6cqw;position:relative;line-height:1.25}
.slide li:before{content:"";position:absolute;left:0;top:1cqw;width:2.2cqw;height:2.2cqw;border-radius:.7cqw;background:var(--pri)}
.slide.l-title{background:linear-gradient(135deg,#1B1A2E,#3A2E7A);color:#fff}.slide.l-title .sk{color:#FFB020}.slide.l-title .st{font-size:6.4cqw}.slide.l-title .sub{font-size:2.8cqw;opacity:.8;margin-top:2cqw;font-weight:700}
.slide .stat{font-size:15cqw;font-weight:900;line-height:1;color:var(--pri);letter-spacing:-.04em}.slide .statc{font-size:3.2cqw;font-weight:700;margin-top:1.4cqw;max-width:80%}
.slide .cols{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;margin-top:3cqw}.slide .cols div{border-radius:2cqw;padding:3cqw;font-size:3cqw;font-weight:800;line-height:1.25}
.slide .cols .a{background:#FDECEC;color:#9B1C20}.slide .cols .b{background:#E3F7EC;color:#0E6B39}.slide .cols small{display:block;font-size:2cqw;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-bottom:1cqw}
.slide.l-close{background:linear-gradient(135deg,#FFF4DB,#FFE7CC)}.slide.l-close .sk{color:#C2410C}
.slide .pg{position:absolute;right:3cqw;bottom:2.4cqw;font-size:1.8cqw;font-weight:800;opacity:.5}.slide .brandmark{position:absolute;left:7cqw;bottom:2.4cqw;font-size:1.8cqw;font-weight:900;opacity:.45}
.slides-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.slides-strip .slide{cursor:pointer;transition:transform .12s}.slides-strip .slide:hover{transform:translateY(-2px)}
/* Prep */
.timeline{display:flex;border-radius:12px;overflow:hidden;margin:10px 0 4px;max-width:100%}.timeline div{padding:8px 10px;font-size:13px;font-weight:800;color:#fff;min-width:0}
.timeline small{display:block;font-weight:700;opacity:.85;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph0{background:#7C5CFF}.ph1{background:#5B8DEF}.ph2{background:#22A6A0}.ph3{background:#FF8A3D}
.kp-list{counter-reset:k;display:grid;gap:10px}.kp-list>div{position:relative;padding:12px 14px 12px 52px;border-radius:14px;background:#FAF8F5;border:2px solid var(--line)}
.kp-list>div:before{counter-increment:k;content:counter(k);position:absolute;left:12px;top:12px;width:28px;height:28px;border-radius:9px;background:var(--pri);color:#fff;font-weight:900;display:grid;place-items:center}
.sticky-cta{position:sticky;bottom:12px;z-index:5;margin-top:18px}
@media (max-width:760px){.sticky-cta{bottom:76px}}
/* Studio */
.studio{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}
.cam{position:relative;border-radius:18px;overflow:hidden;background:#0E0D1A;aspect-ratio:16/9}
.cam video{width:100%;height:100%;object-fit:cover;display:block}.cam video.mirror{transform:scaleX(-1)}
.cam .hud{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.rec-dot{display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:5px 10px;font-weight:900;font-size:13px}
.rec-dot:before{content:"";width:10px;height:10px;border-radius:50%;background:#FF3B3B;animation:blink 1s infinite}@keyframes blink{50%{opacity:.25}}
.countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:120px;font-weight:900;color:#fff;background:rgba(14,13,26,.55);text-shadow:0 6px 30px rgba(0,0,0,.4)}
.prompter{position:absolute;left:0;right:0;bottom:0;padding:14px 16px 12px;background:linear-gradient(transparent,rgba(10,10,20,.85) 28%);color:#fff;font-size:15px;font-weight:700;line-height:1.35;max-height:36%;overflow:auto}
.prompter .kpl{font-size:12px;opacity:.85;margin-top:4px}
.prompter .pk{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#FFB020}
.tring{position:relative;width:118px;height:118px;flex:none}.tring svg{transform:rotate(-90deg)}.tring .lab{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.tring .lab b{font-size:26px;font-weight:900;display:block;line-height:1}.tring .lab span{font-size:11px;font-weight:800;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}
.meter{height:8px;border-radius:99px;background:#EEE9E3;overflow:hidden}.meter>div{height:100%;width:0;background:var(--ok);transition:width .08s}
.phase-now{font-weight:900;font-size:15px}.ctrls{display:flex;gap:10px;flex-wrap:wrap}
.kbd{display:inline-block;border:1px solid var(--line);border-bottom-width:3px;border-radius:7px;padding:0 6px;font-size:12px;font-weight:800;background:#fff;color:var(--mut)}
@media (max-width:900px){.studio{grid-template-columns:1fr}.cam{aspect-ratio:3/4;max-height:62vh}.tring{width:92px;height:92px}.tring .lab b{font-size:21px}}
.progress{height:12px;border-radius:99px;background:#EEE9E3;overflow:hidden}.progress>div{height:100%;background:var(--pri);width:0;transition:width .2s}
/* Result */
.result-hero{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.score-ring{--p:0;--c:var(--ok);width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),#EEE9E3 0);display:grid;place-items:center}
.score-ring>div{width:122px;height:122px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}.score-ring b{font-size:44px;font-weight:900;line-height:1;display:block}.score-ring span{font-size:12px;color:var(--mut);font-weight:800}
.delta{font-weight:900}.delta.up{color:var(--ok)}.delta.down{color:var(--bad)}
.dims{display:grid;gap:10px}.dim{display:grid;grid-template-columns:150px 1fr 44px;gap:10px;align-items:center;cursor:pointer}
.dim .bar{height:12px;border-radius:99px;background:#EEE9E3;overflow:hidden}.dim .bar>div{height:100%;border-radius:99px;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.dim .n{font-weight:900;text-align:right}.dim .lab{font-weight:800;font-size:14px}.dim-reason{grid-column:1/-1;font-size:14px;color:var(--mut);margin:-4px 0 4px;display:none}.dim.open .dim-reason{display:block}
@media (max-width:760px){.result-hero{grid-template-columns:1fr;justify-items:center;text-align:center}.dim{grid-template-columns:110px 1fr 36px}}
.player{display:grid;grid-template-columns:1fr 1fr;gap:12px}.player video{width:100%;border-radius:14px;background:#000;aspect-ratio:16/9;display:block}
@media (max-width:760px){.player{grid-template-columns:1fr}}
.tl{position:relative;height:30px;border-radius:10px;background:#F1EFEC;margin-top:10px;cursor:pointer}.tl .pos{position:absolute;top:0;bottom:0;width:3px;background:var(--ink);border-radius:2px}
.tl .m{position:absolute;top:4px;bottom:4px;width:4px;border-radius:2px}.tl .m.f{background:var(--bad)}.tl .m.s{background:var(--ok)}.tl .m.i{background:var(--warn)}.tl .m.sl{background:var(--pri);top:0;bottom:0;width:2px;opacity:.5}
.fb{display:flex;gap:12px;padding:12px;border-radius:14px;background:#FAF8F5;border:2px solid var(--line)}.fb+.fb{margin-top:10px}
.ts{flex:none;font-weight:900;font-size:13px;border:0;border-radius:9px;padding:4px 8px;background:var(--pri-l);color:var(--pri-d);cursor:pointer;height:fit-content;font-family:inherit}
.fb .try{margin-top:6px;padding:8px 10px;border-radius:10px;background:var(--ok-l);color:#0E5E33;font-weight:700;font-size:14px}
.metric{text-align:center;padding:14px;border-radius:14px;background:#FAF8F5;border:2px solid var(--line)}.metric b{font-size:24px;font-weight:900;display:block}.metric span{font-size:13px;color:var(--mut);font-weight:700}
.transcript{font-size:15px;line-height:1.7;max-height:320px;overflow:auto;padding:14px;border-radius:14px;background:#FAF8F5}.transcript mark{background:#FFD9D9;color:#9B1C20;border-radius:4px;padding:0 2px}
.stepper{display:grid;gap:12px}.step{display:flex;gap:12px;align-items:center;font-weight:800;color:var(--mut)}.step .b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#EEE9E3;flex:none}
.step.on{color:var(--ink)}.step.on .b{background:var(--pri);color:#fff;animation:pulse 1.4s infinite}.step.done{color:var(--ok-d)}.step.done .b{background:var(--ok);color:#fff}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(109,74,255,.45)}70%{box-shadow:0 0 0 12px rgba(109,74,255,0)}100%{box-shadow:0 0 0 0 rgba(109,74,255,0)}}
details{border-radius:14px}details summary{cursor:pointer;font-weight:800;padding:4px 0;list-style:none}details summary::-webkit-details-marker{display:none}details summary:before{content:"▸ ";color:var(--mut)}details[open] summary:before{content:"▾ "}
/* Archiv */
.talks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.tcard{background:#fff;border-radius:16px;border:1px solid var(--line);box-shadow:var(--sh);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .12s}.tcard:hover{transform:translateY(-2px)}
.tcard .th{aspect-ratio:16/9;background:#1B1A2E center/cover no-repeat;position:relative}.tcard .th .sc{position:absolute;right:10px;bottom:10px;background:#fff;border-radius:12px;padding:4px 10px;font-weight:900}
.tcard .th .du{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;border-radius:8px;padding:2px 7px;font-weight:800;font-size:12px}
.tcard .bd{padding:12px 14px}.tcard .bd .t{font-weight:800;line-height:1.3}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:2px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-weight:800;cursor:pointer;color:var(--mut)}.tabs button.on{border-color:var(--pri);color:var(--pri);background:var(--pri-l)}
/* Fortschritt */
.cal{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;overflow-x:auto}.cal div{width:13px;height:13px;border-radius:3px;background:#EEE9E3}.cal .m1{background:#FFD3B0}.cal .m2{background:#FF9F5A}.cal .met{background:var(--fire)}.cal .fz{background:#BEE3FF}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.badge{text-align:center;padding:14px 10px;border-radius:16px;border:2px solid var(--line);background:#fff}
.badge .bi{font-size:36px;line-height:1.2}.badge .bn{font-weight:900;font-size:14px;margin-top:4px}.badge .bd{font-size:12px;color:var(--mut)}.badge.locked{opacity:.45;filter:grayscale(1)}
.chart svg{width:100%;height:auto;display:block}.spark{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
/* Modal, Toast, Confetti */
.modal-bg{position:fixed;inset:0;background:rgba(20,18,40,.5);z-index:100;display:grid;place-items:center;padding:16px;animation:fade .2s}
.modal{background:#fff;border-radius:22px;max-width:460px;width:100%;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.25);animation:pop .3s cubic-bezier(.2,1.4,.4,1)}
@keyframes pop{from{transform:scale(.85);opacity:0}}@keyframes fade{from{opacity:0}}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:14px;font-weight:800;z-index:120;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:pop .3s;max-width:92vw}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:110}
.skel{background:linear-gradient(90deg,#EEE9E3 25%,#F6F2EC 37%,#EEE9E3 63%);background-size:400% 100%;animation:sk 1.4s ease infinite;border-radius:10px}@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}
/* Login */
.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(1200px 600px at 50% -10%,#EAE3FF,transparent),var(--bg)}
.login-card{width:100%;max-width:400px;background:#fff;border-radius:24px;padding:30px 26px;box-shadow:0 20px 60px rgba(27,26,46,.12);text-align:left}
.login-card h1{text-align:center;font-size:32px;margin-top:8px}.login-card .claim{text-align:center;color:var(--mut);margin-bottom:22px}
.login-hero{position:relative;display:grid;place-items:center;height:96px}.login-hero .spot{position:absolute;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#FFE7B0,transparent 70%)}.login-hero img{position:relative}
.err{background:var(--bad-l);color:#9B1C20;padding:10px 12px;border-radius:12px;font-weight:700}
.share-body .wrap{padding-bottom:40px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#phasetxt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.minislide{display:none;position:absolute;right:10px;top:46px;width:42%;max-width:230px;border-radius:10px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.35);cursor:pointer}
.minislide .slide{border-radius:10px}.minislide .tap{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:10px;font-weight:800;text-align:center;padding:2px}
@media (max-width:900px){.minislide{display:block}.studio .slide-col{display:none}.prompter{font-size:13.5px;max-height:34%}.studio-mobile-nav{display:flex!important}}
.studio-mobile-nav{display:none;gap:8px}
@media (hover:none){.kbdhint{display:none}}
.filebtn{position:relative;overflow:hidden}.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.clamp.open{-webkit-line-clamp:unset}
.drill-actions{display:flex;flex-direction:column;gap:6px}
@media (max-width:760px){.list-item.drill{flex-wrap:wrap}.list-item.drill .drill-actions{flex-direction:row;width:100%;padding-left:54px}.list-item.drill .drill-actions .btn{flex:1}}
.review-note{border-radius:12px;padding:10px 12px;font-weight:700;font-size:14px}
.review-note.ok{background:var(--ok-l);color:var(--ok-d)}.review-note.warn{background:var(--warn-l);color:#7A4A00}
.cal-wrap{display:flex;gap:6px}.cal-days{display:grid;grid-template-rows:repeat(7,1fr);gap:4px;font-size:10px;color:var(--mut);font-weight:800}.cal-days span{height:16px;line-height:16px}
.cal{gap:4px}.cal div{width:16px;height:16px;border-radius:4px}
.empty-chart{display:grid;place-items:center;text-align:center;padding:28px 10px;border-radius:14px;background:repeating-linear-gradient(135deg,#FAF8F5,#FAF8F5 10px,#F4F1EC 10px,#F4F1EC 20px);color:var(--mut);font-weight:700}
.celebrate .bigflame{font-size:86px;line-height:1;display:inline-block;animation:flamepop 1s cubic-bezier(.2,1.6,.4,1)}
@keyframes flamepop{0%{transform:scale(.2) rotate(-20deg);opacity:0}60%{transform:scale(1.15)}100%{transform:scale(1)}}
.celebrate .cstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.celebrate .cstats div{border-radius:14px;border:2px solid var(--line);padding:10px 6px}
.celebrate .cstats b{display:block;font-size:24px;font-weight:900}.celebrate .cstats span{font-size:12px;color:var(--mut);font-weight:800}
.dim .dl{font-size:11px;font-weight:900;margin-left:4px}.dim .dl.up{color:var(--ok)}.dim .dl.down{color:var(--bad)}

.mclock{display:none;background:rgba(0,0,0,.6);color:#fff;border-radius:999px;padding:5px 10px;font-weight:900;font-size:13px;font-variant-numeric:tabular-nums}
.mclock.late{background:#B45309}.mclock.over{background:#B91C1C}
@media (max-width:900px){.mclock{display:inline-block}}
.cam.flash{animation:camflash 1.2s ease-out}@keyframes camflash{0%{box-shadow:0 0 0 0 rgba(255,176,32,.0)}15%{box-shadow:0 0 0 6px rgba(255,176,32,.95)}100%{box-shadow:0 0 0 0 rgba(255,176,32,0)}}
.phase-flash{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);background:rgba(255,176,32,.95);color:#1B1A2E;font-weight:900;padding:8px 16px;border-radius:999px;font-size:15px;animation:pop .3s,fadeout 2.2s forwards;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
@keyframes fadeout{70%{opacity:1}100%{opacity:0}}
.kp-list .muted.small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}.kp-list .muted.small.open{-webkit-line-clamp:unset}
/* ---------- Team / Einladung / Datenschutz ---------- */
.login-card.wide{max-width:480px}
.login-card .claim{color:var(--mut)}
.hint{display:block;font-weight:600;font-size:12px;color:var(--mut);margin-top:4px}
label.check{display:flex;gap:10px;align-items:flex-start;font-weight:700;font-size:14px;margin:12px 0 16px;cursor:pointer}
label.check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--pri)}
details.privacy{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:4px 0 4px}
details.privacy summary{font-weight:800;cursor:pointer}
.plist{margin:8px 0 0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--ink)}.plist li{margin:0 0 6px}
div.privacy .plist{padding-left:18px}
.danger-zone{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}
.team-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);margin-top:14px}
@media (max-width:900px){.team-grid{grid-template-columns:minmax(0,1fr)}}
.lab{font-weight:700;font-size:14px;margin-bottom:6px}
.member{padding:14px 0;border-top:1px solid var(--line)}.member:first-of-type{border-top:0;padding-top:4px}
.member.off{opacity:.6}
.member .t{font-weight:800}
.avatar{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:900;font-size:18px;color:#fff;background:linear-gradient(135deg,var(--pri),#A78BFA)}
.member.off .avatar{background:#B9B5C6}
.ustats{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:14px}
.member-actions,.inv-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}
.list-item.inv{flex-wrap:wrap}.inv-actions{margin-top:0}
@media (max-width:760px){.list-item.inv .inv-actions{width:100%;justify-content:flex-start;padding-left:52px}.member-actions{justify-content:flex-start;padding-left:54px}}
.linkbox{display:flex;gap:8px;align-items:center;margin-top:8px}
.linkbox input{flex:1;min-width:0;margin:0;font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--bg)}
.linkbox.small{font-size:13px;color:var(--mut);justify-content:space-between;background:var(--bg);border-radius:12px;padding:6px 6px 6px 12px}
.newinv{margin-top:14px;padding:14px;border-radius:16px;background:#EFFAF3;border:2px solid #BDEBCF}
.novideo{aspect-ratio:16/9;display:grid;place-items:center;background:var(--bg);border:2px dashed var(--line);border-radius:14px;color:var(--mut);font-weight:700;text-align:center;padding:16px}
a.card.teamlink{text-decoration:none;color:inherit;display:block;border:2px solid var(--pri-l,#EAE3FF)}
.empty-team{text-align:center;padding:20px 10px}
