:root{--graphite: #22262b;--graphite-2: #2c3137;--graphite-line: rgba(255, 255, 255, .07);--on-graphite: #e7eaed;--on-graphite-muted: #9aa3ad;--canvas: #eef0f2;--surface: #ffffff;--surface-2: #f6f7f8;--ink: #1d2126;--ink-2: #3d444c;--muted: #68717b;--line: #d8dce0;--line-2: #e6e9ec;--teal: #00a3a3;--teal-ink: #007a7a;--teal-wash: #e3f4f4;--warn: #9a6b00;--warn-wash: #fbf3df;--lv1: #f1f3f5;--lv2: #dde1e5;--lv3: #bcc3ca;--lv4: #7d8791;--lv5: #3a4148;--r-sm: 4px;--r: 8px;--r-lg: 12px;--shadow: 0 1px 2px rgba(20, 24, 28, .06), 0 4px 16px rgba(20, 24, 28, .05);--shadow-up: 0 2px 4px rgba(20, 24, 28, .07), 0 10px 28px rgba(20, 24, 28, .08);--ease: cubic-bezier(.2, .7, .2, 1);--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--shell: 1160px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--teal-ink);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:2px}img,svg{max-width:100%}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.num{white-space:nowrap}.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 20px}.skip{position:absolute;left:-999px;top:0;background:var(--surface);padding:8px 12px;z-index:10}.skip:focus{left:12px;top:12px}.muted{color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.eyebrow{font:500 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink);margin:0 0 10px}.mast{background:var(--graphite);color:var(--on-graphite);border-bottom:1px solid #16191c;position:sticky;top:0;z-index:5}.mast .shell{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}.wordmark{display:flex;align-items:center;gap:10px;color:var(--on-graphite);text-decoration:none;min-width:0}.wordmark img{width:28px;height:28px;flex:none}.wordmark b{display:block;font-weight:600;font-size:16px;letter-spacing:.01em;line-height:1.2}.wordmark small{display:block;font:11px/1.3 var(--mono);color:var(--on-graphite-muted);letter-spacing:.08em}.wordmark:hover{color:#fff}.nav{display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end}.nav a{color:var(--on-graphite-muted);text-decoration:none;font-size:14px;padding:6px 10px;border-radius:var(--r-sm);transition:color .2s var(--ease),background .2s var(--ease)}.nav a:hover{color:#fff;background:#ffffff0f}.nav a[aria-current=page]{color:#fff;box-shadow:inset 0 -2px 0 var(--teal);border-radius:0}.hero{background-color:var(--graphite);background-image:linear-gradient(var(--graphite-line) 1px,transparent 1px),linear-gradient(90deg,var(--graphite-line) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;color:var(--on-graphite);padding:44px 0 40px}.hero h1{font-size:clamp(28px,4.2vw,42px);line-height:1.2;font-weight:600;letter-spacing:-.02em;margin:0;color:#fff}.hero .lede{color:#c3c9cf;max-width:720px;margin:14px 0 0;font-size:16.5px}.hero .eyebrow{color:#4fd1d1}.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:end}.formula{font:13px/1.9 var(--mono);color:var(--on-graphite-muted);border-left:2px solid var(--teal);padding:4px 0 4px 16px}.formula b{color:#fff;font-weight:500}.formula .t{color:#4fd1d1}.page-head{padding:34px 0 30px}.page-head h1{font-size:clamp(26px,3.4vw,34px)}.crumbs{font:12px/1.5 var(--mono);color:var(--on-graphite-muted);margin:0 0 12px;letter-spacing:.04em}.crumbs a{color:var(--on-graphite-muted)}.crumbs a:hover{color:#fff}.section{padding:40px 0}.section+.section{padding-top:8px}.section-title{display:flex;align-items:baseline;gap:14px;margin:0 0 18px}.section-title h2{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0}.section-title .idx{font:12px/1 var(--mono);color:var(--teal-ink);letter-spacing:.1em}.panel{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:8px;font:500 14px/1 var(--sans);padding:11px 16px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease);min-height:44px}.btn:hover{border-color:var(--teal);color:var(--ink);transform:translateY(-1px)}.btn.solid{background:var(--graphite);color:#fff;border-color:var(--graphite)}.btn.solid:hover{background:var(--graphite-2);color:#fff;box-shadow:inset 0 -2px 0 var(--teal)}.bench{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.line{padding:22px 22px 20px}.line-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--line-2);padding-bottom:12px;margin-bottom:16px}.line-head h3{margin:0;font-size:18px;font-weight:600}.line-head .tag{font:12px/1 var(--mono);color:var(--muted);letter-spacing:.06em;white-space:nowrap}.line-head p{margin:4px 0 0;font-size:13px;color:var(--muted)}fieldset{border:0;padding:0;margin:0 0 14px;min-width:0}legend{font-size:13px;color:var(--ink-2);font-weight:600;margin-bottom:8px;padding:0}legend .mono{color:var(--muted);font-weight:400;margin-right:6px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{position:relative}.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.chip span{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r);font-size:14px;background:var(--surface);color:var(--ink-2);transition:all .18s var(--ease);line-height:1.35}.chip input:hover+span{border-color:var(--teal)}.chip input:checked+span{border-color:var(--teal);background:var(--teal-wash);color:var(--ink);box-shadow:inset 0 0 0 1px var(--teal)}.chip input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}.matrix{margin-top:16px}.matrix table{width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed}.matrix caption{text-align:left;font:12px/1.5 var(--mono);color:var(--muted);letter-spacing:.04em;padding:0 4px 4px}.matrix th{font-size:12px;font-weight:500;color:var(--muted);padding:4px;line-height:1.35}.matrix thead th{text-align:center}.matrix tbody th{text-align:left;width:34%}.matrix td{padding:0}.cell{width:100%;height:52px;border:1px solid transparent;border-radius:var(--r-sm);font:600 15px/1 var(--mono);cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}.cell small{font:400 10.5px/1 var(--sans);opacity:.8}.cell[data-lv="1"]{background:var(--lv1);color:var(--ink-2);border-color:var(--line-2)}.cell[data-lv="2"]{background:var(--lv2);color:var(--ink)}.cell[data-lv="3"]{background:var(--lv3);color:var(--ink)}.cell[data-lv="4"]{background:var(--lv4);color:#fff}.cell[data-lv="5"]{background:var(--lv5);color:#fff}.cell:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.cell[aria-pressed=true]{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal),0 6px 18px #00a3a338;position:relative}.cell[aria-pressed=true]:after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--teal)}.line-out{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);font-size:14px;color:var(--ink-2)}.line-out b{font:600 22px/1 var(--mono);color:var(--ink)}.verdict{margin-top:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:22px 24px;background:var(--graphite);color:var(--on-graphite);border-radius:var(--r-lg);box-shadow:var(--shadow-up)}.verdict h3{margin:0 0 6px;font-size:15px;color:var(--on-graphite-muted);font-weight:500}.verdict .eq{font:15px/1.8 var(--mono);color:#c3c9cf;overflow-wrap:anywhere}.verdict .eq b{color:#fff;font-weight:600}.verdict .eq .hit{color:#4fd1d1}.verdict .big{text-align:right}.verdict .big .n{font:600 56px/1 var(--mono);color:#fff;letter-spacing:-.02em}.verdict .big .n i{font-style:normal;color:var(--teal)}.verdict .big .l{font-size:14px;color:var(--on-graphite-muted);margin-top:6px}.verdict .why{grid-column:1 / -1;margin:0;font-size:14px;color:#c3c9cf;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.kind{margin-top:18px;padding:18px 22px}.kind .hint{margin:10px 0 0;font-size:14px;color:var(--ink-2)}.kind .hint.warn{background:var(--warn-wash);color:#5c4300;padding:10px 12px;border-radius:var(--r);border:1px solid #efdca8}.duo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:start}.duties{padding:22px 24px}.duties h3,.levelcard h3{margin:0 0 4px;font-size:18px;font-weight:600}.duties ol{list-style:none;counter-reset:d;margin:14px 0 0;padding:0}.duties li{counter-increment:d;position:relative;padding:12px 0 12px 44px;border-top:1px solid var(--line-2);font-size:15px}.duties li:before{content:counter(d,decimal-leading-zero);position:absolute;left:0;top:13px;font:12px/1.6 var(--mono);color:var(--teal-ink);background:var(--teal-wash);padding:0 6px;border-radius:3px}.duties .refs{display:block;margin-top:4px;font:12px/1.6 var(--mono);color:var(--muted)}.duties .refs a{color:var(--muted)}.duties .refs a:hover{color:var(--teal-ink)}.levelcard{padding:22px 24px}.levelcard blockquote{margin:12px 0 0;padding:12px 14px;background:var(--surface-2);border-left:2px solid var(--teal);border-radius:0 var(--r) var(--r) 0;font-size:14.5px;color:var(--ink-2)}.levelcard cite{display:block;margin-top:6px;font:normal 11.5px/1.5 var(--mono);color:var(--muted)}.caveat{margin-top:18px;padding:14px 16px;border:1px dashed var(--line);border-radius:var(--r);font-size:13.5px;color:var(--ink-2);background:var(--surface-2)}.ref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ref{padding:18px 20px}.ref h3{margin:0 0 8px;font-size:15.5px;font-weight:600}.ref ul{margin:0;padding-left:18px;font-size:14px;color:var(--ink-2)}.ref li{margin:3px 0}.ref p{margin:0;font-size:14px;color:var(--ink-2)}.ref .src{margin-top:10px;font:11.5px/1.5 var(--mono);color:var(--muted)}.static-matrix{overflow-x:auto}.static-matrix table{border-collapse:collapse;width:100%;background:var(--surface);font-size:14px}.static-matrix th,.static-matrix td{border:1px solid var(--line);padding:10px 12px;text-align:center}.static-matrix tbody th{text-align:left;font-weight:500}.static-matrix thead th{background:var(--surface-2);font-weight:600}.static-matrix td{font-family:var(--mono)}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--mono);color:var(--teal-ink);transition:transform .2s var(--ease)}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{margin:10px 0 0;color:var(--ink-2);font-size:15px}.src-list{display:grid;gap:14px}.src-item{padding:20px 22px;scroll-margin-top:80px;transition:box-shadow .25s var(--ease)}.src-item:target{box-shadow:0 0 0 2px var(--teal),var(--shadow-up)}.src-item .top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;align-items:baseline}.src-item h3{margin:0;font-size:16px;font-weight:600}.src-item .clause{font:12.5px/1.5 var(--mono);color:var(--teal-ink);background:var(--teal-wash);padding:2px 8px;border-radius:3px}.src-item blockquote{margin:12px 0;padding:10px 14px;border-left:2px solid var(--graphite);background:var(--surface-2);font-size:15px}.src-item dl{display:grid;grid-template-columns:88px minmax(0,1fr);gap:4px 12px;margin:0;font-size:13.5px}.src-item dt{color:var(--muted)}.src-item dd{margin:0;color:var(--ink-2);overflow-wrap:anywhere}.own{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.own .panel{padding:18px 20px;border-style:dashed;box-shadow:none}.own h3{margin:0 0 6px;font-size:15.5px}.own p{margin:0;font-size:14.5px;color:var(--ink-2)}.badge{display:inline-block;font:11px/1.6 var(--mono);letter-spacing:.06em;padding:0 6px;border-radius:3px;border:1px solid var(--line);color:var(--muted);margin-left:6px;vertical-align:2px}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:40px;align-items:start}.prose{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:30px 34px;box-shadow:var(--shadow);font-size:16.5px;line-height:1.85;min-width:0}.prose>:first-child{margin-top:0}.prose h2{font-size:21px;font-weight:600;letter-spacing:-.01em;margin:34px 0 10px;padding-top:6px}.prose h3{font-size:17px;margin:24px 0 8px}.prose p{margin:12px 0}.prose blockquote{margin:16px 0;padding:12px 16px;background:var(--surface-2);border-left:2px solid var(--teal);border-radius:0 var(--r) var(--r) 0;color:var(--ink-2)}.prose blockquote cite{display:block;margin-top:6px;font:normal 12px/1.5 var(--mono);color:var(--muted)}.prose .tablewrap{overflow-x:auto;margin:16px 0}.prose table{border-collapse:collapse;width:100%;font-size:14.5px}.prose table.wide{min-width:600px}.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.prose th{background:var(--surface-2)}.prose td.num,.prose th.num{text-align:center}.prose .hl{background:var(--teal-wash);font-weight:600}.prose ol,.prose ul{padding-left:22px}.prose li{margin:6px 0}.prose .sources{font-size:14px;color:var(--ink-2);border-top:1px solid var(--line);margin-top:30px;padding-top:14px}.meta{font:12.5px/1.5 var(--mono);color:var(--on-graphite-muted);margin:10px 0 0}.aside{position:sticky;top:84px;padding:20px 22px}.aside h2{font-size:14px;margin:0 0 8px;font-weight:600}.aside h2+p{margin-top:0}.aside p,.aside li{font-size:14px;color:var(--ink-2)}.aside ol{padding-left:18px;margin:0 0 16px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{display:block;padding:22px;text-decoration:none;color:var(--ink);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-up);border-color:var(--teal);color:var(--ink)}.card h2,.card h3{font-size:18px;margin:6px 0 8px;font-weight:600;line-height:1.45}.card p{margin:0;font-size:14.5px;color:var(--ink-2)}.card .meta{color:var(--muted);margin:0}.support{margin:8px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg)}.support p{margin:0;font-size:14px;color:var(--ink-2)}.footer{background:var(--graphite);color:var(--on-graphite-muted);font-size:13.5px;padding:26px 0}.footer .shell{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}.footer nav{display:flex;gap:16px;flex-wrap:wrap}.footer a{color:var(--on-graphite-muted);text-decoration:none}.footer a:hover{color:#fff}.reveal{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.reveal.in{opacity:1;transform:none}.flash{animation:flash .6s var(--ease)}@keyframes flash{0%{box-shadow:0 0 0 3px #00a3a380,var(--shadow-up)}to{box-shadow:var(--shadow-up)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}@media(max-width:960px){.hero-grid,.duo,.article-grid,.ref-grid{grid-template-columns:minmax(0,1fr)}.aside{position:static}}@media(max-width:820px){.bench,.own,.cards{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.shell{padding:0 16px}.mast .shell{flex-direction:column;align-items:flex-start;gap:4px;padding-top:10px;padding-bottom:6px}.mast{position:static}.nav{justify-content:flex-start;margin-left:-10px}.hero{padding:30px 0 28px}.line,.duties,.levelcard{padding:18px 16px}.matrix table{border-spacing:3px}.matrix tbody th{width:30%;font-size:11.5px}.matrix thead th{font-size:11px}.cell{height:48px;font-size:14px}.cell small{display:none}.verdict{grid-template-columns:minmax(0,1fr);padding:18px}.verdict .big{text-align:left}.verdict .big .n{font-size:44px}.prose{padding:20px 16px;font-size:16px}.support{flex-direction:column;align-items:flex-start}.src-item{padding:16px}.static-matrix{padding:10px!important}.static-matrix th,.static-matrix td{padding:8px 6px;font-size:13px}.prose th,.prose td{padding:7px 6px}.prose td.num,.prose th.num{white-space:nowrap}.src-item dl{grid-template-columns:minmax(0,1fr)}.src-item dt{margin-top:4px}}
