:root{--ink:#071b2c;--ink2:#0d2e46;--cyan:#1bd8d1;--blue:#2e77ff;--amber:#ffad42;--red:#ff626d;--paper:#f2f6f8;--white:#fff;--muted:#6f7f8a;--line:#d7e1e6;--shadow:0 12px 34px rgba(6,30,47,.10);--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit}
.skip{position:fixed;left:1rem;top:-4rem;z-index:1000;background:#fff;padding:.7rem 1rem;border-radius:8px}.skip:focus{top:1rem}
.topbar{height:74px;position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(7,27,44,.98);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid rgba(255,255,255,.1)}
.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;font-weight:800;color:var(--ink)}.brand b,.brand small{display:block}.brand small{color:#9cb6c8;font-size:.78rem;letter-spacing:.08em}
.top-actions{display:flex;gap:.7rem;align-items:center}.online{display:flex;gap:.45rem;align-items:center;font-size:.85rem;color:#b9ccd8}.online i{width:8px;height:8px;background:var(--cyan);border-radius:50%}.online.offline i{background:var(--amber)}
.ghost,.secondary,.danger-ghost,.primary,.text-btn,.file-label{border:0;border-radius:10px;padding:.62rem .95rem;font-weight:700}.ghost{background:rgba(255,255,255,.08);color:#fff}.primary{background:var(--cyan);color:var(--ink);box-shadow:0 8px 20px rgba(27,216,209,.24)}.secondary,.file-label{background:#e7eef2;color:var(--ink)}.danger-ghost{background:#fff0f1;color:#ad3340}.text-btn{background:transparent;color:#1768c9;padding:.35rem}
.rail{position:fixed;top:74px;bottom:0;left:0;width:190px;background:var(--ink);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.35rem;z-index:15}.nav-item{border:0;background:transparent;color:#9db2bf;text-align:left;border-radius:11px;padding:.75rem .8rem;font-weight:700}.nav-item span{font-size:.7rem;color:#688292;margin-right:.65rem}.nav-item:hover,.nav-item.active{background:rgba(27,216,209,.11);color:#fff}.nav-item.active span{color:var(--cyan)}
main{margin-left:190px;padding-top:74px;min-height:calc(100vh - 100px)}.view{display:none;padding:2rem 2.2rem 4rem;max-width:1500px;margin:auto}.view.active{display:block}.status-strip{background:#ffefd5;border:1px solid #f4ce8f;color:#6e4612;border-radius:12px;padding:.7rem 1rem;display:flex;gap:1rem;align-items:center;margin-bottom:1.2rem}.status-strip span{font-size:.9rem}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;background:var(--ink);color:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.hero-copy{padding:3rem}.eyebrow,.kicker{font-weight:800;letter-spacing:.16em;font-size:.72rem;color:#1ba7a3;margin:0 0 .5rem}.hero-copy .eyebrow{color:var(--cyan)}h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.04em;margin:.3rem 0 1rem}.hero-copy em{font-style:normal;color:var(--cyan)}.hero-copy>p:not(.eyebrow){color:#bdd0dc;max-width:660px}.hero-buttons{display:flex;gap:.7rem;margin-top:1.8rem}
.score-console{padding:2rem;background:linear-gradient(150deg,var(--ink2),#0a3b58);display:grid;place-items:center;align-content:center;gap:1rem}.score-ring{--score:0;width:190px;height:190px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--cyan) calc(var(--score)*1%),rgba(255,255,255,.09) 0);position:relative}.score-ring:before{content:"";position:absolute;inset:13px;background:var(--ink2);border-radius:50%}.score-ring div{position:relative;text-align:center}.score-ring b{font-size:3.5rem;line-height:1}.score-ring span{color:#8ca8ba}.score-status{text-align:center}.score-status small,.score-status span{display:block;color:#93aebe}.score-status strong{font-size:1.15rem}.module-bars{width:100%;display:grid;gap:.55rem}.module-row{display:grid;grid-template-columns:88px 1fr 54px;gap:.7rem;align-items:center;font-size:.82rem}.bar{height:6px;background:rgba(255,255,255,.1);border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;background:var(--cyan);border-radius:9px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem 1.15rem}.metric-grid span,.metric-grid small{display:block;color:var(--muted)}.metric-grid b{font-size:1.65rem;letter-spacing:-.03em}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;margin-top:1rem;box-shadow:0 4px 18px rgba(6,30,47,.04)}.split-panel{display:grid;grid-template-columns:.72fr 1.28fr;gap:2rem}.section-head,.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.section-head h2,.page-head h1{margin:.1rem 0}.page-head{margin-bottom:1.25rem}.page-head h1{font-size:2.25rem}.page-head p{margin:.35rem 0;color:var(--muted)}.page-actions{display:flex;gap:.5rem;flex-wrap:wrap}.file-label input{display:none}
.gate-list{list-style:none;padding:0;margin:1rem 0 0}.gate-list li{padding:.75rem 0;border-top:1px solid var(--line)}.gate-list b,.gate-list span{display:block}.gate-list span{color:var(--muted);font-size:.9rem}.decision-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:.5rem;background:#eef8fa;border-radius:15px;padding:1rem}.flow-node{min-width:0}.flow-node span{display:inline-grid;place-items:center;background:var(--ink);color:var(--cyan);width:28px;height:28px;border-radius:8px;font-size:.72rem;font-weight:800}.flow-node b,.flow-node small{display:block;margin-top:.35rem}.flow-node small{color:var(--muted)}.decision-flow>i{font-style:normal;color:#83a0ad}.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.start-grid article{border-left:3px solid var(--cyan);padding:.3rem 1rem}.start-grid p{color:var(--muted);margin:.4rem 0}
.filterbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.segmented{display:flex;background:#dde7eb;border-radius:12px;padding:4px;flex-wrap:wrap}.segmented button{border:0;background:transparent;border-radius:9px;padding:.55rem .8rem;color:#526873;font-weight:700}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(0,0,0,.07)}.search{background:#fff;border:1px solid var(--line);border-radius:11px;padding:.55rem .75rem;display:flex;gap:.5rem;min-width:320px}.search input{border:0;outline:0;width:100%;background:transparent}
.rubric-list{display:grid;gap:.8rem}.rubric-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.rubric-head{display:grid;grid-template-columns:74px 1fr auto auto;gap:1rem;align-items:center;padding:1rem 1.1rem}.rubric-id{font-weight:800;color:#157b83}.rubric-title b,.rubric-title small{display:block}.rubric-title small{color:var(--muted)}.score-pill{background:#eef7f8;border-radius:999px;padding:.3rem .65rem;font-weight:800;color:#176872}.rubric-toggle{border:0;background:#eef1f3;border-radius:8px;width:34px;height:34px}.rubric-body{display:none;padding:0 1.1rem 1.1rem;border-top:1px solid var(--line)}.rubric-card.open .rubric-body{display:block}.rubric-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}.rubric-columns article{background:#f5f8f9;border-radius:10px;padding:.8rem}.rubric-columns h3{font-size:.8rem;color:#57707d;margin:0 0 .3rem}.rubric-columns p{margin:0}.points{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.55rem}.point{display:flex;gap:.65rem;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:.65rem;background:#fff}.point-btn{width:30px;height:30px;flex:0 0 30px;border:1px solid #b9c7ce;border-radius:8px;background:#f2f5f6;font-weight:800}.point-btn.pass{background:#d8f8ed;border-color:#66d5ae;color:#08754e}.point-btn.fail{background:#ffe0e3;border-color:#ff9da5;color:#a82734}.point small{color:var(--muted);display:block}.critical-tag{display:inline-block;color:#a86300;background:#fff1d8;border-radius:4px;padding:0 .3rem;margin-left:.3rem;font-size:.7rem}
.scenario-tabs{display:flex;gap:.5rem;overflow:auto;padding-bottom:.7rem}.scenario-tabs button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.65rem .85rem;font-weight:700}.scenario-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.scenario-shell{display:grid;grid-template-columns:250px 1fr;gap:1rem}.role-panel,.round-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}.role-chip{display:block;border-left:3px solid var(--cyan);padding:.55rem .7rem;margin:.55rem 0;background:#f3f8f9}.scenario-goal{color:var(--muted)}.round{border-top:1px solid var(--line);padding:1rem 0}.round:first-child{border-top:0}.round h3{display:flex;align-items:center;gap:.5rem}.round h3 span{background:var(--ink);color:var(--cyan);border-radius:7px;padding:.15rem .45rem;font-size:.76rem}.evidence-box{background:#eef8fa;border-left:3px solid #1d91a2;padding:.8rem 1rem;border-radius:0 10px 10px 0}.answer-box{background:#fff5e7;border-left:3px solid var(--amber);padding:.8rem 1rem;border-radius:0 10px 10px 0;margin-top:.6rem}.observe-tags{display:flex;gap:.4rem;flex-wrap:wrap}.observe-tags span{background:#edf1f3;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}
.roadmap-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.roadmap-summary div{background:var(--ink);color:#fff;border-radius:14px;padding:1rem}.roadmap-summary span,.roadmap-summary small{display:block}.roadmap-summary span{color:var(--cyan);font-weight:800}.roadmap-summary small{color:#a9bfcc}.task-board{display:grid;gap:.65rem}.task-row{background:#fff;border:1px solid var(--line);border-radius:13px;padding:.9rem;display:grid;grid-template-columns:78px 1.35fr 1fr 1fr 140px;gap:1rem;align-items:center}.task-deadline{font-weight:900;color:#14777e}.task-main b,.task-main small,.task-role b,.task-role small{display:block}.task-main small,.task-role small{color:var(--muted)}.task-status{display:flex;gap:.35rem}.task-status button{border:1px solid var(--line);background:#f5f7f8;border-radius:7px;padding:.35rem .45rem;font-size:.75rem}.task-status button.active[data-state="done"]{background:#d7f8ec;color:#08704a}.task-status button.active[data-state="doing"]{background:#fff0d6;color:#925600}
.prompt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.prompt-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}.prompt-card header{display:flex;justify-content:space-between;gap:1rem}.prompt-card h2{margin:.1rem 0;font-size:1.2rem}.copy-btn{border:0;background:#e6eff2;border-radius:8px;padding:.45rem .7rem;font-weight:700}.prompt-text{background:var(--ink);color:#d7e7ee;border-radius:11px;padding:1rem;white-space:pre-wrap;font-size:.9rem;max-height:260px;overflow:auto}.prompt-note{color:var(--muted);font-size:.86rem}
.basis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.basis-card{background:#fff;border:1px solid var(--line);border-top:4px solid #7e97a4;border-radius:14px;padding:1.1rem}.basis-card.verified{border-top-color:var(--cyan)}.basis-card.cross{border-top-color:var(--blue)}.basis-card.mock{border-top-color:var(--amber)}.basis-card>span{font-size:.74rem;font-weight:900;letter-spacing:.12em;color:var(--muted)}.basis-card h2{font-size:1.25rem}.basis-card a{color:#1768c9;font-weight:700}.boundary-panel ol{padding-left:1.4rem}.boundary-panel li{margin:.7rem 0}.version-panel{display:grid;grid-template-columns:repeat(4,1fr)}.version-panel small,.version-panel b{display:block}.version-panel small{color:var(--muted)}
footer{margin-left:190px;min-height:90px;background:#dfe8ec;color:#536873;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2.2rem;font-size:.85rem}.toast{position:fixed;right:1.2rem;bottom:1.2rem;background:var(--ink);color:#fff;border-radius:10px;padding:.75rem 1rem;box-shadow:var(--shadow);transform:translateY(120px);opacity:0;transition:.25s;z-index:50}.toast.show{transform:none;opacity:1}
@media(max-width:1050px){.rail{width:76px}.nav-item{font-size:0;text-align:center}.nav-item span{font-size:.72rem;margin:0}.brand small{display:none}main,footer{margin-left:76px}.hero-grid,.split-panel{grid-template-columns:1fr}.decision-flow{grid-template-columns:1fr 1fr}.decision-flow>i{display:none}.task-row{grid-template-columns:65px 1fr 1fr}.task-role:nth-of-type(2){display:none}.task-status{grid-column:3}.scenario-shell{grid-template-columns:1fr}.role-panel{display:flex;gap:.5rem;overflow:auto}.role-panel h2{display:none}.role-chip{white-space:nowrap}}
@media(max-width:720px){.topbar{padding:0 .8rem}.brand b{font-size:.92rem}.top-actions .ghost:not(#installBtn),.online{display:none}.rail{top:auto;bottom:0;right:0;width:auto;height:66px;padding:.45rem;background:rgba(7,27,44,.98);flex-direction:row;justify-content:space-around}.nav-item{padding:.5rem .55rem}.nav-item span{font-size:.68rem;display:block}.view{padding:1rem .85rem 5.5rem}main{margin-left:0;padding-top:74px}.status-strip{display:block}.status-strip span{display:block}.hero-copy{padding:1.5rem}.hero-copy h1{font-size:2.35rem}.score-console{grid-template-columns:130px 1fr;padding:1.2rem}.score-ring{width:120px;height:120px}.score-ring b{font-size:2.4rem}.module-bars{grid-column:1/-1}.metric-grid{grid-template-columns:1fr 1fr}.split-panel{gap:.5rem}.decision-flow{grid-template-columns:1fr 1fr}.start-grid,.roadmap-summary,.prompt-grid,.basis-grid{grid-template-columns:1fr}.filterbar,.page-head{align-items:stretch;flex-direction:column}.search{min-width:0}.rubric-head{grid-template-columns:56px 1fr auto}.rubric-toggle{display:none}.rubric-body{display:block}.rubric-columns{grid-template-columns:1fr}.task-row{grid-template-columns:60px 1fr}.task-status{grid-column:1/-1}.version-panel{grid-template-columns:1fr 1fr;gap:1rem}.page-head h1{font-size:2rem}footer{margin-left:0;margin-bottom:66px;display:block;padding:1rem}footer span{display:block}.hero-buttons{flex-direction:column}}
@media print{.topbar,.rail,.page-actions,.filterbar,.hero-buttons,.text-btn,footer{display:none!important}main{margin:0;padding:0}.view{display:block!important;padding:1rem;break-after:page}.rubric-body{display:block}.scenario-tabs{display:none}.task-row{grid-template-columns:60px 2fr 1fr 1fr}.panel,.rubric-card,.task-row{box-shadow:none;break-inside:avoid}}
