.appshell{height:calc(100vh / var(--z));height:calc(100dvh / var(--z));background:var(--bg-raised);flex-direction:column;display:flex}.top{align-items:center;gap:var(--s4);height:56px;padding:0 var(--s5);border-bottom:1px solid var(--line);background:var(--bg-raised);flex:none;display:flex;position:relative}.top .wordmark{font-size:13px}.top .divider{background:var(--line-strong);width:1px;height:20px}.top .crumb{font-size:var(--micro);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.top .crumb b{color:var(--text);font-weight:600}.top .crumb .sep{color:var(--text-3);margin:0 8px}.top .spacer{flex:1}.top .timer{font-family:var(--mono);color:var(--text-2);font-variant-numeric:tabular-nums;font-size:13px}.top .timer.low{color:var(--bad)}.icon-btn{border-radius:var(--r1);border:1px solid var(--line);width:32px;height:32px;color:var(--text-2);transition:all var(--fast) var(--ease);background:0 0;place-items:center;display:grid}.icon-btn:hover{color:var(--text);border-color:var(--line-strong)}.stage{flex:1;grid-template-columns:minmax(0,1fr) clamp(300px,27vw,400px);min-height:0;display:grid}.stage.solo{grid-template-columns:1fr}.main{flex-direction:column;display:flex;overflow-y:auto}.main>:not(.dock){flex:1 0 auto;width:100%}.main-in{max-width:860px;padding-bottom:var(--s8);margin:0 auto}.main-in .q-actions{max-width:640px}.dock{z-index:5;background:var(--bg-raised);border-top:1px solid var(--line);position:sticky;bottom:0}.dock-in{max-width:860px;padding:12px clamp(20px,4vw,56px);padding-bottom:max(12px, env(safe-area-inset-bottom));margin:0 auto}.dock .q-actions,.dock .timed-bar{max-width:640px;min-height:40px;padding:0}.main-in .timed-bar{max-width:calc(640px + 2*clamp(20px,4vw,56px))}.main-in .explain{border-radius:var(--r3);border:1px solid #0000;max-width:640px;margin:0 clamp(20px,4vw,56px)}.main-in .explain.open{border-color:var(--line)}.main-in .explain-in{padding:clamp(20px,2.5vw,28px)}.rail{border-left:1px solid var(--line);flex-direction:column;gap:16px;padding:28px 24px;display:flex;overflow-y:auto}.qmap{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.qmap button{border:1px solid var(--line);height:34px;font-family:var(--mono);color:var(--text-3);transition:all var(--fast) var(--ease);background:0 0;border-radius:6px;place-items:center;padding:0;font-size:11px;display:grid;position:relative}.qmap button:hover{border-color:var(--line-strong);color:var(--text)}.qmap button.done{color:var(--text-2);background:var(--surface)}.qmap button.ok:after,.qmap button.no:after,.qmap button.flag:before{content:"";background:var(--good);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:5px;left:50%}.qmap button.no:after{background:var(--bad)}.qmap button.flag:before{background:var(--accent);margin:0;inset:4px 4px auto auto}.qmap button.cur{color:var(--text);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.facts{flex-direction:column;margin:0;display:flex}.facts div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.facts dt{color:var(--text-3)}.facts dd{color:var(--text);margin:0}.facts.keys dd{align-items:center;gap:4px;display:flex}.timed-bar{align-items:center;gap:var(--s3);padding:0 clamp(20px,4vw,56px);display:flex}@media (max-width:420px){.timed-bar{gap:var(--s2)}.timed-bar .t{display:none}}.timed-bar .flag[aria-pressed=true]{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.summary{gap:var(--s7);flex-direction:column;padding:clamp(32px,6vw,72px) clamp(20px,4vw,56px);display:flex}.score{align-items:baseline;gap:var(--s4);flex-wrap:wrap;display:flex}.score b{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(56px,7vw,88px);font-weight:600;line-height:1}.score span{color:var(--text-2);font-size:18px}.sum-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sum-facts div{padding:var(--s4) 0;flex-direction:column;gap:4px;display:flex}.sum-facts div+div{padding-left:var(--s5);border-left:1px solid var(--line)}.sum-facts dt{color:var(--text-3);font-size:12px}.sum-facts dd{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:20px}.rlist{margin:0;padding:0;list-style:none}.rlist .rrow{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;transition:background var(--fast) var(--ease);background:0 0;grid-template-columns:36px 18px minmax(0,1fr) 120px;align-items:center;gap:14px;padding:14px 8px;display:grid}.rlist .rrow:hover,.rlist .rrow[aria-expanded=true]{background:var(--surface)}.rlist .n{font-family:var(--mono);color:var(--text-3);font-size:12px}.rlist .st{background:var(--good);border-radius:50%;width:8px;height:8px}.rlist .st.no{background:var(--bad)}.rlist .st.skip{background:var(--line-strong)}.rlist .tx{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:14.5px;position:relative;overflow:hidden}.rlist .an{font-family:var(--mono);color:var(--text-3);text-align:right;font-size:12px}.rlist .rrow{cursor:pointer}.rlist .rx{padding:var(--s4) 8px var(--s6) 58px;border-bottom:1px solid var(--line)}.rlist .rx .q-body{max-width:760px;padding:0}@media (max-width:600px){.rlist .rx{padding-left:8px}}.actions-row{gap:var(--s3);flex-wrap:wrap;display:flex}@media (max-width:1000px){.stage{grid-template-columns:1fr}.rail{display:none}}@media (max-width:600px){.top a[href=\/account],.top .wordmark,.top .divider{display:none}.top{padding:0 var(--s4);gap:var(--s3)}.top .wordmark span:not([data-logo]){display:none}.top .wordmark{font-size:0}.top .divider{display:none}.sum-facts{grid-template-columns:1fr 1fr}.sum-facts div:nth-child(3){border-left:0;border-top:1px solid var(--line);grid-column:1/-1;padding-left:0}.rlist .rrow{grid-template-columns:28px 12px minmax(0,1fr) 64px;gap:10px}}.rail>*{flex:none}.crumb .short{display:none}@media (max-width:600px){.crumb .full{display:none}.crumb .short{display:inline}}.rail-sol:empty{display:none}.rail-sol{border-top:1px solid var(--line);padding-top:18px}.side-sol{flex-direction:column;gap:20px;display:flex}.side-sol h2{font-size:var(--micro);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin:0 0 12px;font-weight:600}.side-sol .steps li,.side-sol .your-answer p{font-size:14.5px}.fitting,.fitting *{transition:none!important;animation:none!important}.sess{max-width:1160px;padding-bottom:0!important}.side-by-side .sess .q-body{gap:clamp(18px,3vh,28px);padding-top:clamp(20px,4vh,40px);padding-bottom:clamp(16px,3vh,32px)}.sess-grid{grid-template-columns:minmax(0,1fr);display:grid}.sess-grid.with-sol{justify-content:center;column-gap:var(--s6);grid-template-columns:minmax(0,760px) minmax(280px,380px)}.sol-col{padding-top:clamp(24px,4vw,48px)}.sol-col:empty{display:none}.with-sol .sol-col:empty{display:block}.sess~.dock .dock-in{max-width:1160px}.dock-row{align-items:center;gap:var(--s3);min-height:40px;display:flex}.dock-q{flex:1;min-width:0}.dock .dock-q .q-actions,.dock .dock-q .timed-bar{max-width:none;padding:0}@media (max-width:420px){.dock-row .t{display:none}}
