:root{--bg:#f6f7f9;--surface:#fff;--surface2:#eef0f4;--border:#dfe3ea;--text:#161b26;--muted:#5b6577;--primary:#4338ca;--primaryText:#fff;--primarySoft:#e8e8fb;--accent:#d97706;--accentSoft:#fdf0d9;--success:#15803d;--successSoft:#dcf3e4;--danger:#b91c1c;--dangerSoft:#fbe3e3;--info:#2563eb;--infoSoft:#dbeafe;--radius:14px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fontHeading:ui-serif, Georgia, "Times New Roman", serif;--sidebar:260px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0d1117;--surface:#151b24;--surface2:#1d2531;--border:#2a3342;--text:#e7ebf2;--muted:#97a3b6;--primary:#8b8cf7;--primaryText:#0d1117;--primarySoft:#242649;--accent:#f2a93b;--accentSoft:#3a2c14;--success:#4ade80;--successSoft:#123222;--danger:#f87171;--dangerSoft:#3b1717;--info:#60a5fa;--infoSoft:#16233d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}body,.card,.btn,.icon-btn,.sidebar,.topbar,.bottom-nav,input,textarea,select{transition:background-color .25s,color .25s,border-color .25s}h1,h2,h3{font-family:var(--fontHeading);letter-spacing:-.01em;margin:0 0 .5rem;line-height:1.2}h1{font-size:2rem}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:0 0 .75rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.875rem}.tiny{font-size:.78rem}.hidden{display:none!important}.status-pill{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600;line-height:1.6;display:inline-block}.status-pill--draft{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.status-pill--soon{background:var(--infoSoft);color:var(--info)}.status-pill--published{background:var(--successSoft);color:var(--success)}.status-pill--archived{background:var(--dangerSoft);color:var(--danger)}.shell{grid-template-columns:var(--sidebar) 1fr;min-height:100dvh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:6px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:4px 8px 14px;display:flex}.brand-mark{object-fit:contain;width:26px;height:42px}.brand-name{font-family:var(--fontHeading);font-weight:700;line-height:1.1}.nav-group{margin-top:10px}.nav-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:6px 10px;font-size:.7rem}.nav a{color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-weight:500;display:flex}.nav a:hover{background:var(--surface2);text-decoration:none}.nav a.active{background:var(--primarySoft);color:var(--primary)}.nav .badge{margin-left:auto}.side-foot{color:var(--muted);margin-top:auto;padding:10px;font-size:.78rem}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;align-items:center;gap:10px;padding:12px 24px;display:flex;position:sticky;top:0}.search-btn{background:var(--surface);border:1px solid var(--border);max-width:420px;color:var(--muted);text-align:left;border-radius:10px;flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.search-btn kbd{border:1px solid var(--border);background:var(--surface2);border-radius:5px;margin-left:auto;padding:1px 6px;font-size:.72rem}.spacer{flex:1}.chip{background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.85rem;font-weight:600;display:inline-flex}.chip.flame{color:var(--accent);background:var(--accentSoft);border-color:#0000}.chip.flame--recoverable{color:var(--info);background:var(--infoSoft)}.chip.flame--idle{color:var(--muted);background:var(--surface2)}.chip.lvl{color:var(--primary);background:var(--primarySoft);border-color:#0000}.icon-btn{border:1px solid var(--border);background:var(--surface);border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.icon-btn:hover{background:var(--surface2)}.theme-switch{cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:52px;height:44px;padding:0;display:inline-flex}.theme-switch .track{background:var(--surface2);border:1px solid var(--border);border-radius:999px;width:46px;height:26px;transition:background-color .25s;position:relative}.theme-switch .knob{background:var(--primary);width:22px;height:22px;color:var(--primaryText);border-radius:50%;place-items:center;transition:transform .3s cubic-bezier(.4,0,.2,1);display:grid;position:absolute;top:1px;left:1px}[data-theme=dark] .theme-switch .knob{transform:translate(20px)}.menu-btn{display:none}.back-btn{color:var(--text);font-size:1.3rem;font-weight:700;line-height:1;display:none}.page{width:100%;max-width:1040px;margin:0 auto;padding:28px 24px 80px}.page.narrow{max-width:780px}.page.page--solo{padding-top:calc(24px + env(safe-area-inset-top))}.page-head{margin-bottom:22px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.crumbs{color:var(--muted);margin-bottom:10px;font-size:.85rem}.demo-banner{z-index:3;background:var(--accentSoft);color:var(--text);border-radius:10px;align-items:center;gap:8px;margin:0 -4px 4px;padding:10px 14px;font-size:.85rem;font-weight:600;display:flex;position:sticky;top:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.card+.card{margin-top:14px}.grid>.card,.grid>.card+.card{margin-top:0}.grid{gap:14px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface2);text-decoration:none}.btn.primary{background:var(--primary);color:var(--primaryText);border-color:#0000}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:0 0}.btn.small{padding:6px 12px;font-size:.875rem}.btn:disabled{opacity:.55;cursor:not-allowed}.badge{background:var(--surface2);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:700;display:inline-block}.badge.ok{background:var(--successSoft);color:var(--success)}.badge.warn{background:var(--accentSoft);color:var(--accent)}.badge.prim{background:var(--primarySoft);color:var(--primary)}.badge.bad{background:var(--dangerSoft);color:var(--danger)}.progress{background:var(--surface2);border-radius:999px;height:8px;overflow:hidden}.progress>i{background:var(--primary);border-radius:999px;height:100%;display:block}.progress.ok>i{background:var(--success)}.hero{background:linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 60%, #000));color:var(--primaryText);border-radius:calc(var(--radius) + 4px);border:0;padding:26px}.hero h2{font-size:1.6rem}.hero .btn{background:var(--primaryText);color:var(--primary);border:0}.mission{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.mission:last-child{border-bottom:0}.dot{border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.dot.done{background:var(--success);border-color:var(--success);color:#fff}.mod-card{color:inherit;display:block}.mod-card:hover{border-color:var(--primary);text-decoration:none}.mod-card.soon{opacity:.6}.item-row{border-bottom:1px solid var(--border);color:inherit;align-items:center;gap:14px;padding:14px 4px;display:flex}.item-row:last-child{border-bottom:0}a.item-row:hover{background:var(--surface2);border-radius:10px;text-decoration:none}.item-ico{background:var(--surface2);width:34px;height:34px;color:var(--muted);border-radius:10px;flex:none;place-items:center;display:grid}.item-ico.done{background:var(--successSoft);color:var(--success)}.item-ico.ready{background:var(--primarySoft);color:var(--primary)}.map{flex-direction:column;display:flex}.map-module{margin-bottom:8px}.map-checkpoint{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:inherit;align-items:center;gap:12px;padding:12px;display:flex}.map-checkpoint:hover{border-color:var(--primary);text-decoration:none}.map-checkpoint-ico{background:var(--surface2);width:44px;height:44px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.map-checkpoint.current .map-checkpoint-ico{background:var(--primarySoft);color:var(--primary)}.map-checkpoint.done .map-checkpoint-ico{background:var(--successSoft);color:var(--success)}.map-checkpoint.locked{opacity:.6}.map-checkpoint-label{flex-direction:column;gap:2px;display:flex}.map-items{margin:10px 0 22px;padding:4px 0;position:relative}.map-items:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:50%}.map-node-row{margin:6px 0;display:flex;position:relative}.map-node-row.left{justify-content:flex-end;padding-right:54%}.map-node-row.right{justify-content:flex-start;padding-left:54%}.map-node-link{color:inherit;align-items:center;gap:8px;min-height:44px;display:flex}.map-node-link:hover{text-decoration:none}.map-node-link.disabled{cursor:default}.map-node{background:var(--surface);border:2px solid var(--border);width:36px;height:36px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.map-node.done{background:var(--successSoft);border-color:var(--success);color:var(--success)}.map-node.current{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 4px var(--primarySoft)}.map-node.locked{opacity:.55}.map-node-label{font-size:.82rem}.step-dots{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;padding:4px 0;display:flex;position:sticky;top:64px}.step-dot{cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:44px;height:44px;padding:0;display:grid}.step-dot:after{content:"";background:var(--surface2);border:2px solid var(--border);border-radius:50%;width:10px;height:10px}.step-dot.past:after{background:var(--primarySoft);border-color:var(--primary)}.step-dot.current:after{background:var(--primary);border-color:var(--primary);transform:scale(1.3)}.block{margin:26px 0}.block>h2{align-items:center;gap:10px;display:flex}.sixty{background:var(--primarySoft);border-radius:var(--radius);padding:16px 20px}.sixty ul{margin:0;padding-left:1.2rem}.sixty li{margin:4px 0}.points{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.points li{align-items:flex-start;gap:10px;display:flex}.tag{text-transform:uppercase;letter-spacing:.08em;text-align:center;border-radius:6px;flex:none;min-width:62px;margin-top:3px;padding:3px 8px;font-size:.68rem;font-weight:800}.tag.rule{background:var(--primarySoft);color:var(--primary)}.tag.fact{background:var(--surface2);color:var(--muted)}.tag.watch{background:var(--dangerSoft);color:var(--danger)}.tag.ex{background:var(--successSoft);color:var(--success)}.tbl-wrap{border:1px solid var(--border);border-radius:12px;margin:12px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:9px 14px}tbody tr:last-child td{border-bottom:0}th{background:var(--surface2);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.ex-list{gap:8px;margin:12px 0;display:grid}.ex{border-left:3px solid var(--primary);padding:4px 0 4px 14px}.ex .en{font-weight:600}.ex .es{color:var(--muted);font-size:.9rem}.ex .niche{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.68rem}.flow-diagram{margin:14px 0}.flow-caption{color:var(--muted);margin:0 0 10px;font-size:.85rem}.flow-row{flex-direction:column;align-items:stretch;gap:10px;display:flex}.flow-step-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.flow-box{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);text-align:center;max-width:420px;padding:10px 14px;font-size:.85rem}.flow-branch{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.flow-arrow{color:var(--primary);font-size:1.2rem;font-weight:700;transform:rotate(90deg)}.flashcard-inline{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;margin:14px 0;padding:16px}.flashcard-inline img{object-fit:contain;border-radius:10px;max-width:100%;max-height:min(28vh,200px);margin:0 auto 10px}.flashcard-inline-term{margin:0 0 4px;font-weight:700}.figure{margin:14px 0}.figure-caption{color:var(--muted);margin:0 0 10px;font-size:.85rem}.figure-item{margin:0 0 14px}.figure-label{margin:0 0 6px;font-size:.9rem;font-weight:700}.figure-btn{cursor:zoom-in;background:0 0;border:0;border-radius:12px;width:100%;padding:0;display:block}.figure-btn img{border:1px solid var(--border);background:var(--surface2);border-radius:12px;width:100%;max-width:100%;height:auto;display:block}.figure-btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.figure-broken{border:1px dashed var(--border);background:var(--surface2);color:var(--muted);overflow-wrap:anywhere;border-radius:12px;margin:0;padding:14px;font-size:.85rem}.figure-legend{margin:4px 0 10px;padding-left:1.4em;font-size:.9rem}.figure-legend li{margin:3px 0}.figure-foot{margin:6px 0 0}.gloss{gap:8px;display:grid}.gloss dt{font-weight:700}.gloss dd{color:var(--muted);margin:0 0 6px}.practice{border:1px dashed var(--primary);border-radius:var(--radius);padding:16px 20px}.practice ol,.practice ul{margin:6px 0 10px;padding-left:1.3rem}.check-q{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:6px 0;padding:10px 14px}.check-qa summary{cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-height:44px;margin:-10px -14px;padding:10px 14px;list-style:none;display:flex}.check-qa summary::-webkit-details-marker{display:none}.check-qa summary svg{flex:none;transition:transform .15s}.check-qa[open] summary svg{transform:rotate(180deg)}.check-qa summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.check-qa-label{white-space:nowrap;margin-left:auto}.check-qa-answer{border-top:1px dashed var(--border);margin:10px 0 2px;padding-top:10px}.flashcard{cursor:pointer;perspective:1000px;min-height:min(50vh,380px);margin-top:14px}.flashcard-inner{width:100%;height:min(50vh,380px);transform-style:preserve-3d;transition:transform .5s;position:relative}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.flashcard-face p{margin:0;font-size:1.5rem;font-weight:700}.flashcard-back{background:var(--primarySoft);transform:rotateY(180deg)}.flashcard-face img{object-fit:contain;border-radius:10px;max-width:100%;max-height:min(32vh,240px)}.flashcard:focus-visible{outline:2px solid var(--primary);outline-offset:4px}@media (width>=900px){.flashcard{min-height:min(68vh,560px)}.flashcard-inner{height:min(68vh,560px)}.flashcard-face img{max-height:min(48vh,420px)}}.zoom-back{z-index:56;background:#080a10b3;place-items:center;padding:24px;animation:.2s both streakFadeIn;display:grid;position:fixed;inset:0}.zoom-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;width:min(640px,92vw);max-height:86vh;padding:28px;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0006}.zoom-modal img{object-fit:contain;border-radius:10px;max-width:100%;max-height:70vh}.zoom-modal p{margin:14px 0 0;font-size:1.3rem;font-weight:700}.zoom-close{position:absolute;top:10px;right:10px}.zoom-back:has(.zoom-modal.viewer){padding:2vh 2vw}.zoom-modal.viewer{background:#0b0d12;border-color:#2a2f3a;flex-direction:column;width:96vw;height:92vh;max-height:none;padding:0;display:flex;overflow:hidden}.zoom-modal.viewer .zoom-close{z-index:2;background:var(--surface)}.zoom-stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:zoom-in;flex:1;grid-template:100%/100%;place-items:center;min-height:0;display:grid;overflow:hidden}.zoom-stage.is-zoomed{cursor:grab}.zoom-stage img{will-change:transform;-webkit-user-drag:none;border-radius:0;width:auto;max-width:100%;height:auto;max-height:100%}.zoom-modal.viewer .zoom-tools{z-index:2;gap:8px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.zoom-modal.viewer .zoom-tools .icon-btn{background:var(--surface);min-width:44px;min-height:44px;font-size:1.3rem;line-height:1}.zoom-modal.viewer .zoom-fit{width:auto;padding:0 14px;font-size:.9rem}.zoom-modal.viewer .zoom-hint{color:#c8cdd8;text-align:center;margin:0;padding:0 12px;font-size:.75rem;font-weight:400;position:absolute;bottom:64px;left:0;right:0}@media (height<=520px){.zoom-modal.viewer .zoom-hint{display:none}.zoom-modal.viewer .zoom-tools{opacity:.92;left:auto;right:12px;transform:none}}.zoom-modal.viewer p:not(.zoom-hint){color:#e7e9ee;text-align:left;margin:0;font-size:.95rem;position:absolute;top:12px;left:14px;right:60px}.shadow-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;font-size:1.15rem;line-height:1.9}.shadow-box strong{color:var(--primary);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}textarea.input,input.input,select.input{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;padding:10px 12px}textarea.input{resize:vertical;min-height:120px}.quiz-wrap{max-width:720px;margin:0 auto}.q-top{align-items:center;gap:14px;margin-bottom:18px;display:flex}.q-top .progress{flex:1}.q-card{padding:26px}.q-image-btn{background:var(--surface2);border-radius:var(--radius);cursor:zoom-in;border:0;width:100%;height:min(42vh,320px);margin:4px auto 14px;padding:0;display:block;overflow:hidden}.q-image-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.q-image{object-fit:contain;width:100%;height:100%;display:block}.q-prompt{font-size:1.45rem;font-family:var(--fontHeading);margin:8px 0 18px}.q-prompt .blank{text-align:center;border-bottom:3px solid var(--primary);min-width:90px;padding:0 .35em;display:inline-block}.pron-row{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.pron{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 16px;font-weight:600}.pron:hover{border-color:var(--primary)}.pron.sel{background:var(--primary);color:var(--primaryText);border-color:#0000}.opts{gap:10px;margin:12px 0;display:grid}.opt{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px 16px;font-size:1.05rem}.opt:hover{border-color:var(--primary)}.opt.sel{border-color:var(--primary);background:var(--primarySoft)}.opt.good,.pron.good{background:var(--successSoft);border-color:var(--success);color:var(--success)}.opt.bad,.pron.bad{background:var(--dangerSoft);border-color:var(--danger);color:var(--danger)}.q-fieldset{border:0;min-width:0;margin:0;padding:0}.q-fieldset>legend{float:left;width:100%;padding:0}.q-fieldset>legend+*{clear:both}.q-fieldset>legend.sr-only{float:none;width:1px}.multi-opt{cursor:pointer;overflow-wrap:anywhere;align-items:flex-start;gap:12px;min-height:52px;display:flex}.multi-opt input{width:24px;height:24px;accent-color:var(--primary);flex:none;margin-top:2px}.multi-opt:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:2px}.multi-opt:has(input:disabled:not(:checked)):not(.miss){opacity:.6;cursor:default}.opt.miss{border-style:dashed;border-color:var(--success);color:var(--success)}.match-rows{gap:10px;margin:10px 0 14px;padding:0;list-style:none;display:grid}.match-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:6px;min-width:0;padding:10px 12px;display:grid}.match-row.good{background:var(--successSoft);border-color:var(--success)}.match-row.bad{background:var(--dangerSoft);border-color:var(--danger)}.match-left{overflow-wrap:anywhere;font-weight:600}select.match-select,select.drop-select{max-width:100%;min-height:44px;font:inherit}select.match-select{width:100%}.match-picked{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1}@media (width>=700px){.match-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}.drop-prompt{overflow-wrap:anywhere;line-height:2.4}select.drop-select{vertical-align:middle;width:auto;min-width:9ch;margin:0 .2em;font-size:1rem;line-height:1.2;display:inline-block}.drop-select.good{border-color:var(--success);background:var(--successSoft)}.drop-select.bad{border-color:var(--danger);background:var(--dangerSoft)}.fb{border-radius:12px;margin-top:16px;padding:14px 16px}.fb.good{background:var(--successSoft)}.fb.bad{background:var(--dangerSoft)}.fb b.t{margin-bottom:2px;display:block}.fb.good b.t{color:var(--success)}.fb.bad b.t{color:var(--danger)}.fb.part{background:var(--accentSoft)}.fb.part b.t{color:var(--accent)}.fb .score{gap:6px;margin:6px 0 8px;padding:0;list-style:none;display:grid}.fb .score li{align-items:flex-start;gap:8px;display:flex}.fb .score li svg{flex:none}.fb .score li.ok svg{color:var(--success);margin-top:3px}.fb .score li.no svg{color:var(--danger);margin-top:3px}.result-num{font-family:var(--fontHeading);font-size:3rem;line-height:1}.err-list{gap:8px;margin:12px 0;display:grid}.err{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.fix-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:8px 0;padding:14px 16px}.fix-card .orig.bad{color:var(--danger);text-decoration:line-through}.fix-card .corr{color:var(--success);font-weight:700}.chat{flex-direction:column;gap:10px;min-height:320px;max-height:58vh;padding:8px 2px;display:flex;overflow-y:auto}.msg{white-space:pre-wrap;word-wrap:break-word;border-radius:16px;max-width:82%;padding:10px 14px}.msg.user{background:var(--primary);color:var(--primaryText);border-bottom-right-radius:4px;align-self:flex-end}.dots{align-items:center;gap:5px;height:22px;display:inline-flex}.dots i{background:var(--muted,currentColor);border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite dotHop;display:block}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dotHop{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-7px)}}.msg.bot{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.chat-form{gap:10px;margin-top:12px;display:flex}.chat-form input{flex:1}.suggest{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.boot-splash{background:var(--bg);place-items:center;gap:18px;min-height:100%;padding:24px;display:grid}.boot-rocket-wrap{justify-content:center;align-items:flex-end;width:140px;height:190px;padding-bottom:85px;display:flex;position:relative;overflow:hidden}.boot-launch{animation:2.6s cubic-bezier(.4,0,.2,1) infinite bootLaunch;position:relative}.boot-rocket{z-index:2;display:block;position:relative}.boot-flame{z-index:1;filter:drop-shadow(0 0 10px #ff5a0ab3);opacity:0;background:radial-gradient(circle at 50% 25%,#fffbe6 0%,#ffd23f 30%,#ff5a0a 62%,#0000 80%);border-radius:50% 50% 45% 45%/65% 65% 35% 35%;width:30px;height:50px;animation:2.6s ease-in-out infinite bootFlame;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)scaleY(.5)}.boot-smoke{background:radial-gradient(circle, color-mix(in srgb, var(--muted) 55%, transparent), transparent 72%);opacity:0;border-radius:50%;width:20px;height:20px;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.boot-smoke.s1{animation:2.6s ease-out infinite bootSmoke}.boot-smoke.s2{animation:2.6s ease-out .18s infinite bootSmoke;left:40%}.boot-smoke.s3{animation:2.6s ease-out .36s infinite bootSmoke;left:60%}.boot-brand{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1.15rem;font-weight:700}.boot-brand-ink{color:var(--text)}.boot-brand-accent{color:var(--accent)}@keyframes bootLaunch{0%{opacity:0;transform:translateY(6px)}8%,20%{opacity:1;transform:translateY(0)}72%{opacity:1;transform:translateY(-120px)}88%,to{opacity:0;transform:translateY(-160px)}}@keyframes bootFlame{0%,10%{opacity:0;transform:translate(-50%)scaleY(.5)}16%{opacity:1;transform:translate(-50%)scaleY(1)}20%{opacity:1;transform:translate(-50%)scaleY(1.25)}45%{opacity:.9;transform:translate(-50%)scaleY(.85)}60%{opacity:1;transform:translate(-50%)scaleY(1.2)}80%{opacity:.6;transform:translate(-50%)scaleY(.7)}90%,to{opacity:0;transform:translate(-50%)scaleY(.5)}}@keyframes bootSmoke{0%,14%{opacity:0;transform:translate(-50%)translateY(0)scale(.4)}22%{opacity:.5;transform:translate(-50%)translateY(-6px)scale(.7)}60%{opacity:.35;transform:translate(-50%)translateY(-50px)scale(1.6)}90%,to{opacity:0;transform:translate(-50%)translateY(-90px)scale(2)}}.center-screen{min-height:100%;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));place-items:center;display:grid}.login{width:100%;max-width:400px}.login h1{margin-top:2px;font-size:1.3rem}.login-logo{mix-blend-mode:multiply;max-width:70%;height:auto;margin:0 auto 8px;display:block}:root[data-theme=dark] .login-logo{mix-blend-mode:normal;border-radius:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.err-text{color:var(--danger);min-height:1.3em;margin:8px 0 0;font-size:.9rem}.palette-back{z-index:50;background:#080a108c;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.palette{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:min(620px,92vw);overflow:hidden;box-shadow:0 20px 60px #00000059}.palette input{border:0;border-bottom:1px solid var(--border);background:0 0;outline:none;width:100%;padding:16px 18px;font-size:1.05rem}.palette ul{max-height:50vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.palette li a{color:var(--text);border-radius:10px;align-items:baseline;gap:10px;padding:9px 12px;display:flex}.palette li a:hover,.palette li a.on{background:var(--primarySoft);text-decoration:none}@keyframes streakPopIn{0%{opacity:0;transform:scale(.88)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes streakFadeIn{0%{opacity:0}to{opacity:1}}@keyframes streakFlamePulse{0%,to{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--accent) 55%, transparent));transform:scale(1)}50%{filter:drop-shadow(0 0 20px color-mix(in srgb, var(--accent) 75%, transparent));transform:scale(1.1)}}.streak-back{z-index:58;background:#080a108c;place-items:center;padding:24px;animation:.2s both streakFadeIn;display:grid;position:fixed;inset:0}.streak-modal{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:20px;width:min(360px,100%);padding:32px 28px 28px;animation:.32s cubic-bezier(.2,.9,.3,1.2) both streakPopIn;box-shadow:0 24px 70px #0006}.streak-flame{width:84px;height:84px;color:var(--accent);background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%);border-radius:50%;place-items:center;margin:0 auto 14px;animation:1.8s ease-in-out infinite streakFlamePulse;display:grid}@keyframes streakFlamePulseBlue{0%,to{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--info) 55%, transparent));transform:scale(1)}50%{filter:drop-shadow(0 0 20px color-mix(in srgb, var(--info) 75%, transparent));transform:scale(1.1)}}.streak-modal{position:relative}.streak-help{position:absolute;top:8px;right:8px}.help-tip{display:inline-block;position:relative}.help-btn{cursor:pointer;width:44px;height:44px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.help-btn span{border:1.5px solid;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.85rem;font-weight:800;line-height:1;display:grid}.help-btn:hover,.help-btn[aria-expanded=true]{color:var(--primary)}.help-pop{background:var(--surface);width:min(280px,100vw - 64px);color:var(--text);border:1px solid var(--border);text-align:left;z-index:3;border-radius:12px;padding:12px 14px;font-size:.85rem;line-height:1.45;position:absolute;top:44px;right:0;box-shadow:0 12px 34px #00000047}.help-pop p{margin:0 0 8px}.help-pop a{font-weight:700}.how{overflow:hidden}.how-hero{background:linear-gradient(120deg, var(--primary), color-mix(in srgb, var(--accent) 80%, var(--primary)));color:var(--primaryText);align-items:center;gap:14px;margin:-20px -20px 14px;padding:18px 20px;display:flex}.how-hero h3{color:inherit;margin:0 0 2px}.how-hero p{opacity:.92;margin:0;font-size:.9rem}.how-flame{background:#ffffff38;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;animation:1.6s ease-in-out infinite howFlicker;display:grid}@keyframes howFlicker{0%,to{transform:scale(1)rotate(-3deg)}50%{transform:scale(1.12)rotate(3deg)}}.how-tabs{background:var(--surface2);border-radius:999px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;padding:4px;display:grid}.how-tab{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:.95rem;font-weight:700;transition:background .2s,color .2s,box-shadow .2s}.how-tab.on{background:var(--surface);color:var(--primary);box-shadow:0 2px 10px #00000024}.how-tiles{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.how-tile{background:var(--surface2);border:1px solid var(--border);animation:.45s cubic-bezier(.2,.8,.3,1) both howIn;animation-delay:calc(var(--i,0) * 80ms);border-radius:14px;align-items:flex-start;gap:12px;padding:12px;transition:transform .15s,border-color .15s;display:flex}.how-tile:hover{border-color:var(--primary);transform:translateY(-2px)}.how-ico{background:var(--primarySoft);width:40px;height:40px;color:var(--primary);border-radius:12px;flex:none;place-items:center;display:grid}.how-tile:first-child .how-ico{background:var(--accentSoft);color:var(--accent)}.how-body{min-width:0}.how-body p{color:var(--muted);margin:2px 0 0;font-size:.88rem;line-height:1.4}.how-title{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.how-chip{background:var(--successSoft);color:var(--success);animation:.5s cubic-bezier(.2,1.4,.4,1) both howPop;animation-delay:calc(var(--i,0) * 80ms + .25s);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:800;display:inline-block}@keyframes howIn{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}@keyframes howPop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.how-week{grid-template-columns:repeat(5,1fr);margin:4px 0 8px}.how-week .sw{animation:.4s cubic-bezier(.2,.8,.3,1) both howIn;animation-delay:calc(var(--i,0) * .14s)}.how-week .sw--done .sw-flame{animation:.6s cubic-bezier(.2,1.4,.4,1) both howIgnite;animation-delay:calc(var(--i,0) * .14s + .2s)}@keyframes howIgnite{0%{filter:grayscale();transform:scale(.5)}70%{transform:scale(1.25)}to{filter:none;transform:scale(1)}}.how-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 12px;font-size:.78rem;display:flex}.lg-item{align-items:center;gap:6px;display:inline-flex}.how-legend .lg{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.lg--done{background:var(--accent)}.lg--rec{background:var(--info)}.how .btn{justify-content:center;width:100%}.tip-row{align-items:flex-start;gap:8px;display:flex}.tip-ico{border-radius:50%;flex:none;place-items:center;width:26px;height:26px;margin-top:1px;display:grid}.tip-ico--streak{background:var(--accentSoft);color:var(--accent)}.tip-ico--points{background:var(--primarySoft);color:var(--primary)}.help-pop{transform-origin:100% 0;animation:.18s ease-out both tipIn}@keyframes tipIn{0%{opacity:0;transform:translateY(-4px)scale(.96)}to{opacity:1;transform:none}}.streak-flame--recoverable{color:var(--info);background:radial-gradient(circle, color-mix(in srgb, var(--info) 18%, transparent), transparent 70%);animation-name:streakFlamePulseBlue}.streak-flame--idle{color:var(--muted);background:0 0;animation:none}.streak-week{grid-template-columns:repeat(7,1fr);gap:4px;margin:16px 0 6px;padding:0;list-style:none;display:grid}.sw{justify-items:center;gap:2px;display:grid}.sw-day{color:var(--muted);letter-spacing:.04em;font-size:.72rem;font-weight:700}.sw-flame{width:36px;height:36px;color:var(--border);border-radius:50%;place-items:center;display:grid}.sw--done .sw-flame,.sw--recovered .sw-flame{color:var(--accent);background:var(--accentSoft)}.sw--recoverable .sw-flame{color:var(--info);background:var(--infoSoft);animation:1.6s ease-in-out infinite swPulse}.sw--today .sw-flame{color:var(--muted);border:2px dashed var(--border)}.sw--today .sw-day{color:var(--text)}@keyframes swPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.streak-offer{margin-top:10px}.streak-offer-title{margin:0 0 4px;font-size:1.05rem;font-weight:800}.streak-offer .btn{margin-top:10px}.streak-offer .tiny{margin:8px 0 0}.streak-recovered{color:var(--success);margin:8px 0 0;font-weight:700}.streak-stat{margin:0 0 4px;font-size:1.05rem}.streak-num{font-family:var(--fontHeading);color:var(--text);font-variant-numeric:tabular-nums;font-size:2.6rem;line-height:1.1;display:block}.streak-points .streak-num{color:var(--primary);font-size:2rem}.streak-modal .muted.small{margin:10px 0 20px}.streak-modal .btn{width:100%}.toast{background:var(--text);color:var(--bg);z-index:60;border-radius:999px;padding:10px 18px;font-weight:600;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0000004d}.loading{text-align:center;color:var(--muted);padding:60px 0}body.tour-open:not(.exam-sim) #view{padding-bottom:200px}body.exam-sim .tour{display:none}.tour{z-index:55;width:calc(100% - 32px);max-width:320px;position:fixed;bottom:22px;right:16px}.tour-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:0 8px 30px #0000002e}.tour-msg{color:var(--text);align-items:center;min-height:44px;margin:8px 0 12px;font-size:.95rem;display:flex}.tour .btn{width:100%;min-height:44px}.tour-pill{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);border-radius:999px;padding:10px 18px;font-size:.85rem;font-weight:600;display:block;box-shadow:0 8px 30px #0000002e}.tour-pill:hover{border-color:var(--primary)}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{z-index:40;width:280px;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-102%)}.sidebar.open{transform:none;box-shadow:0 0 40px #0000004d}.menu-btn{display:none}.back-btn{place-items:center;width:44px;height:44px;display:grid}.grid.two,.grid.three{grid-template-columns:1fr}.topbar{padding:10px 14px}.page{padding:20px 14px 80px}.search-btn kbd,.search-btn span{display:none}.search-btn{flex:none;justify-content:center;width:44px;height:44px;padding:0}.chip.lvl{display:none}.step-dots{top:58px}.zoom-back{padding:8px}.zoom-modal:not(.viewer){width:100%;padding:10px}.zoom-modal:not(.viewer) img{max-height:76vh}}.linklike{color:var(--primary);cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px;font-size:.9rem;text-decoration:underline}.ok-text{color:var(--success);min-height:1.3em;margin:8px 0 0;font-size:.9rem}.side-foot{gap:8px;display:grid}.side-link{color:var(--text);padding:6px 4px;font-weight:600}.brand{flex-direction:column;align-items:flex-start;gap:6px}.brand-sub{color:var(--muted);font-size:.75rem}.brand svg,.login-logo{max-width:100%;height:auto}.acad-switch{min-width:0}.acad-switch select{border:1px solid var(--border);background:var(--surface);text-overflow:ellipsis;border-radius:10px;max-width:200px;min-height:44px;padding:8px 10px;font-weight:600}.drawer-back,.bottom-nav{display:none}@media (pointer:coarse),(width<=900px){.btn,.btn.small,.opt,.pron,.nav a,.item-row,input.input,select.input,textarea.input,.chip.flame{min-height:44px}.btn,.pron,.icon-btn{min-width:44px}.btn.small{padding-block:10px}.pron{padding:10px 18px}}@media (width<=900px){.sidebar{z-index:45;padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(18px + env(safe-area-inset-bottom))}.drawer-back{z-index:44;background:#080a1080;display:block;position:fixed;inset:0}.topbar{padding-top:max(10px, env(safe-area-inset-top));gap:8px}.topbar .spacer{display:none}.acad-switch{flex:1}.acad-switch select{width:100%;max-width:none}.page,.quiz-wrap{padding-bottom:calc(150px + env(safe-area-inset-bottom))}:is(body:has(.tour-card) .page,body:has(.tour-card) .quiz-wrap){padding-bottom:calc(350px + env(safe-area-inset-bottom))}.quiz-wrap{padding-top:16px;padding-left:14px;padding-right:14px}.toast{bottom:calc(84px + env(safe-area-inset-bottom))}.tour{left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-width:none}.bottom-nav{z-index:40;background:var(--surface);border-top:1px solid var(--border);padding:4px 4px calc(4px + env(safe-area-inset-bottom));grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{min-height:56px;color:var(--muted);background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-size:.72rem;font-weight:600;text-decoration:none;display:flex}.bottom-nav .active{color:var(--primary);background:var(--primarySoft)}.bottom-nav .ico{place-items:center;display:grid;position:relative}.dot-badge{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;line-height:18px;position:absolute;top:-6px;right:-12px}body.kb-open .bottom-nav{display:none}body.kb-open .page{padding-bottom:24px}.chat{max-height:52dvh}}@media (width<=400px){h1{font-size:1.6rem}.page{padding-left:12px;padding-right:12px}.q-card{padding:18px 16px}.q-prompt{font-size:1.2rem}.hero{padding:20px 16px}.hero h2{font-size:1.3rem}.chip.flame{padding:5px 9px}.acad-switch select{font-size:.85rem}.shadow-box{padding:14px 16px;font-size:1.05rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.report-fab{right:16px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:41;border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--muted);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 4px 14px #0003}.report-fab:hover{color:var(--primary);border-color:var(--primary)}.report-fab:focus-visible{outline:3px solid var(--primary);outline-offset:2px}body:has(.tour-pill) .report-fab{bottom:calc(22px + 56px + env(safe-area-inset-bottom))}body:has(.tour-card) .report-fab{bottom:calc(22px + 200px + env(safe-area-inset-bottom))}body.kb-open .report-fab{display:none}.report-back{z-index:60;background:#080a108c;place-items:end center;display:grid;position:fixed;inset:0}.report-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;width:min(520px,100%);max-height:90vh;padding:20px 18px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;box-shadow:0 -12px 40px #00000059}.report-sheet h2{margin:0 0 6px;font-size:1.2rem}.report-where{overflow-wrap:anywhere;margin:0 0 12px}.report-count{justify-content:space-between;margin-top:4px}@media (width>=901px){.report-back{align-items:center}.report-sheet{border-radius:var(--radius)}}@media (width<=900px){.report-fab{border-right:0;border-radius:24px 0 0 24px;width:26px;height:48px;right:0;box-shadow:-2px 2px 8px #0000002e}.report-fab--nav{bottom:calc(84px + env(safe-area-inset-bottom))}body:has(.tour-pill) .report-fab--nav{bottom:calc(84px + 56px + env(safe-area-inset-bottom))}body:has(.tour-card) .report-fab--nav{bottom:calc(84px + 200px + env(safe-area-inset-bottom))}}.report-card .report-msg,.report-viewing .report-msg{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}.report-count-badge{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:.72rem;font-weight:700;line-height:20px;display:inline-block}.report-viewing{background:var(--accentSoft);border-bottom:2px solid var(--accent);z-index:46;padding:10px 16px;position:relative}.rubric-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.rubric-item{border:1px solid var(--border);background:var(--surface);border-left-width:4px;border-radius:10px;padding:10px 12px}.rubric-item.yes{border-left-color:var(--success)}.rubric-item.partial{border-left-color:var(--accent)}.rubric-item.no{border-left-color:var(--danger)}.rubric-item p{margin:4px 0 0}.rubric-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:4px 10px;display:flex}.rubric-state{white-space:nowrap;align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:inline-flex}.rubric-state.yes{color:var(--success)}.rubric-state.partial{color:var(--accent)}.rubric-state.no{color:var(--danger)}.rubric h4{margin:14px 0 6px;font-size:1rem}.rubric-rewrite p{white-space:pre-wrap;overflow-wrap:anywhere}.rubric-disclaimer{border-top:1px dashed var(--border);margin-top:14px;padding-top:10px}.daily-challenge{background:var(--primarySoft);border-radius:10px;margin-bottom:12px;padding:10px 14px}.daily-challenge p{margin:2px 0 0}.update-required{text-align:center;justify-items:center;gap:12px;max-width:420px;display:grid}.update-required .btn{align-items:center;gap:8px;min-height:44px;display:inline-flex}.track-opts{gap:10px;display:grid}.track-opt{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:56px;color:inherit;font:inherit;cursor:pointer;align-items:center;gap:12px;padding:12px 14px;display:flex}.track-opt>span:nth-child(2){flex:1}.track-opt:hover:not(:disabled):not(.soon){border-color:var(--primary)}.track-opt.on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.track-opt.soon{opacity:.6;cursor:default}.track-thumb{aspect-ratio:16/9;color:#fff;background:linear-gradient(135deg, var(--primary), var(--accent,var(--primary)));border-radius:8px;flex:none;place-items:center;width:96px;display:grid;overflow:hidden}.track-thumb img{object-fit:cover;width:100%;height:100%;display:block}.track-opt.soon .track-thumb img{filter:grayscale(.4)}.track-opt>span:nth-child(2){min-width:0}@media (width<=520px){.track-opt{flex-wrap:wrap}.track-thumb{aspect-ratio:3;width:100%}.track-opt>span:nth-child(2){flex:1 1 0}}.track-more{margin-top:26px}.track-more>summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:600;display:flex}.q-card .score{gap:6px;margin:6px 0 8px;padding:0;list-style:none;display:grid}.radar{width:100%;max-width:420px;height:auto;margin:0 auto;display:block}.radar-ring{fill:none;stroke:var(--border);stroke-width:1px}.radar-axis{stroke:var(--border);stroke-width:1px}.radar-label{fill:var(--muted);font-size:10px}.radar-series{stroke-width:2px;stroke-linejoin:round}.radar-series.mine{fill:color-mix(in srgb, var(--primary) 28%, transparent);stroke:var(--primary)}.radar-series.peers{fill:none;stroke:var(--muted);stroke-dasharray:5 4}.radar-series.before{fill:none;stroke:var(--accent,var(--muted));stroke-dasharray:2 3}.pm-opts{gap:10px;margin-top:14px;display:grid}.pm-opts .opt{min-height:48px}.pm-table{border-collapse:collapse;width:100%;font-size:.9rem}.pm-table th,.pm-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 6px}.pm-table td.num,.pm-table th.num{text-align:right;white-space:nowrap}.pm-roles{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.pm-role{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;cursor:pointer;min-height:44px;padding:12px 14px}.pm-role[aria-pressed=true]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.pm-ladder{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pm-ladder li{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}.pm-ladder li.on{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent)}@media print{.no-print{display:none!important}}.qf-list{gap:8px;display:grid}.qf-item{border:1px solid var(--border);background:var(--surface);border-radius:12px}.qf-item.has-errors{border-color:var(--danger)}.qf-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.qf-title{text-align:left;min-width:0;min-height:44px;color:inherit;font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;flex:14rem;padding:4px}.qf-body{border-top:1px solid var(--border);padding:4px 12px 12px}.qf{gap:10px;margin-top:8px;display:grid}.qf-field{gap:4px;display:grid}.qf-label{font-size:.85rem;font-weight:600}.qf-set{border:1px solid var(--border);border-radius:10px;gap:8px;min-width:0;padding:8px 10px;display:grid}.qf-row{align-items:center;gap:8px;display:flex}.qf-row .input{flex:1;min-width:0}.qf-row input[type=checkbox],.qf-row input[type=radio]{flex:none;width:22px;height:22px}.qf-add{flex-wrap:wrap;align-items:center;margin-top:6px}.qf-import{gap:4px;display:grid}.qf-radios{border:0;gap:4px;margin:0;padding:0;display:grid}.qf-report{overflow-wrap:anywhere;gap:4px;padding:0;list-style:none;display:grid}.admin-tabs-q{gap:6px;margin:6px 0;display:flex}.q-context{white-space:pre-line;font-family:var(--font);background:var(--surface2);border:1px solid var(--border);border-left:4px solid var(--primary);overflow-wrap:anywhere;-webkit-overflow-scrolling:touch;border-radius:10px;max-height:min(40vh,320px);margin:6px 0 12px;padding:12px 14px;font-size:.95rem;line-height:1.5;overflow-y:auto}.q-context:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.sim .opt.multi-opt{min-height:48px}.sim-nav .btn{flex:8rem}.sim-map{margin-top:10px}.sim-map>summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.sim-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;margin-top:8px;display:grid}.sim-dot{border:1px solid var(--border);background:var(--surface);min-height:44px;color:inherit;font:inherit;cursor:pointer;border-radius:10px;font-weight:600}.sim-dot.done{background:var(--primarySoft);border-color:var(--primary)}.sim-dot.flag{box-shadow:inset 0 -4px 0 var(--accent)}.sim-dot.current{outline:3px solid var(--primary);outline-offset:1px}.sim-confirm{border-color:var(--primary);margin-top:10px}.sim-break{text-align:center}.sim-review{gap:4px;display:grid}.sim-reason select{width:auto;max-width:100%;min-height:40px;display:inline-block}details:not(.check-qa)>summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}details:not(.check-qa)>summary::-webkit-details-marker{display:none}details:not(.check-qa)>summary:after{content:"";border-right:2.5px solid var(--primary);border-bottom:2.5px solid var(--primary);flex:none;width:9px;height:9px;margin:-4px 4px 0 auto;padding:0;transition:transform .2s;display:inline-block;transform:rotate(45deg)}details:not(.check-qa)[open]>summary:after{margin-top:4px;transform:rotate(-135deg)}details:not(.check-qa)>summary:hover{color:var(--primary)}
