:root{--navy:#0d2b45;--blue:#245878;--steel:#607789;--ink:#25323b;--muted:#64727c;--paper:#fff;--ground:#eef2f4;--line:#cbd5db;--red:#a63d3d;--red-bg:#fff4f2;--shell:1120px;--body:780px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ground);color:var(--ink);font-family:"Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;font-size:16px;line-height:1.85}.skip-link{position:fixed;left:16px;top:-80px;background:var(--navy);color:#fff;padding:8px 13px;z-index:20}.skip-link:focus{top:12px}.archive-header{background:var(--navy);color:#fff;border-bottom:4px solid #4d7796}.archive-header__inner{width:min(var(--shell),calc(100% - 64px));margin:auto;padding:44px 0 38px;display:flex;align-items:end;justify-content:space-between;gap:30px}.system-name,.system-subtitle,.eyebrow,.section-no,.case-status dt,.case-status dd,code,.case-closed,.number-pair strong,.number-pair span{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}.system-name{letter-spacing:.16em;font-size:12px;margin:0 0 9px;color:#b9d2e2}.archive-header h1{font-size:clamp(30px,5vw,48px);line-height:1.22;letter-spacing:-.04em;margin:0}.system-subtitle{font-size:13px;letter-spacing:.16em;margin:8px 0 0;color:#bfd7e5}.case-status{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));margin:0;border-left:1px solid #53728a}.case-status div{padding:0 0 0 18px}.case-status div+div{border-left:1px solid #53728a;margin-left:18px}.case-status dt{font-size:10px;letter-spacing:.09em;color:#bcd1df}.case-status dd{font-size:15px;font-weight:700;letter-spacing:.05em;margin:3px 0 0}.layout{width:min(var(--shell),calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:235px minmax(0,1fr);gap:56px;padding:45px 0 70px}.chapter-nav{align-self:start;position:sticky;top:18px}.chapter-nav details{background:#f9fbfc;border:1px solid var(--line)}.chapter-nav summary{cursor:pointer;list-style:none;color:var(--navy);font-weight:700;padding:12px 15px;border-bottom:1px solid var(--line)}.chapter-nav summary::-webkit-details-marker{display:none}.chapter-nav summary span{float:right;color:var(--steel);font:12px ui-monospace,monospace}.chapter-nav nav{display:grid;padding:7px 0}.chapter-nav a{font-size:12px;line-height:1.35;color:#536c7c;text-decoration:none;padding:5px 15px}.chapter-nav a:hover,.chapter-nav a:focus{background:#e7f0f5;color:var(--navy)}.dossier{min-width:0;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 34px rgba(26,52,70,.06)}.section{padding:50px min(7vw,78px);border-bottom:1px solid var(--line);scroll-margin-top:20px}.section:last-child{border-bottom:0}.opening{background:linear-gradient(145deg,#f7fafc,#fff 55%,#edf3f6)}.eyebrow,.section-no{font-size:11px;letter-spacing:.14em;color:var(--blue);font-weight:700;margin:0 0 11px}.opening h2,.section h2{color:var(--navy);font-size:clamp(26px,3.3vw,38px);letter-spacing:-.04em;line-height:1.32;margin:0 0 19px}.lead{font-size:20px;color:#415c6d;margin-top:0}.section p{margin:0 0 16px}.section p:last-child{margin-bottom:0}blockquote{margin:27px 0;padding:16px 22px;border-left:4px solid var(--blue);background:#f3f7f9;color:#183f57;font-size:20px;line-height:1.7;font-family:Georgia,"Songti SC",serif}blockquote small{font-family:"Microsoft YaHei",sans-serif;font-size:14px;color:var(--muted)}.disclosure-grid,.model-grid,.definition-grid,.copy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.disclosure-grid div,.model-grid div,.definition-grid div,.copy-grid div{border:1px solid var(--line);padding:16px 17px;background:#fbfcfd}.disclosure-grid strong{display:block;font-size:14px;color:var(--navy)}.disclosure-grid span{display:block;margin-top:4px;font-size:12px;line-height:1.6;color:var(--muted)}.spoiler{color:var(--red);font-weight:700}.model-grid{grid-template-columns:repeat(2,1fr)}.model-grid span{font:700 20px ui-monospace,monospace;color:var(--blue)}.model-grid h3,.definition-grid h3,.copy-grid h3{font-size:17px;color:var(--navy);margin:6px 0}.model-grid p,.copy-grid p{font-size:14px;line-height:1.75;margin:0}.puzzle-card{border:1px solid var(--line);margin:18px 0;background:#fcfdfe}.puzzle-card h3{font-size:17px;color:var(--navy);padding:13px 17px;margin:0;background:#edf3f7;border-bottom:1px solid var(--line)}.puzzle-card dl{margin:0}.puzzle-card dl div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid #dde4e8;padding:10px 17px;gap:12px}.puzzle-card dl div:last-child{border-bottom:0}.puzzle-card dt{font-size:13px;color:var(--steel);font-weight:700}.puzzle-card dd{margin:0;font-size:14px}.number-pair{display:grid;grid-template-columns:1fr 1fr;margin:25px 0;border:2px solid var(--navy)}.number-pair div{padding:20px 22px}.number-pair div+div{border-left:1px solid var(--line)}.number-pair strong{display:block;color:var(--navy);font-size:48px;line-height:1}.number-pair span{display:block;letter-spacing:.15em;font-size:12px;color:var(--blue);margin-top:7px}.number-pair p{font-size:13px;line-height:1.65;margin:10px 0 0}.branch{border:1px dashed #9fb1bd;padding:15px 18px;margin:24px 0;background:#f9fbfc}.branch p{margin:3px 0}.mistake-section{background:var(--red-bg);border-left:4px solid var(--red)}.wrong-answer{font-size:25px;color:var(--red);font-weight:700}.definition-grid{grid-template-columns:1fr 1fr}.definition-grid code{font-size:13px;color:var(--blue)}.copy-grid{grid-template-columns:1fr 1fr}.character-card{border-top:3px solid var(--blue);background:#f6f9fa;padding:20px 23px}.character-card h3{margin:0 0 10px;color:var(--navy)}.character-card p{margin:8px 0;font-size:14px}.character-card strong{color:var(--navy)}.table-wrap{overflow:auto;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:650px;font-size:13px;line-height:1.65}th{background:#eaf1f5;color:var(--navy);text-align:left}th,td{padding:11px 13px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}td code,code{overflow-wrap:anywhere;font-size:.93em;color:#123f5c;background:#edf3f6;padding:1px 4px}.planned-list,.mistake-list{padding-left:22px;margin:20px 0}.planned-list li,.mistake-list li{margin:10px 0;padding-left:5px}.timeline{list-style:none;margin:22px 0 0;padding:0;border-left:2px solid #8ba9bc}.timeline li{position:relative;padding:0 0 20px 25px}.timeline li::before{content:"";position:absolute;left:-7px;top:10px;width:10px;height:10px;background:#fff;border:2px solid var(--blue);border-radius:50%}.final-phrase{font-size:clamp(36px,6vw,64px);line-height:1.1;color:var(--navy);font-weight:800;letter-spacing:-.08em;margin:38px 0 0!important}.closing{text-align:center;background:#0d2b45;color:#edf5f9}.closing p{margin-left:auto;margin-right:auto;max-width:590px}.closing blockquote{color:#fff;text-align:left;background:rgba(255,255,255,.07);border-left-color:#b8d8e9}.case-closed{color:#b8d8e9;letter-spacing:.16em;font-size:15px;font-weight:700;margin-top:35px!important}.case-closed span{font-size:12px}.archive-footer{padding:18px max(32px,calc((100vw - var(--shell))/2));display:flex;gap:20px;justify-content:space-between;align-items:center;color:#5e707c;font-size:12px}.back-top{border:1px solid #91a5b2;background:#fff;color:var(--navy);padding:6px 11px;cursor:pointer;font:inherit}.back-top:hover{background:var(--navy);color:#fff}@media(max-width:950px){.layout{grid-template-columns:1fr;gap:18px;padding-top:22px}.chapter-nav{position:static}.chapter-nav summary{padding:13px 15px}.chapter-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-header__inner{align-items:start;flex-direction:column}.case-status{width:100%;max-width:360px}.section{padding:43px min(7vw,58px)}}@media(max-width:600px){body{font-size:15px;line-height:1.8}.archive-header__inner,.layout{width:calc(100% - 32px)}.archive-header__inner{padding:31px 0 28px;gap:20px}.case-status{grid-template-columns:1fr 1fr}.case-status div{padding-left:12px}.case-status div+div{margin-left:12px}.chapter-nav nav{grid-template-columns:1fr}.dossier{border-left:0;border-right:0}.section{padding:34px 22px}.lead{font-size:17px}.section h2{font-size:27px}.disclosure-grid,.model-grid,.definition-grid,.copy-grid,.number-pair{grid-template-columns:1fr}.number-pair div+div{border-left:0;border-top:1px solid var(--line)}.puzzle-card dl div{grid-template-columns:1fr;gap:2px}.puzzle-card dt{font-size:12px}.number-pair strong{font-size:42px}blockquote{font-size:18px;padding:14px 17px;margin:22px 0}.archive-footer{padding:16px;display:grid;grid-template-columns:1fr auto;gap:8px;font-size:11px}.archive-footer span:nth-child(2){grid-column:1/-1}.final-phrase{font-size:48px}}
