:root{--ink:#17241f;--muted:#66736e;--green:#0a7a5b;--green-dark:#075d47;--mint:#dff5ea;--lime:#c9ef72;--paper:#f6f7f2;--white:#fff;--line:#dce3dd;--amber:#f1aa4b;--coral:#ee765f;--shadow:0 18px 45px rgba(25,54,43,.1);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 90% 5%,#e3f6d3 0,transparent 28%),var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1120px)/2));background:rgba(246,247,242,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,36,31,.08);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-weight:800}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--green);color:#fff;font-family:Arial,sans-serif}.brand small{font-size:10px;color:var(--green);padding:3px 6px;border:1px solid #acd5c7;border-radius:99px}.header-note{font-size:12px;color:var(--muted)}.screen{display:none;max-width:1120px;margin:auto;padding:70px 24px 100px}.screen.active{display:block}.hero-screen.active{min-height:calc(100vh - 68px);display:grid;grid-template-columns:1.05fr .8fr;align-items:center;gap:80px}.eyebrow,.step-label,.card-kicker{font:700 12px/1 Arial,sans-serif;letter-spacing:.14em;color:var(--green);text-transform:uppercase}.hero-copy h1{font-size:clamp(38px,5vw,65px);line-height:1.18;letter-spacing:-.045em;margin:20px 0 22px}.hero-copy h1 span{color:var(--green)}.lead{color:var(--muted);line-height:1.9;max-width:640px;font-size:16px}.primary-button,.secondary-button{border:0;border-radius:14px;padding:17px 22px;font-weight:700;transition:.2s}.primary-button{background:var(--green);color:#fff;box-shadow:0 10px 25px rgba(10,122,91,.2)}.primary-button:hover{background:var(--green-dark);transform:translateY(-2px)}.hero-copy>.primary-button{margin-top:20px;min-width:270px}.hero-points{display:flex;gap:18px;margin-top:24px;color:var(--muted);font-size:12px;flex-wrap:wrap}.hero-points span:before{content:'✓';color:var(--green);font-weight:800;margin-right:5px}.preview-card{background:var(--ink);color:#fff;border-radius:28px;padding:30px;box-shadow:var(--shadow);transform:rotate(2deg);position:relative;overflow:hidden}.preview-card:after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:var(--lime);filter:blur(2px);opacity:.12;right:-70px;top:-70px}.preview-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#b8c7c0}.mini-pill{padding:6px 9px;border:1px solid #51615a;border-radius:99px}.score-preview{margin-top:38px;display:flex;align-items:baseline}.score-preview strong{font:700 82px/1 Arial,sans-serif}.score-preview span{color:#aebcb6}.preview-card>p{margin:5px 0 24px;color:#b8c7c0}.preview-bars{display:grid;gap:8px}.preview-bars i{display:block;width:var(--w);height:6px;border-radius:9px;background:linear-gradient(90deg,var(--lime),#52d69f)}.preview-message{margin-top:28px;padding:15px;background:#24342e;border-radius:12px;font-size:13px}.form-screen{max-width:860px}.text-button{border:0;background:transparent;color:var(--muted);padding:0;margin-bottom:40px}.form-heading{text-align:center;margin-bottom:38px}.form-heading h2,.result-heading h2{font-size:clamp(28px,5vw,42px);letter-spacing:-.035em;margin:14px 0}.form-heading>p:last-child,.result-heading>p:last-child{color:var(--muted)}.form-card{display:grid;grid-template-columns:55px 1fr;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;margin-bottom:18px;box-shadow:0 8px 28px rgba(25,54,43,.045)}.section-number{font:700 13px Arial,sans-serif;color:var(--green)}.section-copy h3{margin:0;font-size:19px}.section-copy>p{margin:7px 0 26px;color:var(--muted);font-size:13px}.form-grid{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label,.form-grid fieldset{font-weight:600;font-size:13px}.form-grid label>span,legend>span{font-size:10px;color:var(--green);margin-left:5px}.form-grid input:not([type=radio]):not([type=checkbox]),.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid var(--line);border-radius:11px;padding:13px 14px;margin-top:9px;background:#fbfcfa;color:var(--ink);outline:none}.form-grid textarea{min-height:92px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,122,91,.1)}.full{grid-column:1/-1}fieldset{border:0;padding:0;margin:0;grid-column:1/-1}legend{margin-bottom:10px}.choice-row,.check-row{display:flex;gap:9px;flex-wrap:wrap}.choice-row label,.check-row label{flex:1;min-width:100px}.choice-row input,.check-row input{position:absolute;opacity:0}.choice-row b,.check-row b{display:block;text-align:center;border:1px solid var(--line);padding:12px 8px;border-radius:10px;background:#fbfcfa;font-weight:500}.choice-row input:checked+b,.check-row input:checked+b{background:var(--mint);border-color:var(--green);color:var(--green);font-weight:700}.switch-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.switch-list label{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:13px}.switch-list span{display:grid;gap:3px}.switch-list small{font-weight:400;color:var(--muted)}.switch-list input{width:20px;height:20px;accent-color:var(--green)}.submit-button{display:block;margin:35px auto 10px;min-width:270px}.privacy-note{text-align:center;font-size:11px;color:var(--muted)}.form-error{color:#b83e2c;text-align:center;font-size:13px;min-height:18px}.result-screen{max-width:960px}.result-heading{text-align:center;margin-bottom:35px}.total-card{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:35px;background:var(--ink);color:#fff;border-radius:28px;padding:38px 55px;box-shadow:var(--shadow)}.score-ring{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--lime) 0deg,#3a4943 0);position:relative}.score-ring:after{content:'';position:absolute;inset:12px;background:var(--ink);border-radius:50%}.score-ring div{position:relative;z-index:1;display:flex;align-items:baseline}.score-ring strong{font:700 62px Arial,sans-serif}.score-ring span{color:#a9b7b1}.score-copy>p:first-child{color:#a9b7b1;margin:0}.score-copy h3{font-size:29px;margin:8px 0}.score-copy>p:last-child{color:#c4cec9;line-height:1.8}.score-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0 28px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px 13px}.metric-card p{font-size:12px;color:var(--muted);margin:0 0 8px}.metric-card strong{font:700 27px Arial,sans-serif}.metric-track{height:4px;background:#edf0ed;border-radius:5px;margin-top:10px;overflow:hidden}.metric-track i{display:block;height:100%;background:var(--green);border-radius:5px}.issue-card,.action-card,.idea-card,.local-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;margin-bottom:14px}.issue-card{border-left:5px solid var(--coral)}.issue-card h3,.action-card h3,.idea-card h3,.local-card h3{font-size:17px;margin:11px 0 18px}.issue-title{font-size:23px;font-weight:800;line-height:1.5}.reason-box{background:#fff5f1;border-radius:13px;padding:18px}.reason-box b{font-size:12px;color:#b8523e}.reason-box p{line-height:1.8;margin:7px 0 0;color:#5f5d59}.action-card{border-left:5px solid var(--green)}.action-card ol{list-style:none;padding:0;margin:0;counter-reset:item}.action-card li{counter-increment:item;display:grid;grid-template-columns:37px 1fr;gap:13px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line);line-height:1.75}.action-card li:last-child{border:0}.action-card li:before{content:counter(item);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--mint);color:var(--green);font:700 14px Arial,sans-serif}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.idea-card{background:#f4f8df}.local-card{background:#e5f4ee}.post-format{display:inline-block;font-size:11px;padding:5px 8px;border-radius:6px;background:#dfe9aa;color:#50631f}.idea-card h4{font-size:20px;line-height:1.55;margin:15px 0 8px}.idea-card p,.local-card p{line-height:1.8;color:#53605a}.result-actions{display:flex;justify-content:center;gap:10px;margin-top:28px}.secondary-button{background:#fff;border:1px solid var(--line);color:var(--ink)}footer{max-width:1120px;margin:auto;border-top:1px solid var(--line);padding:25px 24px 35px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
@media(max-width:760px){.site-header{height:60px}.brand small,.header-note{display:none}.screen{padding:42px 16px 75px}.hero-screen.active{display:block;min-height:auto}.hero-copy h1{font-size:38px}.preview-card{margin-top:45px;transform:none;padding:24px}.score-preview strong{font-size:68px}.hero-points{gap:10px}.form-card{grid-template-columns:1fr;padding:22px 18px}.section-number{margin-bottom:10px}.section-copy,.form-grid{grid-column:1}.form-grid{grid-template-columns:1fr;gap:18px}.full{grid-column:1}.switch-list{grid-template-columns:1fr}.total-card{grid-template-columns:1fr;text-align:center;padding:30px 22px}.score-ring{margin:auto;width:160px;height:160px}.score-cards{grid-template-columns:1fr 1fr}.metric-card:last-child{grid-column:1/-1}.result-grid{grid-template-columns:1fr}.result-actions{flex-direction:column}.result-actions button{width:100%}footer{flex-direction:column;gap:7px}}
@media print{.site-header,footer,.result-actions{display:none}.screen{display:none!important}.result-screen{display:block!important;padding:10px}.total-card{print-color-adjust:exact;-webkit-print-color-adjust:exact}.result-grid{grid-template-columns:1fr 1fr}}
.ai-disclaimer{max-width:760px;margin:20px auto 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.8;text-align:center}
@media print{.ai-disclaimer{margin:2mm auto 0;padding-top:2mm;font-size:7.5pt;line-height:1.4}}
