/* Approved UI master v9–v12 and approved screen references. Runtime values remain authoritative. */
.v30-home,.v30-prep,.v30-event,.v30-result,.v30-report,.v30-final{
  --approved-blue:#052c67;--approved-sky:#087ec4;--approved-line:#a7dfff;
  color:var(--approved-blue);
  background:linear-gradient(180deg,rgba(244,252,255,.02) 0,rgba(221,247,253,.4) 360px,#cdf2fa 760px),url('assets/kingdom.webp') center top/100% auto no-repeat,#d6f3f8;
}
.v30-home.chapter-1,.v30-prep.chapter-1{
  background:linear-gradient(180deg,rgba(244,252,255,.03) 0,rgba(207,241,251,.25) 350px,#cef1f8 750px),url('assets/chapter-1-urban.jpg') center top/100% auto no-repeat,#d6f3f8;
}
.v30-home.chapter-4,.v30-event.zeta,.v30-final.chapter-4{
  background:linear-gradient(180deg,rgba(8,26,76,.22) 0,rgba(194,231,252,.18) 310px,#ddf4fc 760px),url('assets/kingdom.webp') center top/100% auto no-repeat,#ddf4fc;
}
.v30-home .v30-card,.v30-prep .prep-overview,.v30-prep .prep-products,.v30-prep .prep-help,.v30-prep .prep-total,
.v30-event .story-card,.v30-event .info-card,.v30-event .choice-card,.v30-event .item-card,
.v30-result .result-summary,.v30-result .result-votes,.v30-result .info-card,.v30-result .result-grid article,.v30-result .disease-results,
.v30-report .report-body,.v30-report .report-lead,.v30-final .final-survival,.v30-final .final-society,.v30-final .final-player,.v30-final .final-situation{
  border:1.5px solid var(--approved-line);border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(247,254,255,.95));
  box-shadow:0 7px 22px rgba(5,75,124,.16);
}
.v30-home .v30-hero,.v30-event .event-header,.v30-result .result-header,.v30-report>header,.v30-prep>header{
  color:var(--approved-blue);background:transparent;box-shadow:none;text-shadow:0 1px 5px #fff,0 0 14px #fff;
}
.v30-home .v30-hero{min-height:260px;padding:calc(23px + env(safe-area-inset-top)) 16px 22px}
.v30-home .v30-hero .brand-logo{width:clamp(125px,29vw,205px);filter:drop-shadow(0 2px 8px #fff)}
.v30-home .v30-hero section{text-align:center;align-self:start;grid-column:1/-1;margin-top:12px}
.v30-home .v30-hero section>span,.v30-event .event-header section>span,.v30-report>header>span,.v30-prep>header>span{
  border:2px solid white;background:linear-gradient(140deg,#0561a9,#08abc4);color:white;
  border-radius:999px;padding:4px 22px;font-weight:900;letter-spacing:.04em;text-shadow:none;
}
.v30-home .v30-hero h1,.v30-event .event-header h1,.v30-report h1{font-size:clamp(1.35rem,5.5vw,2.25rem);line-height:1.25;color:var(--approved-blue);margin:10px 0 5px}
.v30-home .v30-hero small{font-size:.9rem;color:var(--approved-blue)}
.v30-home .v30-hero>button{background:#0764aa;color:white;border:2px solid white;border-radius:50%;width:48px;height:48px;padding:2px;box-shadow:0 2px 10px #063c7180}
.v30-home .v30-stack{padding-top:3px}
.v30-home .player-card{grid-template-columns:minmax(74px,24%) 1fr;align-items:center;gap:13px;border-color:#77cbec}
.v30-home .player-card .face img{width:100%;height:auto;aspect-ratio:1;max-width:140px;border-radius:14px;object-fit:cover}
.v30-home .player-card section{min-width:0}.v30-home .player-card section>small{font-size:1.1rem;color:var(--approved-blue);font-weight:900}
.v30-home .player-card section h2{font-size:clamp(1rem,4.5vw,1.45rem);overflow-wrap:anywhere}
.v30-home .player-card section p{gap:5px}.v30-home .player-card section p span{padding:4px 9px;background:#ddf8f4;border-radius:99px;font-weight:700}
.v30-home .player-card em{color:#0065ac;font-size:1.12em}.inventory-strip{grid-column:1/-1;display:flex;align-items:baseline;gap:12px;padding-top:12px;border-top:1px solid #b1dff0;line-height:1.5;min-width:0}
.inventory-strip span{overflow-wrap:anywhere}.v30-home .v30-card h2{font-size:clamp(1rem,4vw,1.32rem)}
.v30-home .citizen-row article{background:none}.v30-home .citizen-row img{width:min(100%,85px);height:auto;aspect-ratio:1;border:2px solid #bdebf7;box-shadow:0 0 8px #42c7e5;border-radius:50%}
.v30-home .citizen-row article b{margin:3px auto;background:#0879ac;border-radius:99px;color:white;max-width:85px;padding:3px 1px;font-size:.72rem}
.v30-home .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v30-home .metric-grid article{background:#f4fbff;border:1px solid #bbdff4;text-align:center;min-width:0}
.v30-home .metric-grid article:first-child{grid-column:1/-1}.v30-home .metric-grid article:last-child{grid-column:auto}
.v30-home .metric-grid b{color:#035b9b}.v30-home .outbreak{border-left:5px solid #19b8d0}
.v30-home .v30-nav{background:#f6fcff;border-top:2px solid #98daf3}.v30-home .v30-nav button{color:#4775a0;background:transparent}
.v30-home .v30-nav button.active{color:#006aab;background:#d7fbff;font-weight:900}
.v30-home .primary-action,.v30-prep .primary-action,.v30-event .confirm-action,.v30-result .primary-action,.v30-report .primary-action,.v30-final .final-actions button:first-child{
  color:white;border:2px solid white;background:linear-gradient(145deg,#02cfde,#008ba9);box-shadow:0 6px 18px #079bc055;text-shadow:none;font-weight:900;
}
.v30-prep>header{min-height:260px;padding:calc(23px + env(safe-area-inset-top)) 16px 24px}
.v30-prep>header .brand-logo{width:clamp(160px,38vw,260px);filter:drop-shadow(0 2px 8px #fff)}
.v30-prep>header h1{font-size:clamp(1.7rem,6.2vw,2.6rem);color:var(--approved-blue);margin:12px 0 4px}.v30-prep>header p{margin:0;font-weight:700;font-size:.9rem}
.v30-prep>header>button,.v30-event .event-header>button{border:2px solid #fff;background:#0678bb;color:white;border-radius:50%;width:48px;height:48px;box-shadow:0 3px 12px #09487888}
.v30-prep .prep-content{width:min(850px,100%);padding:5px 14px calc(58px + env(safe-area-inset-bottom))}
.v30-prep .prep-overview{display:grid;grid-template-columns:1fr 1fr}.v30-prep .prep-overview b{color:#006bad;overflow-wrap:anywhere}
.v30-prep .prep-products>header h2{color:var(--approved-blue)}.v30-prep .prep-products>header span{white-space:nowrap;color:#006bad}
.v30-prep .prep-products h3{background:#ddf5fe;border-radius:99px;padding:6px 13px;color:#0075ad;font-size:.99rem;margin:17px 0 8px}
.v30-prep .prep-explain{font-size:.88rem;line-height:1.6;color:#355875}
.v30-prep .prep-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v30-prep .prep-products-grid button{display:grid;align-content:start;gap:5px;min-height:180px;background:#fff;border-color:#aed9f5;min-width:0;text-align:left}
.v30-prep .prep-products-grid button.selected{border:2px solid #00a9c8;background:#e6fbfd}.v30-prep .prep-products-grid button:disabled{opacity:.58}
.v30-prep .prep-products-grid .prep-item-icon{color:#0089c8;font-size:2rem;line-height:1}
.v30-prep .prep-products-grid button b{font-size:1rem;color:var(--approved-blue)}.v30-prep .prep-products-grid button strong{font-size:1rem;color:#0076c4}
.v30-prep .prep-products-grid button>span:not(.prep-item-icon){font-size:.79rem;color:#355875;line-height:1.45}
.v30-prep .prep-products-grid button small{font-size:.75rem;color:#4778a0}
.v30-prep .prep-products-grid button em{font-style:normal;text-align:center;border-radius:7px;background:#e7f2fa;color:#005a94;padding:6px;font-weight:800;margin-top:auto}
.v30-prep .prep-products-grid button.selected em{background:#05bad0;color:white}.v30-prep .prep-total h2{font-size:1.08rem;margin:0 0 7px}
.v30-event .event-header{min-height:220px;align-items:start;grid-template-columns:48px minmax(98px,30%) 1fr;padding:calc(20px + env(safe-area-inset-top)) 14px 20px;gap:7px}
.v30-event .event-header .brand-logo{width:100%;max-width:170px;filter:drop-shadow(0 2px 8px #fff)}
.v30-event .event-header section{padding:0;text-align:center;min-width:0}.v30-event .event-header section>span{display:inline-block;padding:3px 13px;font-size:.77rem}
.v30-event .event-header section b{background:white;color:var(--approved-blue);border-radius:99px;font-size:.79rem}
.v30-event .event-body,.v30-result .result-body{padding-top:5px}
.v30-event .story-card figure{height:clamp(240px,62vw,400px)}.v30-event .story-card>section{padding:18px}.v30-event .story-card h2{color:var(--approved-blue);font-size:clamp(1.34rem,5vw,1.8rem)}
.v30-event .story-card p{color:#163e72}.v30-event .info-card h2,.v30-event .choice-card h2,.v30-event .item-card h2{color:var(--approved-blue);font-size:1.15rem}
.v30-event .choice-card>button{background:#fff;border:1.5px solid #a7dfff;min-height:90px}.v30-event .choice-card>button.selected{background:#e8fbff;border-color:#00a7c5}
.v30-event .choice-card>button b{font-size:1.06rem;color:var(--approved-blue)}.v30-event .choice-card>button small{color:#365c7e}
.v30-event .choice-card>button>i{border-color:#7293bc}.v30-event .choice-card>button.selected>i{border-color:#009cc1}
.v30-event .no-items{background:#e8f5ff;color:#174772}.v30-event .item-card button{border-color:#a7dfff}
.disease-notice{padding:14px 16px;margin:0 0 15px;border:1.5px solid #8bd3ed;border-radius:18px;background:#fff;box-shadow:0 7px 20px #0581aa22;display:grid;gap:5px}
.disease-notice b{font-size:.83rem;color:#0275ab}.disease-notice span{color:var(--approved-blue);font-weight:900;font-size:1.02rem;line-height:1.5;overflow-wrap:anywhere}
.disease-notice small{color:#54738a;font-size:.76rem}
.v30-result .result-header{min-height:180px;padding:calc(20px + env(safe-area-inset-top)) 14px 20px}.v30-result .result-header .brand-logo{width:155px;filter:drop-shadow(0 2px 8px #fff)}
.v30-result .result-header h1{color:var(--approved-blue);font-size:1.65rem}.v30-result .result-summary{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);padding:12px;gap:15px;align-items:start}
.v30-result .result-summary>div{min-width:0}.v30-result .result-summary h2{font-size:clamp(1.25rem,4.5vw,1.85rem);line-height:1.4;color:var(--approved-blue);overflow-wrap:anywhere}
.v30-result .result-summary small{font-weight:850;color:#006ba9}.v30-result .result-image{width:100%;height:100%;min-height:170px;max-height:340px;object-fit:cover;border-radius:13px}
.v30-result .result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v30-result .result-grid article{min-width:0;margin:0}
.v30-result .result-grid b{font-size:clamp(.88rem,3vw,1.14rem);overflow-wrap:anywhere}.v30-result .result-votes{padding:18px}
.v30-result .result-impact-title{font-size:1.2rem;margin:14px 4px 10px;color:var(--approved-blue)}
.result-voters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0 16px}.result-voters>div{display:grid;justify-items:center;text-align:center;gap:4px;min-width:0}.result-voters img{width:min(100%,66px);aspect-ratio:1;object-fit:cover;border-radius:50%;border:1px solid #b2e5fa}.result-voters small{color:#52718b}.result-voters b{font-size:.74rem;line-height:1.35;overflow-wrap:anywhere}
.disease-results{padding:17px;margin-bottom:15px}.disease-results h2{font-size:1.16rem;margin:0 0 12px}
.disease-results-list{display:grid;gap:9px}.disease-results-list article{border:1px solid #b1ddf0;border-radius:13px;background:#f7fcff;padding:11px}
.disease-results-list h3{font-size:1rem;margin:0 0 7px;overflow-wrap:anywhere}.disease-results-list article>div{display:flex;gap:5px;flex-wrap:wrap}
.disease-results-list article span{font-size:.8rem;font-weight:800;background:#e4f3fa;border-radius:99px;padding:3px 7px}.disease-results-list .positive{background:#ffe5e8;color:#ad2847}
.disease-results-list .negative{background:#e0f8f6;color:#00717a}.disease-results-list article>small{display:block;margin-top:7px;color:#415f7e}
.v30-report>header{min-height:200px;text-align:center;padding:calc(22px + env(safe-area-inset-top)) 14px 18px}
.v30-report>header .brand-logo{width:clamp(130px,32vw,200px);filter:drop-shadow(0 2px 8px #fff)}.v30-report>header p{color:var(--approved-blue);font-weight:850}.v30-report .report-lead{width:min(850px,calc(100% - 20px));margin:0 auto 10px;padding:16px}.v30-report .report-lead h2{margin:0 0 5px}.v30-report .report-lead p{margin:0;line-height:1.55}.v30-report>nav{width:min(850px,calc(100% - 20px));border:0;background:transparent;gap:5px;box-shadow:none}
.v30-report>nav button{border-radius:12px;border:1px solid #acd8f1;background:white;color:var(--approved-blue);min-height:53px;box-shadow:0 4px 10px #087aac24}
.v30-report>nav button.active{border:2px solid white;background:linear-gradient(135deg,#00c9d5,#008caa);color:white}
.v30-report .report-body{padding:18px;margin-top:9px}.v30-report .report-cards article{border-color:#b9dcf3}
.v30-report .report-list p{gap:12px}.v30-report .report-list b{color:var(--approved-blue)}
.report-health h2,.report-list-heading{font-size:1.14rem;margin:0 0 9px}.report-health>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:19px}.report-health article{display:grid;gap:5px;min-width:0;text-align:center;border:1px solid #b9dcf3;border-radius:12px;padding:10px 3px;background:#f4fbff}.report-health b{color:#006cae;font-size:clamp(1rem,4vw,1.4rem);overflow-wrap:anywhere}.report-health small{font-size:.74rem}
.v30-event.zeta .zeta-progress{display:flex;gap:4px;justify-content:center;width:min(500px,90%);margin:-15px auto 18px}.zeta-progress i{display:block;flex:1;height:8px;background:#b1d4e4;border:1px solid white;border-radius:99px}.zeta-progress i.current{background:#00c3d1;box-shadow:0 0 9px #2beaff}
.v30-final{padding:calc(24px + env(safe-area-inset-top)) 14px calc(44px + env(safe-area-inset-bottom));text-align:center}
.v30-final>header .brand-logo{width:clamp(150px,38vw,230px);max-width:100%}.v30-final>header span{display:block;color:#0a5590;font-weight:700}
.v30-final h1{font-size:clamp(2rem,8vw,2.8rem);margin:3px 0 23px;color:var(--approved-blue)}
.v30-final .final-survival{padding:20px}.v30-final .final-survival h2{margin:0 0 7px;color:#026a87;font-size:clamp(1.7rem,7vw,2.2rem)}
.v30-final .final-survival p{margin:0;line-height:1.7}.v30-final .final-scores{display:grid;grid-template-columns:1fr;gap:12px;width:min(760px,100%);margin:14px auto}
.v30-final .final-society,.v30-final .final-player{padding:18px}.v30-final .final-society small{font-size:1.2rem;font-weight:850}
.v30-final .final-society b{display:block;font-size:clamp(3rem,14vw,5rem);color:#00728d}.v30-final .final-society em{font-size:.28em;font-style:normal;color:#54708b}
.v30-final .final-society p{margin:0}.v30-final .final-player>div:first-child{display:flex;align-items:center;gap:12px;text-align:left;font-size:1.13rem;font-weight:850}
.v30-final .final-player img{width:72px;height:72px;object-fit:cover;border-radius:15px}.v30-final .final-player>b{display:block;color:#045f83;font-size:2.7rem}
.v30-final .final-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.v30-final .final-breakdown span{display:flex;justify-content:space-between;gap:8px;background:#eef9fd;border:1px solid #c6eafa;border-radius:10px;padding:8px}
.v30-final .final-breakdown small{font-size:.76rem;text-align:left}.v30-final .final-breakdown strong{color:#065a8d}
.v30-final .final-situation{width:min(760px,100%);padding:18px;margin:0 auto}.v30-final .final-situation h2{text-align:left;margin:0 0 12px}
.v30-final .final-situation>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v30-final .final-situation p{display:grid;align-content:space-between;gap:6px;margin:0;padding:12px;border:1px solid #bce1f4;border-radius:11px;background:#f8fdff}
.v30-final .final-situation b{color:#06699a;overflow-wrap:anywhere}.v30-final .final-actions{width:min(760px,100%);margin:18px auto}.v30-final .final-actions button{width:100%;margin:7px 0}
.mp-shell{background:linear-gradient(180deg,rgba(212,244,254,.03),#d7f4fa 620px),url('assets/kingdom.webp') center top/100% auto no-repeat,#d7f4fa;color:var(--approved-blue)}
.mp-shell .mp-panel,.mp-shell .mp-status,.mp-shell .mp-event{border:1.5px solid var(--approved-line);border-radius:19px;background:#fbfeff;box-shadow:0 7px 22px #07517a2e}
.mp-shell .mp-event{overflow:hidden;padding:0 0 19px}.mp-shell .mp-event figure{margin:0 0 15px;max-height:340px;overflow:hidden}.mp-shell .mp-event>h2,.mp-shell .mp-event>.mp-kicker,.mp-shell .mp-event>p,.mp-shell .mp-event>.mp-choice-list,.mp-shell .mp-event>.mp-disease-notice{margin-left:16px;margin-right:16px}
.mp-shell .mp-event>h2{font-size:1.35rem;color:var(--approved-blue)}.mp-shell .mp-event .mp-choice{border-color:#addcf2;color:var(--approved-blue)}
.mp-disease-notice{display:grid;gap:5px;border:1.5px solid #a2dbef;border-radius:13px;background:#edfaff;padding:13px;margin-top:12px;margin-bottom:12px}.mp-disease-notice b{color:#006eab;font-size:.86rem}.mp-disease-notice span{font-weight:900;overflow-wrap:anywhere}.mp-disease-notice small{color:#53728a}
.mp-outcome p{display:grid;gap:3px;border-top:1px solid #c4e5f1;padding-top:9px}.mp-outcome span{color:#3e617b;font-size:.89rem}.mp-shell .mp-button:not(.secondary){background:linear-gradient(140deg,#06c7d0,#0582a3)}
@media(max-width:560px){
  .v30-event .event-header{grid-template-columns:44px 105px 1fr}.v30-event .event-header h1{font-size:1.1rem}
  .v30-result .result-summary{grid-template-columns:1fr}.v30-result .result-image{max-height:245px;height:210px}
  .v30-prep .prep-overview{grid-template-columns:1fr}.v30-prep .prep-overview>div:first-child{border-right:0;border-bottom:1px solid #bee4ef;padding-bottom:10px}
  .v30-prep .prep-products-grid button{min-height:210px;padding:10px}.v30-report .report-list p{display:block}.v30-report .report-list span{display:block;text-align:left}
  .v30-home .v30-nav{bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 20px);border:1px solid #a7dfff;border-radius:15px;box-shadow:0 5px 18px #084f8b55}
  .v30-event .event-body,.v30-result .result-body,.v30-report .report-body,.v30-home .v30-stack{padding-bottom:calc(145px + env(safe-area-inset-bottom))}
}
