@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#263634;background:#dce8e2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.shell{min-height:100vh;display:flex;justify-content:center;padding:24px 12px 60px;background:radial-gradient(circle at 20% 10%,#f4e8c9 0,transparent 28%),linear-gradient(145deg,#dcebe6,#e8ded0)}.paper{width:min(100%,480px);min-height:calc(100vh - 48px);background:#f9f8f2;border:1px solid #ffffffa8;border-radius:30px;box-shadow:0 24px 70px #45605625;overflow:hidden}.topbar{height:72px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;color:#71827d;font-size:11px;letter-spacing:.05em;border-bottom:1px solid #dfe8df}.brand{font-size:19px;font-weight:700;color:#295f55;letter-spacing:.1em}.page{padding:31px 28px 38px}.eyebrow{color:#bc7858;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:13px}h1,h2,p{margin-top:0}h1{font-size:35px;line-height:1.34;letter-spacing:-.04em;margin-bottom:15px;color:#244a43}h2{font-size:27px;line-height:1.4;letter-spacing:-.035em;margin-bottom:13px;color:#244a43}p{font-size:14px;line-height:1.8;color:#6b7b75}.lead{font-size:15px}.fine{font-size:11px;color:#8b9b94;margin-top:18px}.steps{display:flex;gap:5px;margin-bottom:28px}.steps span{height:4px;flex:1;border-radius:3px;background:#dce8df}.steps .active{background:#75a98f}.city{background:linear-gradient(#d9e9e0,#edf3e9);border:1px solid #d4e5d8;border-radius:19px;padding:19px 17px 12px;margin:25px 0 22px;overflow:hidden}.mode-preview{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:24px 0}.mode-preview span{padding:18px 12px;border-radius:14px;background:#e8f0e6;border:1px solid #d4e5d8;color:#3f7360;font-size:13px;font-weight:700;text-align:center}.sky{height:150px;display:flex;align-items:end;gap:9px;border-bottom:2px solid #accdb4}.tower-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;font-size:10px;color:#637e72}.tower-wrap span{margin:8px 0 -27px;white-space:nowrap}.tower{width:100%;max-width:46px;border-radius:6px 6px 0 0;background:#c4d7cb;transition:height .25s}.tower.lit{background:linear-gradient(#efc990,#d68d68);box-shadow:inset 0 7px #ffffff54}.city{padding-bottom:31px}.note{padding:18px 19px;background:#e8f0e6;border-left:3px solid #7ba991;border-radius:12px;color:#4f6c5e;font-size:13px;line-height:1.85;margin:22px 0}.note strong{color:#325d4d}.primary,.secondary{width:100%;border:0;border-radius:13px;padding:15px 20px;font-weight:700;margin-top:12px}.primary{color:#fff;background:#317b69;box-shadow:0 8px 20px #317b6933}.primary:hover:not(:disabled){background:#276a5a}.secondary{background:transparent;color:#57776d;border:1px solid #d4e2d8}.energy{display:flex;align-items:center;justify-content:space-between;border-radius:12px;background:#f0eee2;padding:12px 17px;color:#778479;font-size:13px}.energy strong{font-size:22px;color:#b66f4f}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.scenario-question{display:grid;gap:12px;margin:15px 0}.scenario-question>p{margin-bottom:0}.question-row{padding:14px;background:#fff;border:1px solid #e3e9e1;border-radius:15px}.question-progress{display:flex;gap:7px}.question-progress button{flex:1;min-width:0;padding:9px 3px;background:#eef3ec;border:1px solid #d9e6d9;border-radius:9px;color:#678477;font-size:11px;font-weight:700}.question-progress button.active{background:#dcefe2;border-color:#73a88a;color:#2f7057}.question-row>small{color:#b57956;font-weight:700}.question-row h3{margin:7px 0 12px;color:#34584d;font-size:15px;line-height:1.5}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice-card{display:grid;gap:5px;text-align:left;padding:12px;color:#34584d;background:#fff;border:1px solid #dce7dc;border-radius:12px;min-height:70px}.choice-card.chosen{background:#e8f2e9;border-color:#5e9c80}.choice-card small{color:#798b81}.choice-card em{color:#3f866e;font-style:normal;font-size:11px}.tile{background:#fff;border:1px solid #e3e9e1;border-radius:14px;padding:12px}.tile-title{display:flex;justify-content:space-between;font-size:14px;color:#365c50}.tile-title b:last-child{color:#bd805c}.tile small{display:block;color:#a4aaa1;font-size:10px;margin-top:4px}.tile-actions{display:flex;align-items:center;justify-content:space-between;margin-top:11px}.tile-actions button{width:28px;height:28px;border:0;border-radius:50%;background:#e9f0e9;color:#397663;font-size:20px;line-height:1}.pips{display:flex;gap:3px}.pips i{width:7px;height:7px;background:#e7e8dc;border-radius:50%}.pips i.on{background:#d58f69}.text-button{border:0;background:transparent;color:#357c68;font-weight:700;padding:10px 0}.mail-list,.option-list{display:grid;gap:12px;margin:21px 0}.mail,.option{width:100%;text-align:left;padding:18px;border:1px solid #e1e8dd;border-radius:15px;background:#fff;display:grid;gap:6px;color:#688078}.mail.chosen,.option.chosen{border-color:#5e9c80;background:#e8f2e9}.mail small,.option small{color:#b57956;font-weight:700}.mail strong,.option strong{font-size:16px;color:#34584d}.mail span,.option span{font-size:12px}.mail em{font-style:normal;color:#4d9277;font-size:11px;font-weight:700;margin-top:5px}.fact-list{display:grid;gap:1px;background:#e0e9df;border-radius:13px;overflow:hidden;margin:20px 0}.fact-list div{padding:14px 16px;background:#fff;font-size:13px;color:#5b6c62}.price{font-size:38px;color:#ad6748;font-weight:700;margin:20px 0}.price span{display:block;color:#a29e90;font-size:11px;font-weight:400}.mini-chart,.chart{display:grid;gap:10px;background:#fff;padding:15px;border:1px solid #e6ebe1;border-radius:15px}.mini-chart>div,.chart>div{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center;font-size:11px;color:#718078}.mini-chart>div>div{height:14px;position:relative}.mini-chart i,.mini-chart b{position:absolute;height:6px;border-radius:4px;left:0;top:2px;background:#d6b188}.mini-chart b{top:8px;background:#75a991}.context{background:#f0f3ea;border-radius:14px;padding:18px;margin:20px 0}.context>b{font-size:13px}.context p{font-size:11px;margin:5px 0 12px}.context>div,.feedback>div{display:flex;flex-wrap:wrap;gap:7px}.context button,.feedback button{border:1px solid #d6e4d9;background:#fff;border-radius:20px;padding:8px 12px;color:#6c8176;font-size:11px}.context button.chosen,.feedback button.chosen{background:#387965;color:#fff}.analysis-list{display:grid;gap:10px;margin:27px 0}.analysis-list>div{display:flex;align-items:center;gap:13px;padding:15px;background:#f0f1e8;border-radius:12px;color:#9aa69c}.analysis-list>div.active{background:#e5f0e7;color:#3d785f}.analysis-list span{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center}.analysis-list b{font-size:13px}.report-meta{display:flex;justify-content:space-between;gap:12px;color:#799084;font-size:11px;font-weight:700;letter-spacing:.06em}.report-cover{padding:28px 24px;border-radius:21px;background:radial-gradient(circle at 90% 5%,#83b79855,transparent 35%),linear-gradient(135deg,#326b5d,#193e3b);color:#fff;margin:21px 0 14px}.report-cover small,.report-cover strong{display:block}.report-cover small{color:#bedfcb;font-weight:700;letter-spacing:.1em}.report-cover h1{margin:12px 0 16px;color:#fff;font-size:clamp(29px,7vw,39px);line-height:1.28}.report-cover strong{font-size:19px;line-height:1.55;margin:10px 0}.report-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 27px}.report-facts>div{min-width:0;display:grid;gap:5px;padding:15px;border:1px solid #e1e9dd;border-radius:14px;background:#fff}.report-facts small{color:#a67555;font-size:11px;font-weight:700}.report-facts strong{color:#315c4e;font-size:16px;overflow-wrap:anywhere}.report-facts span{color:#87958a;font-size:11px}.report-cover p{color:#c9e0d3;margin:0;font-size:14px;line-height:1.75}.report section{padding:25px 0;border-top:1px solid #dde7dc}.section-number{color:#b67c58;font-size:11px;font-weight:700;letter-spacing:.15em;margin-bottom:9px}.chart>div{grid-template-columns:68px 1fr 64px}.chart .bars{position:relative;height:24px}.chart i,.chart b,.chart em{display:block;height:6px;border-radius:6px;position:absolute;left:0}.chart i{top:1px;background:#d8b287}.chart b{top:9px;background:#86a99a}.chart em{top:17px;background:#be7859}.chart small{text-align:right}.legend{font-size:10px;color:#839287;margin:10px}.evidence{display:grid;gap:8px;margin-top:19px}.evidence>div{display:flex;gap:10px;font-size:12px;line-height:1.65;color:#6e7d71}.evidence b{color:#a86e4c}.insight{background:#fff;border-radius:13px;border:1px solid #e1e9de;padding:17px;margin:10px 0}.insight strong{font-size:12px;color:#437561}.insight p{margin:8px 0;font-size:13px}.insight small{color:#ac957c}.dimension-card{margin:12px 0;padding:20px;border:1px solid #dbe6d9;border-radius:16px;background:#fff}.dimension-card small{color:#b87953;font-weight:700;letter-spacing:.07em}.dimension-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dimension-heading span{white-space:nowrap;color:#317766;background:#e7f2e9;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:700}.dimension-card h3{margin:9px 0 17px;font-size:17px;line-height:1.5;color:#244d40}.dimension-card p{margin:9px 0;line-height:1.7;font-size:13px}.dimension-card p b{display:inline-block;min-width:76px;color:#518271}.dimension-card .dimension-reason{padding:11px 12px;border-radius:10px;background:#f1f5ed;color:#587263;font-size:12px}.dimension-card em{display:block;margin-top:14px;color:#9a8a79;font-size:11px;font-style:normal}.radar-card{margin:18px 0 25px;padding:18px 12px 16px;border:1px solid #dbe6dc;border-radius:17px;background:#fff;text-align:center}.radar-card h3{margin:0 0 4px;color:#315b4d;font-size:17px}.radar-card svg{display:block;width:100%;max-width:360px;margin:auto}.radar-ring{fill:none;stroke:#dce8df;stroke-width:1}.radar-axis{stroke:#d1ded5;stroke-width:1}.radar-label{fill:#526d60;font-size:11px;font-weight:600}.radar-portrait{fill:#69a68d;fill-opacity:.3;stroke:#2d786a;stroke-width:3;stroke-linejoin:round}.radar-dot{fill:#2d786a;stroke:#fff;stroke-width:2}.radar-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 8px;text-align:left}.radar-levels span{padding:9px 11px;border-radius:9px;background:#eef4ed;color:#506e60;font-size:11px}.radar-levels b{margin-right:8px;color:#2d786a;font-size:14px}.radar-card figcaption{margin-top:12px;color:#839287;font-size:11px;line-height:1.5}.history-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 30px}.history-stats div{display:flex;flex-direction:column;gap:4px;padding:17px;border-radius:14px;background:#eaf2e9;color:#587365;font-size:12px}.history-stats strong{color:#2d786a;font-size:27px}.history-page h2{font-size:21px;margin:25px 0 13px}.history-patterns{padding:2px 0 13px;border-top:1px solid #dce7dc;border-bottom:1px solid #dce7dc}.history-patterns p{font-size:12px}.history-signal{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e5ece4;font-size:13px}.history-signal b{color:#2d786a;white-space:nowrap}.history-list{display:grid;gap:10px;margin-bottom:22px}.history-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;padding:17px;border:1px solid #dbe6dc;border-radius:14px;background:#fff;color:#274f43;text-align:left}.history-item small{color:#8a9b8d}.history-item strong{font-size:15px;line-height:1.5}.history-item span{color:#397865;font-size:12px}.reflection-question{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid #e4e9df;line-height:1.7;font-size:13px}.reflection-question b{color:#b87953}.report-method{padding:18px 0 25px;border-top:1px solid #dde7dc}.report-method summary{cursor:pointer;color:#437561;font-weight:700}.report-method .chart{margin-top:20px}.whatif{display:flex;gap:8px}.whatif>div{background:#e8f0e8;border-radius:12px;flex:1;padding:13px;display:grid;gap:6px;color:#54806b;font-size:12px}.whatif b{font-size:18px}.action-cards{display:grid;gap:8px}.action-cards div{display:flex;gap:13px;background:#fff;border:1px solid #e3eadf;border-radius:12px;padding:14px;color:#68786c;font-size:12px;line-height:1.6}.action-cards b{color:#b87953;white-space:nowrap}.feedback{padding:20px;background:#ecf0e8;border-radius:14px}.feedback>b{display:block;font-size:13px;margin-bottom:12px}.feedback small{display:block;color:#7a8b7e;margin-top:10px}.share-card{padding:28px 22px;background:#2d6557;border-radius:17px;color:#fff;display:grid;gap:22px;margin:23px 0}.share-card span{font-size:12px;letter-spacing:.1em}.share-card strong{font-size:23px;line-height:1.45}.share-card p{color:#d5e6d5;margin:0}.error{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:10px;background:#fce9e4;color:#9a4130;padding:11px 24px;font-size:12px}.error button{border:0;background:none;color:inherit;font-size:18px}.game-page{padding-top:18px;padding-bottom:20px}.shell-game .topbar{height:54px}.shell-game .paper{overflow:clip}.game-page .steps{margin-bottom:17px}.game-page .eyebrow{margin-bottom:7px}.game-page h2{font-size:24px;line-height:1.3;margin-bottom:9px}.game-page p{line-height:1.55;margin-bottom:11px}.game-page .scene-opening{color:#526d60;font-size:13px;margin-bottom:6px}.allocation-guide{position:sticky;top:0;z-index:2;background:#f9f8f2;padding:4px 0 10px}.allocation-guide p{font-size:13px;color:#4f665b;margin-bottom:8px}.allocation-page .energy{padding:8px 13px}.allocation-page .energy strong{font-size:18px}.allocation-page .tiles{gap:8px;margin:5px 0 0}.allocation-page .tile{padding:9px 10px}.allocation-page .tile-title{font-size:13px}.allocation-page .tile small{margin-top:1px}.allocation-page .tile-actions{margin-top:6px}.allocation-page .tile-actions button{width:34px;height:34px}.game-page .mail-list,.game-page .option-list{gap:8px;margin:14px 0}.game-page .mail,.game-page .option{gap:3px;padding:13px 14px}.game-page .energy{padding-top:9px;padding-bottom:9px}.game-actions{position:sticky;bottom:0;z-index:2;background:#f9f8f2;padding:9px 0 max(10px,env(safe-area-inset-bottom))}.game-actions .primary{margin-top:0;padding:12px 20px}@media(max-width:520px){.shell{padding:0;background:#f9f8f2}.paper{border-radius:0;box-shadow:none;border:0;min-height:100vh}.page{padding:28px 24px 45px}.game-page{padding:15px 18px 14px}}
