/* 第1章・政策投票／突発イベント */
.policy-v3,.policy-result-v3,.sudden-v3,.sudden-result-v3{min-height:100dvh;padding-bottom:30px;background:linear-gradient(180deg,rgba(207,244,251,.86),rgba(239,252,254,.98)),url('assets/chapter-1-urban.jpg') center top/cover fixed;color:#062f6b;font-family:"Hiragino Sans","Yu Gothic UI","Yu Gothic",system-ui,sans-serif}
.pol3-header,.sv3-header{position:relative;display:grid;grid-template-columns:56px 130px 1fr;align-items:start;gap:8px;min-height:170px;padding:calc(14px + env(safe-area-inset-top)) 14px 18px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,73,124,.24)),url('assets/chapter-1-urban.jpg') center 32%/cover;color:#062f6b}
.pol3-header>button,.sv3-header>button{width:52px;height:52px;border:2px solid #fff;border-radius:50%;background:#079fc2;color:#fff;font-size:2.2rem;line-height:1;box-shadow:0 4px 12px #07527a55}
.pol3-header>div,.sv3-header>div{padding-top:7px}.pol3-header img,.sv3-header img{width:125px;max-height:70px;object-fit:contain}
.pol3-header>section,.sv3-header>section{text-align:center}.pol3-header span,.sv3-header span{display:inline-block;padding:4px 22px;border-radius:999px;background:#058cae;color:#fff;font-weight:950}.pol3-header h1,.sv3-header h1{margin:4px 0;font-size:1.35rem}.pol3-header b,.sv3-header b{display:inline-block;padding:4px 22px;border-radius:999px;background:#fff;box-shadow:0 3px 9px #07527a33}.sv3-header b{background:#f03232;color:#fff}.pol3-body,.sv3-body{max-width:720px;margin:-20px auto 0;padding:0 10px;position:relative}
.pol3-story,.sv3-story,.polr3-scene,.sr3-summary{overflow:hidden;margin:0 0 10px;border:2px solid #fff;border-radius:18px;background:#fff;box-shadow:0 7px 18px #07527a25}.pol3-story figure,.sv3-story figure,.polr3-scene,.sr3-summary figure{position:relative;margin:0;aspect-ratio:2.25;overflow:hidden}.pol3-story img,.sv3-story img,.polr3-scene img,.sr3-summary img{display:block;width:100%;height:100%;object-fit:cover}.pol3-story time,.sv3-story time,.polr3-scene time,.sr3-summary time{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:4px;padding:6px 11px;border-radius:999px;background:#173b67e8;color:#fff;font-size:.78rem;font-weight:900}.pol3-story time svg,.sv3-story time svg,.polr3-scene time svg,.sr3-summary time svg{width:20px;height:20px}.pol3-story>div,.sv3-story>div,.sr3-summary>div{padding:10px 14px 12px}.pol3-story h2,.sv3-story h2,.sr3-summary h2{margin:0 0 4px;font-size:1.35rem;line-height:1.25}.pol3-story p,.sv3-story p,.sr3-summary p{margin:0;font-size:.84rem;line-height:1.55}.sv3-story h2 em{display:inline-block;padding:3px 10px;border-radius:8px;background:#ffd568;color:#743e00;font-size:.72rem;font-style:normal;vertical-align:middle}
.pol3-card,.sv3-card{margin:9px 0;padding:11px 13px;border:2px solid #fff;outline:1px solid #72c5df;border-radius:17px;background:#fffffff2;box-shadow:0 5px 14px #07527a1f}.pol3-card>h2,.sv3-card>h2{display:flex;align-items:center;gap:7px;margin:0 0 9px;font-size:1.05rem}.pol3-card h2 svg,.sv3-card h2 svg{width:29px;height:29px;color:#079fc2;stroke:currentColor;fill:none;stroke-width:3}
.pol3-material>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pol3-material>div>b{display:flex;align-items:center;gap:5px;padding:9px;border:1px solid #add9e9;border-radius:9px;font-size:.78rem}.pol3-material>div svg{width:25px;height:25px;stroke:#099dc0;fill:none;stroke-width:3}.pol3-material .warning:before{content:'✺';color:#d81936;font-size:1.35rem}.pol3-material em{margin-left:auto;padding:3px 7px;border-radius:999px;background:#ffd568;color:#743e00;font-style:normal}.pol3-material>p{margin:7px 0 0;padding:6px;border-radius:7px;background:#eaf6fb;text-align:center;font-size:.76rem}
.pol3-options>button,.sv3-decision>button{display:grid;grid-template-columns:24px 60px minmax(0,1fr);align-items:center;gap:8px;width:100%;margin:7px 0;padding:9px;border:1px solid #71c4df;border-radius:14px;background:#fff;color:#062f6b;text-align:left}.pol3-options>button.selected,.sv3-decision>button.selected{border:3px solid #08bcc5;background:#edffff}.pol3-options>button>i,.sv3-decision>button>i{width:20px;height:20px;border:2px solid #66829e;border-radius:50%}.pol3-options>button.selected>i,.sv3-decision>button.selected>i{border:6px solid #08b8c2}.pol3-symbol,.sv3-decision>button>span{display:grid;place-items:center;width:58px;height:58px;border-radius:12px;background:#e3f5fb}.pol3-symbol svg,.sv3-decision>button>span svg{width:38px;height:38px;fill:none;stroke:#079fc2;stroke-width:3}.pol3-options button b,.sv3-decision button b{display:block;font-size:.92rem;line-height:1.3}.pol3-options button small{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px;font-size:.7rem;font-weight:800}.pol3-options button small em{font-style:normal}.pol3-options button div>span,.sv3-decision button em{display:block;margin:4px 0;font-style:normal}.pol3-options u,.sv3-decision u{display:inline-block;margin:1px 3px 1px 0;padding:3px 5px;border-radius:5px;background:#e9f5fa;text-decoration:none;font-size:.67rem}.pol3-options button p,.sv3-decision button small{display:block;margin:0;padding:4px 6px;border-radius:5px;background:#f1f8fb;font-size:.7rem;line-height:1.35}
.pol3-voters>div,.polr3-citizens{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.pol3-voters>div>span,.polr3-citizens>span{text-align:center;min-width:0}.pol3-voters i,.polr3-citizens i{display:block;width:62px;height:62px;margin:auto;overflow:hidden;border-radius:50%;background:#d7f3fa}.pol3-voters img,.polr3-citizens img{width:100%;height:100%;object-fit:cover}.pol3-voters b,.pol3-voters small,.polr3-citizens b,.polr3-citizens small{display:block;overflow-wrap:anywhere}.pol3-voters b,.polr3-citizens b{font-size:.72rem}.pol3-voters small,.polr3-citizens small{font-size:.62rem}.pol3-voters>p{margin:8px 0 0;text-align:center;font-size:.72rem}
.pol3-confirm,.sv3-confirm{display:block;width:100%;min-height:60px;margin:12px 0 0;border:2px solid #fff;border-radius:999px;background:linear-gradient(135deg,#14c7c8,#079abd);color:#fff;font-size:1.12rem;font-weight:950;box-shadow:0 6px 18px #00a5ba4d}.pol3-confirm:disabled,.sv3-confirm:disabled{background:#83b6c3;box-shadow:none}
.sv3-response>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sv3-response p{display:flex;justify-content:space-between;gap:6px;margin:0;padding:8px;border-radius:8px;background:#edf7fb;font-size:.75rem}.sv3-response em{font-style:normal}.sv3-response .done{color:#008b83}.sv3-response .doing{color:#d67500}.sv3-response>small{display:block;margin-top:7px;padding:7px;border-radius:7px;background:#edf7fb;font-size:.72rem}.sv3-relation>div{display:grid;grid-template-columns:105px 1fr;gap:10px}.sv3-player{height:112px;overflow:hidden;border-radius:12px}.sv3-player img{width:100%;height:100%;object-fit:cover}.sv3-relation p{margin:0}.sv3-relation p b,.sv3-relation p small{display:block}.sv3-relation p small{margin-top:7px;font-size:.75rem;line-height:1.45}.sv3-relation footer{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.sv3-relation footer b{display:flex;align-items:center;justify-content:center;gap:3px;padding:6px;border-radius:7px;background:#eaf5fa;text-align:center;font-size:.65rem}.sv3-relation footer svg{width:23px;height:23px;flex:0 0 auto;fill:none;stroke:#079fc2;stroke-width:3}
.sr3-summary{display:grid;grid-template-columns:45% 1fr}.sr3-summary figure{aspect-ratio:auto;min-height:195px}.sr3-summary>div{display:flex;flex-direction:column;justify-content:center}.sr3-summary>div>small{font-weight:900;color:#078fae}.sr3-now>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.sr3-now article{display:flex;min-height:105px;flex-direction:column;align-items:center;justify-content:center;padding:7px;border:1px solid #add9e9;border-radius:9px;text-align:center}.sr3-now svg{width:38px;height:38px;fill:none;stroke:#079fc2;stroke-width:3}.sr3-now b{font-size:.7rem}.sr3-money{display:grid;grid-template-columns:1fr auto;align-items:center}.sr3-money h2{margin:0}.sr3-money>b{font-size:1rem}.sr3-money>b i{font-style:normal}.sr3-money>b em{color:#058fac;font-size:1.2rem;font-style:normal}.sr3-money>p{grid-column:1/3;margin:5px 0 0;text-align:center;font-size:.72rem}.sr3-later>p{font-size:.78rem}.sr3-later>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sr3-later span{padding:7px;border-radius:7px;background:#edf7fb;text-align:center;font-size:.72rem}
.polr3-scene{margin-bottom:9px}.polr3-adopted{display:grid;grid-template-columns:66px 1fr 55px;align-items:center;gap:8px}.polr3-adopted>b,.polr3-adopted>strong{padding:8px;border-radius:9px;background:#08aeb9;color:#fff;text-align:center}.polr3-adopted h2{margin:0;font-size:1rem}.polr3-adopted p{grid-column:2/4;margin:0;font-size:.72rem}.polr3-citizens{margin-bottom:10px}.polr3-votes>p{display:grid;grid-template-columns:110px 1fr 30px;align-items:center;gap:6px;margin:4px 0;font-size:.7rem}.polr3-votes>p>i{height:16px;border-radius:5px;background:linear-gradient(90deg,#08b6bf calc(var(--votes)*25%),#dbeaf2 0)}.polr3-change>p{display:flex;align-items:center;justify-content:space-between;padding:8px;border:1px solid #add9e9;border-radius:8px}.polr3-change>p b{font-size:.82rem}.polr3-change>p i{font-style:normal}.polr3-change>p em{color:#008e99;font-size:1rem;font-style:normal}.polr3-change>div,.polr3-expected>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.polr3-change>div b,.polr3-expected>div b{padding:9px 5px;border-radius:8px;background:#edf6fa;text-align:center;font-size:.7rem}.polr3-change>div em{color:#bd1730;font-style:normal}.polr3-change>small{display:block;margin-top:6px;text-align:center;font-size:.68rem}.polr3-later p{font-size:.72rem}
@media(max-width:480px){.pol3-header,.sv3-header{grid-template-columns:48px 100px 1fr;min-height:150px;padding-left:9px;padding-right:9px}.pol3-header>button,.sv3-header>button{width:46px;height:46px}.pol3-header img,.sv3-header img{width:98px}.pol3-header h1,.sv3-header h1{font-size:1.1rem}.pol3-header span,.sv3-header span,.pol3-header b,.sv3-header b{padding:3px 14px;font-size:.75rem}.pol3-body,.sv3-body{margin-top:-15px;padding-left:8px;padding-right:8px}.pol3-story figure,.sv3-story figure,.polr3-scene{aspect-ratio:2.05}.pol3-story h2,.sv3-story h2{font-size:1.12rem}.pol3-options>button,.sv3-decision>button{grid-template-columns:21px 50px minmax(0,1fr);gap:6px;padding:7px}.pol3-symbol,.sv3-decision>button>span{width:48px;height:54px}.pol3-symbol svg,.sv3-decision>button>span svg{width:33px;height:33px}.pol3-options button b,.sv3-decision button b{font-size:.8rem}.pol3-voters i,.polr3-citizens i{width:52px;height:52px}.sv3-relation>div{grid-template-columns:88px 1fr}.sv3-player{height:100px}.sv3-relation footer{grid-template-columns:1fr}.sr3-summary{grid-template-columns:42% 1fr}.sr3-summary figure{min-height:175px}.sr3-now article{min-height:90px}.polr3-votes>p{grid-template-columns:92px 1fr 28px}.polr3-change>p{gap:6px}}
@media(max-width:370px){.pol3-header,.sv3-header{grid-template-columns:42px 85px 1fr}.pol3-header>button,.sv3-header>button{width:40px;height:40px}.pol3-header img,.sv3-header img{width:84px}.pol3-header h1,.sv3-header h1{font-size:.92rem}.pol3-material>div,.sv3-response>div{grid-template-columns:1fr}.pol3-voters i,.polr3-citizens i{width:45px;height:45px}.sr3-now>div{grid-template-columns:repeat(2,1fr)}.sr3-summary{grid-template-columns:1fr}.sr3-summary figure{height:165px;min-height:165px}.polr3-change>div,.polr3-expected>div{grid-template-columns:1fr}}
