:root{--navy:#082b57;--blue:#0865ed;--ink:#102a49;--muted:#61758f;--line:#cddceb;--soft:#f5f9fe;--good:#0b8a5b;--bad:#c83f4b;--amber:#c8780b;--radius:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#edf4fa;color:var(--ink);font:14px/1.55 "Segoe UI","Microsoft YaHei",sans-serif}.topbar{min-height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:0 28px;background:var(--navy);color:#fff}.topbar a{color:inherit;text-decoration:none}.brand{display:grid;justify-self:start}.brand strong{font-size:15px}.brand span{font-size:11px;opacity:.68}.topbar nav{display:flex;align-items:stretch;height:68px}.topbar nav>*{display:flex;align-items:center;min-width:64px;justify-content:center;border-bottom:3px solid transparent;font-size:12px}.topbar nav strong{border-color:#57a4ff}.topbar nav span{opacity:.42}.safe{display:grid;justify-self:end;text-align:right;font-size:11px}.safe span{color:#a9d4ff}.safe a{min-height:26px}
main{max-width:1420px;margin:auto;padding:24px}.hero,.identity,.intake,.workspace,.replay-view,.claim,.optional-zone{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 5px 18px rgba(29,67,110,.045)}.hero{display:grid;grid-template-columns:1.55fr .65fr;overflow:hidden}.hero>div{padding:34px 36px}.hero h1{max-width:850px;margin:0;font-size:35px;line-height:1.16;letter-spacing:-.025em}.hero p{margin:12px 0 0;color:var(--muted);font-size:15px}.hero aside{display:flex;flex-direction:column;justify-content:center;padding:28px;background:linear-gradient(135deg,#0a376d,#0865ed);color:#fff}.hero aside span{font-size:11px;opacity:.7}.hero aside strong{margin:7px 0;font-size:20px}.hero aside small{opacity:.78}details{border-top:1px solid var(--line)}details summary{min-height:44px;display:flex;align-items:center;gap:8px;color:#31577f;font-weight:700;cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}details summary:before{content:"+";display:grid;place-items:center;width:22px;height:22px;border:1px solid #a9bfd8;border-radius:50%;color:var(--blue)}details[open] summary:before{content:"−"}.hero details{max-width:680px;margin-top:18px}.hero details p{margin:0 0 14px;font-size:13px}
.identity{margin-top:14px;padding:20px 24px}.identity>header,.intake>header,.replay-view>header,.claim>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.identity h2,.intake h2,.workspace h2,.replay-view h2,.claim h2,.optional-zone h2{margin:2px 0;font-size:20px}.identity header small,.workspace header small{color:var(--blue);font-weight:800;font-size:11px}.identity>header>strong{color:var(--bad);font-size:12px}.identity-flow{display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr;align-items:center;margin:16px 0}.identity-flow article{display:grid;grid-template-columns:34px 1fr;gap:0 10px;align-items:center;padding:14px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:8px}.identity-flow article>b{grid-row:1/4;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7f1ff;color:var(--blue);font-size:11px}.identity-flow article>span{font-weight:800}.identity-flow article>strong{color:var(--blue);font:11px Consolas,monospace}.identity-flow article>small{color:var(--muted)}.identity-flow article:nth-of-type(2){border-top-color:var(--amber)}.identity-flow article:nth-of-type(3){border-top-color:var(--good)}.identity-flow>i{text-align:center;color:#7ba8d8;font-size:20px;font-style:normal}.identity-notes{display:grid;grid-template-columns:1fr 1fr;gap:18px}.identity-notes p{margin:0 0 14px;color:var(--muted)}
.step-rail{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 0 0;padding:0;list-style:none;border:1px solid var(--line);background:#fff}.step-rail li{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:9px;min-height:62px;padding:10px 16px;border-right:1px solid var(--line)}.step-rail li:last-child{border:0}.step-rail b{grid-row:1/3;display:grid;place-items:center;width:31px;height:31px;border:2px solid #b8cadd;border-radius:50%;color:#6a819a}.step-rail strong,.step-rail span{display:block}.step-rail strong{font-size:13px}.step-rail span{font-size:11px;color:var(--muted)}.step-rail .current b{border-color:var(--blue);background:#e9f2ff;color:var(--blue)}
.intake{margin-top:14px;padding:22px 24px}.intake>header{justify-content:flex-start}.intake>header>b,.replay-view>header>b,.claim>header>b{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#e6f0ff;color:var(--blue)}.intake header p,.replay-view header p,.claim header p{margin:2px 0;color:var(--muted)}.intake-body{display:grid;grid-template-columns:1.35fr .72fr;gap:24px;margin-top:18px}.origin-prediction{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0;padding:0;border:0}.origin-prediction legend{position:absolute;clip:rect(0 0 0 0)}.origin-prediction label{min-height:78px;display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.origin-prediction label:has(input:checked){border:2px solid var(--blue);background:#eef5ff}.origin-prediction input{width:18px;height:18px}.origin-prediction span{display:grid}.origin-prediction small{color:var(--blue);font:10px Consolas,monospace}.intake-actions{display:grid;gap:8px}.intake-actions p{min-height:22px;margin:0;color:var(--muted);font-size:12px}.intake-actions p.pass{color:var(--good)}.intake-actions p.fail{color:var(--bad)}button,.file-button,.next-link{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--blue);border-radius:6px;padding:0 14px;background:#fff;color:var(--blue);font:700 13px inherit;text-decoration:none;cursor:pointer}.intake-actions button{background:var(--blue);color:#fff}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.intake-actions>small{text-align:center;color:var(--muted);font-size:10px}.intake>details{margin-top:16px}.intake>details p,.replay-view>details p{margin:0 0 14px;color:var(--muted)}
.progressive{display:none}.dataset-loaded .workspace{display:grid}.structure-passed .replay-view{display:block}.claim-ready .claim{display:block}.workspace{grid-template-columns:.72fr 1.25fr .82fr;gap:0;margin-top:14px;overflow:hidden}.workspace>*{min-width:0;padding:20px}.workspace>*+*{border-left:1px solid var(--line)}.files ul{margin:10px 0;padding:0;list-style:none}.files li{padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;font:11px Consolas,monospace}.files dl,.authority dl,.replay-body dl{margin:0}.files dl div,.authority dl div,.replay-body dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}dt{color:var(--muted);font-size:11px}dd{margin:0;text-align:right;overflow-wrap:anywhere;font:11px Consolas,monospace}.gates>header{display:flex;align-items:center;justify-content:space-between}.gates>header>span{color:var(--blue);font-weight:800}.gates ol{margin:10px 0;padding:0;list-style:none}.gates li{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;min-height:50px;border-top:1px solid var(--line)}.gates li>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e9f1fa;color:var(--muted)}.gates li div{display:grid}.gates li span{color:var(--muted);font-size:11px}.gates li em{font-size:11px;font-style:normal}.gates li.pass b{background:#ddf5eb;color:var(--good)}.gates li.pass em{color:var(--good)}.gates li.fail b{background:#ffe6e8;color:var(--bad)}.gates li.fail em{color:var(--bad)}#first-reason{margin:0;padding:10px 12px;border-left:4px solid var(--blue);background:#eef5ff;font-size:12px}#first-reason.pass{border-color:var(--good);background:#eaf8f3}#first-reason.fail{border-color:var(--bad);background:#fff0f1}.authority-flow article{padding:10px 12px;border-left:3px solid var(--blue);background:var(--soft)}.authority-flow article b,.authority-flow article span{display:block}.authority-flow article span{color:var(--muted);font-size:11px}.authority-flow i{display:block;margin:4px 0 4px 13px;color:var(--blue);font-style:normal}.authority dl{margin-top:14px}
.replay-view{margin-top:14px;padding:22px 24px}.replay-view>header{justify-content:flex-start}.replay-view>header>strong{margin-left:auto;color:var(--blue)}.replay-body{display:grid;grid-template-columns:68px minmax(0,1fr) 300px;gap:14px;margin-top:18px}.replay-body nav{display:grid;align-content:start;gap:6px}.replay-body nav button{padding:0}.replay-body nav button.active{background:#eaf2ff}.replay-body nav button.mastered{box-shadow:inset 4px 0 var(--good)}.replay-body article,.replay-body>aside{min-width:0;border:1px solid var(--line);border-radius:7px;padding:12px}.replay-body svg{display:block;width:100%;height:auto;background:linear-gradient(#fff,#f7faff)}#grid line{stroke:#dfe8f2}#target-line{fill:none;stroke:#ef9438;stroke-width:4}#actual-line{fill:none;stroke:var(--blue);stroke-width:4}#points circle{fill:var(--blue)}.replay-body article footer{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:10px}.replay-body article footer small{margin-left:auto}.replay-body article footer i{display:inline-block;width:22px;height:3px;margin-right:5px;vertical-align:middle}.target-key{background:#ef9438}.actual-key{background:var(--blue)}.replay-body>aside>strong{font-size:16px}#axis-observation{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}#axis-observation fieldset{margin:0;padding:0;border:0}#axis-observation legend{margin-bottom:8px;font-weight:800}#axis-observation label,.claim fieldset label{min-height:44px;display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--line);color:#425d7b;font-size:12px}#axis-observation button{width:100%;margin-top:10px;background:var(--blue);color:#fff}#axis-observation p{min-height:34px;margin:8px 0 0;color:var(--muted);font-size:11px}#axis-observation p.pass{color:var(--good)}#axis-observation p.fail{color:var(--bad)}.replay-view>details{margin-top:16px}
.claim{margin-top:14px;padding:22px 24px}.claim>header{justify-content:flex-start}.claim fieldset{margin:16px 0;padding:0;border:0}.claim-explanation{display:grid;gap:7px}.claim-explanation>span{display:flex;justify-content:space-between;font-weight:800}.claim textarea{width:100%;min-height:108px;resize:vertical;border:1px solid var(--line);border-radius:7px;padding:12px;color:var(--ink);font:14px/1.6 inherit}.claim-actions{display:flex;gap:10px;margin-top:12px}.claim-actions button:first-child{background:var(--blue);color:#fff}.claim>p{margin:10px 0 0;color:var(--muted)}.claim>p.pass{color:var(--good)}.claim>p.fail{color:var(--bad)}button:disabled{cursor:not-allowed;opacity:.45}
.optional-zone{margin-top:14px;padding:0 24px}.optional-content{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:8px 0 22px}.optional-content p{color:var(--muted)}.optional-content a{color:var(--blue)}.next-link{width:max-content;background:var(--blue);color:#fff!important}.boundary{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:24px;padding:15px 24px;border-top:1px solid var(--line);background:#fff;color:var(--muted);text-align:center;font-size:10px}.boundary strong{color:var(--bad)}button:focus-visible,a:focus-visible,summary:focus-visible,label:focus-within{outline:3px solid rgba(8,101,237,.25);outline-offset:2px}
@media(max-width:1000px){.topbar{grid-template-columns:1fr auto}.topbar nav{display:none}.hero,.intake-body{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.workspace>*+*{border-left:0;border-top:1px solid var(--line)}.replay-body{grid-template-columns:60px 1fr}.replay-body>aside{grid-column:1/-1}.identity-flow{grid-template-columns:1fr 30px 1fr 30px 1fr}.boundary{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){main{padding:12px}.topbar{min-height:60px;padding:0 14px}.safe span{display:none}.hero>div,.hero aside,.identity,.intake,.workspace>*,.replay-view,.claim{padding:17px}.hero h1{font-size:27px}.hero aside{min-height:112px}.identity>header{display:block}.identity>header>strong{display:block;margin-top:8px}.identity-flow{grid-template-columns:1fr}.identity-flow>i{transform:rotate(90deg)}.identity-notes{grid-template-columns:1fr}.step-rail{display:flex;overflow-x:auto}.step-rail li{min-width:176px}.origin-prediction{grid-template-columns:1fr}.replay-body{grid-template-columns:1fr}.replay-body nav{display:flex;overflow-x:auto}.replay-body nav button{min-width:56px}.replay-body article footer{flex-wrap:wrap}.replay-body article footer small{width:100%;margin:0}.replay-view>header{align-items:flex-start;flex-wrap:wrap}.replay-view>header>strong{margin-left:44px}.claim-actions,.optional-content{display:grid;grid-template-columns:1fr}.claim-actions button{width:100%}.optional-zone{padding:0 17px}.boundary{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.brand{align-content:center;min-height:44px}.brand span,.safe,.hero aside span,.hero aside small,.identity header small,.workspace header small,.identity-flow article>b,.identity-flow article>strong,.identity-flow article>small,.step-rail span,.origin-prediction small,.intake-actions>small,.files li,dt,dd,.gates li span,.gates li em,.authority-flow article span,.replay-body article footer,.replay-body article footer small,#axis-observation p,.claim small,.boundary{font-size:12.5px}.safe a{display:flex;align-items:center;justify-content:flex-end;min-height:44px}.file-button{position:relative}.file-button input{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);opacity:0;cursor:pointer}.optional-content a{display:inline-flex;align-items:center;min-height:44px}.next-link{padding:0 14px}.project-compass *,body .project-transfer *{font-size:12.5px!important}.project-compass a,body .project-transfer button,body .project-transfer label{min-height:44px}
