:root{--ink:#142119;--muted:#58665d;--paper:#f7f3e7;--card:#fffdf7;--line:#c9c7b9;--green:#176b44;--green2:#49a96d;--dirt:#aa6633;--sky:#bce4f5;--yellow:#f4ca52;--red:#a94637;--shadow:0 12px 28px rgba(24,42,30,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:linear-gradient(180deg,var(--sky) 0 190px,var(--paper) 190px);font-family:Arial,Helvetica,sans-serif;line-height:1.5}.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:.6rem 1rem;z-index:99}.skip:focus{left:8px}.site-head{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;color:#102217}.brand{display:flex;gap:.75rem;align-items:center;font-weight:800;letter-spacing:.02em}.brand img{width:48px;height:48px;object-fit:contain;border-radius:50%}.archive-link{color:inherit;font-weight:700;text-decoration:none;border-bottom:2px solid currentColor}main{max-width:1180px;margin:0 auto;padding:0 1.2rem 4rem}.hero{position:relative;overflow:hidden;background:var(--card);border:2px solid var(--ink);border-radius:26px;box-shadow:var(--shadow);padding:2rem;margin-top:1rem}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center}.hero-visual{display:grid;gap:1rem}.campaign-logo{display:block;width:min(340px,100%);margin:auto;object-fit:contain}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.78rem;color:var(--green)}h1,h2,h3{line-height:1.12;margin:.35rem 0 .75rem}h1{font-size:clamp(2.2rem,5.6vw,4.8rem);letter-spacing:-.045em}h2{font-size:clamp(1.4rem,3vw,2.2rem)}p{margin:.45rem 0 1rem}.lead{font-size:1.12rem;max-width:62ch}.button-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.25rem}button,.button{appearance:none;border:2px solid var(--ink);border-radius:999px;padding:.78rem 1.15rem;background:var(--yellow);color:var(--ink);font:inherit;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:4px 4px 0 var(--ink)}button:hover,.button:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--ink)}button:active,.button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}button.secondary{background:var(--card)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}.notice{font-size:.88rem;color:var(--muted);border-left:4px solid var(--yellow);padding-left:.8rem}.dashboard{display:grid;grid-template-columns:repeat(6,1fr);gap:.65rem;margin:1rem 0}.metric{background:var(--card);border:2px solid var(--ink);border-radius:15px;padding:.75rem;min-width:0}.metric span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.metric strong{font-size:1.45rem}.bar{height:9px;background:#ddd8c8;border-radius:99px;overflow:hidden;margin-top:.45rem}.bar i{display:block;height:100%;background:var(--green);width:0;transition:width .45s ease}.game-shell{margin-top:1.2rem}.progress{display:grid;grid-template-columns:repeat(9,1fr);gap:.4rem;margin:1rem 0}.step{height:12px;border-radius:99px;background:#d8d3c2;border:1px solid #9e9a8c}.step.done{background:var(--green)}.step.current{background:var(--yellow)}.plan-controls{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;margin:.25rem 0 1rem}.plan-controls button{padding:.58rem .9rem;font-size:.9rem;box-shadow:3px 3px 0 var(--ink)}.plan-controls button:hover{box-shadow:5px 5px 0 var(--ink)}.decision{display:grid;grid-template-columns:1fr 360px;gap:1.25rem;align-items:start}.panel{background:var(--card);border:2px solid var(--ink);border-radius:22px;padding:1.25rem;box-shadow:var(--shadow)}.stage{display:inline-block;background:var(--green);color:white;padding:.28rem .6rem;border-radius:999px;font-weight:800;font-size:.78rem}.choice-grid{display:grid;gap:.8rem;margin-top:1rem}.choice{display:block;width:100%;text-align:left;border-radius:16px;background:#fff;padding:1rem;box-shadow:none}.choice:hover{box-shadow:4px 4px 0 var(--ink)}.choice b{display:block;font-size:1.05rem;margin-bottom:.25rem}.choice small{display:block;color:var(--muted);font-size:.92rem;font-weight:normal}.field-note{background:#eef7e9;border:2px solid var(--green);border-radius:18px;padding:1rem;margin-top:1rem}.field-note h2{color:var(--green)}.guide{display:grid;grid-template-columns:135px 1fr;gap:.7rem;align-items:end}.guide img{display:block;width:145px;max-height:220px;object-fit:contain;animation:guide-walk 3.5s ease-in-out infinite}.guide-bubble{position:relative;background:#fff6cf;border:2px solid var(--ink);border-radius:18px;padding:1rem}.guide-bubble:before{content:"";position:absolute;left:-14px;bottom:32px;width:24px;height:24px;background:#fff6cf;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}.guide-label{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:var(--green)}.guide-bubble p{margin:.3rem 0}.guide-small{grid-template-columns:100px 1fr}.guide-small img{width:105px;max-height:170px}@keyframes guide-walk{50%{transform:translateY(-5px) rotate(1deg)}}.source-list{display:grid;gap:.45rem;margin-top:.8rem}.source-list a{color:var(--green);font-weight:700}.result-box{background:#fff6cf;border:2px solid var(--ink);border-radius:16px;padding:1rem;margin-top:1rem}.delta-list{display:flex;gap:.45rem;flex-wrap:wrap;margin:.6rem 0 1rem}.delta{border:1px solid var(--ink);border-radius:999px;padding:.22rem .5rem;font-size:.78rem;font-weight:800;background:#fff}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.final-header{display:flex;gap:1.2rem;align-items:center;margin-bottom:1rem}.final-header .campaign-logo{width:130px;margin:0}.final-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.proposal{border:3px solid var(--ink);background:var(--card);border-radius:22px;padding:1.3rem;box-shadow:8px 8px 0 var(--green)}.outcome{font-size:1.3rem;font-weight:800;color:var(--green)}.badge{display:inline-block;border:2px solid var(--ink);background:var(--yellow);border-radius:999px;padding:.28rem .58rem;font-size:.78rem;font-weight:800;margin:.15rem}.badge-green{background:#d7f3df}.proposal-list{display:grid;gap:.45rem}.proposal-list>div{display:grid;grid-template-columns:160px 1fr;gap:.5rem;padding:.65rem .75rem;background:#f1eee1;border-radius:10px}.proposal-list dt{font-weight:800}.proposal-list dd{margin:0}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}.review-grid section{background:#f6f2e5;border:1px solid var(--line);border-radius:12px;padding:.8rem}.review-grid ul{margin:.4rem 0;padding-left:1.2rem}.next-action{border-left:5px solid var(--green);background:#eaf6ed;padding:.9rem;margin-top:1rem}.next-action p{margin:.3rem 0}.source-library{margin-top:1rem}.source-library details{border-top:1px solid var(--line);padding:.75rem 0}.source-library summary{cursor:pointer;font-weight:800}.source-library a{color:var(--green)}footer{max-width:1180px;margin:0 auto;padding:1.5rem 1.2rem 3rem;color:var(--muted);font-size:.9rem}.hidden{display:none!important}@media(max-width:940px){.hero-grid,.decision,.final-grid{grid-template-columns:1fr}.dashboard{grid-template-columns:repeat(3,1fr)}.guide{grid-template-columns:120px 1fr}.field-note{order:-1}}@media(max-width:600px){body{background:linear-gradient(180deg,var(--sky) 0 145px,var(--paper) 145px)}.site-head{align-items:flex-start;gap:1rem}.brand img{width:40px;height:40px}.archive-link{font-size:.82rem}.hero{padding:1.1rem;border-radius:20px}.dashboard{grid-template-columns:repeat(2,1fr)}.metric strong{font-size:1.15rem}.progress{gap:.2rem}.choice{padding:.85rem}button,.button{width:100%;text-align:center}.guide,.guide-small{grid-template-columns:92px 1fr}.guide img,.guide-small img{width:95px}.guide-bubble{padding:.75rem}.proposal-list>div{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.final-header{align-items:flex-start}.final-header .campaign-logo{width:90px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media print{body{background:white}.site-head,footer,.dashboard,.no-print,.guide img{display:none!important}main{max-width:none;padding:0}.hero{border:0;box-shadow:none;margin:0;padding:0}.proposal{box-shadow:none}.final-grid{grid-template-columns:1fr}.panel{break-inside:avoid}.campaign-logo{max-width:120px}.source-list a{color:#000;text-decoration:underline}}