:root{--d-green:#58cc02;--d-green-tint:#d7ffb8;--d-green-fill:#3f8500;--d-green-fill-hover:#367300;--d-green-text:#3f8500;--d-green-on-tint:#2f6b00;--d-red:#ff4b4b;--d-red-tint:#ffdfe0;--d-red-text:#d42a2a;--d-red-on-tint:#b71c1c;--d-red-fill:#d42a2a;--d-red-fill-hover:#b71c1c;--d-gold:#ffc800;--d-gold-tint:#fff4cc;--d-gold-text:#7a5500;--d-flame:var(--palette-4);--d-flame-text:var(--palette-4-text);--d-night:#000437;--d-paper:#ffffff;--d-charcoal:#4b4b4b;--d-pencil:#777777;--d-faded:#afafaf;--d-muted:#6f6f6f;--d-line:#e5e5e5;--d-surface:#f7f7f7;--d-h:var(--d-charcoal);--d-text:var(--d-charcoal);--d-disabled:var(--d-faded);--d-font:"Nunito Sans","Noto Sans Devanagari","Nirmala UI","Mangal",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--d-display:"Nunito","Noto Sans Devanagari","Nirmala UI","Mangal",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--d-track:0}.duo{min-height:100vh;background:var(--d-paper);color:var(--d-text);font-family:var(--d-font);font-size:17px;font-weight:500;line-height:1.18}.duo:lang(hi),:lang(hi) .duo{line-height:1.45}:where(.duo) p{color:var(--d-muted)}.duo h1,.duo h2,.duo h3{color:var(--d-h);font-weight:700;letter-spacing:0;line-height:1.2}.duo :where(a){color:var(--accent-text)}.duo :focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.duo .muted{color:var(--d-muted)}.duo .small{font-size:15px}.duo .stack-lg{gap:32px}.duo .skip-link{border:2px solid var(--d-line);border-radius:12px;box-shadow:none;color:var(--accent-text);font-weight:700}.stack-sm{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.strong{font-weight:700;color:var(--d-h)}.strong-sm{font-weight:700;font-size:15px}.duo .text-bad{color:var(--d-red-text)}.duo .text-good{color:var(--d-green-text)}.eyebrow{margin:0;color:var(--d-muted);font-size:15px;font-weight:700;line-height:1.33}.display{font-family:var(--d-display);font-weight:800;letter-spacing:-.02em;line-height:1.2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;border:2px solid var(--d-faded);border-radius:12px;background:transparent;color:var(--accent-text);font-family:var(--d-font);font-size:15px;font-weight:700;letter-spacing:var(--d-track);line-height:1.33;text-decoration:none;white-space:nowrap;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{background:var(--d-line);border-color:var(--d-line);color:var(--d-disabled);cursor:not-allowed}.btn-primary{background:var(--primary-fill);border-color:var(--primary-fill);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-fill-hover);border-color:var(--primary-fill-hover)}.btn-good{background:var(--d-green-fill);border-color:var(--d-green-fill);color:#fff}.btn-good:hover:not(:disabled){background:var(--d-green-fill-hover);border-color:var(--d-green-fill-hover)}.btn-bad{background:var(--d-red-fill);border-color:var(--d-red-fill);color:#fff}.btn-bad:hover:not(:disabled){background:var(--d-red-fill-hover);border-color:var(--d-red-fill-hover)}.btn-sm{min-height:40px;padding:0 14px;font-size:14px}.btn-lg{min-height:52px;padding:0 24px}.btn-block{width:100%}.link-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 0;border:0;border-radius:12px;background:none;color:var(--accent-text);font-family:var(--d-font);font-weight:700;cursor:pointer}.link-btn:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.link-btn:disabled{color:var(--d-disabled);cursor:not-allowed}.icon-btn{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:12px;background:none;color:var(--d-faded);cursor:pointer}.icon-btn:hover{color:var(--d-muted)}.spinner{width:16px;height:16px;border-radius:50%;border:3px solid;border-right:3px solid transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.spinner-lg{width:26px;height:26px}.input,.select{width:100%;min-height:52px;padding:12px 16px;border:2px solid var(--d-line);border-radius:12px;background:var(--d-surface);color:var(--d-h);font-family:var(--d-font);font-size:17px;font-weight:500}.select{width:auto;min-height:44px;padding:6px 12px;border-color:var(--d-faded);background:transparent;font-size:15px;font-weight:700;cursor:pointer}.select.select-field{width:100%;min-height:52px;padding:12px 16px;border-color:var(--d-line);background:var(--d-surface);font-size:17px;font-weight:500}.input::placeholder{color:#8a8a8a}.input:focus,.select:focus{outline:2px solid var(--accent-text);outline-offset:2px;border-color:var(--accent);background:#fff}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--d-red)}.input:disabled{color:var(--d-text)}.input.is-good{border-color:var(--d-green);background:var(--d-green-tint);color:var(--d-green-on-tint)}.input.is-bad{border-color:var(--d-red);background:var(--d-red-tint);color:var(--d-red-on-tint)}.label{display:block;margin-bottom:8px;color:var(--d-h);font-size:17px;font-weight:700}.field{margin-bottom:24px}.form-error,.form-notice{display:flex;align-items:flex-start;gap:12px;margin:0 0 20px;padding:12px 16px;border:2px solid transparent;border-radius:12px;font-size:15px;font-weight:700;line-height:1.33}.duo .form-error{background:var(--d-red-tint);border-color:var(--d-red);color:var(--d-red-on-tint)}.duo .form-notice{background:var(--accent-tint);border-color:var(--accent-tint-border);color:var(--accent-on-tint)}.form-error .icon,.form-notice .icon{flex:none}.sr-only-input{position:absolute;width:1px;height:1px;margin:0;opacity:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:2px solid var(--d-line);border-radius:12px;background:transparent;color:var(--d-muted);font-size:15px;font-weight:700;letter-spacing:var(--d-track);line-height:1.33;white-space:nowrap}.pill-bad,.pill-red{border-color:var(--d-red);background:var(--d-red-tint);color:var(--d-red-on-tint)}.pill-good{border-color:var(--d-green);background:var(--d-green-tint);color:var(--d-green-on-tint)}.pill-gold,.pill-warn{border-color:var(--d-faded);color:var(--d-charcoal)}.pill-blue{border-color:var(--accent-tint-border);background:var(--accent-tint);color:var(--accent-on-tint)}.pill-night,.pill-purple{border-color:var(--primary-fill);background:var(--primary-fill);color:#fff}.pill-grey,.pill-muted{border-color:var(--d-line);color:var(--d-muted)}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--d-red);animation:live 1.4s ease-in-out infinite}@keyframes live{50%{opacity:.35}}.tone-brand{--tone:var(--primary)}.tone-good{--tone:var(--d-green)}.tone-bad{--tone:var(--d-red)}.tone-gold,.tone-warn{--tone:var(--d-gold)}.tone-blue{--tone:var(--accent)}.tone-muted{--tone:var(--d-faded)}.dot{display:inline-block;width:12px;height:12px;flex:none;border-radius:4px;background:var(--tone,var(--d-faded))}.card{background:var(--d-paper);border:2px solid var(--d-line);border-radius:16px;padding:24px}.card.flush{padding:0;overflow:hidden}.card-head{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:16px 24px;border-bottom:2px solid var(--d-line)}.card-head,.card-title{display:flex;align-items:center}.card-title{gap:12px;margin:0 0 16px;font-size:19px}.card-title,.duo .card-title,.duo .gcard-title,.duo .section-title{line-height:1.4}.card-head .card-title{margin:0}.card-body{padding:24px}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-top:2px solid var(--d-line)}.sub-title{margin:20px 0 12px;color:var(--d-h);font-size:17px;font-weight:700}.section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:16px}.section-head .card-title,.section-head .section-title{margin:0}.section-title{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:19px}.count{padding:0 8px;border:2px solid var(--d-line);color:var(--d-muted);line-height:24px}.count,.section-link{border-radius:12px;font-size:15px;font-weight:700}.section-link{display:inline-flex;align-items:center;gap:4px;color:var(--accent-text);letter-spacing:var(--d-track);text-decoration:none}.section-link:hover{text-decoration:underline;text-underline-offset:3px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px}.duo .page-title{margin:0;color:var(--d-charcoal);font-size:32px;font-weight:700;line-height:1.2}.page-sub{margin:8px 0 0;font-size:17px}.duo .page-sub{color:var(--d-muted)}.page-actions{display:flex;flex-wrap:wrap;gap:12px}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;border-radius:12px;font-size:15px;font-weight:700;letter-spacing:var(--d-track);text-decoration:none}.back-link:hover{text-decoration:underline;text-underline-offset:3px}.skeleton{display:block;background:var(--d-line);animation:pulse 1.1s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.45}}.state-block{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 16px;text-align:center}.state-block.compact{padding:16px 8px}.state-block p{margin:0}.state-block .btn{margin-top:16px}.duo .state-title{margin:0;color:var(--d-h);font-size:17px;font-weight:700}.progress{position:relative;display:block;width:100%;height:16px;overflow:hidden;border-radius:999px;background:var(--d-line)}.progress.sm{height:12px}.progress-fill{position:relative;display:block;height:100%;border-radius:999px;background:var(--tone,var(--primary));transition:width .4s ease}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin:0}.stat-strip.n4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{min-width:0;margin:0;padding:16px;border:2px solid var(--d-line);border-radius:16px;background:var(--d-paper)}.stat-label{display:flex;align-items:center;gap:8px;color:var(--d-muted);font-size:15px;font-weight:700;line-height:1.33}.stat-icon{flex:none;color:var(--d-pencil)}.stat-blue .stat-icon{color:var(--accent)}.stat-good .stat-icon{color:var(--d-green)}.stat-brand .stat-icon{color:var(--primary)}.stat-bad .stat-icon{color:var(--d-red)}.stat-gold .stat-icon{color:var(--d-gold)}.stat-orange .stat-icon{color:var(--d-flame)}.stat-purple .stat-icon{color:var(--primary)}.stat-value{margin:8px 0 0;color:var(--d-h);font-family:var(--d-display);font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-of{font-family:var(--d-font);font-size:17px;font-weight:700;letter-spacing:0}.stat-hint,.stat-of{color:var(--d-muted)}.stat-hint{display:-webkit-box;margin:4px 0 0;overflow:hidden;font-size:13px;font-weight:500;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.seg{display:flex;flex-wrap:wrap;gap:12px}.seg button{min-height:44px;padding:6px 14px;border:2px solid var(--d-line);border-radius:12px;background:transparent;color:var(--d-muted);font-family:var(--d-font);font-size:15px;font-weight:700;letter-spacing:var(--d-track);cursor:pointer}.seg button:hover{border-color:var(--d-faded)}.seg button[aria-pressed=true]{background:var(--primary-tint);border-color:var(--primary-tint-border);color:var(--primary-on-tint)}.seg-count{margin-left:2px}.seg-dot{display:inline-block;flex:none;width:10px;height:10px;margin-right:8px;border-radius:50%}.subject-name{gap:10px}.lang-toggle,.subject-name{display:inline-flex;align-items:center}.lang-toggle{gap:2px;padding:0 8px;border:2px solid var(--d-faded);border-radius:12px;background:transparent}.lang-toggle button{min-width:36px;min-height:40px;padding:8px 6px;border:0;border-radius:10px;background:transparent;color:var(--d-muted);font-family:var(--d-font);font-size:15px;font-weight:700;letter-spacing:var(--d-track);line-height:1.33;cursor:pointer}.lang-toggle button:hover{color:var(--d-charcoal)}.lang-toggle button[aria-pressed=true]{color:var(--accent-text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.lang-sep{color:var(--d-faded);font-weight:700}.inst-logo{width:auto;object-fit:contain}.inst-logo,.inst-logo-ph{display:block;flex:none;max-width:100%}.inst-logo-ph{border-radius:12px;background:var(--d-surface)}.brand-mark{display:grid;flex:none;place-items:center;border-radius:12px;background:var(--primary-fill);color:#fff;font-weight:700}.brand-name-text{color:var(--primary-text);font-size:19px;font-weight:700;line-height:1.2}.app{align-items:flex-start}.app,.side{display:flex}.side{position:-webkit-sticky;position:sticky;top:0;z-index:20;flex:none;flex-direction:column;gap:8px;width:256px;height:100vh;padding:24px 16px;border-right:2px solid var(--d-line);background:#fff}.brand{display:flex;align-items:center;min-width:0;padding:4px 12px 22px;border-radius:12px;text-decoration:none}.brand-markimg{display:none}.mainnav{display:flex;flex-direction:column;gap:8px}.duo .mainnav-link{display:flex;align-items:center;gap:16px;min-height:54px;padding:6px 14px;border:2px solid transparent;border-radius:12px;color:var(--d-muted);font-size:15px;font-weight:700;letter-spacing:var(--d-track);line-height:1.33;text-decoration:none}.mainnav-link:hover{background:var(--d-surface)}.duo .mainnav-link[aria-current=page]{border-color:var(--primary-tint-border);background:var(--primary-tint);color:var(--primary-on-tint)}.mainnav-icon{display:grid;flex:none;place-items:center;width:34px;height:34px}.side-chips{display:none}.side-foot{display:flex;flex-direction:column;gap:12px;margin-top:auto}.side-foot>.side-lang{align-self:flex-start;margin-left:10px}.avatar-wrap{position:relative}.avatar-btn{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px 6px 6px;border:2px solid transparent;border-radius:12px;background:#fff;color:var(--d-muted);font-family:var(--d-font);cursor:pointer}.avatar-btn:hover,.avatar-btn[aria-expanded=true]{border-color:var(--d-line);background:var(--d-surface)}.avatar{display:grid;flex:none;place-items:center;width:42px;height:42px;overflow:hidden;border:2px solid var(--primary-tint-border);border-radius:50%;background:var(--primary-tint);color:var(--primary-on-tint);font-size:15px;font-weight:700}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-name{flex:1 1;min-width:0;overflow:hidden;color:var(--d-h);font-weight:700;line-height:1.4;text-align:left;text-overflow:ellipsis;white-space:nowrap}.account-panel{position:absolute;bottom:calc(100% + 10px);left:0;z-index:40;width:288px;padding:8px;border:2px solid var(--d-line);border-radius:16px;background:#fff}.account-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;padding:10px;border-bottom:2px solid var(--d-line)}.account-who{min-width:0}.account-name{color:var(--d-h);font-weight:700}.account-row{justify-content:space-between;gap:12px;padding:8px 10px}.account-row,.account-signout{display:flex;align-items:center}.account-signout{gap:10px;width:100%;padding:12px 10px;border:0;border-radius:12px;background:none;color:var(--d-red-text);font-family:var(--d-font);font-size:15px;font-weight:700;letter-spacing:var(--d-track);cursor:pointer}.account-signout:hover{background:var(--d-surface)}.app-body{display:flex;justify-content:center;gap:48px;padding:32px 32px 64px}.app-body,.page{flex:1 1;min-width:0}.page{container-type:inline-size;max-width:760px;outline:none}.rail{flex:none;width:352px}.rail-inner{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:20px;gap:20px}.app.is-focus .rail,.app.is-focus .side,.app.is-focus .tablet-chips,.tablet-chips{display:none}.app.is-focus .app-body{display:block;padding:0}.app.is-focus .page{container-type:normal;max-width:none}.stat-chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:8px;margin:0;padding:0;list-style:none}.stat-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;color:var(--d-h);font-size:19px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-chips.compact .stat-chip{padding:2px 4px;font-size:17px}.stat-chip.streak{color:var(--d-flame-text)}.stat-chip.streak .stat-chip-icon{color:var(--d-flame)}.stat-chip.streak.off{color:var(--d-muted)}.stat-chip.streak.off .stat-chip-icon{color:var(--d-disabled)}.stat-chip.xp{color:var(--d-charcoal)}.stat-chip.xp .stat-chip-icon{color:var(--d-gold)}.stat-chip.level{color:var(--accent-text)}.stat-chip.level .stat-chip-icon{color:var(--accent)}.gcard{padding:24px}.gcard-head{justify-content:space-between;margin-bottom:16px}.gcard-head,.gcard-title{display:flex;align-items:center;gap:8px}.gcard-title{margin:0;font-size:19px}.gcard-figure{color:var(--d-muted);font-size:15px;font-weight:700;white-space:nowrap}.duo .gcard-sub{margin:-8px 0 16px}.duo .gcard-empty,.duo .gcard-sub{color:var(--d-muted);font-size:15px;font-weight:500;line-height:1.33}.duo .gcard-empty{margin:0 0 12px;padding:12px 16px;border:2px solid var(--d-line);border-radius:12px}.duo .gcard-note{margin:12px 0 0;color:var(--d-h);font-size:14px;font-weight:500;line-height:1.4}.duo .gcard-note.muted{color:var(--d-muted)}.goal-row{display:flex;align-items:center;gap:12px}.goal-icon{display:grid;flex:none;place-items:center;color:var(--d-gold)}.goal-main{flex:1 1;min-width:0}.duo .goal-note{margin:8px 0 0;color:var(--d-muted);font-size:15px;font-weight:500}.duo .goal-icon.done+.goal-main .goal-note{color:var(--d-green-text);font-weight:700}.streak-row{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:20px;border-top:2px solid var(--d-line)}.streak-row p{margin:0}.streak-icon{flex:none;color:var(--d-flame)}.streak-row.off .streak-icon{color:var(--d-disabled)}.duo .streak-big{color:var(--d-flame-text);font-size:19px;font-weight:700;line-height:1.4}.streak-big span{color:var(--d-h);font-size:17px}.duo .streak-note,.duo .streak-row.off .streak-big{color:var(--d-muted)}.duo .streak-note{font-size:15px;font-weight:500;line-height:1.33}.week{margin-top:16px}.duo .week-title{margin:0 0 8px;color:var(--d-muted);font-size:13px;font-weight:700;line-height:1.23}.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;margin:0;padding:0;list-style:none;text-align:center}.week-day{display:flex;flex-direction:column;align-items:center;gap:4px}.week-dot{display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--d-line);border-radius:50%;background:transparent;color:#fff}.week-day.on .week-dot{border-color:var(--d-flame);background:var(--d-flame)}.week-label{color:var(--d-muted);font-size:13px;font-weight:700}.week-day.today .week-label{color:var(--d-h)}.level-row{margin-top:20px;padding-top:16px;border-top:2px solid var(--d-line)}.level-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;margin-bottom:8px}.level-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:12px;background:var(--accent-fill);color:#fff;font-size:15px;font-weight:700;letter-spacing:var(--d-track);line-height:1.33}.lb-trophy,.level-badge .icon{color:var(--d-gold)}.lb-list{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:4px;gap:4px;margin:0 -8px;padding:0;list-style:none}.lb-row{position:relative;display:flex;align-items:center;gap:12px;padding:6px 8px;border:2px solid transparent;border-radius:12px}.lb-row.me{border-color:var(--primary-tint-border);background:var(--primary-tint)}.lb-row.gap{margin-top:16px}.lb-row.gap:before{content:"";position:absolute;top:-11px;right:16px;left:16px;border-top:2px dashed var(--d-line)}.lb-rank{display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--d-muted);font-size:15px;font-weight:700}.medal.m1{background:var(--d-gold);color:#4b3a00}.medal.m2{background:#d5dce3;color:var(--d-h)}.medal.m3{background:#f0b27a;color:#5a2e00}.lb-avatar{display:grid;flex:none;place-items:center;width:40px;height:40px;border:2px solid var(--d-line);border-radius:50%;background:var(--d-paper);color:var(--d-h);font-size:15px;font-weight:700}.lb-row.me .lb-avatar{border-color:var(--primary-fill);background:var(--primary-fill);color:#fff}.lb-name{display:flex;flex:1 1;align-items:center;gap:8px;color:var(--d-h);font-weight:700;line-height:1.4;white-space:nowrap}.lb-name,.lb-name-text{min-width:0;overflow:hidden}.lb-name-text{text-overflow:ellipsis}.lb-you{flex:none;padding:0 8px;border-radius:12px;background:var(--primary-fill);color:#fff;font-size:13px;letter-spacing:var(--d-track)}.lb-xp{color:var(--d-muted);font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.lb-row.me .lb-rank:not(.medal),.lb-row.me .lb-xp{color:var(--primary-on-tint)}.home{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:32px;gap:32px}.home-section{min-width:0}.home-section>.stat-strip{margin-bottom:12px}.home-gami{display:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.live-card{display:flex;align-items:center;gap:20px;padding:24px}.live-info{flex:1 1;min-width:0}.live-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}.duo .live-title{margin:0;font-size:19px;line-height:1.4}.duo .live-paper{margin:4px 0 0;color:var(--d-muted)}.meta-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.meta-chips>span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:2px solid var(--d-line);border-radius:12px;color:var(--d-text);font-size:15px;font-weight:500;line-height:1.33}.meta-chips .icon{color:var(--d-pencil)}.live-action{flex:none}.now-empty{display:flex;align-items:center;gap:16px}.now-empty p{margin:0}.now-empty-icon{display:grid;flex:none;place-items:center;width:56px;height:56px;border:2px solid var(--d-line);border-radius:50%;color:var(--d-pencil)}.duo .now-empty-title{margin-bottom:4px;color:var(--d-h);font-size:17px;font-weight:700}.next-practice{display:flex;align-items:center;gap:18px}.next-practice-main{display:grid;flex:1 1;grid-gap:4px;gap:4px;min-width:0}.next-practice-main p{margin:0}.duo .next-practice-title{color:var(--d-h);font-size:19px;font-weight:700}.next-practice .progress{max-width:320px;margin-top:6px}.list-card{margin:0;padding:0;overflow:hidden;border:2px solid var(--d-line);border-radius:16px;background:#fff;list-style:none}.list-row{display:flex;align-items:center;gap:16px;padding:16px 20px;border-top:2px solid var(--d-line)}.list-row:first-child{border-top:0}.list-main{flex:1 1;min-width:0}.list-title{color:var(--d-h);font-size:17px;font-weight:700}.list-meta{display:flex;flex-wrap:wrap;gap:2px 16px;margin-top:4px;color:var(--d-muted);font-size:15px;font-weight:500;line-height:1.33}.list-aside{flex:none}.date-tile{flex:none;width:56px;overflow:hidden;border:2px solid var(--d-line);border-radius:12px;text-align:center}.date-tile-m{background:var(--primary-tint);color:var(--primary-on-tint);font-size:13px;line-height:20px}.date-tile-d,.date-tile-m{display:block;font-weight:700}.date-tile-d{color:var(--d-h);font-size:22px;line-height:32px}.score-badge{display:grid;flex:none;place-items:center;width:56px;height:56px;border:2px solid var(--d-line);border-radius:50%;background:var(--d-paper);color:var(--d-muted);font-size:15px;font-weight:700}.score-badge.good{border-color:var(--d-green);background:var(--d-green-tint);color:var(--d-green-on-tint)}.score-badge.gold{border-color:var(--d-gold);background:var(--d-gold-tint);color:var(--d-gold-text)}.score-badge.bad{border-color:var(--d-red);background:var(--d-red-tint);color:var(--d-red-on-tint)}.result-list{margin:0;padding:0;list-style:none}.result-row{position:relative;display:flex;align-items:center;gap:16px;padding:16px 20px;border-top:2px solid var(--d-line)}.result-row:first-child{border-top:0}.result-row:hover{background:var(--d-paper)}.result-main{flex:1 1;min-width:0}.result-main .list-title{margin:0}.result-main .list-meta{margin:4px 0 0}.result-main .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-main .prediction-sub{margin:4px 0 0}.result-row .row-link:after{content:"";position:absolute;inset:0}.delta,.result-row .row-link{flex:none;gap:4px}.delta{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.delta.up{background:var(--d-green-tint);color:var(--d-green-on-tint)}.delta.down{background:var(--d-red-tint);color:var(--d-red-on-tint)}.unit{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px}.unit-head{--unit:var(--palette-1-fill);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-radius:16px;background:var(--unit);color:#fff}.duo .unit-eyebrow{margin:0;color:inherit;font-size:15px;font-weight:700;line-height:1.33}.duo .unit-head .unit-title{margin:4px 0 0;color:inherit;font-family:var(--d-display);font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.duo .unit-sub{margin:4px 0 0;color:inherit;font-size:15px;font-weight:500;line-height:1.33}.unit-icon{display:grid;flex:none;place-items:center;width:54px;height:54px;border:2px solid;border-radius:12px}.path{--step:56px;gap:20px;margin:0;padding:28px 0 20px;overflow-x:clip;list-style:none}.path,.path-item{display:flex;flex-direction:column;align-items:center}.path-item{width:200px;transform:translateX(calc(var(--x) * var(--step)));text-align:center}.path-item.is-next{margin-top:40px}.node-wrap{place-items:center;width:98px;height:98px}.node,.node-wrap{position:relative;display:grid}.node{place-items:center;width:70px;height:70px;padding:0;border:2px solid var(--d-line);border-radius:50%;background:var(--d-line);color:var(--d-faded);cursor:pointer}.node:disabled{cursor:not-allowed}.node-sm{width:64px;height:64px}.node-done{background:var(--primary);color:#fff}.node-active,.node-done{border-color:var(--primary)}.node-active{background:var(--primary-tint);color:var(--primary-on-tint)}.node-brand,.path-item.is-next .node-active{border-color:var(--primary);background:var(--primary);color:#fff}.node-new{border-color:var(--d-faded);background:var(--d-paper);color:var(--accent)}button.node:hover:not(:disabled){border-color:var(--accent)}button.node-brand:hover:not(:disabled),button.node-done:hover:not(:disabled){border-color:var(--primary-fill-hover)}.node-ring{position:absolute;inset:0;width:98px;height:98px;transform:rotate(-90deg)}.node-ring circle{fill:none;stroke-width:8}.node-ring-track{stroke:var(--d-line)}.node-ring-fill{stroke:var(--primary);stroke-linecap:round}.start-bubble{bottom:calc(100% + 4px);z-index:1;padding:6px 16px;border:2px solid var(--d-line);border-radius:12px;color:var(--primary-text);font-size:15px;font-weight:700;letter-spacing:var(--d-track);line-height:1.33;white-space:nowrap;transform:translateX(-50%);animation:bob 1.1s ease-in-out infinite alternate}.start-bubble,.start-bubble:after{position:absolute;left:50%;background:var(--d-paper)}.start-bubble:after{content:"";top:100%;width:12px;height:12px;border-right:2px solid var(--d-line);border-bottom:2px solid var(--d-line);transform:translate(-50%,-5px) rotate(45deg)}@keyframes bob{to{transform:translate(-50%,-5px)}}.node-name{margin-top:8px;color:var(--d-h);font-size:15px;font-weight:700;line-height:1.33}.node-meta{color:var(--d-muted);font-size:13px;font-weight:700;line-height:1.23}.lesson{display:flex;flex-direction:column;min-height:100vh;background:var(--d-paper)}.lesson-top{display:flex;align-items:center;gap:16px;width:100%;max-width:1000px;margin:0 auto;padding:24px 24px 8px}.lesson-top .progress{flex:1 1}.lesson-score{display:inline-flex;align-items:center;gap:6px;color:var(--d-green-text);font-size:19px;font-weight:700}.lesson-score .icon{color:var(--d-green)}.lesson-body{flex:1 1;width:100%;max-width:640px;margin:0 auto;padding:28px 24px 180px}.duo .lesson-kicker{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 8px;color:var(--d-muted);font-size:15px;font-weight:700;line-height:1.33}.duo .lesson-type{margin:0 0 20px;font-size:32px;font-weight:700}.lesson-q{margin-bottom:24px;color:var(--d-h);font-size:19px;font-weight:500;line-height:1.55}.q-img{display:block;max-width:100%;height:auto;margin-bottom:16px;padding:6px;border:2px solid var(--d-line);border-radius:12px;background:#fff}.q-img[src$=".svg"],.q-img[src^="data:image/svg"]{width:min(100%,440px)}.zoom-img{display:block;width:100%;margin:0 0 16px;padding:0;border:0;background:none;text-align:left;cursor:zoom-in}.zoom-img .q-img{margin-bottom:4px}.zoom-img:hover .q-img{border-color:var(--d-faded)}.zoom-img:focus-visible{outline:3px solid var(--primary-fill);outline-offset:2px;border-radius:12px}.zoom-img-hint{display:inline-flex;align-items:center;gap:4px;color:var(--primary-text);font-size:13px;font-weight:700}.zoom-overlay{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:#fff}.zoom-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px;border-bottom:2px solid var(--d-line);font-size:14px}.zoom-actions{display:inline-flex;gap:8px}.zoom-stage{position:relative;flex:1 1;min-height:0;overflow:auto;padding:16px;text-align:center}.zoom-full{display:inline-block;width:min(100%,1400px);height:auto}.zoom-stage.is-sideways{overflow:hidden}.zoom-stage.is-sideways .zoom-full{position:absolute;top:50%;left:50%;width:calc(100dvh - 96px);max-width:none;transform:translate(-50%,-50%) rotate(90deg)}.p-options{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.p-option{position:relative;display:flex;align-items:center;gap:16px;padding:14px 16px;border:2px solid var(--d-line);border-radius:12px;background:var(--d-paper);color:var(--d-h);font-size:17px;font-weight:500;line-height:1.4;cursor:pointer}.p-option:hover{border-color:var(--d-faded)}.p-option:focus-within{outline:3px solid var(--accent-text);outline-offset:2px}.p-option:has(input:disabled){cursor:default}.p-option:has(input:disabled):hover{border-color:var(--d-line)}.p-option.selected,.p-option.selected:hover{border-color:var(--primary);background:var(--primary-tint);color:var(--primary-on-tint)}.p-option.is-correct,.p-option.is-correct:hover{border-color:var(--d-green);background:var(--d-green-tint);color:var(--d-green-on-tint)}.p-option.is-wrong,.p-option.is-wrong:hover{border-color:var(--d-red);background:var(--d-red-tint);color:var(--d-red-on-tint)}.opt-letter{display:grid;flex:none;place-items:center;width:32px;height:32px;border:2px solid var(--d-line);border-radius:8px;color:var(--d-muted);font-size:15px;font-weight:700}.selected .opt-letter{border-color:var(--primary);color:var(--primary-on-tint)}.is-correct .opt-letter{border-color:var(--d-green);color:var(--d-green-on-tint)}.is-wrong .opt-letter{border-color:var(--d-red);color:var(--d-red-on-tint)}.opt-body{flex:1 1;min-width:0;overflow-wrap:anywhere}.opt-state{flex:none}.opt-state.good{color:var(--d-green-on-tint)}.opt-state.bad{color:var(--d-red-on-tint)}.numeric-field .input-lg{max-width:320px;min-height:60px;font-size:19px;font-weight:700}.solution-card{margin-top:24px}.solution-card .sub-title{margin-top:0}.lesson-foot{position:fixed;right:0;bottom:0;left:0;z-index:30;border-top:2px solid var(--d-line);background:var(--d-paper)}.lesson-foot.is-good{border-top-color:var(--d-green);background:var(--d-green-tint)}.lesson-foot.is-bad{border-top-color:var(--d-red);background:var(--d-red-tint)}.lesson-foot-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1000px;margin:0 auto;padding:24px 24px calc(24px + env(safe-area-inset-bottom))}.lesson-foot-inner.end{justify-content:flex-end}.lesson-foot .btn{min-width:150px}.fb{display:flex;flex:1 1;align-items:center;gap:16px;min-width:0}.fb-icon{display:grid;flex:none;place-items:center;width:64px;height:64px;border:2px solid;border-radius:50%;background:var(--d-paper)}.is-good .fb-icon{color:var(--d-green)}.is-bad .fb-icon{color:var(--d-red)}.fb-text{min-width:0}.duo .fb-title{margin:0;font-size:24px;font-weight:700;line-height:1.2}.fb-answer{max-height:28vh;margin-top:4px;overflow:auto;font-size:17px;font-weight:500;line-height:1.4}.duo .is-good .fb-title,.is-good .fb-answer{color:var(--d-green-on-tint)}.duo .is-bad .fb-title,.is-bad .fb-answer{color:var(--d-red-on-tint)}.lesson-done{display:flex;flex-direction:column;align-items:center;padding-top:72px;text-align:center}.done-badge{display:grid;place-items:center;width:112px;height:112px;margin-bottom:24px;border-radius:50%;background:var(--primary);color:#fff}.duo .done-title{margin:0;color:var(--primary-large-text);font-family:var(--d-display);font-size:48px;font-weight:900;letter-spacing:-.02em;line-height:1.2}.duo .done-sub{margin:8px 0 32px;color:var(--d-muted);font-size:17px}.done-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,156px));justify-content:center;grid-gap:16px;gap:16px;width:100%;margin:0}.done-tile{overflow:hidden;border:2px solid var(--c);border-radius:16px;background:var(--c)}.done-tile dt{padding:6px 8px;color:var(--c-ink);font-size:15px;font-weight:700;line-height:1.33}.done-tile dd{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:18px 8px;border-radius:12px;background:var(--d-paper);color:var(--d-charcoal);font-size:24px;font-weight:700}.done-tile.gold{--c:var(--d-gold);--c-ink:#4b3a00}.done-tile.gold .icon{color:var(--d-gold)}.done-tile.green{--c:var(--d-green);--c-ink:#1f3d00}.done-tile.green .icon{color:var(--d-green)}.done-tile.blue{--c:var(--accent-fill);--c-ink:#fff}.done-tile.blue .icon{color:var(--accent)}.table{width:100%;border-collapse:collapse;color:var(--d-charcoal);font-size:15px;line-height:1.33}.table td,.table th{padding:14px 16px;border-top:2px solid var(--d-line);text-align:left;vertical-align:middle}.table thead th{padding-top:12px;padding-bottom:12px;border-top:0;background:var(--d-paper);color:var(--d-muted);font-size:15px;font-weight:700;white-space:nowrap}.table tbody th{color:var(--d-h);font-weight:700}.table .num{text-align:right}.table-wrap{overflow-x:auto}.cell-title{color:var(--d-h);font-weight:700}.cell-sub{display:none;margin-top:2px;color:var(--d-muted);font-size:13px;font-weight:500}.cell-date{white-space:nowrap}.results-table .cell-date{display:none}.results-table .cell-sub{display:block}.results-table .cell-title{min-width:150px}.cell-action{width:1%;text-align:right;white-space:nowrap}.score-big{color:var(--d-h);font-size:19px;font-weight:700}.cell-score{white-space:nowrap}.pct-cell{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-weight:700}.pct-cell .progress{width:52px}.rank-badge{display:inline-grid;place-items:center;min-width:42px;height:30px;padding:0 8px;border:2px solid var(--d-line);border-radius:12px;color:var(--d-h);font-weight:700}.rank-badge.medal{border-color:transparent}.chart{position:relative}.chart svg{display:block;overflow:visible}.grid-line{stroke:var(--d-line);stroke-width:2}.axis-line{stroke:var(--d-faded);stroke-width:2}.axis-text{fill:var(--d-muted);font-size:13px}.axis-text,.value-text{font-family:var(--d-font);font-weight:700}.value-text{fill:var(--d-h);font-size:14px}.crosshair{stroke:var(--d-disabled);stroke-dasharray:4 4;stroke-width:2}.chart-tip{position:absolute;padding:8px 12px;border:2px solid var(--d-line);border-radius:12px;background:var(--d-paper);font-size:13px;white-space:nowrap;pointer-events:none;transform:translateX(-50%)}.chart-tip-title{color:var(--d-h);font-weight:700}.score-hero{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:center;grid-gap:24px;gap:24px}.score-hero .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.duo .hero-num{margin:4px 0 16px;color:var(--d-h);font-family:var(--d-display);font-size:48px;font-weight:800;letter-spacing:-.02em;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-num .stat-of{font-size:19px}.duo .hero-note{margin:8px 0 0;color:var(--d-muted);font-size:15px;font-weight:500;line-height:1.33}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.next-steps{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px;border-color:var(--primary-tint-border,var(--d-line))}.next-steps-head{display:flex;align-items:flex-start;gap:14px}.next-steps-head .card-title{margin:0}.next-steps-head p{margin:4px 0 0;line-height:1.4}.next-steps-icon{display:grid;flex:none;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--primary-tint);color:var(--primary-on-tint)}.next-steps .sub-title{margin:4px 0 -4px}.lost-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0}.lost-tile{min-width:0;margin:0;padding:12px 14px;border:2px solid var(--d-line);border-left-width:6px;border-radius:12px}.lost-tile.bad{border-left-color:var(--d-red)}.lost-tile.muted{border-left-color:var(--d-faded)}.lost-tile.gold{border-left-color:var(--d-gold)}.lost-tile.good{border-left-color:var(--d-green)}.lost-tile dt{color:var(--d-muted);font-size:14px;font-weight:700;line-height:1.33}.lost-tile dd{display:grid;grid-gap:2px;gap:2px;margin:4px 0 0;line-height:1.35}.lost-n{color:var(--d-h);font-family:var(--d-display);font-size:26px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.focus-list{margin:0;padding:0;border:2px solid var(--d-line);border-radius:12px;list-style:none}.focus-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:2px solid var(--d-line)}.focus-row:first-child{border-top:0}.focus-main{flex:1 1;min-width:0}.focus-main p{margin:0}.focus-name{color:var(--d-h);font-weight:700}.focus-gain{flex:none;padding:2px 10px;border-radius:12px;background:var(--d-green-tint);color:var(--d-green-on-tint);font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.focus-nopractice{flex:none;max-width:120px;text-align:right}.next-steps-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.next-steps .form-notice{margin:0}.hero-delta{margin:10px 0 0;white-space:normal}.sw dd a{color:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.outcome-tiles{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;margin:0 0 16px}.outcome-tile{justify-content:space-between;gap:12px;margin:0;padding:8px 12px;border:2px solid var(--d-line);border-radius:12px}.outcome-tile,.outcome-tile dt{display:flex;align-items:center;min-width:0}.outcome-tile dt{gap:10px;color:var(--d-h);font-size:15px;font-weight:700}.outcome-icon{display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--tone);color:#fff}.outcome-tile dd{display:flex;align-items:baseline;gap:8px;margin:0}.outcome-n{color:var(--d-h);font-size:24px;font-weight:700}.outcome-total{margin:10px 0 0}.outcome-bar{display:flex;gap:3px;height:16px;overflow:hidden;border-radius:999px;background:var(--d-line)}.outcome-seg{display:block;min-width:4px;background:var(--tone)}.outcome-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:15px;font-weight:700;list-style:none}.outcome-legend li{display:flex;align-items:center;gap:6px}.compare{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px;margin:0;padding:0;list-style:none}.compare-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-weight:700}.compare li.strong .compare-head{color:var(--d-h);font-weight:700}.compare-value{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.compare-track{height:16px;overflow:hidden;background:var(--d-line)}.compare-fill,.compare-track{display:block;border-radius:999px}.compare-fill{height:100%;background:var(--tone)}.compare-note{margin:16px 0 0;font-size:15px;line-height:1.33}.sw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0 0 20px}.sw>div{margin:0;padding:12px 16px;border:2px solid var(--d-green);border-radius:12px;background:var(--d-green-tint)}.sw>div+div{border-color:var(--d-red);background:var(--d-red-tint)}.sw dt{color:var(--d-green-on-tint);font-size:15px;font-weight:700}.sw>div+div dt{color:var(--d-red-on-tint)}.sw dd{margin:4px 0 0;color:var(--d-h);font-weight:700}.bar-list{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px;margin:0;padding:0;list-style:none}.bar-list.two-up{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.bar-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:15px}.bar-name{min-width:0;overflow:hidden;color:var(--d-h);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.bar-value{font-size:15px;white-space:nowrap}.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:24px;gap:24px}.time-grid .sub-title{margin-top:0}.mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;grid-gap:10px;gap:10px;margin:0}.mini-stats>div{padding:10px 12px;border:2px solid var(--d-line);border-radius:12px}.mini-stats dt{color:var(--d-muted);font-size:15px;font-weight:700}.mini-stats dd{margin:4px 0 0;color:var(--d-h);font-size:19px;font-weight:700}.slowest{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.slowest li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;border:2px solid var(--d-line);border-radius:12px}.slowest-sec{flex:1 1;min-width:0;overflow:hidden;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.review-meta .pill,.slowest .pill{padding:0 8px;font-size:13px}.qmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));grid-gap:10px 8px;gap:10px 8px}.qmap-cell{height:44px;border:2px solid var(--d-line);border-radius:12px;background:var(--d-paper);color:var(--d-muted);font-family:var(--d-font);font-size:15px;font-weight:700;cursor:pointer}.qmap-cell:hover{border-color:var(--accent)}.qmap-cell.tone-good{border-color:var(--d-green);background:var(--d-green-tint);color:var(--d-green-on-tint)}.qmap-cell.tone-bad{border-color:var(--d-red);background:var(--d-red-tint);color:var(--d-red-on-tint)}.qmap-cell.tone-warn{border-color:var(--d-gold);background:var(--d-gold-tint);color:var(--d-gold-text)}.review-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.review-filters .seg button{min-height:38px;font-size:14px}.review-list{margin:0;padding:0;list-style:none}.review-item{padding:20px 24px;border-top:2px solid var(--d-line);scroll-margin-top:80px}.review-item:first-child{border-top:0}.review-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px}.review-num{display:inline-grid;place-items:center;min-width:42px;height:30px;padding:0 8px;border:2px solid var(--d-line);border-radius:12px;color:var(--d-h);font-weight:700}.review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-left:auto;font-size:15px;font-weight:700}.review-body{margin-bottom:12px;color:var(--d-h);font-weight:500;line-height:1.55;overflow-wrap:anywhere}.review-options{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.review-option{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border:2px solid var(--d-line);border-radius:12px;color:var(--d-h)}.review-option.is-correct{border-color:var(--d-green);background:var(--d-green-tint);color:var(--d-green-on-tint)}.review-option.is-wrong{border-color:var(--d-red);background:var(--d-red-tint);color:var(--d-red-on-tint)}.opt-tags{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.review-option .opt-body{min-width:min(8em,50%)}.opt-tag{padding:2px 8px;border-radius:12px;background:var(--d-paper);font-size:13px;font-weight:700;letter-spacing:var(--d-track);white-space:nowrap}.opt-tag.good{color:var(--d-green-text)}.opt-tag.bad{color:var(--d-red-text)}.numeric-answer{display:flex;flex-wrap:wrap;gap:12px 32px;margin:0}.numeric-answer dt{color:var(--d-muted);font-size:15px;font-weight:700}.numeric-answer dd{margin:4px 0 0;font-size:19px;font-weight:700}.solution{margin-top:12px}.solution-body{margin-top:8px;padding:14px 16px;border:2px solid var(--d-line);border-radius:12px;background:var(--d-paper);color:var(--d-h);line-height:1.5;overflow-wrap:anywhere}.select-label{display:inline-flex}.submitted-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:24px;gap:24px}.submitted-badge{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--d-green);color:#fff}.submitted-main{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.duo .submitted-title{margin:4px 0 0;font-size:24px}.duo .submitted-calm{margin:0;max-width:60ch;line-height:1.45}.submitted-facts{display:grid;grid-gap:12px;gap:12px;width:100%;margin:12px 0 0;padding:0;list-style:none}.submitted-facts li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;border:2px solid var(--d-line);border-radius:12px}.fact-icon{display:grid;flex:none;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--tone);color:#fff}.fact-text{display:flex;flex:1 1 200px;flex-direction:column;gap:2px;min-width:0}.fact-title{color:var(--d-h);font-weight:700}.fact-sub{color:var(--d-muted);font-size:15px}.fact-pill{flex:none}.duo .card-head-sub{margin:4px 0 0}.submitted-bar{padding-bottom:8px}.th-dot{display:inline-flex;align-items:center;gap:6px}.submitted-table tfoot td,.submitted-table tfoot th{background:var(--d-surface);color:var(--d-h);font-weight:700}.pill-link{text-decoration:none}.wait-card{display:flex;align-items:center;gap:16px}.wait-card>div{flex:1 1;min-width:0}.wait-card .card-title{margin:0}.wait-card p{margin:4px 0 0}@container (max-width: 560px){.wait-card{flex-wrap:wrap}.wait-card .btn{width:100%}}.pill-link:hover{border-color:var(--d-charcoal)}.login{display:flex;flex-direction:column}.login-top{display:flex;align-items:center;justify-content:flex-end;gap:16px;width:100%;max-width:1200px;margin:0 auto;padding:20px 32px}.login-brand{display:flex;justify-content:center;max-width:100%;margin-bottom:24px}.login-main{display:flex;flex:1 1;flex-direction:column;align-items:center;padding:32px 16px 64px}.login-card{width:100%;max-width:400px}.duo .login-title{margin:8px 0;color:var(--d-charcoal);font-size:32px;font-weight:700;text-align:center}.duo .login-sub{margin:0 0 32px;font-size:17px;line-height:1.33;text-align:center}.phone-input{display:flex;align-items:stretch;border:2px solid var(--d-line);border-radius:12px;background:var(--d-surface)}.phone-input:focus-within{outline:2px solid var(--accent-text);outline-offset:2px;border-color:var(--accent);background:#fff}.input[aria-invalid=true]:focus,.phone-input:has(.input[aria-invalid=true]),.select[aria-invalid=true]:focus{border-color:var(--d-red)}.input[aria-invalid=true]:focus,.phone-input:has(.input[aria-invalid=true]):focus-within,.select[aria-invalid=true]:focus{outline-color:var(--d-red)}.phone-prefix{display:flex;align-items:center;padding:0 2px 0 16px;color:var(--d-h);font-size:17px;font-weight:700}.phone-input .input{border:0;background:transparent;padding-left:8px}.phone-input .input:focus{outline:none}.otp{position:relative;cursor:text}.otp-input{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;font-size:16px;opacity:0;cursor:text}.otp-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.otp-box{display:grid;place-items:center;height:60px;border:2px solid var(--d-line);border-radius:12px;background:var(--d-surface);color:var(--d-h);font-size:24px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.otp-box.filled{background:#fff}.otp-box.active{border-color:var(--accent);background:#fff}.otp-box.active:not(.filled):after{content:"";width:2px;height:24px;background:var(--d-h);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.otp-box.invalid{border-color:var(--d-red)}.dev-code{display:flex;flex-direction:column;gap:2px;margin:16px 0 0;padding:12px 16px;border:2px dashed var(--d-faded);border-radius:12px;color:var(--d-h);font-size:15px;line-height:1.4}.dev-code-why{color:var(--d-muted);font-size:13px;font-weight:500}.duo .resend{margin:20px 0 0;font-weight:700;text-align:center}.login-band{background:var(--primary-fill);color:#fff}.login-band-inner{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;max-width:1200px;margin:0 auto;padding:48px 32px}.login-band-copy{max-width:560px}.duo .login-band-title{margin:0;color:#fff;font-family:var(--d-display);font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.duo .login-band-text{margin:12px 0 0;color:#fff;font-size:17px;line-height:1.33}.login-band-langs{display:flex;flex-direction:column;gap:4px}.duo .login-band-label{margin:0 0 4px;color:#fff;font-size:15px;font-weight:700;line-height:1.33}.login-band-langs button{padding:4px 0;border:0;border-radius:12px;background:none;color:#fff;font-family:var(--d-font);font-size:19px;font-weight:700;line-height:1.4;text-align:left;cursor:pointer}.login-band-langs button:hover,.login-band-langs button[aria-pressed=true]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.login-band :focus-visible{outline-color:#fff}@container (max-width: 640px){.home-gami,.submitted-hero{grid-template-columns:minmax(0,1fr)}.submitted-hero{gap:16px}.submitted-badge{width:56px;height:56px}.submitted-table thead th{white-space:normal}.submitted-table td,.submitted-table th{padding:10px 6px;font-size:14px}.submitted-table{table-layout:fixed}.submitted-table thead th{font-size:12px}.submitted-table thead th:first-child{width:32%}.submitted-table .subject-name{white-space:normal}.submitted-table .col-q{display:none}.submitted-table th[scope=row]{padding-left:12px}.submitted-table .th-dot{flex-direction:column;align-items:flex-end;gap:4px}.bar-list.two-up,.score-hero,.two-col{grid-template-columns:minmax(0,1fr)}.results-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.results-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 12px;gap:10px 12px;padding:16px 18px;border-top:2px solid var(--d-line)}.results-table tbody tr:first-child{border-top:0}.results-table td{display:block;padding:0;border:0}.results-table .num{text-align:left}.results-table .cell-title{grid-column:1/-1;font-size:17px}.results-table .cell-sub{display:block}.results-table .cell-date{display:none}.results-table td[data-label]:before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--d-muted);font-size:13px;font-weight:700}.results-table .pct-cell{justify-content:flex-start}.results-table .cell-action{grid-column:1/-1;width:auto}.results-table .cell-action:empty{display:none}.results-table .cell-action .btn{width:100%}.section-table tbody tr{grid-template-columns:repeat(3,minmax(0,1fr))}.section-table th[scope=row]{display:block;grid-column:1/-1;padding:0;border:0}}@container (max-width: 560px){.live-card,.next-practice{flex-wrap:wrap}.live-card{flex-direction:column;align-items:stretch;padding:20px}.live-action .btn,.next-practice>.btn{width:100%}.home-gami{grid-template-columns:minmax(0,1fr)}.list-row{flex-wrap:wrap;padding:14px 16px}.list-row>.list-main{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 80px)}.list-row>.btn,.list-row>.list-aside{margin-left:72px}.result-row{flex-wrap:wrap;align-items:flex-start;gap:10px 14px;padding:16px}.result-row .result-main{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 72px)}.result-row .delta{margin-left:70px}.result-row .row-link{margin-left:auto}.lost-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.lost-tile:nth-child(3){grid-column:1/-1}.focus-row{flex-wrap:wrap}.focus-main{flex:1 1 100%}.focus-row .btn{margin-left:auto}.next-steps-foot .btn{width:100%;white-space:normal}.sw{grid-template-columns:minmax(0,1fr)}.path{--step:38px}.path-item{width:150px}.card,.gcard{padding:16px}.card.flush{padding:0}.card-body,.card-head,.review-item{padding-right:16px;padding-left:16px}.stat-strip,.stat-strip.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-strip.n3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-strip.n3 .stat{padding:12px}.stat-strip.n3 .stat-label{flex-direction:column;align-items:flex-start;gap:4px;font-size:13px;line-height:1.25}.page-actions,.page-actions .btn{width:100%}}@media (min-width:1280px){.home-gami{display:none!important}}@media (max-width:1279px){.rail{display:none}.side{width:96px;padding:24px 12px;align-items:center}.brand{padding:4px 0 20px}.brand-wide{display:none}.brand-markimg{display:block}.avatar-chev,.avatar-name,.side-foot>.side-lang{display:none}.mainnav{align-items:center}.duo .mainnav-link{justify-content:center;width:60px;min-height:60px;padding:6px}.mainnav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.avatar-btn{padding:4px}.tablet-chips{display:block;margin:-8px 0 20px}.tablet-chips .stat-chips{justify-content:flex-start;gap:12px}.home-gami{display:grid}}@media (max-width:767px){.app{display:block}.side{top:0;flex-direction:row;align-items:center;gap:8px;width:auto;height:auto;padding:8px 12px 8px 16px;border-right:0;border-bottom:2px solid var(--d-line)}.brand{padding:0}.side-chips{display:block;flex:1 1;min-width:0}.side-chips .stat-chips{flex-wrap:nowrap;justify-content:center;gap:2px}.side-foot{flex-direction:row;margin:0}.mainnav{position:fixed;right:0;bottom:0;left:0;z-index:30;flex-direction:row;justify-content:space-around;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:2px solid var(--d-line);background:#fff}.duo .mainnav-link{flex:1 1;flex-direction:column;gap:0;width:auto;max-width:140px;min-height:58px;padding:4px;font-size:13px;letter-spacing:var(--d-track)}.mainnav-label{position:static;width:auto;height:auto;overflow:visible;clip:auto}.account-panel{top:calc(100% + 10px);right:0;bottom:auto;left:auto;width:min(288px,calc(100vw - 24px))}.app-body{padding:20px 16px 104px}.tablet-chips{display:none}.page-head{margin-bottom:24px}.login-band-inner{padding:48px 16px}.login-top{padding:14px 16px}.lesson-top{padding:14px 16px 4px;gap:10px}.lesson-body{padding:20px 16px 240px}.duo .lesson-type{font-size:24px}.duo .done-title{font-size:36px}.lesson-q{font-size:17px}.lesson-foot-inner{padding:16px 16px calc(16px + env(safe-area-inset-bottom));gap:12px}.lesson-foot-inner>.btn{flex:1 1;min-width:0}.lesson-foot-inner:has(.fb){flex-direction:column;align-items:stretch}.fb-icon{width:44px;height:44px}.fb-icon .icon{width:26px;height:26px}.duo .fb-title{font-size:19px}.lesson-done{padding-top:40px}.done-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.done-tile dt{padding:6px 4px;font-size:13px}.done-tile dd{flex-direction:column;gap:2px;padding:14px 4px;font-size:19px}}@media (prefers-reduced-motion:reduce){.live-dot,.otp-box.active:not(.filled):after,.skeleton,.spinner,.start-bubble{animation:none!important}.progress-fill{transition:none}}.cell-title-link{color:inherit;text-decoration:none}.cell-title-link:hover{text-decoration:underline}.option-img{display:block;max-width:100%;height:auto}.paper-best,.paper-row{align-items:center}.paper-best{display:flex;gap:10px;margin-top:8px;max-width:320px}.paper-best>:first-child{flex:1 1}.paper-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}@media (max-width:640px){.paper-row{flex-wrap:wrap}.paper-actions{width:100%;justify-content:stretch}.paper-actions .btn{flex:1 1}}.pyq-card{padding:20px}.pyq-head{margin-bottom:12px}.pyq-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:14px;gap:14px}.pyq-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:2px solid var(--d-line)}.pyq-row:first-child{border-top:0;padding-top:0}.pyq-subject{display:grid;grid-gap:4px;gap:4px;min-width:200px;flex:1 1;max-width:360px}.pyq-years{display:flex;flex-wrap:wrap;gap:8px}.practice-pill{display:inline-block;margin-left:6px;vertical-align:middle}.prediction-sub{display:block;margin-top:4px;color:var(--accent-on-tint);font-size:13px;font-weight:600}.prediction-card .prediction-estimate{margin:8px 0 4px;font-size:17px;font-weight:700;line-height:1.4}.login-card.public-wide{max-width:560px}.public-bare{min-height:100vh;padding:16px;background:var(--d-paper)}.public-bare-top{display:flex;justify-content:flex-end;margin-bottom:8px}.duo .public-bare-title{margin:0 0 4px;color:var(--d-charcoal);font-size:24px;font-weight:700}.public-bare .stack{margin-top:16px}.input.textarea{min-height:96px;resize:vertical;font-family:inherit}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.sch-desc,.sch-facts{margin:0 0 16px}.sch-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.sch-facts dt{color:var(--d-muted);font-size:15px}.sch-facts dd{margin:2px 0 0;color:var(--d-h);font-weight:700}.sch-when{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 8px}.sch-slabs{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.sch-slabs li{display:flex;align-items:flex-start;gap:8px}.sch-slabs .icon{flex:none;margin-top:3px;color:var(--d-gold-text)}.sch-award{display:flex;align-items:flex-start;gap:16px;padding:16px;border:2px solid var(--d-gold);border-radius:16px;background:var(--d-gold-tint);color:var(--d-gold-text)}.sch-award p{margin:0}.duo .sch-award-title{color:var(--d-h);font-weight:700}.duo .sch-award-value{margin:4px 0;color:var(--d-charcoal);font-size:24px;font-weight:700}.bookmark-wrap{flex-wrap:wrap;gap:8px}.bookmark-btn,.bookmark-wrap{display:inline-flex;align-items:center}.bookmark-btn{gap:6px;min-height:36px;padding:4px 12px;border:2px solid var(--d-line);border-radius:12px;background:var(--d-paper);color:var(--d-muted);font:inherit;font-size:15px;font-weight:700;cursor:pointer}.bookmark-btn:hover:not(:disabled){border-color:var(--d-faded)}.bookmark-btn[aria-pressed=true],.bookmark-icon-btn[aria-pressed=true]{color:var(--primary-text)}.bookmark-btn[aria-pressed=true]{border-color:var(--primary-tint-border);background:var(--primary-tint);color:var(--primary-on-tint)}.bookmark-error{color:var(--d-red-text);font-size:14px;font-weight:600}.bookmarks-card{padding:20px}.bookmarks-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.bookmarks-list{list-style:none;margin:0;padding:0}.bookmark-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:2px solid var(--d-line)}.bookmark-row:first-child{border-top:0}.bookmark-main{flex:1 1;min-width:0;display:grid;grid-gap:4px;gap:4px}.bookmark-preview{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--d-h);font-weight:700}.bookmark-thumb{display:block;width:-moz-fit-content;width:fit-content;max-width:100%;max-height:52px;overflow:hidden;padding:4px 8px;border-radius:8px;border:2px solid var(--d-line);background:#fff}.bookmark-thumb img{display:block;max-width:min(100%,420px);height:auto}.bookmark-actions{display:flex;align-items:center;gap:4px;flex:none}