@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&family=Fredoka:wght@500;600;700&family=Nunito:wght@400;600;700&display=swap";
:root{--h-accent-1:#c5d86d;--h-accent-text:#c5d86d;--h-accent-2:#ff8a65;--h-bg:#0e0e0c;--h-surface:#161614;--h-surface-2:#1e1e1b;--h-surface-3:#25251f;--h-text:#f2f1ec;--h-text-2:#b5b3a8;--h-mute:#807e72;--h-dim:#4a4944;--h-ink:255,255,255;--h-line:rgba(var(--h-ink),.06);--h-line-2:rgba(var(--h-ink),.1);--h-on-accent:#14140f;--h-shadow:#00000080;--h-sans:"Nunito", -apple-system, system-ui, sans-serif;--h-display:"Nunito", -apple-system, system-ui, sans-serif;--h-display-weight:700;--h-mono:"Geist Mono", ui-monospace, monospace;--c-violet:#a855f7;--c-blue:#5b8bff;--c-cyan:#38bdf8;--c-green:#34d399;--c-yellow:#ffb800;--c-coral:#fb923c;--c-pink:#ff6b9d;--c-lime:#c5d86d;--c-flame:#ff7a45;--c-gold:#ffc24b}:root[data-side=culture]{--h-sans:"Geist", -apple-system, system-ui, sans-serif;--h-display:"Fredoka", "Geist", -apple-system, system-ui, sans-serif;--h-display-weight:600;--h-accent-1:#ff5c7a;--h-accent-text:#ff5c7a;--h-accent-2:#ff8a65;--h-bg:#14110f;--h-surface:#1d1916;--h-surface-2:#27221d;--h-surface-3:#2f2922;--h-text:#f2f1ec;--h-text-2:#bcb6aa;--h-mute:#8c8578;--h-dim:#534d44;--h-on-accent:#fff}:root[data-theme=light]{--h-accent-1:#c5d86d;--h-accent-text:#6b7f22;--h-accent-2:#f0764a;--h-bg:#f5f3ec;--h-surface:#fff;--h-surface-2:#edeae1;--h-surface-3:#e3dfd3;--h-text:#1a1917;--h-text-2:#6b685e;--h-mute:#8f8b7e;--h-dim:#c7c3b7;--h-ink:0,0,0;--h-on-accent:#14140f;--h-shadow:#00000024}:root[data-theme=light][data-side=culture]{--h-accent-1:#ff5c7a;--h-accent-text:#ff5c7a;--h-accent-2:#f0764a;--h-bg:#fbf2e4;--h-surface:#fff;--h-surface-2:#f5ecdb;--h-surface-3:#ebe0cb;--h-text:#1c1712;--h-text-2:#726a5d;--h-mute:#857b69;--h-dim:#d0c6b4;--h-on-accent:#fff}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--h-bg);color:var(--h-text);font-family:var(--h-sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}button:focus,input:focus,textarea:focus,select:focus{outline:none}input,textarea,select{font-family:inherit}.app{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--h-bg);border-right:1px solid var(--h-line);z-index:2;flex-direction:column;gap:32px;height:100vh;padding:28px 18px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:12px;padding:4px 10px;display:flex}.brand-mark{object-fit:cover;border-radius:7px;flex-shrink:0;width:28px;height:28px;display:block}.brand-name{letter-spacing:-.02em;font-size:18px;font-weight:500}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-eyebrow{font-family:var(--h-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--h-mute);margin-bottom:6px;padding:4px 12px;font-size:9px}.nav-item{color:var(--h-text-2);cursor:pointer;letter-spacing:-.005em;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:14px;width:100%;padding:11px 12px;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:rgba(var(--h-ink),.02);color:var(--h-text)}.nav-item.active{background:var(--h-surface);color:var(--h-text)}.nav-item.active:before{content:"";background:var(--h-accent-1);border-radius:2px;width:3px;height:16px;margin-left:-12px;margin-right:11px}.nav-item .icon{stroke:currentColor;fill:none;stroke-width:1.6px;flex-shrink:0;width:18px;height:18px}.nav-switch{color:var(--h-mute);background:var(--h-surface);border:1px solid var(--h-line-2);border-radius:10px;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:8px 10px;font-size:10px;font-weight:600;display:none}.nav-switch .ic{font-size:17px;line-height:1}.nav-switch:active{transform:scale(.96)}.lbl-short,.nav-item.etroit{display:none}.nav-item.session{background:var(--h-accent-1);color:var(--h-on-accent);margin:6px 0;font-weight:600}.nav-item.session:hover{background:var(--h-accent-1)}.nav-item.session.active:before{display:none}.nav-item .count{font-family:var(--h-mono);color:var(--h-mute);letter-spacing:.04em;margin-left:auto;font-size:11px}.nav-item.active .count{color:var(--h-accent-text)}.sidebar-foot{flex-direction:column;gap:12px;margin-top:auto;display:flex}.user-card{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.user-card:hover{background:var(--h-surface)}.user-avatar{background:var(--h-surface-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.user-name{letter-spacing:-.005em;font-size:13px;font-weight:500}.user-mail{color:var(--h-mute);letter-spacing:.02em;font-size:10px}.main{z-index:1;flex-direction:column;min-width:0;min-height:100vh;display:flex;position:relative}.topbar{border-bottom:1px solid var(--h-line);background:color-mix(in srgb, var(--h-bg) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;align-items:center;gap:18px;padding:16px 36px;display:flex;position:sticky;top:0}.breadcrumb{font-family:var(--h-mono);letter-spacing:.08em;color:var(--h-mute);text-transform:uppercase;flex:1;align-items:center;gap:8px;font-size:11px;display:flex}.breadcrumb .sep{color:var(--h-dim)}.breadcrumb .here{color:var(--h-text)}.sync-pill{font-family:var(--h-mono);letter-spacing:.06em;color:var(--h-accent-text);text-transform:uppercase;background:#c5d86d0a;border:1px solid #c5d86d40;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:11px;display:inline-flex}.sync-pill .dot{background:var(--h-accent-1);width:6px;height:6px;box-shadow:0 0 10px var(--h-accent-1);border-radius:50%}.top-search{width:320px;position:relative}.top-search input{background:var(--h-surface);border:1px solid var(--h-line-2);width:100%;color:var(--h-text);letter-spacing:-.005em;border-radius:999px;padding:8px 14px 8px 36px;font-size:13px}.top-search input::placeholder{color:var(--h-mute)}.top-search .ico{width:14px;height:14px;stroke:var(--h-mute);fill:none;stroke-width:1.5px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.streak-pill{color:var(--h-accent-2);font-family:var(--h-mono);letter-spacing:.06em;text-transform:uppercase;background:#ff8a6514;border:1px solid #ff8a6533;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:11px;display:inline-flex}.streak-pill .num{color:var(--h-text);font-weight:500}.top-avatar{background:var(--h-surface-2);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:600;display:flex}.page{align-self:center;width:100%;min-width:0;max-width:1400px;padding:40px 48px 80px}.page-eyebrow{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:11px}h1.page-title{letter-spacing:-.045em;margin:16px 0 0;font-size:80px;font-weight:500;line-height:.92}h1.page-title em{color:var(--h-accent-text);font-style:normal}h1.page-title.muted-tail em,h1.page-title em.muted{color:var(--h-mute)}.page-actions{align-items:center;gap:10px;display:flex}.home-greet{letter-spacing:-.045em;margin:16px 0 0;font-size:88px;font-weight:500;line-height:.92}.home-greet .lime{color:var(--h-accent-text)}.home-header{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.section-head{justify-content:space-between;align-items:center;gap:16px;margin:56px 0 18px;display:flex}.section-head h2{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:11px;font-weight:500}.section-head .right{align-items:center;gap:10px;display:flex}.btn{letter-spacing:-.005em;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:13px 22px;font-size:13px;font-weight:600;transition:transform .14s,opacity .14s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{opacity:.85;transform:translateY(0)}.btn.primary{background:var(--h-accent-1);color:var(--h-on-accent)}.btn.ghost{color:var(--h-text);border:1px solid var(--h-line-2);background:0 0}.btn.surface{background:var(--h-surface-2);color:var(--h-text)}.btn.danger{color:#ff7070;background:#ff64641a;border:1px solid #ff646433}.btn.sm{padding:8px 14px;font-size:12px}.btn.lg{padding:16px 28px;font-size:14px}.btn.full{justify-content:center;width:100%}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.arrow{border-top:1.5px solid;border-right:1.5px solid;width:10px;height:10px;display:inline-block;transform:rotate(45deg)}.chip{letter-spacing:-.005em;color:var(--h-text-2);border:1px solid var(--h-line-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:500;display:inline-flex}.chip.active{color:var(--h-on-accent);background:var(--h-accent-1);border-color:var(--h-accent-1)}.pill{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--h-line-2);color:var(--h-text-2);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:10px;display:inline-flex}.pill.lime{color:var(--h-accent-text);border-color:#c5d86d4d}.pill.coral{color:var(--h-accent-2);border-color:#ff8a654d}.pill.solid-lime{background:var(--h-accent-1);color:var(--h-on-accent);border-color:var(--h-accent-1)}.pill.solid-coral{background:var(--h-accent-2);color:var(--h-on-accent);border-color:var(--h-accent-2)}.subject-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.subject-bar{border-radius:2px;flex-shrink:0;align-self:stretch;width:4px;display:block}.card-prim{background:var(--h-surface);border-radius:18px;padding:24px}.h-bar{background:var(--h-line);border-radius:2px;width:100%;height:2px;position:relative;overflow:hidden}.h-bar .fill{background:var(--h-accent-1);border-radius:2px;height:100%;transition:width .6s;position:absolute;top:0;left:0}.h-bar .fill.coral{background:var(--h-accent-2)}.stat-tile{background:var(--h-surface);border-radius:18px;padding:22px 24px}.stat-tile .k{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:10px}.stat-tile .v{letter-spacing:-.035em;font-feature-settings:"tnum" 1;margin-top:10px;font-size:42px;font-weight:500;line-height:1}.stat-tile .v em{color:var(--h-mute);margin-left:4px;font-size:16px;font-style:normal}.stat-tile .sub{color:var(--h-text-2);letter-spacing:-.005em;margin-top:6px;font-size:12px}.hero-block{grid-template-columns:1.4fr 1fr;gap:24px;margin-top:56px;display:grid}.hero-main{background:var(--h-surface);border-radius:22px;padding:40px 44px 36px}.hero-main .eyebrow{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:11px}.hero-main .ttl{letter-spacing:-.035em;margin-top:16px;font-size:clamp(30px,7.5vw,48px);font-weight:500;line-height:1}.hero-main .ttl .mute{color:var(--h-mute)}.hero-main .row{justify-content:space-between;align-items:flex-end;margin-top:40px;display:flex}.hero-num{letter-spacing:-.05em;color:var(--h-accent-text);font-feature-settings:"tnum" 1;font-size:clamp(64px,17vw,120px);font-weight:500;line-height:.9}.hero-num small{color:var(--h-mute);margin-left:2px;font-size:36px}.hero-side{flex-direction:column;gap:18px;display:flex}.due-list{border-top:1px solid var(--h-line);flex-direction:column;display:flex}.due-row{border-bottom:1px solid var(--h-line);cursor:pointer;grid-template-columns:4px 1fr auto auto;align-items:center;gap:20px;padding:18px 0;transition:background .12s;display:grid}.due-row:hover{background:rgba(var(--h-ink),.02)}.due-row .bar{height:28px}.due-row .name{letter-spacing:-.005em;font-size:15px;font-weight:500}.due-row .meta{font-family:var(--h-mono);letter-spacing:.04em;color:var(--h-mute);margin-top:4px;font-size:11px}.week-strip{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}.day-cell{aspect-ratio:1/1.1;background:var(--h-surface);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px;display:flex}.day-cell.done{background:var(--h-accent-1);color:var(--h-on-accent)}.day-cell.today{border:1.5px dashed var(--h-accent-1);background:0 0}.day-cell .l{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.6;font-size:10px}.day-cell .n{letter-spacing:-.025em;font-size:24px;font-weight:500;line-height:1}.day-cell .check{stroke:currentColor;fill:none;stroke-width:2.5px;width:14px;height:14px}.matieres-list{border-top:1px solid var(--h-line);flex-direction:column;margin-top:32px;display:flex}.matiere-row{border-bottom:1px solid var(--h-line);cursor:pointer;grid-template-columns:4px 1fr auto auto;align-items:center;gap:24px;padding:22px 6px;transition:background .12s;display:grid}.matiere-row:hover{background:rgba(var(--h-ink),.02)}.matiere-row .bar{height:36px}.matiere-row .id{align-items:center;gap:14px;min-width:0;display:flex}.matiere-row .name{letter-spacing:-.015em;font-size:19px;font-weight:500}.matiere-row .meta{font-family:var(--h-mono);letter-spacing:.06em;color:var(--h-mute);text-transform:uppercase;margin-top:6px;font-size:11px}.matiere-row .meta .coral{color:var(--h-accent-2)}.matiere-row .mastery{letter-spacing:-.025em;color:var(--h-accent-text);font-feature-settings:"tnum" 1;font-size:28px;font-weight:500}.matiere-row .mastery small{color:var(--h-mute);margin-left:2px;font-size:14px}.matiere-row .chev{border-right:1.5px solid var(--h-mute);border-top:1.5px solid var(--h-mute);width:14px;height:14px;transform:rotate(45deg)}.subj-hero{grid-template-columns:1.6fr 1fr;gap:24px;margin-top:40px;display:grid}.subj-hero-main{background:var(--h-surface);border-radius:22px;padding:32px 36px;position:relative;overflow:hidden}.subj-hero-main .accent{height:4px;position:absolute;top:0;left:0;right:0}.subj-stats-row{flex-direction:column;gap:14px;display:flex}.subj-stats-row .stat-tile{padding:18px 22px}.subj-stats-row .stat-tile .v{font-size:32px}.ring-wrap{align-items:center;gap:24px;margin-top:32px;display:flex}.ring{flex-shrink:0;width:96px;height:96px;position:relative}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring svg .track{fill:none;stroke:var(--h-surface-2);stroke-width:6px}.ring svg .rfill{fill:none;stroke:var(--h-accent-text);stroke-width:6px;stroke-linecap:round}.ring .num{letter-spacing:-.025em;font-feature-settings:"tnum" 1;justify-content:center;align-items:center;font-size:22px;font-weight:500;display:flex;position:absolute;inset:0}.course-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.course-card{background:var(--h-surface);cursor:pointer;border-radius:18px;padding:22px 24px;transition:background .12s}.course-card:hover{background:var(--h-surface-2)}.course-card .top{align-items:center;gap:10px;margin-bottom:12px;display:flex}.course-card .name{letter-spacing:-.015em;font-size:17px;font-weight:500}.course-card .meta{font-family:var(--h-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--h-mute);margin-top:6px;font-size:10px}.course-card .meta .coral{color:var(--h-accent-2)}.course-card .row-bottom{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.course-card .mast{color:var(--h-accent-text);font-feature-settings:"tnum" 1;letter-spacing:-.02em;font-size:22px;font-weight:500}.course-card .mast small{color:var(--h-mute);margin-left:2px;font-size:11px}.course-card .bar-wrap{flex:1}.exam-list{flex-direction:column;gap:12px;display:flex}.exam-card{background:var(--h-surface);border-radius:16px;grid-template-columns:1fr auto;align-items:start;gap:24px;padding:20px 24px;display:grid}.exam-card .name{letter-spacing:-.015em;font-size:17px;font-weight:500}.exam-card .row{align-items:center;gap:14px;margin-top:8px;display:flex}.exam-card .date{font-family:var(--h-mono);letter-spacing:.04em;color:var(--h-mute);text-transform:uppercase;font-size:11px}.exam-card .ebadge{font-family:var(--h-mono);letter-spacing:.12em;border-radius:999px;padding:3px 9px;font-size:10px}.exam-card .ebadge.urgent{background:var(--h-accent-2);color:var(--h-on-accent)}.exam-card .ebadge.soon{color:var(--h-accent-text);background:#c5d86d26}.exam-card .ebadge.past{background:var(--h-surface-2);color:var(--h-mute)}.exam-card .enotes{color:var(--h-text-2);margin-top:8px;font-size:12px;font-style:italic;line-height:1.4}.schedule-list{flex-direction:column;gap:10px;display:flex}.schedule-row{background:var(--h-surface);border-radius:14px;align-items:center;gap:16px;padding:16px 22px;display:flex}.schedule-row .sico{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.schedule-row .when{letter-spacing:-.01em;font-size:15px;font-weight:500}.schedule-row .rel{font-family:var(--h-mono);color:var(--h-mute);letter-spacing:.04em;margin-top:4px;font-size:11px}.schedule-row .badge-week{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-mute);margin-left:auto;font-size:10px}.course-hero{background:var(--h-surface);border-radius:22px;margin-top:32px;padding:32px 36px;position:relative;overflow:hidden}.course-hero .accent{height:4px;position:absolute;top:0;left:0;right:0}.course-hero .ttl{letter-spacing:-.04em;font-size:clamp(30px,7.5vw,48px);font-weight:500;line-height:1}.course-hero .hmeta{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);margin-top:14px;font-size:11px}.course-hero .hmeta .coral{color:var(--h-accent-2)}.course-hero .num-row{align-items:flex-end;gap:32px;margin-top:32px;display:flex}.course-hero .mastery-num{letter-spacing:-.05em;color:var(--h-accent-text);font-feature-settings:"tnum" 1;font-size:clamp(56px,14vw,96px);font-weight:500;line-height:.9}.course-hero .mastery-num small{color:var(--h-mute);margin-left:2px;font-size:28px}.course-hero .bar-wrap{flex:1;max-width:480px;padding-bottom:18px}.matiere-link{background:var(--h-bg);cursor:pointer;border-radius:999px;align-items:center;gap:10px;margin-top:12px;padding:8px 14px;font-size:12px;display:inline-flex}.card-list{flex-direction:column;gap:8px;display:flex}.card-row{background:var(--h-surface);cursor:pointer;border-radius:14px;padding:18px 22px;transition:background .12s}.card-row:hover,.card-row.expanded{background:var(--h-surface-2)}.card-row .ctop{justify-content:space-between;align-items:center;gap:16px;display:flex}.card-row .cleft{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.type-badge{font-family:var(--h-mono);letter-spacing:.14em;background:rgba(var(--h-ink),.06);color:var(--h-text-2);text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:3px 7px;font-size:9px}.type-badge.qcm{color:var(--h-accent-text);background:#c5d86d1a}.card-row .cq{color:var(--h-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.card-row .cmast{font-family:var(--h-mono);color:var(--h-accent-text);flex-shrink:0;font-size:11px}.card-row .cmast.low{color:var(--h-accent-2)}.card-row .cmast.muted{color:var(--h-mute)}.card-answer{border-top:1px solid var(--h-line);margin-top:16px;padding-top:16px;display:none}.card-row.expanded .card-answer{display:block}.answer-label{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);margin-bottom:6px;font-size:10px}.answer-text{color:var(--h-text-2);font-size:14px;line-height:1.5}.choices{flex-direction:column;gap:8px;margin-top:12px;display:flex}.choice{background:var(--h-bg);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.choice.good{color:var(--h-accent-text)}.choice.bad{color:var(--h-accent-2)}.fc-stage{background:var(--h-bg);border:1px solid var(--h-line);border-radius:22px;flex-direction:column;min-height:640px;margin-top:32px;padding:36px 40px;display:flex}.fc-top{align-items:center;gap:18px;display:flex}.fc-close{background:var(--h-surface-2);border:1px solid var(--h-line);width:36px;height:36px;color:var(--h-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:flex}.fc-close:hover{background:var(--h-line);border-color:var(--h-text-2)}.fc-close svg{stroke:currentColor;fill:none;stroke-width:2px;width:14px;height:14px}.fc-ptext{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:11px}.fc-pbar{background:var(--h-line);border-radius:2px;flex:1;height:2px;position:relative;overflow:hidden}.fc-pbar .fill{background:var(--h-accent-1);height:100%;transition:width .3s;position:absolute;top:0;left:0}.fc-timer{font-family:var(--h-mono);color:var(--h-text-2);letter-spacing:.06em;font-size:12px}.fc-card{background:var(--h-surface);border:1px solid var(--h-line);border-radius:22px;flex-direction:column;flex:1;gap:32px;width:100%;max-width:720px;margin:32px auto 0;padding:56px;display:flex}.fc-ctx{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);align-items:center;gap:8px;font-size:11px;display:flex}.fc-q{letter-spacing:-.03em;font-size:36px;font-weight:500;line-height:1.15}.fc-ans{background:var(--h-bg);border:1px solid var(--h-line);border-radius:14px;padding:28px 32px}.fc-ans-label{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);margin-bottom:12px;font-size:10px}.fc-ans-text{color:var(--h-text-2);font-size:20px;line-height:1.5}.fc-q.solo{text-align:center;letter-spacing:0;flex:1;justify-content:center;align-items:center;padding:12px 0;font-size:clamp(88px,14vw,168px);line-height:1;display:flex}.fc-ans-text.solo{text-align:center;padding:8px 0;font-size:clamp(60px,11vw,128px);line-height:1}.fc-reveal{border-top:1px solid var(--h-line);justify-content:space-between;align-items:center;gap:24px;margin-top:auto;padding-top:24px;display:flex}.fc-hint{color:var(--h-mute);font-size:13px}.fc-hint kbd{font-family:var(--h-mono);background:var(--h-bg);border:1px solid var(--h-line-2);color:var(--h-text-2);border-radius:5px;margin:0 3px;padding:3px 7px;font-size:11px}.rating-row{grid-template-columns:repeat(4,1fr);align-self:center;gap:12px;width:100%;max-width:720px;margin-top:24px;display:grid}.rating-btn{background:var(--h-surface);border:1px solid var(--h-line-2);cursor:pointer;color:var(--h-text);text-align:left;border-radius:14px;padding:18px 16px;transition:background .12s,border .12s}.rating-btn:hover{background:var(--h-surface-2)}.rating-btn .lab{letter-spacing:-.015em;font-size:15px;font-weight:500}.rating-btn .key{font-family:var(--h-mono);letter-spacing:.14em;color:var(--h-mute);text-transform:uppercase;margin-top:6px;font-size:10px}.rating-btn.r0{color:var(--h-accent-2)}.rating-btn.r0:hover{border-color:var(--h-accent-2)}.rating-btn.r5{color:var(--h-accent-text)}.rating-btn.r5:hover{border-color:var(--h-accent-text)}.session-header-card{background:var(--h-surface);border-radius:22px;grid-template-columns:1fr auto;align-items:center;gap:32px;margin-top:32px;padding:32px 36px;display:grid}.session-header-card .slabel{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:11px}.session-header-card .sttl{letter-spacing:-.035em;margin-top:10px;font-size:40px;font-weight:500;line-height:1}.session-header-card .sinfo{color:var(--h-text-2);max-width:52ch;margin-top:14px;font-size:14px;line-height:1.5}.session-header-card .sinfo .lime{color:var(--h-accent-text)}.session-launch{background:var(--h-accent-1);width:92px;height:92px;color:var(--h-on-accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .14s;display:flex}.session-launch:hover{transform:scale(1.05)}.session-launch svg{fill:currentColor;width:36px;height:36px}.method-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.method-tile{background:var(--h-surface-2);cursor:pointer;border:1.5px solid var(--h-line-2);text-align:left;border-radius:18px;flex-direction:column;gap:14px;padding:22px 20px;transition:background .12s,border .12s;display:flex;position:relative}.method-tile:hover{background:var(--h-surface-3);border-color:rgba(var(--h-ink),.14)}.method-tile.mactive{border-color:var(--h-accent-text);background:#c5d86d0f}.method-tile .mname{letter-spacing:-.015em;color:var(--h-text);font-size:16px;font-weight:500}.method-tile .mdesc{color:var(--h-text-2);font-size:11px;line-height:1.45}.method-tile .mico{width:32px;height:32px;stroke:var(--h-text);fill:none;stroke-width:1.5px}.selector-card{background:var(--h-surface);border-radius:18px;margin-top:18px;padding:24px}.selector-group+.selector-group{border-top:1px solid var(--h-line);margin-top:14px;padding-top:14px}.selector-group .sgname{font-family:var(--h-mono);letter-spacing:.14em;color:var(--h-mute);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:10px;font-size:10px;display:flex}.selector-list{grid-template-columns:1fr 1fr;gap:6px;display:grid}.selector-row{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.selector-row:hover{background:var(--h-surface-2)}.selector-check{border:1.5px solid var(--h-line-2);border-radius:4px;flex-shrink:0;width:16px;height:16px;transition:background .12s,border-color .12s;position:relative}.selector-row.checked .selector-check{background:var(--h-accent-1);border-color:var(--h-accent-1)}.selector-row.checked .selector-check:after{content:"";border-left:1.5px solid var(--h-bg);border-bottom:1.5px solid var(--h-bg);width:5px;height:3px;position:absolute;top:5px;left:4px;transform:rotate(-45deg)}.session-cta{z-index:4;background:var(--h-surface-2);border:1px solid var(--h-line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding:16px 24px;display:flex;position:sticky;bottom:16px}.session-cta .sclabel{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:11px;display:block}.session-cta .sccount{letter-spacing:-.015em;margin-top:4px;font-size:18px;font-weight:500;display:block}.session-cta .sccount em{color:var(--h-accent-text);font-style:normal}.planning-grid{grid-template-columns:1.5fr 1fr;gap:24px;margin-top:32px;display:grid}.month-card{background:var(--h-surface);border-radius:22px;padding:28px 32px}.month-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.month-name{letter-spacing:-.025em;font-size:28px;font-weight:500}.month-name em{color:var(--h-mute);margin-left:8px;font-size:18px;font-style:normal}.month-nav{gap:8px;display:flex}.month-nav button{background:var(--h-surface-2);width:32px;height:32px;color:var(--h-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.month-nav button:hover{background:var(--h-surface-3)}.month-nav button svg{stroke:currentColor;fill:none;stroke-width:2px;width:12px;height:12px}.month-week-head{border-bottom:1px solid var(--h-line);grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px;padding-bottom:10px;display:grid}.month-week-head div{font-family:var(--h-mono);letter-spacing:.14em;text-align:center;color:var(--h-mute);text-transform:uppercase;font-size:10px}.month-cells{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-day{aspect-ratio:1;cursor:pointer;border-radius:12px;flex-direction:column;padding:8px 10px;transition:background .12s;display:flex;position:relative}.cal-day:hover{background:rgba(var(--h-ink),.03)}.cal-day.muted .dn{color:var(--h-dim)}.cal-day .dn{letter-spacing:-.01em;color:var(--h-text);font-size:14px;font-weight:500}.cal-day .ddots{gap:3px;margin-top:auto;display:flex}.cal-day .ddots span{border-radius:50%;width:5px;height:5px;display:block}.cal-day.today{border:1px solid var(--h-accent-1)}.cal-day.selected{border:1px solid var(--h-accent-1);background:#c5d86d1a}.day-detail-panel{flex-direction:column;gap:18px;display:flex}.day-detail-card{background:var(--h-surface);border-radius:18px;padding:24px}.day-detail-card .dlabel{font-family:var(--h-mono);letter-spacing:.14em;color:var(--h-mute);text-transform:uppercase;font-size:10px}.day-detail-card .dbig{letter-spacing:-.03em;margin-top:6px;font-size:36px;font-weight:500}.day-events{flex-direction:column;gap:12px;margin-top:22px;display:flex}.devent{border-bottom:1px solid var(--h-line);align-items:center;gap:12px;padding:10px 0;display:flex}.devent:last-child{border-bottom:none}.devent .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.devent .ename{flex:1;font-size:14px;font-weight:500}.devent .ewhen{font-family:var(--h-mono);color:var(--h-mute);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.devent .ebadge{font-family:var(--h-mono);letter-spacing:.12em;border-radius:999px;padding:3px 7px;font-size:9px}.devent .ebadge.urgent{background:var(--h-accent-2);color:var(--h-on-accent)}.upcoming-list{border-top:1px solid var(--h-line);flex-direction:column;display:flex}.upcoming-row{border-bottom:1px solid var(--h-line);cursor:pointer;grid-template-columns:90px 1fr auto;align-items:center;gap:24px;padding:18px 0;transition:background .12s;display:grid}.upcoming-row:hover{background:rgba(var(--h-ink),.02)}.upcoming-row .udate{font-family:var(--h-mono);letter-spacing:.08em;color:var(--h-text-2);text-transform:uppercase;font-size:11px}.upcoming-row .udate small{color:var(--h-mute);margin-top:2px;font-size:10px;display:block}.upcoming-row .uinfo{align-items:center;gap:12px;min-width:0;display:flex}.upcoming-row .unm{letter-spacing:-.01em;font-size:15px;font-weight:500}.upcoming-row .ubadge{font-family:var(--h-mono);letter-spacing:.12em;border-radius:999px;padding:4px 9px;font-size:10px}.upcoming-row .ubadge.exam{color:var(--h-accent-2);background:#ff8a651f}.upcoming-row .ubadge.course{color:var(--h-accent-text);background:#c5d86d1f}.profile-head{align-items:flex-start;gap:28px;margin-top:32px;display:flex}.profile-avatar-big{background:var(--h-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;font-size:44px;font-weight:500;display:flex}.profile-info{flex:1;padding-top:14px}.profile-info .pname{letter-spacing:-.035em;font-size:40px;font-weight:500;line-height:1}.profile-info .pmail{font-family:var(--h-mono);color:var(--h-mute);letter-spacing:.04em;margin-top:10px;font-size:12px}.profile-badges{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.profile-stats{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.heatmap{background:var(--h-surface);border-radius:18px;padding:28px}.heatmap-head{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.heatmap-head .httl{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:11px}.heatmap-grid{grid-template-columns:repeat(26,1fr);gap:4px;display:grid}.heatmap-cell{aspect-ratio:1;background:var(--h-surface-2);border-radius:3px}.heatmap-cell.l1{background:#c5d86d33}.heatmap-cell.l2{background:#c5d86d66}.heatmap-cell.l3{background:#c5d86da6}.heatmap-cell.l4{background:var(--h-accent-1)}.heatmap-legend{font-family:var(--h-mono);letter-spacing:.08em;color:var(--h-mute);text-transform:uppercase;align-items:center;gap:16px;margin-top:18px;font-size:10px;display:flex}.heatmap-legend .hscale{gap:3px;display:flex}.heatmap-legend .hscale span{border-radius:3px;width:12px;height:12px}.mastery-list{flex-direction:column;display:flex}.mastery-row{border-bottom:1px solid var(--h-line);grid-template-columns:10px 1fr 280px auto;align-items:center;gap:20px;padding:16px 0;display:grid}.mastery-row:last-child{border-bottom:none}.mastery-row .mnm{font-size:14px;font-weight:500}.mastery-row .msub{font-family:var(--h-mono);color:var(--h-mute);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:10px}.mastery-row .mpct{font-family:var(--h-mono);color:var(--h-accent-text);text-align:right;font-size:13px}.mastery-row .mpct.low{color:var(--h-accent-2)}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:10px}.form-input{background:var(--h-surface-2);border:1px solid var(--h-line-2);color:var(--h-text);letter-spacing:-.005em;border-radius:12px;width:100%;padding:12px 16px;font-size:15px;transition:border-color .12s}.form-input:focus{border-color:var(--h-accent-text)}.form-input::placeholder{color:var(--h-mute)}.form-textarea{resize:vertical;min-height:90px}.modal-backdrop{background:color-mix(in srgb, var(--h-bg) 72%, transparent);z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--h-surface);border:1px solid var(--h-line-2);border-radius:22px;width:100%;max-width:540px;max-height:90vh;padding:32px;overflow-y:auto}.modal-title{letter-spacing:-.025em;margin-bottom:24px;font-size:24px;font-weight:500}.modal-actions{justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.auth-page{background:var(--h-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--h-surface);border:1px solid var(--h-line);border-radius:22px;width:100%;max-width:440px;padding:48px 48px 40px}.auth-brand{align-items:center;gap:12px;margin-bottom:40px;display:flex}.auth-brand-mark{border-radius:10px;width:36px;height:36px;overflow:hidden}.auth-brand-name{letter-spacing:-.02em;font-size:22px;font-weight:500}.auth-title{letter-spacing:-.03em;margin-bottom:8px;font-size:32px;font-weight:500}.auth-sub{color:var(--h-text-2);margin-bottom:32px;font-size:14px;line-height:1.4}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-divider{text-align:center;font-family:var(--h-mono);color:var(--h-mute);letter-spacing:.14em;text-transform:uppercase;margin:4px 0;font-size:10px}.auth-footer{text-align:center;color:var(--h-text-2);margin-top:24px;font-size:13px}.auth-footer a{color:var(--h-accent-text)}.auth-error{color:#f88;background:#ff64641a;border:1px solid #ff646433;border-radius:10px;padding:12px 16px;font-size:13px}.color-palette{flex-wrap:wrap;gap:10px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:28px;height:28px;transition:transform .12s}.color-swatch.active{border-color:#fff;transform:scale(1.15)}.qcm-options{flex-direction:column;gap:10px;margin-top:32px;display:flex}.qcm-btn{background:var(--h-surface-2);border:1.5px solid var(--h-line-2);text-align:left;cursor:pointer;color:var(--h-text);border-radius:14px;align-items:center;gap:14px;width:100%;padding:16px 20px;font-size:15px;transition:background .12s,border-color .12s;display:flex}.qcm-btn:hover{background:var(--h-surface-3);border-color:var(--h-line-2)}.qcm-btn.correct{color:#34d399;background:#34d3991f;border-color:#34d399}.qcm-btn.wrong{border-color:var(--h-accent-2);color:var(--h-accent-2);background:#ff8a651f}.qcm-letter{font-family:var(--h-mono);letter-spacing:.08em;background:var(--h-surface);border:1px solid var(--h-line-2);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;display:flex}.ai-upload-zone{border:1.5px dashed var(--h-line-2);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;min-height:130px;padding:32px 24px;transition:border-color .12s,background .12s;display:flex}.ai-upload-zone:hover{border-color:var(--h-accent-text);background:#c5d86d08}.ai-error{color:#f88;background:#ff646414;border:1px solid #ff646433;border-radius:10px;margin-top:14px;padding:10px 14px;font-size:13px}.gen-card-row{cursor:pointer;border:1.5px solid var(--h-line);border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;transition:background .12s,border-color .12s;display:flex}.gen-card-row:hover{background:var(--h-surface-2)}.gen-card-row.selected{border-color:var(--h-accent-text);background:#c5d86d0a}.gen-check{border:1.5px solid var(--h-line-2);border-radius:4px;flex-shrink:0;width:16px;height:16px;margin-top:2px;transition:background .12s,border-color .12s;position:relative}.gen-check.checked{background:var(--h-accent-1);border-color:var(--h-accent-1)}.gen-check.checked:after{content:"";border-left:1.5px solid var(--h-bg);border-bottom:1.5px solid var(--h-bg);width:5px;height:3px;position:absolute;top:5px;left:4px;transform:rotate(-45deg)}.session-launch:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.empty{text-align:center;background:var(--h-surface);color:var(--h-mute);border-radius:18px;padding:60px 24px;font-size:13px}.empty .big{color:var(--h-text);margin-bottom:6px;font-size:18px;font-weight:500}.session-result{text-align:center;max-width:600px;margin:80px auto}.session-result .rscore{letter-spacing:-.05em;color:var(--h-accent-text);font-size:clamp(72px,20vw,120px);font-weight:500;line-height:.9}.session-result .rscore small{color:var(--h-mute);font-size:40px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--h-line);border-top-color:var(--h-accent-text);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.loading-center{justify-content:center;align-items:center;padding:80px;display:flex}.pro-badge{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;background:var(--h-accent-1);color:var(--h-on-accent);border-radius:999px;padding:2px 7px;font-size:9px;font-weight:600}.pro-card{border:1px solid var(--h-line-2);background:linear-gradient(#c5d86d0d 0%,#0000 100%);border-radius:12px;padding:14px 14px 12px}.pro-card-label{font-family:var(--h-mono);letter-spacing:.14em;color:var(--h-accent-text);text-transform:uppercase;font-size:9px}.pro-card-ttl{letter-spacing:-.01em;margin-top:8px;font-size:14px;font-weight:500}.pro-card-desc{color:var(--h-mute);margin-top:4px;font-size:11px;line-height:1.4}.pro-card-cta{background:var(--h-accent-1);color:var(--h-on-accent);text-align:center;cursor:pointer;border:none;border-radius:999px;width:100%;margin-top:12px;padding:8px 12px;font-size:12px;font-weight:600;display:block}.pro-modal{max-width:480px!important}.pro-modal-header{text-align:center;border-bottom:1px solid var(--h-line);margin-bottom:20px;padding-bottom:20px}.pro-modal-badge{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-accent-text);background:#c5d86d1f;border:1px solid #c5d86d4d;border-radius:999px;padding:4px 12px;font-size:10px}.pro-modal-title{letter-spacing:-.02em;margin-top:16px;font-size:22px;font-weight:500;line-height:1.3}.pro-modal-sub{color:var(--h-text-2);margin-top:6px;font-size:14px}.pro-feature-list{flex-direction:column;gap:10px;margin:0 0 20px;list-style:none;display:flex}.pro-feature-list li{align-items:center;gap:12px;font-size:14px;display:flex}.pro-check{color:var(--h-accent-text);flex-shrink:0;font-size:16px;font-weight:700}.pro-pricing{border-top:1px solid var(--h-line);border-bottom:1px solid var(--h-line);grid-template-columns:1fr 1px 1fr;gap:16px;padding:16px 0;display:grid}.pro-price-divider{background:var(--h-line)}.pro-price-option{text-align:center;border-radius:12px;padding:8px}.pro-price-option.clickable{cursor:pointer;border:1.5px solid var(--h-line-2);background:0 0;width:100%;transition:border-color .12s,background .12s}.pro-price-option.clickable:hover:not(:disabled){border-color:var(--h-text-2);background:var(--h-surface-2)}.pro-price-option.clickable.featured{background:#c5d86d0a;border-color:#c5d86d66}.pro-price-option.clickable.featured:hover:not(:disabled){border-color:var(--h-accent-text)}.pro-price-cta{color:var(--h-accent-text);font-size:11px;font-family:var(--h-mono);letter-spacing:.06em;margin-top:8px}.pro-price-label{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-mute);justify-content:center;align-items:center;gap:6px;font-size:10px;display:flex}.pro-price-amount{letter-spacing:-.03em;color:var(--h-accent-text);margin-top:6px;font-size:28px;font-weight:500}.pro-price-amount span{color:var(--h-mute);font-size:13px}.pro-save{background:var(--h-accent-1);color:var(--h-on-accent);border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700}.acm-modal{max-width:560px!important}.acm-palette{flex-direction:column;gap:6px;margin-top:8px;display:flex}.acm-palette-row{gap:6px;display:flex}.acm-swatch{cursor:pointer;border:2.5px solid #0000;border-radius:50%;flex-shrink:0;width:32px;height:32px;transition:transform .12s,border-color .12s}.acm-swatch:hover{transform:scale(1.15)}.acm-swatch.active{border-color:#fff;transform:scale(1.2)}.acm-method{background:var(--h-surface-2);border:1.5px solid rgba(var(--h-ink),.1);cursor:pointer;text-align:left;border-radius:16px;align-items:center;gap:16px;width:100%;padding:18px 20px;transition:border-color .12s,background .12s;display:flex}.acm-method:hover{background:var(--h-surface-3);border-color:rgba(var(--h-ink),.16)}.acm-method.active{border-color:var(--h-accent-text);background:#c5d86d0f}.acm-method-icon{flex-shrink:0;font-size:32px}.acm-method-name{letter-spacing:-.01em;color:var(--h-text);font-size:16px;font-weight:500}.acm-method-desc{color:var(--h-text-2);margin-top:4px;font-size:12px;line-height:1.4}.acm-check{color:var(--h-accent-text);flex-shrink:0;margin-left:auto;font-size:18px;font-weight:700}@media (max-width:1000px){.app{grid-template-columns:1fr}.sidebar{border-right:none;border-top:1px solid var(--h-line);background:color-mix(in srgb, var(--h-bg) 95%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;flex-direction:row;gap:0;height:auto;padding:8px 12px 12px;position:fixed;inset:auto 0 0;overflow:hidden}.brand,.sidebar-foot,.nav-eyebrow,:root[data-side=travail] .nav-culture,:root[data-side=culture] .nav-travail,.nav-admin{display:none}.nav-switch{display:flex}.nav-section{flex-direction:row;flex:1;justify-content:space-around;gap:4px}.nav-item{text-align:center;letter-spacing:0;border-radius:8px;flex-direction:column;flex:1;gap:4px;min-width:0;padding:7px 4px;font-size:9px;line-height:1.15}.nav-item .icon{width:20px;height:20px}.nav-switch{padding:7px 8px;font-size:9px}.nav-item.active:before,.nav-item .count,.lbl-long{display:none}.lbl-short{display:inline}.nav-item.etroit{display:flex}.top-search{display:none}.page{padding:24px 18px 100px}.hero-block,.subj-hero,.planning-grid,.course-grid{grid-template-columns:1fr}.method-grid,.profile-stats{grid-template-columns:1fr 1fr}.mastery-row{grid-template-columns:8px 1fr auto}.mastery-row .bar-wrap{display:none}.home-greet,h1.page-title{font-size:56px}.selector-list{grid-template-columns:1fr}.fc-card{padding:28px 24px}.fc-q{font-size:24px}}.welcome-toast{background:var(--h-surface-2);border:1px solid var(--h-accent-1);color:var(--h-text);z-index:1000;box-shadow:0 4px 24px var(--h-shadow);white-space:nowrap;border-radius:100px;align-items:center;gap:10px;padding:12px 20px;font-size:14px;font-weight:500;animation:.4s cubic-bezier(.34,1.56,.64,1) both toast-in;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(0)}.welcome-toast.out{animation:.4s forwards toast-out}.welcome-toast-check{background:var(--h-accent-1);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(16px)}}.qs-empty{flex-direction:column;align-items:flex-start;gap:24px;padding:56px 0 64px;display:flex}.qs-flow{align-items:center;gap:10px;display:flex}.qs-step{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);border:1px solid var(--h-line-2);border-radius:999px;padding:4px 10px;font-size:10px}.qs-sep{background:var(--h-line-2);flex-shrink:0;width:20px;height:1px;position:relative}.qs-sep:after{content:"";border-right:1px solid var(--h-line-2);border-top:1px solid var(--h-line-2);width:6px;height:6px;position:absolute;top:-3px;right:-1px;transform:rotate(45deg)}.qs-title{letter-spacing:-.04em;margin:0;font-size:clamp(32px,5vw,52px);font-weight:500;line-height:1.1}.onboarding-block{margin-top:48px}.onboarding-head{margin-bottom:28px}.onboarding-steps{flex-direction:column;gap:2px;display:flex}.onboarding-step{background:var(--h-surface);border:1px solid var(--h-line);color:var(--h-text);border-radius:14px;align-items:center;gap:20px;padding:20px 24px;transition:background .15s;display:flex}.onboarding-step.active{border-color:var(--h-accent-text);cursor:pointer;background:#c5d86d0a}.onboarding-step.active:hover{background:#c5d86d14}.onboarding-step.muted{opacity:.4}.onboarding-step .step-num{font-family:var(--h-mono);letter-spacing:.14em;color:var(--h-accent-text);min-width:24px;font-size:11px}.onboarding-step.muted .step-num{color:var(--h-mute)}.onboarding-step .step-ttl{letter-spacing:-.01em;font-size:15px;font-weight:500}.onboarding-step .step-desc{color:var(--h-text-2);margin-top:3px;font-size:13px;line-height:1.4}@media (max-width:1000px){.home-header{flex-direction:column;gap:16px}.page-actions{flex-wrap:wrap;gap:8px}.profile-head{flex-direction:column;gap:16px}.profile-info .pname{font-size:28px}.profile-info{padding-top:0}.auth-card{padding:32px 24px 28px}.section-head{margin:36px 0 14px}.heatmap{padding:20px 16px;overflow-x:auto}.heatmap-grid{min-width:320px}.week-strip{gap:6px}.day-cell .n{font-size:18px}.stat-tile .v{font-size:34px}.onboarding-step{gap:14px;padding:16px 18px}.welcome-toast{white-space:normal;text-align:center;justify-content:center;max-width:calc(100vw - 32px);bottom:80px}}@media (max-width:480px){.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:22px 22px 0 0;max-height:92vh}.day-cell .n{font-size:15px}.day-cell .l{font-size:9px}.stat-tile .v{font-size:28px}.stat-tile{padding:16px 18px}.home-greet,h1.page-title{font-size:44px}.onboarding-step{flex-wrap:wrap}.profile-stats{grid-template-columns:1fr 1fr}.profile-info .pname{font-size:24px}.section-head{margin:28px 0 12px}.rating-row{grid-template-columns:1fr 1fr}.due-row{gap:12px}.matiere-row{gap:14px;padding-left:0;padding-right:0}.upcoming-row{gap:14px}.fc-card{padding:24px 18px}}.nav-eyebrow.culture{color:var(--h-accent-text)}.disco-hero{grid-template-columns:1.5fr 1fr;gap:24px;margin-top:40px;display:grid}.disco-hero-main{background:var(--h-surface);border-radius:22px;flex-direction:column;padding:40px 44px 36px;display:flex;position:relative;overflow:hidden}.disco-hero-main .glow{pointer-events:none;background:radial-gradient(circle,#c5d86d1a 0%,#0000 70%);border-radius:50%;width:360px;height:360px;position:absolute;top:-120px;right:-120px}.disco-hero-main .eyebrow{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-accent-text);align-items:center;gap:8px;font-size:11px;display:flex}.disco-hero-main .eyebrow .dot{background:var(--h-accent-1);width:6px;height:6px;box-shadow:0 0 10px var(--h-accent-1);border-radius:50%}.disco-hero-main .ttl{font-family:var(--h-sans);letter-spacing:-.04em;margin-top:18px;font-size:52px;font-weight:500;line-height:.98}.disco-hero-main .ttl .mute{color:var(--h-mute)}.disco-hero-main .lede{color:var(--h-text-2);max-width:44ch;margin-top:18px;font-size:15px;line-height:1.5}.disco-hero-main .stats-row{gap:40px;margin-top:auto;padding-top:32px;display:flex}.disco-hero-main .st .n{font-family:var(--h-sans);letter-spacing:-.03em;font-feature-settings:"tnum" 1;font-size:34px;font-weight:500;line-height:1}.disco-hero-main .st .l{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-mute);margin-top:8px;font-size:10px}.cat-rail{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.deck-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.deck-card{background:var(--h-surface);cursor:pointer;border-radius:18px;flex-direction:column;min-height:192px;padding:22px 24px 20px;transition:background .12s,transform .14s;display:flex;position:relative;overflow:hidden}.deck-card:hover{background:var(--h-surface-2);transform:translateY(-2px)}.deck-card .accent{height:3px;position:absolute;top:0;left:0;right:0}.deck-card .dc-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.deck-card .cat-tag{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-text-2);align-items:center;gap:7px;font-size:10px;display:inline-flex}.deck-card .cat-tag .dot{border-radius:50%;width:7px;height:7px}.deck-card .learners{font-family:var(--h-mono);letter-spacing:.06em;color:var(--h-mute);font-size:10px}.deck-card .dc-name{font-family:var(--h-sans);letter-spacing:-.025em;margin-top:16px;font-size:22px;font-weight:500;line-height:1.08}.deck-card .dc-desc{color:var(--h-text-2);margin-top:8px;font-size:13px;line-height:1.45}.deck-card .dc-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.deck-card .dc-meta{font-family:var(--h-mono);letter-spacing:.04em;color:var(--h-mute);font-size:11px}.deck-add{border:1px solid var(--h-line-2);color:var(--h-text);font-family:var(--h-sans);letter-spacing:-.005em;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-size:12px;font-weight:600;transition:background .12s,color .12s,border .12s;display:inline-flex}.deck-add svg{stroke:currentColor;fill:none;stroke-width:2px;flex-shrink:0;width:13px;height:13px}.deck-add:hover{border-color:var(--h-accent-text);color:var(--h-accent-text)}.deck-add.added{color:var(--h-accent-text);background:#c5d86d1f;border-color:#c5d86d4d}.deck-feature{grid-column:span 2;min-height:260px;padding:32px 36px 28px}.deck-feature .dc-name{margin-top:18px;font-size:34px}.deck-feature .dc-desc{max-width:48ch;font-size:15px}.deck-hero{background:var(--h-surface);border-radius:22px;margin-top:32px;padding:36px 40px;position:relative;overflow:hidden}.deck-hero .accent{height:4px;position:absolute;top:0;left:0;right:0}.deck-hero .top-row{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.deck-hero .dh-name{font-family:var(--h-sans);letter-spacing:-.04em;margin:14px 0 0;font-size:48px;font-weight:500;line-height:1}.deck-hero .dh-desc{color:var(--h-text-2);max-width:56ch;margin-top:16px;font-size:15px;line-height:1.55}.deck-hero .dh-meta{flex-wrap:wrap;gap:28px;margin-top:28px;display:flex}.deck-hero .dh-meta .m .n{font-family:var(--h-sans);letter-spacing:-.025em;font-feature-settings:"tnum" 1;font-size:28px;font-weight:500}.deck-hero .dh-meta .m .n.lime{color:var(--h-accent-text)}.deck-hero .dh-meta .m .l{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-mute);margin-top:6px;font-size:10px}.deck-hero .dh-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.daily-wrap{max-width:1100px}.daily-stage{grid-template-columns:1.55fr 1fr;align-items:start;gap:24px;margin-top:32px;display:grid}.daily-card{background:var(--h-surface);border-radius:22px;padding:36px 40px 32px;position:relative;overflow:hidden}.daily-card .accent{background:var(--h-accent-1);height:4px;position:absolute;top:0;left:0;right:0}.daily-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.daily-head .e{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-accent-text);font-size:11px}.daily-cat{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-text-2);align-items:center;gap:7px;font-size:10px;display:inline-flex}.daily-cat .dot{border-radius:50%;width:7px;height:7px}.daily-q{font-family:var(--h-sans);letter-spacing:-.03em;margin-top:24px;font-size:34px;font-weight:500;line-height:1.12}.daily-choices{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;display:grid}.daily-choice{text-align:left;background:var(--h-bg);border:1px solid var(--h-line-2);color:var(--h-text);letter-spacing:-.01em;cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:18px 20px;font-size:15px;font-weight:500;transition:background .12s,border .12s;display:flex}.daily-choice:hover:not(:disabled){background:var(--h-surface-2)}.daily-choice .key{background:var(--h-surface-2);width:26px;height:26px;font-family:var(--h-mono);color:var(--h-text-2);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.daily-choice .mark{stroke:currentColor;fill:none;stroke-width:2.4px;opacity:0;width:18px;height:18px;margin-left:auto}.daily-choice:disabled{cursor:default}.daily-choice.correct{border-color:var(--h-accent-text);color:var(--h-accent-text);background:#c5d86d14}.daily-choice.correct .key{background:var(--h-accent-1);color:var(--h-on-accent)}.daily-choice.correct .mark{opacity:1}.daily-choice.wrong{border-color:var(--h-accent-2);color:var(--h-accent-2);background:#ff8a650f}.daily-choice.wrong .key{background:var(--h-accent-2);color:var(--h-on-accent)}.daily-choice.wrong .mark{opacity:1}.daily-reveal{border-top:1px solid var(--h-line);margin-top:28px;padding-top:24px}.daily-reveal .verdict{font-family:var(--h-sans);letter-spacing:-.02em;font-size:22px;font-weight:500}.daily-reveal .verdict.good{color:var(--h-accent-text)}.daily-reveal .verdict.bad{color:var(--h-accent-2)}.daily-reveal .explain{color:var(--h-text-2);max-width:60ch;margin-top:12px;font-size:14px;line-height:1.55}.daily-reveal .source-link{color:var(--h-accent-text);background:#c5d86d1a;border-radius:11px;align-items:center;gap:6px;margin-top:10px;padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.daily-reveal .source-link:hover{background:#c5d86d33}.daily-reveal .share-row{align-items:center;gap:16px;margin-top:24px;display:flex}.daily-squares{gap:5px;display:flex}.daily-squares span{background:var(--h-surface-2);border-radius:4px;width:18px;height:18px}.daily-squares span.hit{background:var(--h-accent-1)}.daily-squares span.miss{background:var(--h-accent-2)}.daily-side{flex-direction:column;gap:18px;display:flex}.daily-streak-card{background:var(--h-surface);border-radius:18px;padding:24px}.daily-streak-card .k{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:10px}.daily-streak-card .big{font-family:var(--h-sans);letter-spacing:-.04em;color:var(--h-accent-2);font-feature-settings:"tnum" 1;margin-top:12px;font-size:56px;font-weight:500;line-height:1}.daily-streak-card .big small{color:var(--h-mute);margin-left:4px;font-size:18px}.daily-dots{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.daily-dots span{background:var(--h-surface-2);width:22px;height:22px;font-family:var(--h-mono);color:var(--h-mute);border-radius:6px;justify-content:center;align-items:center;font-size:9px;display:flex}.daily-dots span.on{background:var(--h-accent-2);color:var(--h-on-accent)}.daily-dots span.today-d{border:1.5px dashed var(--h-accent-1);background:0 0}.daily-distrib{flex-direction:column;gap:10px;margin-top:16px;display:flex}.distrib-row{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.distrib-row .lbl{letter-spacing:-.005em;color:var(--h-text-2);align-items:center;gap:8px;font-size:13px;display:flex}.distrib-row .track{background:var(--h-surface-2);border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.distrib-row .track .f{background:var(--h-line-2);height:100%}.distrib-row .track .f.you{background:var(--h-accent-1)}.distrib-row .pct{font-family:var(--h-mono);color:var(--h-mute);font-size:11px}.daily-archive-card{border:1px solid var(--h-line-2);background:0 0;border-radius:18px;padding:22px 24px}.daily-archive-card .lock-e{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-accent-text);font-size:9px}.daily-archive-card .t{letter-spacing:-.01em;margin-top:8px;font-size:16px;font-weight:500}.daily-archive-card .d{color:var(--h-mute);margin-top:6px;font-size:12px;line-height:1.45}.path-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px;display:grid}.path-card{background:var(--h-surface);cursor:pointer;border-radius:18px;flex-direction:column;padding:26px 28px 22px;transition:background .12s,transform .14s;display:flex;position:relative;overflow:hidden}.path-card:hover{background:var(--h-surface-2);transform:translateY(-2px)}.path-card .bar{width:4px;position:absolute;top:0;bottom:0;left:0}.path-card .pc-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.path-card .cat-tag{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-text-2);align-items:center;gap:7px;font-size:10px;display:inline-flex}.path-card .cat-tag .dot{border-radius:50%;width:7px;height:7px}.path-card .pc-name{font-family:var(--h-sans);letter-spacing:-.025em;margin-top:14px;font-size:24px;font-weight:500;line-height:1.1}.path-card .pc-desc{color:var(--h-text-2);margin-top:8px;font-size:13px;line-height:1.45}.path-card .pc-meta{font-family:var(--h-mono);letter-spacing:.04em;color:var(--h-mute);margin-top:16px;font-size:11px}.path-card .pc-foot{align-items:center;gap:16px;margin-top:20px;display:flex}.path-card .pc-foot .bar-wrap{flex:1}.path-card .pc-foot .pct{font-family:var(--h-mono);color:var(--h-accent-text);letter-spacing:.04em;font-size:11px}.path-card .pc-foot .pct.fresh{color:var(--h-mute)}.path-card .pc-estimate{font-family:var(--h-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--h-dim);margin-top:8px;font-size:10px}.path-stat-band{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;display:grid}.path-stat-card{background:var(--h-surface);border:1px solid var(--h-line);border-radius:18px;padding:24px 26px;position:relative;overflow:hidden}.psc-glow{pointer-events:none;position:absolute;inset:0}.path-stat-card>:not(.psc-glow){z-index:1;position:relative}.psc-k{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:10px}.psc-v{font-family:var(--h-sans);letter-spacing:-.045em;font-feature-settings:"tnum" 1;margin-top:12px;font-size:48px;font-weight:500;line-height:1}.psc-v small{color:var(--h-mute);letter-spacing:0;margin-left:6px;font-size:16px;font-weight:400}.psc-sub{color:var(--h-text-2);margin-top:10px;font-size:12px;line-height:1.4}.psc-dots{flex-wrap:wrap;gap:5px;margin-top:14px;display:flex}.psc-dots span{background:var(--h-surface-2);border-radius:5px;width:16px;height:16px}.psc-dots span.on{background:var(--c-coral)}.psc-dots span.today-d{background:0 0;border:1.5px dashed #c5d86d80}.psc-quiz-dots span{border-radius:6px;width:20px;height:20px}.psc-quiz-dots span.correct{background:var(--h-accent-1)}.psc-quiz-dots span.wrong{background:#ff8a6559}.psc-bar{background:var(--h-surface-2);border-radius:999px;height:6px;margin-top:14px;overflow:hidden}.psc-bar .fill{border-radius:999px;height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1)}.path-hero{background:var(--h-surface);border-radius:22px;margin-top:32px;padding:36px 40px;position:relative;overflow:hidden}.path-hero .accent{height:4px;position:absolute;top:0;left:0;right:0}.path-hero .ph-name{font-family:var(--h-sans);letter-spacing:-.04em;margin:14px 0 0;font-size:44px;font-weight:500;line-height:1.02}.path-hero .ph-desc{color:var(--h-text-2);max-width:58ch;margin-top:16px;font-size:15px;line-height:1.55}.path-hero .ph-meta{flex-wrap:wrap;gap:28px;margin-top:28px;display:flex}.path-hero .ph-meta .m .n{font-family:var(--h-sans);letter-spacing:-.025em;font-feature-settings:"tnum" 1;font-size:28px;font-weight:500}.path-hero .ph-meta .m .n.lime{color:var(--h-accent-text)}.path-hero .ph-meta .m .l{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-mute);margin-top:6px;font-size:10px}.step-list{flex-direction:column;margin-top:36px;display:flex;position:relative}.step-row{border-bottom:1px solid var(--h-line);grid-template-columns:56px 1fr auto;align-items:center;gap:22px;padding:18px 8px;display:grid;position:relative}.step-row .node{width:40px;height:40px;font-family:var(--h-mono);z-index:2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.step-row:before{content:"";background:var(--h-line-2);z-index:1;width:1.5px;position:absolute;top:50%;bottom:-1px;left:27px}.step-row:last-child:before{display:none}.step-row.done .node{background:var(--h-accent-1);color:var(--h-on-accent)}.step-row.done .node svg{stroke:currentColor;fill:none;stroke-width:2.6px;width:16px;height:16px}.step-row.current .node{border:1.5px solid var(--h-accent-1);color:var(--h-accent-text);background:0 0}.step-row.locked .node{background:var(--h-surface-2);color:var(--h-dim)}.step-row.locked .step-name,.step-row.locked .step-meta{color:var(--h-dim)}.step-name{letter-spacing:-.015em;font-size:16px;font-weight:500}.step-meta{font-family:var(--h-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--h-mute);margin-top:5px;font-size:10px}.step-row .step-cta{align-items:center;gap:12px;display:flex}.step-mast{font-family:var(--h-mono);color:var(--h-accent-text);letter-spacing:.04em;font-size:11px}.step-mast.locked-m{color:var(--h-dim)}.step-lock{width:14px;height:14px;stroke:var(--h-dim);fill:none;stroke-width:1.8px}.culture-toast{background:var(--h-accent-1);color:var(--h-on-accent);letter-spacing:-.005em;opacity:0;pointer-events:none;z-index:100;border-radius:999px;align-items:center;gap:10px;padding:13px 22px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%,24px)}.culture-toast.show{opacity:1;transform:translate(-50%)}.culture-toast svg{stroke:currentColor;fill:none;stroke-width:2.4px;width:15px;height:15px}@media (max-width:1000px){.disco-hero,.daily-stage,.deck-grid,.path-grid,.path-stat-band{grid-template-columns:1fr}.deck-feature{grid-column:span 1}.daily-choices{grid-template-columns:1fr}.disco-hero-main .ttl{font-size:40px}.deck-hero .top-row{flex-direction:column}.deck-hero .dh-actions{flex-direction:row;align-items:stretch}.deck-hero .dh-name,.path-hero .ph-name{font-size:36px}}.daily-archive-list{flex-direction:column;gap:8px;display:flex}.daily-archive-row{background:var(--h-surface-1);border:1px solid var(--h-line);border-radius:10px;align-items:center;gap:14px;padding:14px 16px;display:flex}.daily-archive-row.arc-correct{border-color:#c5d86d33}.daily-archive-row.arc-wrong{border-color:#ff8a6533}.daily-archive-row .arc-num{font-family:var(--h-mono);color:var(--h-accent-text);min-width:32px;font-size:11px}.daily-archive-row .arc-cat{color:var(--h-mute);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.daily-archive-row .arc-q{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.daily-archive-row .arc-status{flex-shrink:0}.daily-archive-row .arc-date{font-family:var(--h-mono);color:var(--h-mute);white-space:nowrap;font-size:11px}.admin-layout{grid-template-columns:400px minmax(0,1fr);align-items:start;gap:24px;display:grid}.admin-layout>*{min-width:0}.admin-stats{gap:12px;margin-bottom:28px;display:flex}.admin-stat{background:var(--h-surface-1);border:1px solid var(--h-line);border-radius:10px;flex:1;padding:16px 20px}.admin-stat .k{font-size:11px;font-family:var(--h-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--h-mute)}.admin-stat .v{letter-spacing:-.03em;margin-top:6px;font-size:30px;font-weight:600;line-height:1}.admin-form-card{background:var(--h-surface-1);border:1px solid var(--h-line);border-radius:14px;padding:24px;position:sticky;top:20px}.admin-q-list{flex-direction:column;gap:8px;display:flex}.admin-q-row{background:var(--h-surface-1);border:1px solid var(--h-line);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-q-row .date{font-family:var(--h-mono);color:var(--h-mute);margin-top:3px;font-size:10px}.admin-q-row .num{color:var(--h-accent-text);font-size:13px;font-weight:600}.admin-q-row .q{font-size:14px}.status{font-size:11px;font-family:var(--h-mono);white-space:nowrap;border-radius:6px;padding:3px 9px}.status.past{background:var(--h-surface-2);color:var(--h-mute)}.status.today{color:var(--h-accent-text);background:#c5d86d1f;border:1px solid #c5d86d33}.status.future{color:var(--h-accent-2);background:#ff8a651f;border:1px solid #ff8a6533}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{font-size:10px;font-family:var(--h-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--h-text-2);align-items:center;gap:8px;display:flex}.form-group label .hint{text-transform:none;letter-spacing:0;font-family:var(--h-sans);color:var(--h-mute);font-size:11px}.form-group input,.form-group textarea,.form-group select{background:var(--h-bg);border:1px solid var(--h-line-2);font-family:var(--h-sans);color:var(--h-text);-webkit-appearance:none;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--h-accent-text)}.form-group textarea{resize:vertical;min-height:80px}.form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23807E72' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.hint{color:var(--h-mute);font-size:11px;font-family:var(--h-sans)}.choices-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice-item{align-items:center;gap:8px;display:flex}.key-badge{width:24px;height:24px;font-family:var(--h-mono);background:var(--h-surface-2);color:var(--h-text-2);border:1px solid var(--h-line);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;transition:background .15s,color .15s;display:flex}.choice-item.correct .key-badge{background:var(--h-accent-1);color:var(--h-on-accent);border-color:var(--h-accent-1)}.choice-item input{flex:1}@media (max-width:1100px){.admin-layout{grid-template-columns:1fr}.admin-form-card{position:static}}@keyframes milestone-rise{0%{opacity:0;transform:translate(-50%,24px)scale(.8)}12%{opacity:1;transform:translate(-50%)scale(1.08)}75%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-12px)scale(.95)}}.milestone-toast{z-index:200;pointer-events:none;letter-spacing:-.01em;box-shadow:0 8px 32px var(--h-shadow);white-space:nowrap;border-radius:40px;align-items:center;gap:10px;padding:12px 20px;font-size:15px;font-weight:600;animation:2s cubic-bezier(.34,1.56,.64,1) forwards milestone-rise;display:flex;position:fixed;bottom:100px;left:50%}.milestone-toast.t80{background:var(--h-accent-1);color:var(--h-on-accent)}.milestone-toast.t100{color:#1a1200;background:linear-gradient(135deg,gold,orange)}@keyframes flame-flicker{0%,to{opacity:1;transform:scale(1)rotate(-1deg)}50%{opacity:.92;transform:scale(1.06)rotate(1deg)}}@keyframes glow-pulse{0%,to{opacity:.5}50%{opacity:.9}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes xp-rise{0%{opacity:0;transform:translateY(8px)}18%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-26px)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{opacity:.9;transform:translateY(105vh)rotate(720deg)}}.game-strip{grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-top:36px;display:grid}.gstat{background:var(--h-surface);border-radius:20px;flex-direction:column;padding:24px 26px;transition:background .14s,transform .16s;display:flex;position:relative;overflow:hidden}.gstat.tap{cursor:pointer}.gstat.tap:hover{background:var(--h-surface-2);transform:translateY(-2px)}.gstat .gs-glow{pointer-events:none;position:absolute;inset:0}.gstat .gs-head{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);align-items:center;gap:10px;font-size:10px;display:flex}.gstat .gs-row{align-items:baseline;gap:14px;margin-top:16px;display:flex}.gstat .gs-num{font-family:var(--h-sans);letter-spacing:-.04em;font-feature-settings:"tnum" 1;font-size:52px;font-weight:500;line-height:.9}.gstat .gs-unit{color:var(--h-mute);letter-spacing:-.01em;font-size:16px}.gstat .gs-sub{color:var(--h-text-2);margin-top:14px;font-size:13px;line-height:1.4}.gstat .gs-sub em{color:var(--h-text);font-style:normal}.gstat.streak .gs-glow{background:radial-gradient(120% 80% at 85% -10%,#ff7a452e,#0000 60%)}.gstat.streak .gs-num{color:var(--c-flame)}.flame-badge{justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:absolute;top:20px;right:22px}.flame-badge .halo{background:radial-gradient(circle,#ff7a4559,#0000 68%);border-radius:50%;animation:2.4s ease-in-out infinite glow-pulse;position:absolute;inset:-6px}.flame-badge svg{z-index:1;width:34px;height:34px;animation:1.8s ease-in-out infinite flame-flicker;position:relative}.streak-week{gap:5px;margin-top:16px;display:flex}.streak-week .d{background:var(--h-surface-2);height:28px;font-family:var(--h-mono);color:var(--h-dim);border-radius:7px;flex:1;justify-content:center;align-items:center;font-size:9px;display:flex;position:relative}.streak-week .d.on{color:var(--c-flame);background:#ff7a4529}.streak-week .d.on:after{content:"";border:1px solid #ff7a4566;border-radius:7px;position:absolute;inset:0}.streak-week .d.today{border:1.5px dashed var(--c-flame);color:var(--c-flame);background:0 0}.xp-ring-wrap{align-items:center;gap:20px;margin-top:14px;display:flex}.xp-ring{flex-shrink:0;width:84px;height:84px;position:relative}.xp-ring svg{width:84px;height:84px;transform:rotate(-90deg)}.xp-ring .track{stroke:var(--h-surface-2)}.xp-ring .fill{stroke:var(--h-accent-text);stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.4,0,.2,1)}.xp-ring .lvl{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.xp-ring .lvl .n{font-family:var(--h-sans);letter-spacing:-.03em;color:var(--h-accent-text);font-size:26px;font-weight:600}.xp-ring .lvl .t{font-family:var(--h-mono);letter-spacing:.14em;color:var(--h-mute);text-transform:uppercase;margin-top:3px;font-size:8px}.xp-detail .big{font-family:var(--h-sans);letter-spacing:-.02em;font-feature-settings:"tnum" 1;font-size:22px;font-weight:500}.xp-detail .big .slash{color:var(--h-mute)}.xp-detail .lbl{font-family:var(--h-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--h-mute);margin-top:4px;font-size:10px}.xp-detail .next{color:var(--h-text-2);margin-top:12px;font-size:12.5px}.xp-detail .next em{color:var(--h-accent-text);font-style:normal}.gstat.league .gs-glow{background:radial-gradient(120% 80% at 85% -10%,#ffc24b24,#0000 60%)}.league-emblem{width:50px;height:50px;color:var(--c-gold);justify-content:center;align-items:center;display:flex;position:absolute;top:18px;right:20px}.league-emblem svg{width:44px;height:44px}.gstat.league .rank{font-family:var(--h-sans);letter-spacing:-.04em;color:var(--c-gold);font-feature-settings:"tnum" 1;font-size:52px;font-weight:500;line-height:.9}.gstat.league .rank .hash{color:var(--h-mute);font-size:26px}.quest-stage{grid-template-columns:1.5fr 1fr;gap:16px;margin-top:16px;display:grid}.quest-card,.tomorrow-card{background:var(--h-surface);border-radius:20px;padding:26px 28px;position:relative;overflow:hidden}.quest-card .qc-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.quest-card .qc-e{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-accent-text);align-items:center;gap:8px;font-size:10px;display:flex}.quest-card .qc-e .dot{background:var(--h-accent-1);width:6px;height:6px;box-shadow:0 0 8px var(--h-accent-1);border-radius:50%}.quest-prog-pill{font-family:var(--h-mono);color:var(--h-text-2);background:var(--h-surface-2);border-radius:999px;padding:5px 11px;font-size:11px}.quest-prog-pill em{color:var(--h-accent-text);font-style:normal}.quest-list{flex-direction:column;gap:10px;margin-top:20px;display:flex}.quest-item{background:var(--h-bg);border:1px solid var(--h-line);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .14s;display:flex}.quest-item .check{border:1.5px solid var(--h-line-2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:background .16s,border-color .16s;display:flex}.quest-item .check svg{width:14px;height:14px;stroke:var(--h-bg);fill:none;stroke-width:3px;opacity:0;transition:opacity .14s}.quest-item .qi-body{flex:1}.quest-item .qi-name{letter-spacing:-.01em;font-size:14.5px;font-weight:500}.quest-item .qi-meta{font-family:var(--h-mono);letter-spacing:.06em;color:var(--h-mute);margin-top:4px;font-size:10px}.quest-item .qi-xp{font-family:var(--h-mono);color:var(--h-accent-text);background:#c5d86d1a;border-radius:999px;flex-shrink:0;padding:5px 11px;font-size:11px;font-weight:500}.quest-item.done{background:#c5d86d0d;border-color:#c5d86d38}.quest-item.done .check{background:var(--h-accent-1);border-color:var(--h-accent-1)}.quest-item.done .check svg{opacity:1}.quest-item.done .qi-name{color:var(--h-text-2)}.quest-item.done .qi-xp{color:var(--h-mute);background:var(--h-surface-2)}.quest-reward{border-top:1px solid var(--h-line);align-items:center;gap:14px;margin-top:18px;padding-top:18px;display:flex}.quest-reward .chest-mini{width:40px;height:40px;color:var(--c-gold);background:#ffc24b1a;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.quest-reward .chest-mini svg{width:22px;height:22px}.quest-reward .qr-t{letter-spacing:-.01em;font-size:13.5px;font-weight:500}.quest-reward .qr-d{color:var(--h-mute);margin-top:3px;font-size:12px}.tomorrow-card{border:1px solid var(--h-line-2);background:0 0;flex-direction:column;display:flex}.tomorrow-card .tm-e{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c-flame);align-items:center;gap:8px;font-size:10px;display:flex}.tomorrow-card .tm-t{font-family:var(--h-sans);letter-spacing:-.02em;margin-top:14px;font-size:22px;font-weight:500;line-height:1.15}.tomorrow-card .tm-t .mute{color:var(--h-mute)}.tomorrow-card .countdown{gap:8px;margin-top:20px;display:flex}.countdown .seg{background:var(--h-surface-2);text-align:center;border-radius:10px;flex:1;padding:10px 0}.countdown .seg .v{font-family:var(--h-sans);letter-spacing:-.02em;font-feature-settings:"tnum" 1;font-size:24px;font-weight:500}.countdown .seg .u{font-family:var(--h-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--h-mute);margin-top:3px;font-size:9px}.tomorrow-list{flex-direction:column;gap:11px;margin-top:20px;display:flex}.tomorrow-list .tl-row{color:var(--h-text-2);align-items:center;gap:11px;font-size:13px;display:flex}.tomorrow-list .tl-row .ic{background:var(--h-surface-2);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.tomorrow-list .tl-row .ic svg{stroke-width:2px;fill:none;width:13px;height:13px}.tomorrow-list .tl-row em{color:var(--h-text);font-style:normal}.tomorrow-card .btn{margin-top:auto}.reminder-set{background:var(--h-surface-2);width:100%;color:var(--h-text);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:13px;font-size:13px;font-weight:600;transition:background .14s;display:flex}.reminder-set:hover{background:var(--h-surface-3)}.reminder-set svg{width:15px;height:15px;stroke:var(--c-flame);fill:none;stroke-width:2px;flex-shrink:0}.reminder-set.set{color:var(--c-flame);background:#ff7a451a}.reward-shelf{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px;display:grid}.reward-tile{background:var(--h-surface);text-align:center;border-radius:18px;flex-direction:column;align-items:center;min-height:168px;padding:22px 20px 20px;display:flex;position:relative;overflow:hidden}.reward-tile .badge-ico{border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:14px;display:flex;position:relative}.reward-tile .badge-ico svg{width:32px;height:32px}.reward-tile .rt-name{letter-spacing:-.01em;font-size:14px;font-weight:500}.reward-tile .rt-meta{font-family:var(--h-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--h-mute);margin-top:6px;font-size:9.5px}.reward-tile.earned .badge-ico{color:var(--c-gold);background:#ffc24b1f}.reward-tile.earned .badge-ico:after{content:"";z-index:-1;background:radial-gradient(circle,#ffc24b38,#0000 70%);border-radius:50%;position:absolute;inset:-8px}.reward-tile.next{border:1px solid #c5d86d40}.reward-tile.next .badge-ico{color:var(--h-accent-text);background:#c5d86d1a}.reward-tile.next .rt-meta{color:var(--h-accent-text)}.reward-tile.locked .badge-ico{background:var(--h-surface-2);color:var(--h-dim)}.reward-tile.locked .rt-name,.reward-tile.locked .rt-meta{color:var(--h-dim)}.reward-tile .rt-prog{background:var(--h-surface-2);border-radius:2px;width:100%;height:4px;margin-top:auto;position:relative;overflow:hidden}.reward-tile .rt-prog i{background:var(--h-accent-1);border-radius:2px;position:absolute;top:0;bottom:0;left:0}.encours-card{background:var(--h-surface);cursor:pointer;border-radius:22px;grid-template-columns:1fr auto;align-items:center;gap:32px;margin-top:16px;padding:32px 36px;transition:background .14s;display:grid;position:relative;overflow:hidden}.encours-card:hover{background:var(--h-surface-2)}.encours-card .ec-glow{pointer-events:none;border-radius:50%;width:420px;height:420px;position:absolute;top:-140px;left:-80px}.encours-card .ec-tag{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-text-2);align-items:center;gap:8px;font-size:10px;display:inline-flex}.encours-card .ec-live{color:var(--h-accent-text);align-items:center;gap:6px;display:inline-flex}.encours-card .ec-live .dot{background:var(--h-accent-1);width:6px;height:6px;box-shadow:0 0 8px var(--h-accent-1);border-radius:50%;animation:2s ease-in-out infinite glow-pulse}.encours-card .ec-name{font-family:var(--h-sans);letter-spacing:-.035em;margin-top:14px;font-size:36px;font-weight:500;line-height:1.02}.encours-card .ec-desc{color:var(--h-text-2);max-width:52ch;margin-top:12px;font-size:14px;line-height:1.5}.encours-card .ec-track{gap:5px;max-width:420px;margin-top:24px;display:flex}.encours-card .ec-track .seg{background:var(--h-surface-2);border-radius:4px;flex:1;height:8px}.encours-card .ec-track .seg.done{background:var(--c-yellow)}.encours-card .ec-track .seg.current{background:var(--c-yellow);opacity:.45}.encours-card .ec-meta{flex-wrap:wrap;gap:28px;margin-top:20px;display:flex}.encours-card .ec-meta .m .n{font-family:var(--h-sans);letter-spacing:-.025em;font-feature-settings:"tnum" 1;font-size:24px;font-weight:500}.encours-card .ec-meta .m .l{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-mute);margin-top:5px;font-size:9.5px}.encours-card .ec-side{flex-direction:column;flex-shrink:0;align-items:center;gap:18px;display:flex}.ring-big{width:140px;height:140px;position:relative}.ring-big svg{width:140px;height:140px;transform:rotate(-90deg)}.ring-big .rtrack{stroke:var(--h-surface-2)}.ring-big .rfill{stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.4,0,.2,1)}.ring-big .rcenter{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-big .rcenter .rpct{font-family:var(--h-sans);letter-spacing:-.03em;font-size:38px;font-weight:600}.ring-big .rcenter .rlbl{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-mute);margin-top:2px;font-size:9px}.league-stage{grid-template-columns:1.5fr 1fr;align-items:start;gap:16px;margin-top:16px;display:grid}.leaderboard{background:var(--h-surface);border-radius:20px;padding:26px 28px}.lb-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.lb-head .lt{align-items:center;gap:12px;display:flex}.lb-head .emblem{width:34px;height:34px;color:var(--c-gold)}.lb-head .emblem svg{width:34px;height:34px}.lb-head .name{font-family:var(--h-sans);letter-spacing:-.02em;font-size:18px;font-weight:500}.lb-head .sub{font-family:var(--h-mono);letter-spacing:.06em;color:var(--h-mute);margin-top:2px;font-size:10px}.lb-zone-label{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;margin:16px 0 8px;font-size:9px;display:flex}.lb-zone-label.promo{color:var(--h-accent-text)}.lb-zone-label.promo:before,.lb-zone-label.promo:after{content:"";background:#c5d86d33;flex:1;height:1px}.lb-row{border-radius:12px;grid-template-columns:30px 28px 1fr auto;align-items:center;gap:14px;padding:11px 12px;display:grid}.lb-row .pos{font-family:var(--h-mono);color:var(--h-mute);text-align:center;font-size:13px}.lb-row .av{width:28px;height:28px;color:var(--h-on-accent);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.lb-row .nm{letter-spacing:-.01em;font-size:14px;font-weight:500}.lb-row .xp{font-family:var(--h-mono);color:var(--h-text-2);font-size:12px}.lb-row.you{background:#c5d86d14}.lb-row.you .pos,.lb-row.you .nm,.lb-row.promo-top .pos{color:var(--h-accent-text)}.lb-podium{background:linear-gradient(#c5d86d0f,#c5d86d03);border:1px solid #c5d86d29;border-radius:14px;margin:14px 0 8px;padding:4px}.lb-podium-head{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-accent-text);align-items:center;gap:8px;padding:11px 12px 7px;font-size:9px;display:flex}.lb-podium-head svg{flex-shrink:0;width:13px;height:13px}.lb-podium-head .lph-hint{color:var(--h-mute);letter-spacing:.08em;margin-left:auto}.lb-medal{width:22px;height:22px;font-family:var(--h-mono);color:var(--h-on-accent);border-radius:7px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.lb-row.medal-1 .lb-medal{background:var(--c-gold)}.lb-row.medal-2 .lb-medal{background:#cfcdbf}.lb-row.medal-3 .lb-medal{background:var(--h-accent-2)}.lb-row.medal-1{background:linear-gradient(90deg,#ffc24b14,#0000 72%)}.lb-row.promo-top .nm{font-weight:600}.lb-row.promo-top.you{background:#c5d86d1a}.lb-sep{color:var(--h-dim);align-items:center;gap:12px;margin:12px 6px 4px;display:flex}.lb-sep:before,.lb-sep:after{content:"";background:var(--h-line);flex:1;height:1px}.lb-sep span{font-family:var(--h-mono);letter-spacing:.3em;font-size:12px;line-height:1}.league-aside{flex-direction:column;gap:16px;display:flex}.league-aside .timer-card,.league-aside .promo-card{background:var(--h-surface);border-radius:18px;padding:24px}.timer-card .k,.promo-card .k{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:10px}.timer-card .big{font-family:var(--h-sans);letter-spacing:-.03em;font-feature-settings:"tnum" 1;margin-top:12px;font-size:40px;font-weight:500}.timer-card .big small{color:var(--h-mute);font-size:16px}.xp-float{z-index:120;font-family:var(--h-sans);letter-spacing:-.02em;color:var(--h-accent-text);text-shadow:0 0 20px #c5d86d80;pointer-events:none;font-size:22px;font-weight:600;animation:1.2s cubic-bezier(.2,.7,.3,1) forwards xp-rise;position:fixed}.confetti-layer{pointer-events:none;z-index:110;position:fixed;inset:0;overflow:hidden}.confetti-layer i{border-radius:2px;width:9px;height:14px;animation:linear forwards confetti-fall;position:absolute;top:-12px}.xp-chip{color:var(--h-accent-text);font-family:var(--h-mono);letter-spacing:.08em;text-transform:uppercase;background:#c5d86d1f;border:1px solid #c5d86d4d;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:11px;animation:.4s cubic-bezier(.2,.8,.3,1.2) pop-in;display:inline-flex}.xp-chip.soft{color:var(--h-accent-2);background:#ff8a651a;border-color:#ff8a6547}.rank-nudge{border:1px solid var(--h-line-2);background:linear-gradient(135deg,#c5d86d12,#ff8a650d);border-radius:16px;margin-top:22px;padding:18px 20px;animation:.5s cubic-bezier(.2,.8,.3,1.1) both rank-nudge-in}.rank-nudge .rn-head{align-items:flex-start;gap:12px;display:flex}.rank-nudge .rn-trophy{flex-shrink:0;font-size:22px;line-height:1}.rank-nudge .rn-ttl{letter-spacing:-.01em;color:var(--h-text);font-size:15px;font-weight:500}.rank-nudge .rn-rank{color:var(--h-accent-text);font-weight:600}.rank-nudge .rn-sub{color:var(--h-text-2);max-width:56ch;margin-top:4px;font-size:13px;line-height:1.5}.rank-nudge .rn-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}@keyframes rank-nudge-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rank-toast{background:var(--h-surface-2);border:1px solid var(--h-accent-1);box-shadow:0 12px 44px var(--h-shadow);z-index:1000;pointer-events:none;opacity:0;border-radius:14px;align-items:center;gap:12px;padding:12px 18px;transition:transform .45s cubic-bezier(.2,.9,.3,1.25),opacity .3s;display:flex;position:fixed;top:22px;left:50%;transform:translate(-50%,-140%)}.rank-toast.show{opacity:1;transform:translate(-50%)}.rank-toast .rt-icon{font-size:22px}.rank-toast .rt-body{flex-direction:column;display:flex}.rank-toast .rt-ttl{letter-spacing:-.01em;color:var(--h-text);font-size:14px;font-weight:600}.rank-toast .rt-sub{color:var(--h-text-2);margin-top:2px;font-size:11px}.daily-streak-card.flame{background:var(--h-surface)}.daily-streak-card.flame .big{color:var(--c-flame)}@media (max-width:1000px){.game-strip,.quest-stage,.league-stage{grid-template-columns:1fr}.reward-shelf{grid-template-columns:repeat(2,1fr)}.encours-card{grid-template-columns:1fr}.encours-card .ec-side{flex-direction:row;justify-content:center}}@media (prefers-reduced-motion:reduce){.flame-badge svg,.flame-badge .halo,.encours-card .ec-live .dot{animation:none!important}}.btn.soft{color:var(--h-accent-text);background:#c5d86d1f}.btn.ghost.danger{color:var(--h-accent-2);border-color:#ff8a6547}.wins-badge{font-family:var(--h-mono);color:var(--c-gold);background:#ffc24b24;border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:2px 7px;font-weight:700;line-height:1;display:inline-flex}.soc-cards{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px;display:grid}.soc-card{background:var(--h-surface);border:1px solid var(--h-line);border-radius:20px;align-items:center;gap:14px;padding:18px;transition:border-color .14s,transform .14s;display:flex;position:relative}.soc-card:not(.static):hover{border-color:var(--h-line-2);transform:translateY(-2px)}.soc-card .ic{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:17px;display:flex}.soc-card .t{letter-spacing:-.02em;font-size:17px;font-weight:600}.soc-card .s{color:var(--h-mute);margin-top:2px;font-size:12px}.soc-dot{background:var(--h-accent-2);width:8px;height:8px;box-shadow:0 0 8px var(--h-accent-2);border-radius:50%;position:absolute;top:14px;right:14px}.soc-podium{background:var(--h-surface);border:1px solid var(--h-line);border-radius:18px;margin-top:40px;padding:4px 4px 8px}.soc-podium-head{font-family:var(--h-mono);letter-spacing:.16em;color:var(--h-accent-text);justify-content:space-between;align-items:center;padding:12px 14px 8px;font-size:9px;display:flex}.soc-podium-head .right{color:var(--h-mute);letter-spacing:.1em}.soc-list{margin-top:8px}.soc-row{border-radius:12px;grid-template-columns:30px 28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.soc-row .who{align-items:center;gap:8px;min-width:0;display:flex}.soc-row.tap{cursor:pointer}.soc-row.tap:hover{background:rgba(var(--h-ink),.03)}.soc-row .pos{font-family:var(--h-mono);color:var(--h-mute);text-align:center;font-size:13px}.soc-row .pos.medal{color:var(--h-on-accent);border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;margin:0 auto;font-size:11px;font-weight:700;display:flex}.soc-row .nm{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.soc-row .finale{font-family:var(--h-mono);color:var(--c-gold);font-size:11px;font-weight:700}.soc-row .xp{font-family:var(--h-mono);color:var(--h-text-2);text-align:right;font-size:12px}.soc-row.first{background:#ffc24b0d}.soc-row.you{background:#c5d86d17}.soc-row.you .pos,.soc-row.you .nm{color:var(--h-accent-text)}.soc-sep{align-items:center;gap:12px;padding:12px 4px;display:flex}.soc-sep:before,.soc-sep:after{content:"";background:var(--h-line);flex:1;height:1px}.soc-sep span{font-family:var(--h-mono);color:var(--h-dim);letter-spacing:4px;font-size:12px}.soc-lastweek{background:var(--h-surface-2);color:var(--h-text-2);border-radius:14px;align-items:center;gap:8px;margin-top:20px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.soc-lastweek span{margin-left:auto}.soc-lastweek:hover{color:var(--h-text)}.lb-winner{background:#ffc24b1f;border:1px solid #ffc24b40;border-radius:18px;align-items:center;gap:12px;margin-bottom:20px;padding:14px;display:flex}.lb-winner span{font-size:30px}.lb-winner .e{font-family:var(--h-mono);letter-spacing:.16em;color:var(--h-mute);font-size:10px}.lb-winner .n{letter-spacing:-.02em;margin-top:2px;font-size:17px;font-weight:600}.lb-rules{flex-direction:column;gap:18px;display:flex}.lb-rule{align-items:flex-start;gap:12px;display:flex}.lb-rule .ic{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;display:flex}.lb-rule .t{letter-spacing:-.01em;font-size:15px;font-weight:700}.lb-rule p{color:var(--h-text-2);margin-top:4px;font-size:14px;line-height:1.55}.lb-rule p strong{color:var(--h-text);font-weight:600}.friend-code-card{background:var(--h-surface);border:1px solid #c5d86d40;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;padding:20px 22px;display:flex}.friend-code-card .e{font-family:var(--h-mono);letter-spacing:.16em;color:var(--h-mute);font-size:9px}.friend-code-card .c{font-family:var(--h-mono);letter-spacing:.12em;margin-top:4px;font-size:26px}.friend-code-card .acts{flex-wrap:wrap;gap:10px;display:flex}.friend-code-hint{color:var(--h-mute);margin-top:10px;font-size:12px;line-height:1.6}.friend-code-hint .mono{font-family:var(--h-mono);color:var(--h-text-2)}.friend-search{background:var(--h-surface);border:1px solid var(--h-line);border-radius:14px;align-items:center;gap:10px;padding:12px 16px;display:flex}.friend-search>span{color:var(--h-mute);font-family:var(--h-mono)}.friend-search input{color:var(--h-text);font-family:var(--h-mono);letter-spacing:.06em;background:0 0;border:none;flex:1;font-size:15px}.friend-search input::placeholder{color:var(--h-mute);letter-spacing:0;font-family:var(--h-sans)}.friend-search .clear{color:var(--h-mute);font-size:14px}.person-list{flex-direction:column;gap:10px;display:flex}.person-card{background:var(--h-surface);border:1px solid var(--h-line);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.person-card .pc-id{cursor:pointer;flex:1;min-width:0}.person-card .nm{letter-spacing:-.01em;align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.person-card .cd{font-family:var(--h-mono);color:var(--h-mute);margin-top:2px;font-size:11px}.pc-actions{align-items:center;gap:8px;display:flex}.tag{background:var(--h-surface-2);color:var(--h-mute);border-radius:999px;align-items:center;gap:5px;padding:8px 13px;font-size:13px;font-weight:600;display:inline-flex}.tag.lime{color:var(--h-accent-text);background:#c5d86d1f}.btn-tag{background:var(--h-accent-1);color:var(--h-on-accent)}.btn-tag.ghost{color:var(--h-accent-text);background:#c5d86d1f}.icon-btn{background:var(--h-surface-2);width:34px;height:34px;color:var(--h-mute);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.icon-btn:hover{color:var(--h-text)}.icon-btn.danger:hover{color:var(--h-accent-2)}.menu-wrap{position:relative}.menu{z-index:20;background:var(--h-surface-2);border:1px solid var(--h-line-2);border-radius:12px;flex-direction:column;min-width:190px;padding:6px;display:flex;position:absolute;top:38px;right:0}.menu button{text-align:left;color:var(--h-text-2);border-radius:8px;padding:9px 12px;font-size:13px}.menu button:hover{background:rgba(var(--h-ink),.04);color:var(--h-text)}.menu button.danger{color:var(--h-accent-2)}.clan-join{gap:10px;display:flex}.clan-join input{background:var(--h-surface);border:1px solid var(--h-line);color:var(--h-text);font-family:var(--h-mono);letter-spacing:.08em;border-radius:14px;flex:1;padding:13px 16px;font-size:15px}.clan-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.clan-card{background:var(--h-surface);border:1px solid var(--h-line);border-radius:18px;align-items:center;gap:14px;padding:16px;transition:border-color .14s,transform .14s;display:flex}.clan-card:hover{border-color:var(--h-line-2);transform:translateY(-2px)}.clan-card.found{border-color:#c5d86d4d}.clan-card .emo{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;display:flex}.clan-card .body{flex:1;min-width:0}.clan-card .nm{letter-spacing:-.02em;font-size:16px;font-weight:600}.clan-card .nm .tag{font-family:var(--h-mono);color:var(--h-mute);background:0 0;padding:0;font-size:12px}.clan-card .ds{color:var(--h-text-2);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:13px;overflow:hidden}.clan-card .mb{font-family:var(--h-mono);color:var(--h-mute);margin-top:5px;font-size:11px}.clan-card .chev{color:var(--h-dim);font-size:20px}.clan-desc{color:var(--h-text-2);max-width:60ch;margin-top:14px;font-size:14px}.emoji-row{flex-wrap:wrap;gap:8px;display:flex}.emoji-pick{background:var(--h-surface-2);border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.emoji-pick.on{border-color:var(--h-accent-text);background:#c5d86d1f}.clan-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px;margin-top:40px;display:grid}.clan-chat{background:var(--h-surface);border:1px solid var(--h-line);border-radius:20px;flex-direction:column;padding:18px;display:flex}.cc-list{flex-direction:column;flex:1;gap:12px;min-height:380px;max-height:56vh;padding-right:4px;display:flex;overflow-y:auto}.cc-msg{align-items:flex-end;gap:10px;display:flex}.cc-msg.mine{flex-direction:row-reverse}.cc-msg .bubble{background:var(--h-surface-2);border-radius:16px;max-width:70%;padding:9px 13px;font-size:14px;line-height:1.5}.cc-msg.mine .bubble{background:#c5d86d24}.cc-msg .au{color:var(--h-accent-text);margin-bottom:3px;font-size:11px;font-weight:600}.cc-msg .bd{color:var(--h-text);word-break:break-word}.cc-msg .ts{font-family:var(--h-mono);color:var(--h-dim);text-align:right;margin-top:4px;font-size:9px}.cc-compose{gap:10px;margin-top:14px;display:flex}.cc-compose input,.dc-compose input{background:var(--h-surface-2);border:1px solid var(--h-line);color:var(--h-text);border-radius:999px;flex:1;padding:12px 18px;font-size:14px}.clan-members{background:var(--h-surface);border:1px solid var(--h-line);border-radius:20px;height:fit-content;padding:18px}.cm-list{flex-direction:column;gap:4px;display:flex}.cm-row{border-radius:10px;align-items:center;gap:10px;padding:7px 6px;display:flex}.cm-row:hover{background:rgba(var(--h-ink),.02)}.cm-id{flex:1;min-width:0}.cm-id .nm{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.cm-id .nm .you{font-family:var(--h-mono);color:var(--h-accent-text);background:#c5d86d1f;border-radius:999px;padding:2px 6px;font-size:9px}.cm-id .ro{font-family:var(--h-mono);letter-spacing:.1em;color:var(--c-gold);margin-top:2px;font-size:9px}.cm-acts{opacity:0;gap:4px;transition:opacity .12s;display:flex}.cm-row:hover .cm-acts{opacity:1}.cm-acts .icon-btn{width:28px;height:28px;font-size:12px}.profile-modal{position:relative;max-width:440px!important;padding:16px 24px 28px!important}.pm-bar{align-items:center;display:flex}.pm-x,.pm-report{background:var(--h-surface-2);color:var(--h-mute);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600}.pm-x{width:34px;height:34px;padding:0}.pm-report:hover{color:var(--h-accent-2)}.pm-body{flex-direction:column;align-items:center;gap:14px;padding-top:6px;display:flex}.pm-name{letter-spacing:-.03em;text-align:center;font-size:26px;font-weight:700}.pm-chips{flex-direction:column;align-items:center;gap:8px;display:flex}.pm-chip{background:var(--h-surface-2);color:var(--h-text-2);text-align:center;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex}.pm-chip.gold{color:var(--h-text-2)}.pm-chip.mono{font-family:var(--h-mono);letter-spacing:.1em}.pm-chip em{font-style:normal}.pm-chip em.win{color:var(--h-accent-text)}.pm-chip em.loss{color:var(--h-accent-2)}.pm-actions{flex-direction:column;gap:10px;width:100%;margin-top:12px;display:flex}.pm-self{color:var(--h-mute);text-align:center;font-size:14px}.pm-confirm{background:var(--h-surface);border-radius:22px;flex-direction:column;justify-content:center;gap:12px;padding:28px;display:flex;position:absolute;inset:0;overflow-y:auto}.pm-confirm strong{letter-spacing:-.02em;font-size:19px}.pm-confirm p{color:var(--h-text-2);font-size:14px;line-height:1.6}.report-reasons{flex-direction:column;gap:2px;display:flex}.report-reason{color:var(--h-text-2);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.report-reason.on{color:var(--h-text);background:#c5d86d1a}.report-reason input{accent-color:var(--h-accent-text)}.duel-invite{z-index:80;background:var(--h-surface-2);width:min(560px,100vw - 32px);box-shadow:0 20px 60px var(--h-shadow);border:1px solid #ff8a6559;border-radius:20px;align-items:center;gap:14px;padding:14px 18px;animation:.34s cubic-bezier(.2,.9,.3,1.2) duel-drop;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}@keyframes duel-drop{0%{opacity:0;transform:translate(-50%,-24px)}}.duel-invite .di-title{letter-spacing:-.01em;font-size:15px;font-weight:600}.duel-invite .di-sub{color:var(--h-mute);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.di-actions{flex-shrink:0;gap:8px;display:flex}.di-btn{border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600}.di-btn.ghost{background:var(--h-surface-3);color:var(--h-text-2)}.di-btn.ghost.danger{color:var(--h-accent-2)}.di-btn.solid{background:var(--h-accent-1);color:var(--h-on-accent)}.duel-propose{max-width:620px!important}.dp-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:22px;display:flex}.duel-mark{font-family:var(--h-mono);color:var(--h-accent-2);background:#ff8a651f;border-radius:14px;align-items:baseline;gap:1px;padding:8px 14px;font-size:22px;font-weight:700;display:inline-flex}.duel-mark em{color:var(--h-mute);font-size:14px;font-style:normal}.duel-mark.big{padding:14px 22px;font-size:34px}.dp-title{letter-spacing:-.03em;font-size:26px;font-weight:700}.dp-sub{color:var(--h-mute);max-width:44ch;font-size:14px;line-height:1.55}.dp-switch{color:var(--h-accent-text);background:#c5d86d1a;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.dp-segments{background:var(--h-surface-2);border-radius:22px;gap:4px;padding:4px;display:flex}.dp-seg{color:var(--h-mute);border-radius:18px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.dp-seg.on{background:var(--h-accent-1);color:var(--h-on-accent)}.dp-seg .n{font-family:var(--h-mono);opacity:.7;font-size:10px}.dp-hint{color:var(--h-mute);margin:10px 0 16px;font-size:12px;line-height:1.5}.dp-empty{text-align:center;color:var(--h-mute);padding:32px 12px;font-size:14px;line-height:1.6}.dp-groups{flex-direction:column;gap:8px;max-height:42vh;display:flex;overflow-y:auto}.dp-group{background:var(--h-surface-2);border-radius:14px;overflow:hidden}.dp-group-head{align-items:center;gap:10px;padding:10px 12px;display:flex}.dp-check{border:1.5px solid var(--h-line-2);background:0 0;border-radius:7px;flex-shrink:0;width:20px;height:20px;position:relative}.dp-check.on:after,.dp-check.partial:after{content:"✓";color:var(--h-on-accent);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;inset:0}.dp-check.partial:after{content:"–"}.dp-check.small{border-radius:6px;width:17px;height:17px}.dp-check.small.on{background:var(--h-accent-1);border-color:var(--h-accent-1)}.dp-group-name{color:var(--h-text);text-align:left;flex:1;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex}.dp-group-name .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dp-group-name .meta{font-family:var(--h-mono);color:var(--h-mute);margin-left:auto;font-size:10px}.dp-group-name .chev{color:var(--h-dim);transition:transform .14s}.dp-group-name .chev.open{transform:rotate(90deg)}.dp-rows{flex-direction:column;padding:0 8px 8px;display:flex}.dp-row{color:var(--h-text-2);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.dp-row:hover{background:rgba(var(--h-ink),.03)}.dp-row.on{color:var(--h-text)}.dp-row .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dp-row .ct{font-family:var(--h-mono);color:var(--h-mute);font-size:10px}.dp-launch{border-top:1px solid var(--h-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:18px;display:flex}.dp-launch-info{color:var(--h-mute);font-size:13px}.dp-launch-info em{color:var(--h-accent-text);font-style:normal;font-weight:700}.dp-launch-info .mute{color:var(--h-dim)}.duel-screen{z-index:70;background:var(--h-bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.dg-close{z-index:5;background:var(--h-surface-2);width:38px;height:38px;color:var(--h-mute);border-radius:50%;font-size:14px;position:absolute;top:16px;left:16px}.dg-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:32px;display:flex}.dg-hourglass{font-size:46px}.dg-h2{letter-spacing:-.03em;font-size:28px;font-weight:700}.dg-p{color:var(--h-mute);font-size:14px}.dg-rules{background:var(--h-surface);border:1px solid var(--h-line);text-align:left;border-radius:20px;flex-direction:column;gap:12px;width:100%;max-width:400px;padding:20px 24px;display:flex}.dg-rules>div{color:var(--h-text-2);align-items:center;gap:12px;font-size:15px;display:flex}.dg-rules span{text-align:center;width:22px;color:var(--h-accent-text)}.dg-countdown-label{font-family:var(--h-mono);letter-spacing:.18em;color:var(--h-mute);font-size:10px}.dg-countdown{font-family:var(--h-mono);color:var(--h-accent-text);font-variant-numeric:tabular-nums;font-size:56px;font-weight:700}.dg-foot{align-self:center;width:100%;max-width:520px;padding:20px}.dg-foot.col{flex-direction:column;gap:10px;display:flex}.dg-scorebar{align-self:center;align-items:center;gap:12px;width:100%;max-width:760px;padding:22px 28px 10px;display:flex}.dg-scorebar .lbl{font-family:var(--h-mono);letter-spacing:.16em;font-size:9px}.dg-scorebar .lbl.you{color:var(--h-accent-text)}.dg-scorebar .lbl.opp{color:var(--h-accent-2)}.dg-scorebar .num{font-family:var(--h-mono);font-variant-numeric:tabular-nums;font-size:24px}.dg-scorebar .vs{text-align:center;font-family:var(--h-mono);color:var(--h-dim);flex:1;font-size:11px}.dg-timer{align-self:center;width:100%;max-width:760px;padding:0 28px}.dg-timer .track{background:rgba(var(--h-ink),.07);border-radius:999px;height:4px;overflow:hidden}.dg-timer .track i{border-radius:999px;height:100%;transition:width .12s linear;display:block}.dg-timer span{font-family:var(--h-mono);color:var(--h-mute);margin-top:5px;font-size:10px;display:block}.dg-scroll{flex:1;align-self:center;width:100%;max-width:760px;padding:24px 28px 8px;overflow-y:auto}.dg-qlabel{font-family:var(--h-mono);letter-spacing:.16em;color:var(--h-mute);font-size:9px}.dg-question{letter-spacing:-.025em;margin:14px 0 22px;font-size:26px;font-weight:500;line-height:1.3}.dg-options{flex-direction:column;gap:10px;display:flex}.dg-option{text-align:left;background:var(--h-surface-2);border:1px solid var(--h-line);color:var(--h-text);border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:15px;transition:background .16s,border-color .16s,transform .16s;display:flex}.dg-option>span{flex:1}.dg-option:not(:disabled):hover{border-color:var(--h-line-2)}.dg-option:disabled{cursor:default}.dg-option.good{border-color:var(--c-green);color:var(--c-green);background:#34d39924;transform:scale(1.02)}.dg-option.bad{border-color:var(--h-accent-2);color:var(--h-accent-2);background:#ff8a6524}.dg-feedback{width:100%;max-width:760px;color:var(--h-mute);align-self:center;min-height:56px;padding:16px 28px 22px;font-size:14px}.dg-feedback .hot{color:var(--h-accent-2);font-weight:600}.dg-round-result{z-index:50;background:color-mix(in srgb, var(--h-bg) 78%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;animation:.22s rr-in;display:flex;position:absolute;inset:0}@keyframes rr-in{0%{opacity:0}}.dg-round-result .rr-title{letter-spacing:-.03em;font-size:30px;font-weight:700}.dg-round-result.me .rr-title{color:var(--c-green)}.dg-round-result.opponent .rr-title{color:var(--h-accent-2)}.dg-round-result.none .rr-title{color:var(--h-mute)}.dg-round-result .rr-score{font-family:var(--h-mono);color:var(--h-text-2);font-size:20px}.dg-bubbles{pointer-events:none;z-index:40;flex-direction:column;display:flex;position:absolute;inset:86px 24px 96px}.emote-bubble{background:var(--h-surface);border:2px solid var(--h-line-2);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 14px 5px 6px;font-size:14px;font-weight:700;animation:.3s cubic-bezier(.2,.9,.3,1.4) eb-in;display:inline-flex}.emote-bubble.mine{align-self:flex-end}.emote-bubble img{object-fit:contain;width:34px;height:34px}@keyframes eb-in{0%{opacity:0;transform:scale(.7)}}.dg-tools{z-index:45;gap:10px;display:flex;position:absolute;bottom:18px;right:18px}.dg-tool{background:var(--h-surface);border:2px solid var(--h-line-2);border-radius:50%;width:48px;height:48px;font-size:20px;position:relative}.dg-tool i{background:var(--h-accent-2);width:18px;height:18px;color:var(--h-on-accent);font-family:var(--h-mono);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-style:normal;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.emote-sheet-backdrop{z-index:75;background:color-mix(in srgb, var(--h-bg) 66%, transparent);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.emote-sheet{background:var(--h-surface);border:1px solid var(--h-line-2);border-radius:24px 24px 0 0;width:min(680px,100%);max-height:70vh;padding:18px;animation:.24s cubic-bezier(.2,.9,.3,1.1) es-in;overflow-y:auto}@keyframes es-in{0%{opacity:0;transform:translateY(40px)}}.emote-sheet-head{justify-content:space-between;align-items:center;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.emote-sheet-head button{color:var(--h-mute)}.emote-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.emote-tile{background:var(--h-surface-2);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.emote-tile:hover{background:var(--h-surface-3)}.emote-tile img{object-fit:contain;width:48px;height:48px}.emote-tile .lbl{font-size:12px;font-weight:600}.emote-tile .hint{color:var(--h-mute);font-size:10px}.duel-chat{flex-direction:column;display:flex;max-width:520px!important}.dc-head{justify-content:space-between;align-items:center;margin-bottom:14px;font-size:16px;font-weight:600;display:flex}.dc-head button{color:var(--h-mute)}.dc-list{flex-direction:column;gap:8px;min-height:240px;max-height:46vh;display:flex;overflow-y:auto}.dc-empty{color:var(--h-mute);text-align:center;padding:28px 0;font-size:13px}.dc-msg{background:var(--h-surface-2);border-radius:14px;align-self:flex-start;max-width:78%;padding:9px 13px;font-size:14px}.dc-msg.mine{background:#c5d86d24;align-self:flex-end}.dc-emote{align-items:center;gap:8px;font-weight:700;display:inline-flex}.dc-emote img{object-fit:contain;width:28px;height:28px}.dc-compose{gap:10px;margin-top:14px;display:flex}.dg-end{flex-direction:column;align-items:center;gap:8px;padding:18px 0 8px;display:flex}.dg-end-mark{font-size:62px;animation:.42s cubic-bezier(.2,.9,.3,1.4) eb-in}.dg-end-title{letter-spacing:-.035em;font-size:34px;font-weight:700}.dg-end.win .dg-end-title{color:var(--c-gold)}.dg-end.lose .dg-end-title{color:var(--h-accent-2)}.dg-forfeit-note{text-align:center;color:var(--h-mute);margin-bottom:8px;font-size:13px;font-weight:600}.dg-faceoff{background:var(--h-surface);border:1px solid var(--h-line);border-radius:20px;align-items:center;margin-top:14px;padding:18px 0;display:flex}.dg-player{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.dg-player-av{position:relative}.dg-player-av .crown{font-size:20px;position:absolute;top:-6px;right:-6px}.dg-player .nm{font-size:13px;font-weight:600}.dg-player .sc{font-family:var(--h-mono);color:var(--h-mute);font-size:30px;font-weight:700}.dg-player .sc.win{color:var(--c-gold)}.dg-vs{text-align:center;width:62px}.dg-vs span{color:var(--h-accent-2);font-size:26px;font-weight:700}.dg-vs em{font-family:var(--h-mono);color:var(--h-mute);font-size:11px;font-style:normal;font-weight:700;display:block}.dg-history{background:var(--h-surface);border:1px solid var(--h-line);border-radius:20px;margin-top:16px;padding:6px 6px 10px}.dg-history-head{font-family:var(--h-mono);letter-spacing:.16em;color:var(--h-mute);text-transform:uppercase;padding:12px 14px 8px;font-size:9px}.dg-history-row{align-items:center;gap:12px;padding:10px 14px;display:flex}.dg-history-row+.dg-history-row{border-top:1px solid var(--h-line)}.dg-history-row .nm{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.dg-history-row .mt{color:var(--h-mute);margin-top:2px;font-size:11px}.dg-history-row .sc{font-family:var(--h-mono);color:var(--h-text-2);font-size:15px;font-weight:700}.dg-vdn{width:28px;height:28px;font-family:var(--h-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.dg-vdn.v{color:var(--c-green);background:#34d3992e}.dg-vdn.d{color:var(--h-accent-2);background:#ff8a652e}.dg-vdn.n{background:rgba(var(--h-ink),.08);color:var(--h-mute)}.dg-rematch-card{background:#c5d86d1a;border:1px solid #c5d86d40;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:18px;display:flex}.dg-rematch-card strong{letter-spacing:-.02em;font-size:20px}.dg-rematch-card span{color:var(--h-text-2);font-size:14px}@media (max-width:1000px){.clan-layout,.soc-cards{grid-template-columns:1fr}}@media (max-width:720px){.duel-invite{flex-wrap:wrap;top:10px}.di-actions{justify-content:flex-end;width:100%}.dg-question{font-size:21px}.soc-row{grid-template-columns:26px 26px minmax(0,1fr) auto;gap:10px}.soc-row .finale{display:none}}.finale-screen{z-index:72;background:var(--h-bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.fin-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-self:center;align-items:center;gap:16px;width:100%;max-width:520px;padding:40px 24px;display:flex}.fin-trophy{font-size:62px}.fin-title{letter-spacing:-.03em;font-size:28px;font-weight:700}.fin-sub{color:var(--h-text-2);font-size:15px;line-height:1.6}.fin-rules{text-align:left;background:var(--h-surface);border:1px solid var(--h-line);border-radius:18px;flex-direction:column;gap:14px;width:100%;padding:18px;display:flex}.fin-rules>div{color:var(--h-text-2);gap:12px;font-size:14px;line-height:1.5;display:flex}.fin-rules span{text-align:center;width:22px;color:var(--c-gold);flex-shrink:0}.fin-later{color:var(--h-mute);padding:6px;font-size:13px}.fin-play{flex-direction:column;flex:1;align-self:center;width:100%;max-width:720px;padding:24px;display:flex}.fin-head{justify-content:space-between;align-items:center;display:flex}.fin-head .lbl{font-family:var(--h-mono);letter-spacing:.18em;color:var(--c-gold);font-size:11px}.fin-head .sc{font-family:var(--h-mono);color:var(--h-text-2);font-size:13px;font-weight:700}.fin-bar{background:var(--h-surface-2);border-radius:999px;height:10px;margin-top:18px;overflow:hidden}.fin-bar i{border-radius:999px;height:100%;transition:width 60ms linear;display:block}.fin-secs{font-family:var(--h-mono);color:var(--h-mute);text-align:center;margin-top:8px;font-size:13px}.fin-qwrap{margin-top:32px}.fin-qlabel{font-family:var(--h-mono);letter-spacing:.16em;color:var(--h-mute);text-transform:uppercase;font-size:10px}.fin-question{letter-spacing:-.025em;margin:14px 0 24px;font-size:26px;font-weight:500;line-height:1.3}.fin-choices{flex-direction:column;gap:10px;display:flex}.fin-choice{text-align:left;background:var(--h-surface-2);border:1px solid var(--h-line);color:var(--h-text);border-radius:12px;align-items:center;gap:12px;padding:15px 16px;font-size:15px;display:flex}.fin-choice b{background:var(--h-surface-3);width:24px;height:24px;font-family:var(--h-mono);color:var(--h-mute);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.fin-choice:not(:disabled):hover{border-color:var(--c-gold)}.fin-choice.good{border-color:var(--c-green);color:var(--c-green);background:#34d39924}.fin-choice.bad{border-color:var(--h-accent-2);color:var(--h-accent-2);background:#ff8a6524}.fr-meta{font-family:var(--h-mono);color:var(--h-accent-text);margin-bottom:8px;font-size:12px}.fr-note{color:var(--h-mute);margin-bottom:20px;font-size:13px;line-height:1.6}.fr-list{flex-direction:column;gap:14px;display:flex}.fr-q{background:var(--h-surface-2);border-left:3px solid var(--h-line-2);border-radius:16px;padding:14px}.fr-q.ok{border-left-color:var(--c-green)}.fr-q.ko{border-left-color:var(--h-accent-2)}.fr-q-head{font-family:var(--h-mono);letter-spacing:.1em;color:var(--h-mute);justify-content:space-between;font-size:10px;display:flex}.fr-q.ok .fr-q-head .v{color:var(--c-green)}.fr-q.ko .fr-q-head .v{color:var(--h-accent-2)}.fr-q-text{margin:8px 0 12px;font-size:15px;font-weight:500;line-height:1.4}.fr-q-choices{flex-direction:column;gap:6px;display:flex}.fr-c{color:var(--h-text-2);background:rgba(var(--h-ink),.02);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.fr-c b{font-family:var(--h-mono);color:var(--h-dim);font-size:10px}.fr-c em{font-style:normal;font-family:var(--h-mono);letter-spacing:.1em;text-transform:uppercase;margin-left:auto;font-size:9px}.fr-c.good{color:var(--c-green);background:#34d3991f}.fr-c.mine{color:var(--h-accent-2);background:#ff8a651f}.podium-backdrop{z-index:90;background:color-mix(in srgb, var(--h-bg) 74%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.podium-card{background:var(--h-surface);border:1px solid var(--h-line-2);text-align:center;opacity:0;border-radius:26px;flex-direction:column;align-items:center;gap:14px;width:min(430px,100%);padding:28px;transition:transform .42s cubic-bezier(.2,.9,.3,1.3),opacity .3s;display:flex;transform:scale(.88)}.podium-card.pop{opacity:1;transform:scale(1)}.podium-medal{font-size:88px;line-height:1}.podium-wins{color:var(--h-on-accent);border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-size:13px;font-weight:700;display:inline-flex}.podium-title{letter-spacing:-.03em;font-size:26px;font-weight:700;line-height:1.2}.podium-msg{color:var(--h-text-2);font-size:15px;line-height:1.6}.partage-lede{color:var(--h-text-2);max-width:62ch;margin-top:18px;font-size:15px;line-height:1.65}.partage-lede strong{color:var(--h-text)}.partage-tabs{background:var(--h-surface-2);border-radius:999px;flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;margin:36px 0 22px;padding:5px;display:flex}.ptab{color:var(--h-mute);border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600;position:relative}.ptab.on{background:var(--h-accent-1);color:var(--h-on-accent)}.ptab i{font-style:normal;font-family:var(--h-mono);background:var(--h-accent-2);color:var(--h-on-accent);border-radius:999px;margin-left:7px;padding:2px 6px;font-size:10px}.ptab.on i{background:var(--h-surface);color:var(--h-accent-1)}.partage-search input{background:var(--h-surface);border:1px solid var(--h-line);width:100%;color:var(--h-text);border-radius:14px;padding:14px 18px;font-size:14px}.partage-search{margin-bottom:22px}.deck-share-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.deck-share-card{text-align:left;background:var(--h-surface);border:1px solid var(--h-line);border-radius:18px;padding:18px 18px 16px;transition:border-color .14s,transform .14s;position:relative;overflow:hidden}.deck-share-card:hover{border-color:var(--h-line-2);transform:translateY(-2px)}.deck-share-card .bar{width:3px;position:absolute;top:0;bottom:0;left:0}.deck-share-card .hd{align-items:center;gap:8px;margin-bottom:10px;display:flex}.deck-share-card .kind{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:9px}.deck-share-card .lock{font-family:var(--h-mono);color:var(--c-gold);background:#ffc24b1f;border-radius:999px;margin-left:auto;padding:3px 8px;font-size:10px}.deck-share-card .lock.ad{color:var(--c-cyan);background:#38bdf81f}.deck-share-card .ttl{letter-spacing:-.02em;font-size:17px;font-weight:600}.deck-share-card .ds{color:var(--h-text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.deck-share-card .mt{font-family:var(--h-mono);color:var(--h-mute);margin-top:12px;font-size:10px}.earnings-card{background:var(--h-surface);border:1px solid #ffc24b38;border-radius:20px;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:24px;padding:20px 22px;display:flex}.earnings-card .e{font-family:var(--h-mono);letter-spacing:.16em;color:var(--h-mute);font-size:9px}.earnings-card .v{font-family:var(--h-mono);color:var(--c-gold);margin-top:4px;font-size:30px;font-weight:700}.earnings-card .s{color:var(--h-mute);margin-top:2px;font-size:12px}.earnings-card .n{min-width:240px;color:var(--h-text-2);flex:1;font-size:13px;line-height:1.6}.gift-list{flex-direction:column;gap:12px;display:flex}.gift-card{background:var(--h-surface);border:1px solid var(--h-line);border-radius:18px;flex-wrap:wrap;align-items:center;gap:14px;padding:16px;display:flex}.gift-card .body{flex:1;min-width:220px}.gift-card .ttl{letter-spacing:-.01em;font-size:15px;font-weight:600}.gift-card .mt{font-family:var(--h-mono);color:var(--h-mute);margin-top:5px;font-size:10px}.gift-card .acts{gap:10px;display:flex}.deck-sheet{position:relative}.ds-head{border-left:3px solid var(--h-accent-1);margin-bottom:22px;padding-left:16px}.ds-head .kind{font-family:var(--h-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--h-mute);font-size:9px}.ds-head h2{letter-spacing:-.03em;margin-top:6px;font-size:26px;font-weight:600}.ds-head .by{color:var(--h-accent-text);margin-top:4px;font-size:13px}.ds-head .desc{color:var(--h-text-2);margin-top:10px;font-size:14px;line-height:1.6}.ds-head .stats{font-family:var(--h-mono);color:var(--h-mute);margin-top:10px;font-size:11px}.ds-eyebrow{font-family:var(--h-mono);letter-spacing:.16em;color:var(--h-mute);margin-bottom:10px;font-size:9px}.ds-content{max-height:38vh;overflow-y:auto}.ds-course{background:var(--h-surface-2);border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;font-size:13px;display:flex}.ds-course .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ds-course .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ds-course .au,.ds-course .fi{color:var(--h-mute);font-size:10px;font-family:var(--h-mono)}.ds-course .fi{color:var(--h-accent-text)}.ds-course .ct{font-family:var(--h-mono);color:var(--h-mute);font-size:11px}.ds-locked{text-align:center;padding:22px 12px}.ds-locked .lk{margin-bottom:12px;font-size:40px}.ds-locked p{color:var(--h-text-2);margin-bottom:16px;font-size:14px;line-height:1.6}.ds-locked .note{color:var(--h-mute);font-size:12px}.ds-friends{border-top:1px solid var(--h-line);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;display:flex}.ds-friend{background:var(--h-surface-2);border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 7px;font-size:13px;display:flex}.ds-friend:hover{background:var(--h-surface-3)}.pub-note{color:var(--h-text-2);margin-bottom:18px;font-size:13px;line-height:1.6}.pub-note strong{color:var(--h-text)}.pub-list{flex-direction:column;gap:4px;max-height:200px;margin-bottom:20px;display:flex;overflow-y:auto}.pub-item{color:var(--h-text-2);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-size:14px;display:flex}.pub-item:hover{background:rgba(var(--h-ink),.03)}.pub-item.on{color:var(--h-text);background:#c5d86d1f}.pub-item .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pub-item .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pub-item .ct{font-family:var(--h-mono);color:var(--h-mute);font-size:10px}.pub-check{cursor:pointer;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.pub-check input{accent-color:var(--h-accent-text);margin-top:3px}.pub-check strong{font-size:14px;font-weight:600;display:block}.pub-check em{color:var(--h-mute);margin-top:2px;font-size:12px;font-style:normal;display:block}.form-label .hint{color:var(--h-mute);text-transform:none;letter-spacing:0;font-weight:400}.hint{color:var(--h-mute);margin-top:6px;font-size:12px}.hint.warn{color:var(--h-accent-2)}.price-row{align-items:center;gap:10px;display:flex}.price-row .form-input{max-width:140px}.partage-toast{z-index:95;background:var(--h-surface-2);border:1px solid var(--h-line-2);box-shadow:0 16px 44px var(--h-shadow);border-radius:999px;padding:13px 22px;font-size:14px;font-weight:500;animation:.3s cubic-bezier(.2,.9,.3,1.2) duel-drop;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.link-box{background:var(--h-surface-2);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.link-box .url{min-width:0;font-family:var(--h-mono);color:var(--h-text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.theme-switch{margin-top:14px}.ts-label{font-family:var(--h-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--h-mute);margin-bottom:10px;font-size:9px}.ts-row{background:var(--h-surface-2);border-radius:999px;gap:5px;width:fit-content;padding:5px;display:flex}.ts-opt{color:var(--h-mute);border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.ts-opt.on{background:var(--h-accent-1);color:var(--h-on-accent)}.ts-hint{color:var(--h-mute);max-width:46ch;margin-top:10px;font-size:12px;line-height:1.5}.app-message-body{color:var(--h-text-2);font-size:15px;line-height:1.65}.app-message-body p{margin-bottom:8px}.app-message-body li{margin-bottom:4px;margin-left:20px}.profile-info .pcode{color:var(--h-mute);margin-top:4px;font-size:11px}.profile-info .pcode span{font-family:var(--h-mono);color:var(--h-text-2);letter-spacing:.08em}.finale-recap-card{text-align:left;background:#ffc24b14;border:1px solid #ffc24b40;border-radius:18px;align-items:center;gap:14px;width:100%;margin-top:34px;padding:16px 18px;display:flex}.finale-recap-card:hover{background:#ffc24b1f}.finale-recap-card .ic{font-size:24px}.finale-recap-card .body{flex:1;min-width:0}.finale-recap-card .t{letter-spacing:-.01em;font-size:15px;font-weight:600;display:block}.finale-recap-card .s{color:var(--h-mute);margin-top:3px;font-size:12px;display:block}.finale-recap-card .chev{color:var(--c-gold);font-size:20px}.course-files{flex-direction:column;gap:8px;display:flex}.course-file{text-align:left;background:var(--h-surface);border:1px solid var(--h-line);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.course-file:hover{border-color:var(--h-line-2)}.course-file .ic{flex-shrink:0;font-size:20px}.course-file .body{flex:1;min-width:0}.course-file .t{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;display:block;overflow:hidden}.course-file .m{font-family:var(--h-mono);color:var(--h-mute);letter-spacing:.04em;margin-top:3px;font-size:10px;display:block}.course-file .chev{color:var(--h-dim);font-size:20px}.course-reader{max-width:720px!important}.course-text,.course-summary{font-family:var(--h-sans);color:var(--h-text-2);white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px;line-height:1.75}.course-text{max-height:60vh;overflow-y:auto}.course-summary{background:var(--h-surface);border:1px solid var(--h-line);border-left:3px solid var(--h-accent-1);border-radius:14px;padding:20px 22px}.course-textarea{font-family:var(--h-mono);font-size:13px;line-height:1.6}.cal-import{max-width:680px!important}.cal-help-toggle{color:var(--h-accent-text);padding:6px 0;font-size:13px;font-weight:600}.cal-help{flex-direction:column;gap:6px;margin:8px 0 4px 20px;display:flex}.cal-help li{color:var(--h-text-2);font-size:13px;line-height:1.55}.cal-help .mono{font-family:var(--h-mono);color:var(--h-text);font-size:12px}.cal-rows{flex-direction:column;gap:6px;max-height:34vh;display:flex;overflow-y:auto}.cal-row{background:var(--h-surface-2);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.cal-row.skipped{opacity:.4}.cal-row .body{flex:1;min-width:0}.cal-row .t{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.cal-row .m{color:var(--h-mute);margin-top:3px;font-size:11px}.cal-row .assign{flex-shrink:0;align-items:center;gap:8px;display:flex}.cal-row select{background:var(--h-surface);border:1px solid var(--h-line-2);color:var(--h-text);border-radius:9px;max-width:170px;padding:7px 9px;font-size:12px}.cal-row .dot{border-radius:50%;width:8px;height:8px}.cal-row .sug{font-family:var(--h-mono);color:var(--h-accent-text);letter-spacing:.06em;font-size:9px}.photo-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-avatar-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;display:flex}img.profile-avatar-big{object-fit:cover}.reorder-list{flex-direction:column;gap:6px;max-height:50vh;display:flex;overflow-y:auto}.reorder-row{background:var(--h-surface-2);cursor:grab;border-radius:12px;align-items:center;gap:12px;padding:11px 12px;display:flex}.reorder-row.dragging{opacity:.5}.reorder-row .grip{color:var(--h-dim);letter-spacing:-2px;font-size:15px}.reorder-row .dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.reorder-row .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.reorder-row .pos{font-family:var(--h-mono);color:var(--h-mute);font-size:11px}.reorder-row .icon-btn{width:28px;height:28px;font-size:13px}.reorder-row .icon-btn:disabled{opacity:.25;cursor:default}.doc-viewer{z-index:78;background:var(--h-bg);flex-direction:column;display:flex;position:fixed;inset:0}.dv-bar{border-bottom:1px solid var(--h-line);flex-shrink:0;align-items:center;gap:12px;padding:14px 20px;display:flex}.dv-id{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.dv-id .ic{font-size:20px}.dv-id .t{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.dv-id .m{font-family:var(--h-mono);color:var(--h-mute);margin-top:2px;font-size:10px}.dv-body{flex:1;min-height:0;display:flex}.dv-body iframe{background:var(--h-surface-2);border:none;flex:1}.user-card.active{background:var(--h-surface)}.user-card.active .user-name{color:var(--h-accent-text)}.user-streak{font-family:var(--h-mono);color:var(--h-mute);flex-shrink:0;font-size:11px}h1.page-title,.home-greet,.modal-title,.dp-title,.dg-h2,.dg-end-title,.fin-title,.pm-name,.podium-title,.dg-rematch-card strong,.pm-confirm strong,.soc-card .t,.clan-card .nm,.deck-share-card .ttl,.ds-head h2,.lb-winner .n,.empty .big{font-family:var(--h-display);font-weight:var(--h-display-weight)}:root[data-side=culture] h1.page-title,:root[data-side=culture] .home-greet{letter-spacing:-.025em}:root[data-side=culture] .modal-title,:root[data-side=culture] .dp-title,:root[data-side=culture] .dg-h2,:root[data-side=culture] .fin-title,:root[data-side=culture] .pm-name,:root[data-side=culture] .podium-title,:root[data-side=culture] .dg-end-title{letter-spacing:-.01em}:root[data-side=culture] .daily-card,:root[data-side=culture] .path-card,:root[data-side=culture] .deck-card,:root[data-side=culture] .deck-feature,:root[data-side=culture] .gstat,:root[data-side=culture] .quest-card,:root[data-side=culture] .tomorrow-card,:root[data-side=culture] .soc-card:not(.static),:root[data-side=culture] .soc-podium,:root[data-side=culture] .clan-card,:root[data-side=culture] .person-card,:root[data-side=culture] .dg-faceoff,:root[data-side=culture] .dg-history,:root[data-side=culture] .dg-rules,:root[data-side=culture] .fin-rules,:root[data-side=culture] .podium-card,:root[data-side=culture] .duel-invite,:root[data-side=culture] .finale-recap-card,:root[data-side=culture] .friend-code-card{border:2.5px solid var(--h-text);box-shadow:5px 5px 0 var(--h-text)}:root[data-side=culture] .soc-card:not(.static):hover,:root[data-side=culture] .clan-card:hover,:root[data-side=culture] .path-card:hover,:root[data-side=culture] .deck-card:hover{box-shadow:7px 7px 0 var(--h-text);border-color:var(--h-text);transform:translate(-2px,-2px)}:root[data-side=culture] .btn.primary,:root[data-side=culture] .di-btn.solid,:root[data-side=culture] .dg-tool,:root[data-side=culture] .emote-bubble{border:2px solid var(--h-text);box-shadow:3px 3px 0 var(--h-text)}:root[data-side=culture] .btn.primary:hover{box-shadow:4px 4px 0 var(--h-text);transform:translate(-1px,-1px)}:root[data-side=culture] .btn.primary:active{box-shadow:1px 1px 0 var(--h-text);transform:translate(1px,1px)}.culture-confetti{display:none}:root[data-side=culture] .culture-confetti{pointer-events:none;z-index:0;display:block;position:fixed;inset:0}.culture-confetti i{border-radius:50%;display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.culture-confetti i{animation:6s ease-in-out infinite confetti-breathe}}@keyframes confetti-breathe{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:.9;transform:translateY(-4px)}}.header-circle{background:var(--h-surface);border:1px solid var(--h-line-2);width:42px;height:42px;color:var(--h-text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,transform .14s;display:inline-flex;position:relative}.header-circle:hover{color:var(--h-text);border-color:var(--h-text-2);transform:translateY(-1px)}.header-circle svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:19px;height:19px}.header-circle .dot{background:var(--h-accent-2);border:2px solid var(--h-bg);border-radius:50%;width:8px;height:8px;position:absolute;top:3px;right:3px}:root[data-side=culture] .header-circle{border:2px solid var(--h-text);box-shadow:3px 3px 0 var(--h-text)}.cal-day.has-class:after{content:"";background:var(--h-line-2);border-radius:2px;width:14px;height:2px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.cal-day.selected.has-class:after,.cal-day.today.has-class:after{opacity:.5;background:currentColor}.settings-group{margin-top:40px}.sg-title{font-family:var(--h-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--h-mute);margin-bottom:12px;padding-left:2px;font-size:10px}.sg-body{background:var(--h-surface);border:1px solid var(--h-line);border-radius:18px;overflow:hidden}.sg-note{color:var(--h-mute);margin-top:10px;padding-left:2px;font-size:12px;line-height:1.6}.settings-row{align-items:center;gap:14px;padding:15px 18px;display:flex}.settings-row+.settings-row{border-top:1px solid var(--h-line)}.settings-row .ic{background:var(--h-surface-2);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.settings-row .body{flex:1;min-width:0}.settings-row .t{letter-spacing:-.01em;font-size:14px;font-weight:600}.settings-row .s{color:var(--h-mute);margin-top:3px;font-size:12px;line-height:1.5}.settings-row .btn{flex-shrink:0}.btn.ghost.sm.danger{color:var(--h-accent-2);border-color:#ff8a6547}:root[data-side=culture] .sg-body{border:2.5px solid var(--h-text);box-shadow:5px 5px 0 var(--h-text)}@media (max-width:620px){.settings-row{flex-wrap:wrap}.settings-row .btn{margin-left:46px}}.tour-modal{max-width:560px!important}.tour-top{align-items:center;gap:14px;margin-bottom:20px;display:flex}.tour-dots{flex:1;gap:6px;display:flex}.tour-dots span{background:var(--h-surface-3);border-radius:2px;flex:1;height:4px;transition:background .2s}.tour-dots span.on{background:var(--h-accent-1)}.tour-dots span.done{background:color-mix(in srgb, var(--h-accent-1) 45%, transparent)}.tour-title{font-family:var(--h-display);font-weight:var(--h-display-weight);letter-spacing:-.025em;font-size:26px}.tour-sub{color:var(--h-text-2);margin-top:8px;font-size:14px;line-height:1.6}.tour-body{flex-direction:column;gap:12px;margin:22px 0 16px;display:flex}.tour-note{color:var(--h-mute);border-left:2px solid var(--h-line-2);padding-left:12px;font-size:12px;line-height:1.6}.tour-foot{align-items:center;gap:10px;margin-top:24px;display:flex}.tour-screen{background:var(--h-surface-2);border:1px solid var(--h-line);border-radius:16px;overflow:hidden}.tour-screen.culture{border-color:#ff5c7a4d}.ts-head{justify-content:space-between;align-items:center;padding:12px 14px 8px;display:flex}.ts-title{font-family:var(--h-display);font-weight:var(--h-display-weight);letter-spacing:-.02em;font-size:17px}.ts-tab{font-family:var(--h-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-mute);font-size:9px}.ts-body{flex-direction:column;gap:7px;padding:4px 12px 14px;display:flex}.tour-line{background:var(--h-surface);border-radius:10px;align-items:center;gap:10px;padding:9px 11px;display:flex}.tour-line .ic{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.tour-line .t{align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.tour-line .d{font-family:var(--h-mono);color:var(--h-mute);margin-top:2px;font-size:10px}.tour-line .neuf{font-family:var(--h-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--h-accent-text);background:#c5d86d24;border-radius:999px;padding:2px 6px;font-size:8px}.tour-sections{gap:6px;margin-bottom:4px;display:flex}.tour-sections span{font-family:var(--h-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--h-mute);background:var(--h-surface);border-radius:999px;padding:4px 10px;font-size:9px}.tour-sections span.on{background:var(--h-accent-1);color:var(--h-on-accent)}.tour-summary{color:var(--h-text-2);background:var(--h-surface);white-space:pre-line;border-radius:10px;padding:11px;font-size:11px;line-height:1.7}.tour-qcm{background:var(--h-surface);border:1px solid var(--h-line);border-radius:14px;padding:14px}.tour-qcm .q{margin-bottom:11px;font-size:14px;font-weight:600;line-height:1.4}.tour-qcm .opts{flex-direction:column;gap:6px;display:flex}.tour-qcm .opt{background:var(--h-surface-2);color:var(--h-text-2);border-radius:9px;padding:9px 12px;font-size:12px}.tour-qcm .opt.good{color:var(--c-green);background:#34d39924;font-weight:600}.tour-spaces{background:var(--h-surface-2);border-radius:999px;gap:6px;padding:5px;display:flex}.tour-spaces .sp{color:var(--h-mute);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px;font-size:13px;font-weight:600;display:flex}.tour-spaces .sp.on{background:var(--h-accent-1);color:var(--h-on-accent)}.tour-spaces .sp.on.culture{color:#fff;background:#ff5c7a}.tour-explain{align-items:flex-start;gap:12px;display:flex}.tour-explain .ic{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.tour-explain .t{font-size:14px;font-weight:700}.tour-explain p{color:var(--h-text-2);margin-top:3px;font-size:13px;line-height:1.55}.tour-eyebrow{font-family:var(--h-mono);letter-spacing:.14em;color:var(--h-mute);font-size:9px}.tour-cta-title{margin:6px 0 10px;font-size:14px;font-weight:600;line-height:1.4}.tour-cta{background:var(--h-accent-1);color:var(--h-on-accent);border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.tour-cta span{opacity:.7;margin-left:auto;font-weight:400}.selector-group .sghead{border-radius:12px;align-items:center;gap:12px;padding:4px;transition:background .12s;display:flex}.selector-group .sghead:hover{background:rgba(var(--h-ink), .03)}.selector-group button.sgname{text-align:left;letter-spacing:-.01em;min-width:0;color:var(--h-text);flex:1;align-items:center;gap:10px;padding:12px 6px;font-size:14px;font-weight:600;display:flex}.selector-group button.sgname .meta{font-family:var(--h-mono);letter-spacing:.06em;color:var(--h-mute);white-space:nowrap;margin-left:auto;font-size:10px}.selector-group button.sgname .chev{background:var(--h-surface-2);width:22px;height:22px;color:var(--h-text-2);letter-spacing:0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:transform .16s,background .12s,color .12s;display:flex}.selector-group .sghead:hover .chev{background:var(--h-surface-3);color:var(--h-text)}.selector-group button.sgname .chev.open{transform:rotate(90deg)}.selector-group+.selector-group{border-top:1px solid var(--h-line)}.fc-card.flippable{cursor:pointer}.fc-card.flippable:hover{border-color:var(--h-line-2)}.mode-choice{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:520px;margin:0 auto;padding:60px 0;display:flex}.mc-title{font-family:var(--h-display);font-weight:var(--h-display-weight);letter-spacing:-.02em;font-size:26px}.mc-sub{color:var(--h-mute);font-size:14px}.mc-cards{flex-direction:column;gap:14px;width:100%;margin-top:22px;display:flex}.mc-card{text-align:left;background:var(--h-surface);border:1px solid var(--h-line);border-radius:18px;align-items:center;gap:16px;padding:18px;transition:border-color .14s,transform .14s;display:flex}.mc-card:hover{border-color:var(--h-accent-text);transform:translateY(-2px)}.mc-card .ic{background:color-mix(in srgb, var(--h-accent-1) 22%, transparent);width:52px;height:52px;color:var(--h-accent-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:21px;display:flex}.mc-card .body{flex:1;min-width:0}.mc-card .t{letter-spacing:-.01em;font-size:17px;font-weight:700;display:block}.mc-card .s{color:var(--h-text-2);margin-top:4px;font-size:13px;line-height:1.5;display:block}:root[data-side=culture] .mc-card{border:2.5px solid var(--h-text);box-shadow:5px 5px 0 var(--h-text)}:root[data-side=culture] .mc-card:hover{box-shadow:7px 7px 0 var(--h-text);transform:translate(-2px,-2px)}.qcm-continue-wrap{flex-direction:column;align-items:center;gap:12px;margin-top:18px;display:flex}.qcm-answer{color:var(--h-text-2);text-align:center;font-size:13px}.qcm-continue{letter-spacing:-.005em;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:420px;padding:15px 22px;font-size:15px;font-weight:600;transition:transform .14s,opacity .14s;display:inline-flex}.qcm-continue:hover{transform:translateY(-1px)}.qcm-continue:active{opacity:.85;transform:translateY(0)}.qcm-continue.ok{background:var(--h-accent-1);color:var(--h-on-accent)}.qcm-continue.ko{background:var(--h-accent-2);color:var(--h-on-accent)}.qcm-continue em{opacity:.7;font-style:normal}:root[data-side=culture] .qcm-continue{border:2px solid var(--h-text);box-shadow:3px 3px 0 var(--h-text)}.cp{flex-direction:column;gap:8px;display:flex}.cp-eyebrow{font-family:var(--h-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--h-mute);margin-top:6px;font-size:9px}.cp-row{flex-wrap:wrap;gap:8px;display:flex}.cp-swatch{border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;line-height:1;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.cp-swatch:hover{transform:scale(1.12)}.cp-swatch.on{border-color:var(--h-text);transform:scale(1.12)}.cp-studio{background:var(--h-surface-2);border-radius:14px;margin-top:10px;overflow:hidden}.cp-studio-head{text-align:left;align-items:center;gap:10px;width:100%;padding:13px 14px;font-size:13px;display:flex}.cp-studio-head .ic{font-size:14px}.cp-studio-head .dot{border:1px solid rgba(var(--h-ink), .12);border-radius:50%;width:16px;height:16px;margin-left:auto}.cp-studio-head .chev{color:var(--h-mute);transition:transform .16s}.cp-studio-head .chev.open{transform:rotate(180deg)}.cp-studio-body{border-top:1px solid var(--h-line);flex-direction:column;gap:18px;padding:4px 14px 16px;display:flex}.cp-preview{align-items:center;gap:12px;padding-top:14px;display:flex}.cp-preview .sq{border:1px solid rgba(var(--h-ink), .1);border-radius:12px;flex-shrink:0;width:52px;height:52px}.cp-preview .nm{letter-spacing:-.01em;font-size:16px;font-weight:600}.cp-preview .cap{font-family:var(--h-mono);color:var(--h-mute);margin-top:3px;font-size:11px}.cp-shuffle{background:rgba(var(--h-ink), .05);width:36px;height:36px;color:var(--h-text-2);border-radius:10px;flex-shrink:0;font-size:15px}.cp-shuffle:hover{background:rgba(var(--h-ink), .09);color:var(--h-text)}.cp-field{flex-direction:column;gap:6px;display:flex}.cp-label{justify-content:space-between;align-items:baseline;display:flex}.cp-label span{font-size:13px;font-weight:600}.cp-label em{font-style:normal;font-family:var(--h-mono);color:var(--h-mute);font-size:10px}.cp-slider{appearance:none;cursor:pointer;border:1px solid rgba(var(--h-ink), .1);border-radius:999px;width:100%;height:12px}.cp-slider::-webkit-slider-thumb{appearance:none;background:var(--h-surface);border:2.5px solid var(--h-text);cursor:grab;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 4px #00000059}.cp-slider::-moz-range-thumb{background:var(--h-surface);border:2.5px solid var(--h-text);cursor:grab;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 4px #00000059}.cp-ticks{display:flex}.cp-ticks span{text-align:center;font-family:var(--h-mono);letter-spacing:.12em;color:var(--h-mute);flex:1;font-size:9px}.cp-segmented{background:var(--h-surface);border-radius:999px;gap:4px;padding:4px;display:flex}.cp-seg{color:var(--h-mute);border-radius:999px;flex:1;padding:8px;font-size:12px;font-weight:600}.cp-seg.on{background:var(--h-accent-1);color:var(--h-on-accent)}.step-header{margin-bottom:22px}.sh-top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.sh-title{font-family:var(--h-display);font-weight:var(--h-display-weight);letter-spacing:-.03em;font-size:27px}.sh-count{font-family:var(--h-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--h-mute);white-space:nowrap;font-size:10px}.sh-sub{color:var(--h-mute);margin-top:4px;font-size:13px}.sh-bar{gap:6px;margin-top:14px;display:flex}.sh-bar i{background:rgba(var(--h-ink), .12);border-radius:2px;flex:1;height:3px;transition:background .26s}.sh-bar i.on{background:var(--h-accent-1)}.step-nav{border-top:1px solid var(--h-line);align-items:center;gap:12px;margin-top:28px;padding-top:18px;display:flex}.sn-back{width:50px;height:50px;color:var(--h-mute);background:var(--h-surface);border:1px solid rgba(var(--h-ink), .1);border-radius:50%;flex-shrink:0;font-size:20px;line-height:1}.sn-back:hover{color:var(--h-text)}.sn-next{letter-spacing:-.005em;background:var(--h-accent-1);color:var(--h-on-accent);border-radius:16px;flex:1;padding:16px;font-size:15px;font-weight:600;transition:opacity .14s}.sn-next:disabled{background:rgba(var(--h-ink), .06);color:var(--h-mute);cursor:not-allowed}:root[data-side=culture] .sn-next:not(:disabled){border:2px solid var(--h-text);box-shadow:3px 3px 0 var(--h-text)}.card-format{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.cf-head{justify-content:space-between;align-items:baseline;display:flex}.cf-head span,.cf-head em{font-family:var(--h-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--h-mute);font-size:9px;font-style:normal}.cf-segmented{background:var(--h-surface-2);border-radius:999px;gap:4px;padding:4px;display:flex}.cf-seg{color:var(--h-mute);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px 10px;font-size:13px;font-weight:600;display:inline-flex}.cf-seg.on{background:var(--h-surface);color:var(--h-text)}.cf-seg .dot{background:0 0;border-radius:50%;width:6px;height:6px}.cf-seg.on .dot{background:var(--h-accent-1)}.cc-list{flex-direction:column;gap:12px;display:flex}.cc-choice{text-align:left;background:var(--h-surface-2);border:1px solid var(--h-line);border-radius:16px;align-items:center;gap:14px;padding:16px;transition:border-color .14s,transform .14s;display:flex}.cc-choice:hover{border-color:var(--h-accent-text);transform:translateY(-2px)}.cc-choice .ic{background:color-mix(in srgb, var(--h-accent-1) 22%, transparent);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.cc-choice .body{flex:1;min-width:0}.cc-choice .t{letter-spacing:-.015em;font-size:16px;font-weight:700;display:block}.cc-choice .d{color:var(--h-text-2);margin-top:3px;font-size:13px;line-height:1.45;display:block}.cc-choice .chev{color:var(--h-dim);font-size:20px}:root[data-side=culture] .cc-choice{border:2.5px solid var(--h-text);box-shadow:4px 4px 0 var(--h-text)}.acf-list{flex-direction:column;gap:8px;display:flex}.acf-row{text-align:left;background:var(--h-surface-2);border:1px solid var(--h-line);border-radius:14px;align-items:center;gap:12px;padding:12px;transition:border-color .14s;display:flex}.acf-row:hover{border-color:var(--h-accent-text)}.acf-row .ic{background:color-mix(in srgb, var(--h-accent-1) 22%, transparent);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.acf-row .body{flex:1;min-width:0}.acf-row .t{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.acf-row .d{color:var(--h-mute);margin-top:2px;font-size:11px;display:block}.acf-row .chev{color:var(--h-dim);font-size:18px}.course-sections{background:var(--h-surface-2);border-radius:22px;gap:4px;width:fit-content;max-width:100%;margin:34px 0 24px;padding:4px;display:flex}.cs-tab{color:var(--h-mute);border-radius:18px;align-items:center;gap:7px;padding:9px 22px;font-size:13px;font-weight:600;transition:background .14s,color .14s;display:inline-flex}.cs-tab:hover{color:var(--h-text)}.cs-tab.on{background:var(--h-accent-1);color:var(--h-on-accent)}.cs-tab .badge{font-family:var(--h-mono);opacity:.7;font-size:10px}:root[data-side=culture] .cs-tab.on{border:2px solid var(--h-text)}.course-empty{text-align:center;border:1.5px dashed;border-radius:20px;flex-direction:column;align-items:center;gap:18px;width:100%;padding:44px 24px;transition:transform .14s;display:flex}.course-empty:hover{transform:translateY(-2px)}.ce-ic{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:32px;display:flex}.ce-title{letter-spacing:-.02em;font-size:18px;font-weight:700}.ce-sub{color:var(--h-mute);font-size:13px;line-height:1.55}.ce-cta{color:#fff;border-radius:999px;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;display:inline-flex}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page{animation:.26s cubic-bezier(.22,.61,.36,1) page-in}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-in-sheet{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{animation:.16s backdrop-in}.modal{animation:.24s cubic-bezier(.22,.61,.36,1) modal-in}@media (max-width:1000px){.modal{animation-name:modal-in-sheet}}@keyframes list-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.selector-group .selector-list,.dp-rows{animation:.2s list-in}.matiere-row,.course-card,.person-card,.clan-card,.acf-row,.cc-choice{transition:background .14s,border-color .14s,transform .14s}@media (prefers-reduced-motion:reduce){.page,.modal,.modal-backdrop,.selector-group .selector-list,.dp-rows,.course-empty,.cc-choice,.acf-row,.mc-card,.clan-card,.soc-card{transition:none!important;animation:none!important}.course-empty:hover,.cc-choice:hover,.mc-card:hover{transform:none}}.sk{background:linear-gradient(90deg, var(--h-surface) 25%, var(--h-surface-2) 37%, var(--h-surface) 63%);background-size:400% 100%;border-radius:10px;animation:1.4s ease-in-out infinite sk-shimmer;display:block}.sk-line{border-radius:6px}.sk-block{border-radius:16px}.sk-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:18px;display:grid}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.acm-note{color:var(--h-text-2);margin-bottom:16px;font-size:13px;line-height:1.6}.course-read{max-height:58vh;padding-right:6px;overflow-y:auto}.cr-h{font-family:var(--h-mono);letter-spacing:.14em;color:var(--h-accent-text);margin:22px 0 8px;font-size:11px}.cr-h:first-child{margin-top:0}.cr-p{color:var(--h-text-2);margin-bottom:8px;font-size:15px;line-height:1.75}.cr-li{color:var(--h-text-2);margin:0 0 6px 18px;font-size:15px;line-height:1.7;list-style:outside}.codefield{cursor:text;gap:7px;width:100%;display:flex;position:relative}.codefield-input{opacity:0;color:#0000;caret-color:#0000;z-index:2;background:0 0;border:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.codefield-box{background:rgba(var(--h-ink), .06);border:1px solid var(--h-line-2);min-width:0;height:54px;font-family:var(--h-mono);color:var(--h-text);border-radius:10px;flex:1 1 0;justify-content:center;align-items:center;font-size:20px;font-weight:500;transition:border-color .15s,box-shadow .15s;display:flex}.codefield-box.active{border-color:var(--h-accent-1);box-shadow:0 0 0 1px var(--h-accent-1)}@media (max-width:420px){.codefield{gap:4px}.codefield-box{border-radius:8px;height:48px;font-size:17px}}
