
:root{--bg:#F4EDE3;--paper:#FFF8F0;--layer:#E8DCCB;--dark:#2F241A;--ink:#2A2118;--body:#3A3128;--muted:#6A5C4E;--brown:#8B5A2B;--orange:#C46A3A;--deep:#5C3A1E;--moss:#3D5C3A}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:136px}body{margin:0;background:var(--bg);color:var(--body);font:16px/1.78 system-ui,-apple-system,"Microsoft YaHei",sans-serif;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a,button,input{outline-offset:3px}a:hover,a:focus-visible{color:var(--orange)}button:hover,button:focus-visible,a:focus-visible{outline:2px solid var(--orange)}.shell{max-width:1160px;margin-inline:auto;padding-inline:24px}.skip{position:absolute;left:-9999px;top:0;z-index:300}.skip:focus{left:16px;background:var(--paper);padding:12px}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);box-shadow:0 1px 6px #2f241a16}.brandbar{min-height:68px;display:flex;align-items:center;gap:22px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:750;white-space:nowrap;color:var(--ink)}.brand img{max-height:30px;width:auto;max-width:150px;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:.16em;line-height:1.1;font-weight:600}.brand-motto{margin-inline:auto;color:var(--muted);font-size:13px;letter-spacing:.12em}.head-actions{display:flex;gap:12px;align-items:center}.icon-button{border:1px solid var(--layer);background:var(--paper);color:var(--ink);border-radius:10px;width:44px;height:44px;display:grid;place-items:center;font-size:24px}.app-link{font-size:14px;font-weight:700;white-space:nowrap}.topnav{background:#ead8c8;border-top:1px solid #dfcbbb}.nav-inner{display:flex;align-items:center;gap:28px;min-height:46px}.topnav a{font-size:14px;padding:8px 0;border-bottom:3px solid transparent;white-space:nowrap}.topnav a[aria-current=page]{border-color:var(--moss);color:var(--ink);font-weight:750}.topnav button{margin-left:auto;background:none;border:0;color:var(--deep);font-weight:700;min-height:44px;white-space:nowrap}.home-hero{display:grid;grid-template-columns:46fr 54fr;gap:40px;align-items:center;padding-block:48px 54px}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);font-weight:750}.home-hero h1,.page-intro h1{font-size:32px;line-height:1.26;color:var(--ink);margin:12px 0 20px}.home-hero p,.page-intro p{max-width:660px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border:1px solid var(--deep);border-radius:10px;font-weight:700}.button.primary{background:var(--brown);color:var(--paper);border-color:var(--brown)}.button.secondary{background:var(--paper);color:var(--deep)}.button:hover{filter:brightness(.92)}.visual{min-width:0;display:flex;align-items:center;justify-content:center;background:var(--layer);border:1px solid #dbc8b4;border-radius:12px;padding:12px;aspect-ratio:16/9}.visual img{display:block;width:100%;max-width:100%;height:auto;max-height:190px;object-fit:contain;object-position:center}.visual.cover{aspect-ratio:16/10;padding:16px}.visual.cover img{max-height:300px}.visual.portrait{aspect-ratio:4/5;max-width:350px;margin-inline:auto}.visual.portrait img{max-height:400px}.visual.icon{aspect-ratio:1;width:62px;height:62px;flex:0 0 62px;padding:5px}.visual.icon img{max-height:52px}.visual-fallback{font-size:15px;color:var(--deep);text-align:center}.visual-fallback span{max-width:18ch}.home-section{padding-block:55px;border-top:1px solid #ddcbbb}.section-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:40px}.section-copy h2,.end-home h2{font-size:clamp(23px,3vw,30px);line-height:1.35;color:var(--ink);margin:12px 0}.section-copy p{max-width:600px}.microcopy{font-size:14px;color:var(--muted);border-left:3px solid var(--orange);padding-left:12px}.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--deep);font-weight:750;border-bottom:1px solid currentColor}.split .visual,.duo .visual,.timeline .visual{order:-1}.wide{background:var(--paper)}.wide .section-grid{grid-template-columns:1fr 1.15fr}.columns .section-grid{grid-template-columns:1.2fr .8fr}.duo{background:#efe2d2}.ribbon .section-grid{grid-template-columns:1fr 1fr}.timeline{background:var(--paper)}.dark-feature{background:var(--moss);color:var(--paper)}.dark-feature .eyebrow,.dark-feature h2,.dark-feature .text-link,.dark-feature .microcopy{color:var(--paper)}.dark-feature .visual{background:#536f50;border-color:#7d9479}.paths .section-grid{grid-template-columns:1.1fr .9fr}.editor{background:var(--paper)}.status .section-grid{grid-template-columns:1.2fr .8fr}.essay .section-grid{grid-template-columns:1fr 1fr}.map{background:#eae4d5}.app-home{background:var(--paper)}.app-home .section-grid{grid-template-columns:1.4fr .6fr}.app-id{display:flex;align-items:center;gap:16px}.end-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.end-grid article{padding:22px;background:var(--paper);border:1px solid #decebd;border-radius:12px}.end-grid h3{margin-top:0;color:var(--ink)}.end-grid p{font-size:15px}.end-grid a{margin-right:12px}.page-intro{padding-top:56px;padding-bottom:30px;max-width:1160px}.page-intro p{font-size:17px;line-height:1.82}.inner-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:54px;align-items:start;padding-bottom:42px}.article-flow{min-width:0}.article-section{padding:24px 0 32px;border-bottom:1px solid #d9c7b3}.article-section:first-child{padding-top:0}.article-section h2{font-size:24px;line-height:1.35;color:var(--ink);margin:10px 0}.article-section p{margin:12px 0}.section-follow{font-size:14px}.related{position:sticky;top:148px;background:var(--paper);border:1px solid #ddcbbb;border-radius:12px;padding:22px}.related h2{font-size:20px;color:var(--ink)}.related p{font-size:14px}.related a{display:block;border-top:1px solid #e8d9c9;padding:8px 0;min-height:44px}.editor-aside{margin:28px 0;padding:22px;background:#e7e9db;border-left:4px solid var(--moss)}.editor-aside p{margin-bottom:0}.continue{border-top:1px solid #ddcbbb;padding-block:24px 56px}.continue h2{font-size:22px}.continue a{margin-right:16px}.theme-band{background:var(--moss);color:var(--paper);padding:28px 0;font-weight:700;letter-spacing:.05em}.notice{padding-block:16px;background:#ebe6d6}.app-visual{margin-bottom:24px}.faq-list{max-width:960px}.faq-list section{padding:18px 0;border-top:1px solid #ddcbbb}.faq-list h2{font-size:20px;color:var(--ink)}.faq-list p{margin:0}.site-footer{background:var(--dark);color:var(--paper);padding-top:50px}.footer-grid{display:grid;grid-template-columns:2.1fr repeat(5,1fr);gap:24px}.site-footer .brand{color:var(--paper)}.footer-brand p{font-size:14px;max-width:280px}.site-footer section h2{font-size:16px;color:#f4d9b9;margin:0 0 12px}.site-footer section a{display:block;min-height:33px;font-size:13px}.site-footer a:hover,.site-footer a:focus-visible{color:#e6af88}.footer-bottom{border-top:1px solid #635345;margin-top:30px;padding-block:18px 34px;font-size:12px;color:#eee2d4}.footer-bottom p{margin:8px 0}.overlay{position:fixed;inset:0;z-index:70;background:#21180f99}.overlay[hidden]{display:none}.panel{position:fixed;z-index:80;top:68px;background:var(--paper);box-shadow:0 16px 38px #20170e45;border:1px solid #d9c4ae;border-radius:0 0 14px 14px;padding:20px 24px;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-8px);transition:opacity .15s,transform .15s}.panel.is-open{visibility:visible;pointer-events:auto;opacity:1;transform:none}.menu-panel{width:min(1040px,calc(100% - 32px));left:50%;translate:-50% 0;max-height:calc(100dvh - 82px);overflow-y:auto}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e5d7c6}.panel-top h2{font-size:20px;margin:0 0 12px}.panel-top button{border:1px solid #c7b49d;background:var(--paper);width:44px;height:44px;border-radius:9px;font-size:24px}.menu-columns{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr);gap:28px}.menu-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.menu-groups section{padding:8px 0}.menu-groups h3{color:var(--moss);margin:6px 0}.menu-groups a{display:block;border-top:1px solid #e6d9c8;padding:6px 0;min-height:44px}.menu-groups a strong{font-size:14px}.menu-groups a small{display:block;font-size:12px;color:var(--muted)}.reading-path{background:#e8e8d8;padding:20px;align-self:start;border-radius:10px;margin-top:16px}.reading-path h3{margin-top:0}.reading-path a{color:var(--deep);font-weight:700}.search-panel{right:max(16px,calc((100vw - 1160px)/2 + 24px));width:min(520px,calc(100% - 32px))}.search-panel label{display:block;margin-top:14px;font-weight:700}.search-panel input{display:block;width:100%;height:46px;border:1px solid #ad967e;border-radius:9px;padding:0 12px;background:#fff}.search-hint{font-size:13px;color:var(--muted)}.quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-links a{min-height:44px;padding:9px;border:1px solid #cbb89f;border-radius:8px}.mobile-nav{display:none}#content{min-height:45vh}section[id]{scroll-margin-top:140px}
@media(max-width:980px){.nav-inner{gap:15px}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:span 3}.section-grid{gap:24px}.inner-grid{gap:25px;grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:720px){html{scroll-padding-top:80px}.shell{padding-inline:16px}.site-header{top:0}.brandbar{min-height:62px;gap:8px}.brand{font-size:17px}.brand img{max-width:78px;max-height:30px}.brand-motto,.app-link,.topnav{display:none}.head-actions{margin-left:auto;gap:7px}.icon-button{width:44px;height:44px}.home-hero,.section-grid,.wide .section-grid,.columns .section-grid,.ribbon .section-grid,.paths .section-grid,.status .section-grid,.essay .section-grid,.app-home .section-grid{grid-template-columns:minmax(0,1fr)}.home-hero{gap:18px;padding-block:32px}.home-hero h1,.page-intro h1{font-size:28px}.home-section{padding-block:34px}.section-copy h2{font-size:24px}.section-grid .visual{order:2}.visual img{max-height:180px}.visual.cover img{max-height:240px}.visual.portrait img{max-height:320px}.visual.cover{aspect-ratio:16/11}.end-grid{grid-template-columns:1fr}.inner-grid{display:flex;flex-direction:column;gap:18px}.related{position:static;width:100%}.page-intro{padding-block:32px 20px}.page-intro p{font-size:16px}.article-section h2{font-size:22px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.footer-brand{grid-column:span 2}.site-footer{padding-bottom:calc(75px + env(safe-area-inset-bottom))}.mobile-nav{position:fixed;z-index:60;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid #d6c4b1}.mobile-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;font-size:11px;min-height:58px;white-space:nowrap;position:relative}.mobile-nav a span{font-size:21px;line-height:1.25}.mobile-nav a[aria-current=page]{color:var(--moss);font-weight:750}.mobile-nav a[aria-current=page]:before{content:"";position:absolute;top:0;width:24px;height:3px;background:var(--moss)}.panel{top:62px}.menu-panel{width:100%;left:0;translate:none;max-height:calc(100dvh - 76px);padding:16px;border-radius:0 0 12px 12px}.menu-columns,.menu-groups{grid-template-columns:1fr}.reading-path{margin-top:0}.search-panel{right:16px}.overlay{z-index:70}.panel{z-index:80}section[id]{scroll-margin-top:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.panel{transition:none}}
