:root{--navy:#082b57;--blue:#0865ed;--ink:#102a49;--muted:#61758f;--line:#cddceb;--soft:#f5f9fe;--good:#0b8a5b;--bad:#c83f4b;--cyan:#20a8b8;--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;align-content:center;justify-self:start;min-height:44px}.brand strong{font-size:15px}.brand span{font-size:12px;opacity:.68}.topbar nav{display:flex;align-items:stretch;height:68px}.topbar nav>*{display:flex;align-items:center;justify-content:center;min-width:68px;border-bottom:3px solid transparent;color:#fff;text-decoration:none;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:12px}.safe span{color:#a9d4ff}.safe a{display:flex;align-items:center;justify-content:flex-end;min-height:44px}main{max-width:1420px;margin:auto;padding:24px}.hero,.concept,.studio,.optional-zone,.boundary{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:880px;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,.hero aside small{font-size:12px;opacity:.78}.hero aside strong{margin:7px 0;font-size:20px}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:700px;margin-top:18px}.hero details p{margin:0 0 14px;font-size:13px}.concept{margin-top:14px;padding:20px 24px}.concept>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.concept h2,.studio h2,.boundary h2{margin:2px 0;font-size:20px}.concept header small,.source header small,#writing header small,.preview header small{color:var(--blue);font-size:12px;font-weight:800}.concept>header>strong{color:var(--bad);font-size:12px}.concept-flow{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;align-items:center;margin:16px 0}.concept-flow article{display:grid;grid-template-columns:34px 1fr;gap:0 10px;align-items:center;min-height:74px;padding:13px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:8px}.concept-flow article>b{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7f1ff;color:var(--blue);font-size:12px}.concept-flow article span{font-weight:800}.concept-flow article strong{color:var(--muted);font-size:12px}.concept-flow>i{text-align:center;color:#7ba8d8;font-size:18px;font-style:normal}.concept>footer{border-top:1px solid var(--line);padding-top:12px;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:12px;color:var(--muted)}.step-rail .current b{border-color:var(--blue);background:#e9f2ff;color:var(--blue)}
.studio{margin-top:14px;overflow:hidden}.source{padding:24px;background:var(--navy);color:#fff}.source>header p{max-width:760px;margin:8px 0 16px;color:#b9cae0}.source-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.sample-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.source button,#check-plan,.student-writing>button,.preview button{min-height:44px;border:1px solid #79aaf3;border-radius:7px;background:var(--blue);padding:8px 12px;color:#fff;font:800 12px inherit;cursor:pointer}.source button:last-child{background:#14385d}.source-intake>label{display:block;margin-top:10px;border:1px dashed #65809f;border-radius:7px;padding:12px;color:#d5e2f2;font-size:12px}.source input[type=file]{display:block;width:100%;min-height:44px;margin-top:8px;color:#fff;font:12px inherit}.source p{color:#b9cae0;font-size:12px}.source dl{margin:0}.source dl div{border-top:1px solid #35506f;padding:8px 0}.source dt{color:#7fd6de;font-size:12px}.source dd{margin:3px 0 0;font-size:12px;overflow-wrap:anywhere}.source>fieldset{margin:16px 0 0;border:0;border-top:1px solid #35506f;padding:12px 0}.source>fieldset legend{padding-right:8px;font-size:12px;font-weight:800}.source>fieldset label{display:flex;align-items:center;gap:8px;min-height:44px;border-bottom:1px solid #274562;color:#dbe8f7;font-size:12px;cursor:pointer}.source-memory{font-size:12px}#source-memory{margin-top:12px;border-left:3px solid var(--cyan);background:#102944;padding:12px}#source-memory p{margin:6px 0}.source-ready .studio{display:grid;grid-template-columns:360px 1fr}.source-ready .source-grid{grid-template-columns:1fr}.source-ready #writing{display:block}#writing{display:none;padding:24px;background:#f8fbff}#writing>header p{margin:5px 0 16px;color:var(--muted)}.writing-plan{display:grid;gap:10px}.writing-plan fieldset{margin:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}.writing-plan legend{padding:0 5px;color:var(--ink);font-size:12px;font-weight:800}.writing-plan label{display:flex;align-items:center;gap:8px;min-height:44px;border-top:1px solid #e6edf5;padding:8px 2px;color:var(--muted);font-size:12px;line-height:1.45;cursor:pointer}.writing-plan label:first-child{border-top:0}.writing-plan label:has(input:checked){color:var(--ink);font-weight:700}.writing-plan input{width:17px;height:17px;margin:0;accent-color:var(--blue)}#check-plan{width:100%;margin-top:2px}#check-plan:disabled{cursor:not-allowed;opacity:.4}#plan-status,#status{min-height:44px;margin:0;padding:9px 0;color:var(--muted);font-size:12px}#plan-status.pass,#status.pass{border-left:3px solid var(--good);background:#eaf8f3;padding:9px;color:#28644f}#plan-status.fail,#status.fail{border-left:3px solid var(--bad);background:#fff0f1;padding:9px;color:#8e3531}.student-writing{display:none;margin:18px 0 0;border:0;border-top:2px solid var(--blue);padding:18px 0 0}.plan-ready .student-writing{display:block}.student-writing>legend{padding:0 8px;color:var(--blue);font-size:12px;font-weight:800}.student-writing>label{display:block;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.student-writing label>span{display:flex;justify-content:space-between;gap:15px}.student-writing small{color:var(--muted);font-size:12px}.student-writing textarea{width:100%;min-height:96px;margin-top:10px;border:1px solid #b9cbe0;border-radius:6px;padding:10px;font:14px/1.6 inherit;resize:vertical}.student-writing output{display:block;text-align:right;color:var(--muted);font-size:12px}.student-writing>button{width:100%}.preview{display:none;grid-column:1/-1;padding:24px;border-top:1px solid var(--line)}.draft-ready .preview{display:block}.preview pre{min-height:360px;max-height:700px;overflow:auto;white-space:pre-wrap;border-radius:8px;background:#10233e;color:#dbe8f7;padding:20px;font:12px/1.75 Consolas,"Microsoft YaHei UI",monospace}.preview>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview button:disabled{opacity:.4;cursor:not-allowed}.preview footer{margin-top:12px;color:var(--muted);font-size:12px}
/* P273 · evidence responsibility handoff */.role-map{margin-top:18px;border-top:1px solid #35506f;padding-top:16px;display:grid;gap:10px}.role-map[hidden]{display:none}.role-map header small{color:#7fd6de;font-size:12px}.role-map h3{margin:5px 0 2px;font-size:16px}.role-map article{display:grid;gap:7px;border:1px solid #3a5a7d;border-left:3px solid var(--cyan);background:#122b48;padding:12px}.role-map article b,.role-map article span,.role-map article em,.role-map article code{font-size:12px}.role-map article em{color:#9db2cc;font-style:normal}.role-map article code{color:#7fd6de;overflow-wrap:anywhere}.role-map>i{color:#7fd6de;text-align:center;font-style:normal;font-weight:800}.role-map footer{border:1px solid #587492;background:#0b1c31;padding:12px}.role-map footer strong,.role-map footer span{display:block}.role-map footer span{margin-top:6px;color:#b9cae0;font-size:12px}.role-check>div+div{margin-top:8px;border-top:2px solid #e6edf5;padding-top:8px}.source-lineage{display:grid;gap:18px;margin:2px 0;padding:0;list-style:none}.source-lineage[hidden]{display:none}.source-lineage li{position:relative;display:grid;gap:5px;min-height:76px;border:1px solid #3a5a7d;border-top:3px solid var(--cyan);background:#102944;padding:10px}.source-lineage li:not(:last-child)::after{content:"↓";position:absolute;left:14px;bottom:-21px;color:#7fd6de;font-size:18px;font-weight:900}.source-lineage b,.source-lineage strong,.source-lineage code{font-size:12px}.source-lineage b{color:#7fd6de}.source-lineage code{color:#b9cae0;overflow-wrap:anywhere}
.optional-zone{margin-top:14px;padding:0 24px}.optional-zone>section{padding:4px 0 20px}.optional-zone p{max-width:980px;color:var(--muted)}.resources{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.resources a{display:grid;align-content:center;gap:5px;min-height:80px;border:1px solid var(--line);border-radius:7px;padding:12px;color:var(--ink);text-decoration:none}.resources a strong{color:var(--blue)}.resources a span{color:var(--muted);font-size:12px}.boundary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:14px;background:var(--navy);padding:22px;color:#fff}.boundary div{display:grid;gap:5px}.boundary span{color:#b9cae0}.next-action{display:none;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--blue);border-radius:7px;background:var(--blue);padding:8px 16px;color:#fff;text-decoration:none;font-weight:800}.draft-ready .next-action{display:flex}.safety{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:12px}.safety strong{color:var(--bad)}.project-compass *,body .project-transfer *{font-size:12.5px!important}.project-compass a,body .project-transfer button,body .project-transfer label{min-height:44px}button:focus-visible,a:focus-visible,summary:focus-visible,label:focus-within,textarea:focus-visible,input:focus-visible{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}.source-ready .studio{grid-template-columns:320px 1fr}.resources{grid-template-columns:repeat(2,1fr)}.safety{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){main{padding:12px}.topbar{min-height:60px;padding:0 14px}.safe span{display:none}.hero{grid-template-columns:1fr}.hero>div,.hero aside,.concept,.source,#writing,.preview,.boundary{padding:17px}.hero h1{font-size:27px}.hero aside{min-height:112px}.concept>header{display:block}.concept>header>strong{display:block;margin-top:8px}.concept-flow{grid-template-columns:1fr}.concept-flow>i{transform:rotate(90deg)}.step-rail{display:flex;overflow-x:auto}.step-rail li{min-width:176px}.source-ready .studio{display:block}.source-grid{grid-template-columns:1fr}.student-writing label>span{display:block}.preview>div,.resources{grid-template-columns:1fr}.boundary{align-items:stretch;flex-direction:column}.safety{grid-template-columns:repeat(2,1fr)}.optional-zone{padding:0 17px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
