@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,ul,ol,figure{margin:0}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit}}@layer theme;@layer base{:root{--compass:#243f48;--coral:#bd5b48;--sand:#eee7d7;--mist:#d8e3e1;--ink:#17272b;--paper:#f7f4ec;--panel:#fffdf8;--line:#bacac7;--muted:#51666b;color:var(--ink);background:var(--paper);font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif}body{background:radial-gradient(circle at 92% 7%,#bd5b481a,transparent 26rem),linear-gradient(90deg,transparent 0 49.8%,#243f4809 50%,transparent 50.2%),var(--paper);min-width:0;line-height:1.72;overflow-x:hidden}a{color:#245d63;text-underline-offset:.2em}a:hover{color:#8e382d}:focus-visible{outline-offset:3px;outline:3px solid #b84b37}h1,h2,h3{text-wrap:balance;font-family:Songti SC,Noto Serif SC,Source Han Serif SC,serif;line-height:1.2}h1{letter-spacing:-.045em;font-size:clamp(2.25rem,7vw,5.4rem)}h2{font-size:clamp(1.55rem,3vw,2.5rem)}h3{font-size:1.22rem}p,li{max-width:44rem}main{min-height:70vh}.skip{z-index:20;background:#fff;padding:.75rem;position:fixed;top:-6rem;left:1rem}.skip:focus{top:1rem}.mast{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;max-width:82rem;margin:auto;padding:1.1rem clamp(1rem,4vw,3.5rem);display:flex}.brand{color:var(--compass);align-items:center;gap:.7rem;font:700 1.15rem/1.1 Songti SC,serif;text-decoration:none;display:flex}.brand>span:first-child{border:1px solid;border-radius:50%;place-items:center;width:2.3rem;height:2.3rem;font-size:1.4rem;display:grid}.brand small{letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-top:.22rem;font:500 .62rem/1 sans-serif;display:block}.mast nav{flex-wrap:wrap;gap:1.1rem;display:flex}.mast nav a{white-space:nowrap;font-size:.9rem;font-weight:700;text-decoration:none}.mast nav a[aria-current=page]{color:var(--coral);text-decoration:underline .15rem}footer{border-top:1px solid var(--line);max-width:82rem;color:var(--muted);gap:.8rem;margin:5rem auto 0;padding:2.5rem clamp(1rem,4vw,3.5rem);font-size:.9rem;display:grid}}@layer components{.wrap{width:min(100% - 2rem,76rem);margin-inline:auto}.narrow{width:min(100% - 2rem,48rem);margin-inline:auto}.hero{grid-template-columns:minmax(0,1.25fr) minmax(16rem,.75fr);align-items:end;gap:clamp(2rem,6vw,6rem);padding:clamp(3.5rem,8vw,8rem) 0 3rem;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--coral);font-size:.76rem;font-weight:800}.lede{color:var(--muted);margin-top:1.4rem;font-size:clamp(1.08rem,2vw,1.35rem)}.compass-card{border:1px solid var(--line);background:repeating-radial-gradient(circle,transparent 0 2.8rem,#243f4814 2.85rem 2.9rem),var(--panel);border-radius:50%;place-items:center;min-height:20rem;display:grid;position:relative;box-shadow:0 1.5rem 4rem #17272b14}.compass-card:before,.compass-card:after{content:"";background:var(--coral);position:absolute}.compass-card:before{width:1px;height:72%}.compass-card:after{width:72%;height:1px}.compass-card strong{z-index:1;text-align:center;max-width:12rem;font:700 1.35rem/1.35 Songti SC,serif}.compass-card span{color:var(--coral)}.section{padding:3.7rem 0}.section-head{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.6rem;display:flex}.section-head p{color:var(--muted)}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.card{background:var(--panel);border:1px solid var(--line);min-width:0;color:var(--ink);border-radius:1rem;padding:1.35rem;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:block;box-shadow:0 .5rem 1.5rem #17272b09}.card>*+*{margin-top:.75rem}.card:hover,.card:focus-visible{color:var(--ink);border-color:var(--coral);background:#fff;transform:translateY(-.18rem);box-shadow:0 1rem 2.3rem #17272b21}.card:focus-visible{outline-offset:3px;outline:4px solid #b84b37}.card-cta{color:#245d63;font-weight:800;display:block}.tag{background:var(--mist);letter-spacing:.04em;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.warning{border-left:.25rem solid var(--coral);background:#fff2eb;padding:1rem 1.15rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.4rem;display:flex}.button,button{appearance:none;border:1px solid var(--compass);background:var(--compass);color:#fff;cursor:pointer;border-radius:999px;padding:.7rem 1.05rem;font-weight:800;text-decoration:none}.button.secondary,button.secondary{color:var(--compass);background:0 0}.tool-shell{padding:3rem 0}.tool-head{max-width:56rem;margin-bottom:2rem}.tool-head>*+*{margin-top:1rem}.tool-grid{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);align-items:start;gap:1.5rem;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:1rem;min-width:0;padding:1.4rem}.panel>*+*{margin-top:1rem}.fields{gap:.9rem;display:grid}.field{gap:.35rem;display:grid}.field label,.field>span{font-size:.9rem;font-weight:800}.field input,.field select,.field textarea{color:#152629;background:#fff;border:1px solid #8fa5a3;border-radius:.55rem;width:100%;min-width:0;padding:.7rem}.field textarea{resize:vertical;min-height:7rem}.help,.muted{color:var(--muted);font-size:.88rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.metric{background:#edf4f2;border-radius:.75rem;padding:1rem}.metric strong{font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,4vw,2.4rem);display:block}.result-list{gap:.7rem;padding:0;list-style:none;display:grid}.result-list li{border:1px solid var(--line);border-radius:.7rem;padding:.85rem}.timeline{border-left:2px solid var(--line);gap:.75rem;padding-left:1.2rem;display:grid}.timeline li::marker{color:var(--coral)}.path-hero{padding:4rem 0 2rem}.steps{counter-reset:steps;gap:1rem;margin-top:1.5rem;padding:0;list-style:none;display:grid}.steps li{counter-increment:steps;background:var(--panel);border:1px solid var(--line);border-radius:1rem;grid-template-columns:3rem 1fr;align-items:start;gap:1rem;padding:1.2rem;display:grid}.steps li:before{content:counter(steps,decimal-leading-zero);background:var(--compass);color:#fff;border-radius:50%;place-items:center;width:3rem;height:3rem;font-weight:900;display:grid}.situation-nav{border:1px solid var(--line);background:#fffdf8e0;border-radius:1rem;align-items:center;gap:.75rem;margin-top:1.25rem;padding:.7rem;display:flex}.situation-label{color:var(--muted);letter-spacing:.08em;flex:none;padding:.35rem .55rem;font-size:.76rem;font-weight:900}.situation-scroll{scrollbar-width:thin;gap:.4rem;padding:.2rem;display:flex;overflow-x:auto}.situation-scroll a{white-space:nowrap;border-radius:999px;flex:none;padding:.42rem .68rem;font-size:.82rem;font-weight:800;text-decoration:none}.situation-scroll a.current{background:var(--compass);color:#fff}.situation-scroll a.related{background:var(--mist)}.content-page{max-width:82rem}.article-layout{grid-template-columns:minmax(0,48rem) minmax(0,1fr);gap:2.5rem;display:grid}.prose{min-width:0;font-size:1.02rem}.prose>*+*{margin-top:1.15rem}.prose h2{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:.7rem}.prose h3{margin-top:2.2rem}.prose ul,.prose ol{padding-left:1.35rem}.prose blockquote{border-left:.25rem solid var(--coral);background:#fff2eb;margin:1.2rem 0;padding:.9rem 1.1rem}.prose table{margin-top:1.25rem}.prose a{overflow-wrap:anywhere}.digest{border:1px solid var(--line);background:var(--panel);border-radius:1rem;max-width:52rem;padding:1.5rem}.detail-action{color:var(--muted);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.toc{border:1px solid var(--line);background:var(--panel);border-radius:.8rem;font-size:.88rem}.toc ol{gap:.45rem;margin-top:.7rem;padding-left:1.25rem;display:grid}.toc a{text-decoration:none}.toc-desktop{grid-area:1/2;align-self:start;padding:1rem;position:sticky;top:1rem}.toc-mobile{margin-bottom:1.4rem;padding:.8rem 1rem;display:none}.toc-mobile summary{cursor:pointer;font-weight:800}.related-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.prev-next{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;display:grid}.prev-next a{border:1px solid var(--line);background:var(--panel);border-radius:.8rem;gap:.25rem;padding:1rem;text-decoration:none;display:grid}.prev-next a:last-child{text-align:right}.prev-next span{color:var(--muted);font-size:.78rem}.quiz-option{text-align:left;border-radius:.65rem;width:100%;margin:.55rem 0;display:block}.quiz-option.correct{background:#276b55}.quiz-option.wrong{background:#9b3e35}.progress{background:var(--mist);border-radius:999px;height:.5rem;overflow:hidden}.progress span{background:var(--coral);height:100%;display:block}.family-editors,.family-results{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:start;gap:1.25rem;display:grid}.member-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.member-heading h2{margin:0}.member-result{height:100%}table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.7rem}code{overflow-wrap:anywhere}}@layer utilities{[hidden]{display:none!important}.stack>*+*{margin-top:1rem}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=760px){.mast{align-items:flex-start;display:grid}.mast nav{flex-wrap:nowrap;max-width:calc(100vw - 2rem);padding:.35rem 0;display:flex;overflow-x:auto}.hero,.tool-grid,.article-layout{grid-template-columns:1fr}.compass-card{max-width:17rem;min-height:17rem}.grid,.metrics{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:.7rem}h1{font-size:clamp(2.15rem,12vw,3.6rem)}.toc-desktop{display:none}.toc-mobile{display:block}.prev-next{grid-template-columns:1fr}.situation-nav{align-items:flex-start;display:grid}.situation-scroll{max-width:calc(100vw - 3.5rem)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.mast,footer,.no-print{display:none!important}.panel,.card{break-inside:avoid;box-shadow:none}body{background:#fff}.wrap,.narrow{width:100%}body.print-scenarios .tool-shell>:not([data-scenario-section]){display:none!important}.scenario-calendar{font-size:.8rem;display:table}.scenario-calendar tr{break-inside:avoid}}}
