@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--forest:#123f32;--deep:#092c23;--lime:#d9f67b;--ink:#18382d;--muted:#597066;--line:#dfe8e1;--bg:#f4f7f4;--paper:#fff;--accent:#33785b;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}a{color:#23674b;text-underline-offset:3px}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #5e9f28;outline-offset:4px}button{color:inherit}.skip{position:fixed;top:-60px;left:20px;z-index:100;background:var(--lime);padding:12px}.skip:focus{top:10px}.sidebar{width:258px;position:fixed;inset:0 auto 0 0;background:var(--forest);color:#fff;padding:34px 20px 20px;display:flex;flex-direction:column;overflow-y:auto;z-index:30}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font:800 30px 'Manrope',sans-serif;letter-spacing:-1px;margin:0 10px 42px}.brand small{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:1.5px;margin-top:5px;color:#c3d7cd}.brand-mark{background:var(--lime);color:var(--forest);width:42px;height:46px;border-radius:14px 14px 14px 5px;display:flex;align-items:center;justify-content:center;position:relative;font-size:29px}.brand-mark span{font-size:20px;margin-top:15px}.nav-label{font-size:12px;font-weight:700;letter-spacing:1.6px;color:#a9c4b7;margin:0 12px 16px}.nav-link{display:flex;align-items:center;text-decoration:none;color:#d7e6dc;gap:11px;padding:12px 13px;margin:4px 0;border-radius:9px;font-size:14px;line-height:1.35}.nav-link .num{font:500 12px 'Manrope',sans-serif;width:21px;color:#a5c4b4}.nav-link.active{background:var(--lime);color:var(--forest);font-weight:700}.nav-link.active .num{color:var(--forest)}.nav-link:hover:not(.active){background:#215341}.nav-lock{margin-left:auto;font-size:12px}.sidebar-foot{margin-top:auto;padding:35px 12px 5px;display:flex;gap:12px;align-items:center;color:#dce8d8}.sidebar-foot p{font-size:14px;margin:0}.sidebar-foot small{display:block;color:#b4cabe;font-size:12px;line-height:1.6;max-width:150px;margin-top:4px}.leaf{color:var(--lime);font-size:25px}.workspace{margin-left:258px}.topbar{height:82px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);padding:0 46px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20}.breadcrumb{font-size:14px;color:var(--muted);display:flex;gap:13px;min-width:0}.breadcrumb b{font-weight:500;color:var(--ink)}.breadcrumb span{color:#b4c3b8}.search-wrap{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px 13px;width:280px;flex-shrink:0}.search-wrap>span{font-size:23px;line-height:1}.search-wrap input{border:0;background:none;width:100%;min-width:0;font-size:14px;color:var(--ink);outline:none}.search-wrap kbd{font-size:12px;background:white;border:1px solid var(--line);padding:0 6px;border-radius:4px}.icon-button{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:20px}main{max-width:1220px;margin:auto;padding:32px 46px 22px}.page-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--accent)}.guide-date{font-size:12px;color:var(--muted)}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-weight:800;font-size:clamp(30px,3.2vw,43px);line-height:1.2;letter-spacing:-1.5px;margin:12px 0 14px}h2{font-size:23px;letter-spacing:-.6px;line-height:1.35;margin:30px 0 15px}h3{font-size:18px;margin:22px 0 10px;letter-spacing:-.3px}p,li{line-height:1.8}p{margin:10px 0 16px}ul,ol{padding-left:23px}li{padding-left:3px;margin:7px 0}.lead{font-size:17px;color:var(--muted);max-width:750px;line-height:1.75;margin-bottom:24px}.chapter-number{font-size:12px;letter-spacing:1px;font-weight:700;color:var(--accent)}.hero{background:var(--forest);border-radius:17px;position:relative;overflow:hidden;margin-bottom:27px;min-height:195px;display:flex;align-items:center;color:white}.hero-copy{padding:28px 32px;width:58%;position:relative;z-index:1}.hero-copy h2{font-size:26px;margin:9px 0 12px;line-height:1.35;color:#fff}.hero-copy p{font-size:14px;color:#e0ecdf;line-height:1.6;margin:0}.hero-copy .eyebrow{color:var(--lime)}.hero img{width:42%;height:210px;object-fit:cover;object-position:center;align-self:stretch}.pill{display:inline-flex;font-size:12px;font-weight:700;align-items:center;border-radius:6px;padding:5px 9px;background:#edf5e6;color:#416338;gap:6px}.section-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:25px 28px;margin-bottom:20px}.card h2:first-child,.card h3:first-child{margin-top:0}.card p:last-child{margin-bottom:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.card-title h2{margin:0;font-size:21px}.card small,.muted{color:var(--muted)}.callout{border-left:3px solid #7da553;padding:15px 20px;background:#edf4e7;border-radius:0 8px 8px 0;line-height:1.75;margin:22px 0}.callout strong{color:var(--forest)}.callout.warning{background:#fff8e0;border-color:#d6a535}.source-links{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:20px;line-height:1.8}.source-links a{margin-right:12px}.check-item{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);line-height:1.55;font-size:15px;cursor:pointer}.check-item:last-child{border-bottom:0}.check-item input{appearance:none;width:20px;height:20px;min-width:20px;border:1.5px solid #a8bcae;border-radius:5px;margin:3px 0 0;background:white;display:grid;place-content:center;cursor:pointer}.check-item input:checked{background:var(--forest);border-color:var(--forest)}.check-item input:checked:after{content:'✓';color:white;font-size:14px}.check-item:has(input:checked) span{color:#687e6e;text-decoration:line-through}.progress-line{height:5px;background:#e7eee6;border-radius:6px;margin:16px 0;overflow:hidden}.progress-line>span{display:block;height:100%;background:#73a342;transition:width .2s}.progress-caption{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.button{border:0;border-radius:8px;background:var(--forest);color:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:12px 17px;font-weight:600;font-size:14px;gap:10px;min-height:44px}.button:hover{background:#245b44}.button.secondary{background:#eff4ee;color:var(--forest);border:1px solid var(--line)}.button.text{background:none;color:var(--muted);padding:7px 0;min-height:36px}.button.text:hover{color:var(--ink);text-decoration:underline}.wide{width:100%}.step-list{list-style:none;padding:0;counter-reset:steps}.step-list>li{counter-increment:steps;display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;margin:0;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}.step-list>li:last-child{border:0}.step-list>li:before{content:counter(steps,decimal-leading-zero);height:29px;display:grid;place-items:center;border-radius:7px;background:#edf3e9;color:#467153;font-size:12px;font-weight:700}.step-list strong{display:block;margin-bottom:3px}.step-list p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.route-flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}.route-flow span{padding:10px 12px;background:#edf3e9;border-radius:7px;font-size:14px}.route-flow b{font-weight:400;color:#78936f}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px;margin:17px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.65}th{background:#edf3ed;font-weight:700;white-space:normal;color:#36533c}th,td{padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}td:first-child{font-weight:600}details{background:white;border:1px solid var(--line);border-radius:10px;margin:12px 0;overflow:hidden}summary{cursor:pointer;padding:18px 20px;font-weight:600;line-height:1.5}details[open] summary{border-bottom:1px solid var(--line)}.detail-body{padding:3px 21px 18px}.chapter-pager{display:flex;justify-content:space-between;gap:15px;margin:30px 0}.chapter-pager a{max-width:48%;text-align:left}.footer{font-size:12px;color:#647a6c;line-height:1.8;border-top:1px solid var(--line);padding:22px 0}.footer span{display:inline-block;margin-top:6px}.spoiler-gate{background:white;border:1px solid var(--line);border-radius:17px;padding:45px;text-align:center;max-width:780px;margin:10px auto 30px}.spoiler-gate .symbol{font-size:28px;display:inline-grid;place-items:center;width:64px;height:64px;background:#f3f6dc;border-radius:50%;color:#58753c;margin:5px 0 15px}.spoiler-gate p{color:var(--muted);max-width:520px;margin:14px auto 25px}.spoiler-banner{padding:12px 17px;border:1px solid #e8dfb1;border-radius:9px;background:#fffbe9;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px;margin-bottom:25px}.search-result{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin:13px 0}.search-result:hover{border-color:#7a9e71}.search-result p{font-size:14px;color:var(--muted);margin:8px 0 0}.search-result small{font-size:12px;color:var(--accent)}mark{background:#e2f5a8;color:#18382d;border-radius:2px}.empty{padding:35px;text-align:center;background:white;border:1px dashed #bfcfbd;border-radius:12px}.step-tag{font-size:12px;color:var(--muted);margin-bottom:6px}.chapter-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;border-radius:10px;box-shadow:0 8px 30px #123f3220;padding:12px 19px;z-index:60;font-size:14px;max-width:90vw;display:none}#toast.show{display:block}.aside-note{font-size:14px;color:var(--muted);line-height:1.7}.source-list li{font-size:14px;overflow-wrap:anywhere}
@media(min-width:1350px){.sidebar{width:270px}.workspace{margin-left:270px}main{padding-top:38px}}
@media(max-width:1150px){.sidebar{width:228px;padding-left:14px;padding-right:14px}.workspace{margin-left:228px}.topbar{padding:0 28px}main{padding:28px}.section-grid{grid-template-columns:minmax(0,1fr)}.side-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.search-wrap{width:240px}.hero-copy{width:60%}.hero img{width:40%}.brand{font-size:27px}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:270px}.sidebar.open{transform:none}.workspace{margin-left:0}.topbar{height:70px;padding:0 22px;gap:14px}.icon-button{display:block}.breadcrumb{flex:1}.breadcrumb>span,.breadcrumb{font-size:13px}.search-wrap{width:220px}#shade:not([hidden]){display:block;position:fixed;inset:0;background:#092c2360;z-index:25}main{padding:25px 24px}.guide-date{font-size:12px}}
@media(max-width:600px){.topbar{padding:0 16px}.breadcrumb{display:none}.search-wrap{width:auto;flex:1}main{padding:23px 17px}.page-top{align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:21px}.eyebrow{font-size:10px}.guide-date{font-size:12px}h1{font-size:32px;letter-spacing:-1px}.hero{flex-direction:column;align-items:stretch}.hero-copy{width:100%;padding:25px}.hero-copy h2{font-size:24px}.hero img{height:150px;width:100%}.card{padding:21px 20px}.side-column{display:block}.lead{font-size:16px}h2{font-size:21px}.spoiler-gate{padding:28px 22px}.chapter-pager{align-items:stretch}.chapter-pager a{font-size:13px;padding:12px}.spoiler-banner{align-items:flex-start;flex-direction:column}th,td{padding:12px;min-width:110px}.table-wrap{max-width:100%}.source-links a{display:inline-block}.search-wrap kbd{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.sidebar,.topbar,.chapter-pager,.chapter-actions,.button,#toast{display:none!important}.workspace{margin:0}main{max-width:none;padding:0}.card{break-inside:avoid;border:0;padding:10px 0}.hero{background:white;color:#18382d}.hero-copy h2,.hero-copy p{color:#18382d}.section-grid{display:block}}
.hero-copy .button{background:var(--lime);color:var(--forest);margin-top:20px}.hero img{height:100%;min-height:290px;position:absolute;right:0;top:0}.route-flow{display:flex;flex-direction:column;align-items:stretch;gap:4px}.route-flow>a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:9px;padding:13px 16px;background:#f5f8ef;font-size:15px;font-weight:600}.route-flow>a:hover{background:#eaf3d8}.route-flow>a small{display:block;font-size:12px;font-weight:400;margin-top:4px}.route-flow>span{padding:0 15px;background:none;font-size:17px;line-height:1.2}.source-links small{display:block}.image-credit{font-size:11px;color:var(--muted);line-height:1.6}.muted{font-size:13px}.source-list li{padding:5px 0}.search-result h2{font-size:22px;margin:8px 0}.result-open{display:block;font-size:13px;font-weight:700;margin-top:12px}.spoiler-gate .chapter-actions{justify-content:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}tbody th{background:#f7f9f5;font-weight:600}tbody tr:last-child th{border-bottom:0}.search-wrap:focus-within{outline:2px solid #73a342;outline-offset:2px}#reading:focus{outline:none}
@media(max-width:820px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}}
@media(max-width:600px){.hero img{position:static;min-height:0;height:160px}.hero-copy{width:100%}.hero-copy .button{margin-top:16px}.route-flow>a{font-size:14px}}
