:root{--bg:#0a1628;--bg-elev:#0f1f3d;--bg-card:#162240;--bg-card-hi:#1c2b50;--bg-tab:#0d1c35;--primary:#1a3a6b;--primary-lt:#2952a3;--glow:#3d6fd4;--accent:#c9a84c;--accent-br:#e8c86a;--accent-dim:#8c7234;--ok:#2ecc7a;--ok-dim:#1a7a48;--err:#e84545;--err-dim:#7a1f1f;--warning:#f5a623;--info:#5b9cf6;--locked:#4a5c7a;--t1:#fff;--t2:#8a9dc0;--t3:#4a5c7a;--f-ui:var(--font-ui),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--f-law:var(--font-law),Georgia,"Times New Roman",serif;--fs-cap:10.5px;--fs-xs:12px;--fs-s:13.5px;--fs-m:15px;--fs-l:17.5px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:34px;--fw-n:400;--fw-m:500;--fw-b:600;--ls-cap:.18em;--r:16px;--r-card:20px;--r-btn:16px;--s-xs:8px;--s-s:12px;--s-m:16px;--s-l:24px;--s-xl:32px;--edge:20px;--shadow:0 8px 16px #00000040;--lit:0 0 10px #c9a84c80}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);color:var(--t1);line-height:1.5;font-family:var(--f-ui);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);-webkit-font-smoothing:antialiased}.law{font-family:var(--f-law);letter-spacing:.004em}.tnum{font-variant-numeric:tabular-nums}.cap{font-size:var(--fs-cap);font-weight:var(--fw-b);letter-spacing:var(--ls-cap);text-transform:uppercase}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.shell{max-width:560px;padding:var(--s-m) var(--s-m) 120px;margin:0 auto}.label{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.muted{color:var(--t2)}.dim{color:var(--t3)}.card{background:linear-gradient(180deg,var(--bg-card),var(--bg-card-hi));border:1px solid var(--bg-card-hi);border-radius:var(--r-card);box-shadow:var(--shadow);margin-bottom:14px;padding:18px}.dock{left:0;right:0;bottom:min(var(--ck-h,0px), 46vh);z-index:20;background:linear-gradient(180deg,#0a162800,var(--bg) 22%);padding:22px 0 calc(var(--s-m) + env(safe-area-inset-bottom));position:fixed}.dock-in{max-width:560px;padding:0 var(--s-m);margin:0 auto}.btn{border-radius:var(--r-btn);width:100%;font-size:var(--fs-l);font-weight:var(--fw-b);letter-spacing:.01em;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:15px;transition:background .18s,border-color .18s,transform 80ms;display:flex}.btn:active:not(:disabled){transform:scale(.99)}.btn:disabled{opacity:.35;cursor:default}.btn svg{flex:none}.btn-pri{background:var(--primary);color:#fff;border-color:var(--primary-lt)}.btn-pri:hover:not(:disabled){background:var(--primary-lt)}.btn-ok{border-color:var(--ok);color:var(--ok);background:#2ecc7a1a}.btn-ok:hover:not(:disabled){background:#2ecc7a2e}.btn-err{border-color:var(--err);color:var(--err);background:#e845451a}.btn-err:hover:not(:disabled){background:#e845452e}.btn-gold{border-color:var(--accent);color:var(--accent-br);background:#c9a84c1f}.btn-gold:hover:not(:disabled){background:#c9a84c33}.btn-quiet{border-color:var(--bg-card-hi);color:var(--t2);background:0 0}.btn-quiet:hover:not(:disabled){border-color:var(--t3);color:var(--t1)}.stat{font-size:var(--fs-m);border-bottom:1px solid #1c2b5099;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;display:flex}.stat:last-child{border-bottom:none}.stat span{color:var(--t2)}.stat b{color:var(--t1);font-weight:var(--fw-b)}.center{text-align:center}.caseHead{padding:6px 0 0}.caseKick{color:var(--accent-dim);align-items:center;gap:8px;display:flex}.caseKick b{color:var(--accent);font-weight:var(--fw-b)}.caseName{font-size:var(--fs-2xl);font-weight:var(--fw-b);letter-spacing:-.025em;margin-top:9px;line-height:1.08}.caseWho{font-size:var(--fs-s);color:var(--t2);margin-top:7px}.stageBar{gap:3px;margin-top:18px;display:flex}.stageBar i{background:var(--bg-card-hi);border-radius:3px;flex:1;height:3px;transition:background .45s,box-shadow .45s}.stageBar i.done{background:var(--accent-dim)}.stageBar i.cur{background:var(--accent-br);box-shadow:var(--lit)}.caseRule{background:var(--bg-card-hi);opacity:.75;height:1px;margin-top:20px}.stageRow{justify-content:space-between;align-items:baseline;padding:18px 0 0;display:flex}.stageRow .l{color:var(--accent)}.stageRow .n{font-size:var(--fs-xs);color:var(--t3);letter-spacing:.11em}.askRow{justify-content:space-between;align-items:baseline;margin:30px 0 11px;display:flex}.askRow .l{color:var(--t3)}.askRow .c{font-size:var(--fs-cap);color:var(--t3);letter-spacing:.08em}.option{text-align:left;border:1px solid var(--bg-card-hi);width:100%;font-size:var(--fs-m);color:#ffffffeb;cursor:pointer;background:#16224073;border-radius:13px;align-items:flex-start;gap:12px;margin-bottom:7px;padding:13px 14px;line-height:1.47;transition:border-color .18s,background .18s,opacity .25s;display:flex}.option:hover:not(:disabled){border-color:var(--primary-lt)}.option:disabled{cursor:default}.option .key{border:1px solid var(--bg-card-hi);width:21px;height:21px;font-size:var(--fs-cap);font-weight:var(--fw-b);color:var(--t3);border-radius:6px;flex:none;justify-content:center;align-items:center;margin-top:1px;transition:background .18s,border-color .18s,color .18s;display:flex}.option.picked{border-color:var(--glow);background:#3d6fd41a}.option.picked .key{background:var(--glow);border-color:var(--glow);color:#fff}.option.right{border-color:var(--ok);background:#2ecc7a17}.option.right .key{background:var(--ok);border-color:var(--ok);color:#06240f}@media (prefers-reduced-motion:no-preference){.option.right{animation:.34s cubic-bezier(.2,.8,.3,1) both optRight}@keyframes optRight{0%{transform:scale(1)}38%{transform:scale(1.022)}to{transform:scale(1)}}}.option.wrong{border-color:var(--err);background:#e8454517}.option.wrong .key{background:var(--err);border-color:var(--err);color:#fff}.option.faded{opacity:.4}.extract{margin-top:17px;padding-left:19px;position:relative}.extract:before{content:"";background:linear-gradient(180deg,var(--accent),#8c723440);border-radius:2px;width:2px;position:absolute;top:4px;bottom:4px;left:0}.extract p{font-size:var(--fs-l);color:#ffffffeb;line-height:1.6}.extractCite{color:var(--accent-dim);margin-top:10px}.extract.said:before{background:var(--bg-card-hi)}.extract.said p{font-size:var(--fs-m);color:var(--t1);line-height:1.6}.saidWho{color:var(--t3);margin-top:18px}.caseTop{align-items:center;gap:12px;padding:8px 0 14px;display:flex}.avatar{background:linear-gradient(135deg,var(--primary),var(--primary-lt));border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.caseTop h2{font-size:15px;font-weight:600}.caseTop p{color:var(--t2);font-size:12.5px}.progress{background:var(--bg-card-hi);border-radius:99px;height:6px;margin-bottom:18px;overflow:hidden}.progress i{background:linear-gradient(90deg,var(--primary-lt),var(--glow));border-radius:99px;height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);display:block}.context{font-size:var(--fs-m);color:var(--t2);margin-top:18px;line-height:1.6}.question{font-size:var(--fs-xl);font-weight:var(--fw-b);letter-spacing:-.016em;margin-top:20px;line-height:1.28}.chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{font-size:var(--fs-s);color:var(--accent-br);border:1px solid var(--accent-dim);background:#c9a84c0f;border-radius:10px;padding:8px 13px}.hint{font-size:var(--fs-xs);color:var(--t3);letter-spacing:.4px;margin:26px 0 10px}.backLink{color:var(--t2);border-radius:9px;align-items:center;gap:7px;margin:4px 0 2px;padding:6px 10px 6px 6px;font-size:13.5px;transition:color .15s,background .15s;display:inline-flex}.backLink:hover{color:var(--t1);background:#ffffff0d}.backLink svg{width:15px;height:15px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sheet{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050b16b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheetInner{background:var(--bg-elev);border:1px solid var(--bg-card-hi);width:100%;max-width:560px;max-height:82vh;padding:26px 20px calc(26px + env(safe-area-inset-bottom));border-bottom:none;border-radius:22px 22px 0 0;animation:.28s cubic-bezier(.3,0,.2,1) sheetUp;overflow-y:auto}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheetInner h3{color:var(--accent);margin-bottom:16px}.sheetInner p{font-size:var(--fs-l);color:var(--t2);margin-bottom:14px;line-height:1.62}
