:root{--bg:#1b1712;--panel:#26201a;--border:#6b5a3a;--text:#f0e6d2;--muted:#b8ab92;--gold:#e8b04a;--red:#ff8a80;--green:#9be29b;color:var(--text);background:var(--bg);font-family:system-ui,Noto Sans Thai,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}.page{max-width:420px;margin:0 auto;padding:32px 16px}h1{text-align:center;color:var(--gold);letter-spacing:.05em;margin:0;font-size:2.5rem}h2{margin:0 0 16px;font-size:1.3rem}.tagline{text-align:center;color:var(--muted);margin:8px 0 24px}.panel{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:20px 16px}form{flex-direction:column;gap:14px;display:flex}label{flex-direction:column;gap:6px;font-size:.95rem;display:flex}input{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:1rem}input:focus{outline:2px solid var(--gold);outline-offset:1px}button{color:#1b1712;background:var(--gold);cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:1rem;font-weight:700}button:disabled{opacity:.6;cursor:wait}button.secondary{width:100%;color:var(--text);border:1px solid var(--border);background:0 0;margin-top:16px}button.link{color:var(--gold);background:0 0;padding:4px 0;font-weight:400;text-decoration:underline}.links{flex-direction:column;align-items:center;gap:6px;margin-top:16px;display:flex}.hint{color:var(--muted);font-size:.8rem}.muted{color:var(--muted)}.error{color:var(--red);margin:0}.notice{color:var(--green);margin:0 0 8px}.warning{border:1px dashed var(--gold);border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.warning p{margin:0}.row{flex-direction:row;gap:8px}.row input{flex:1;min-width:0}.log{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.log li{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.log-head{color:var(--muted);justify-content:space-between;gap:8px;font-size:.85rem;display:flex}.chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.chip{color:var(--text);background:var(--panel);border:1px solid var(--border);padding:6px 10px;font-size:.85rem;font-weight:400}.reason{gap:8px;margin-top:8px}.row{display:flex}.page>section+section,.page>section+.tabs,.page>.tabs+section,.page>section+button.secondary{margin-top:12px}h3{margin:16px 0 8px;font-size:1.05rem}select{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:1rem}label.check{flex-flow:wrap;align-items:center;gap:8px}.panel.inset{background:var(--bg);margin-top:16px}.tribes{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tribe{text-align:left;color:var(--text);background:var(--bg);border:1px solid var(--border);flex-direction:column;gap:4px;padding:10px;font-weight:400;display:flex}.tribe.selected{border:2px solid var(--gold);background:#3a2e1c}.tribe .good{color:var(--green);font-size:.8rem}.tribe .weak{color:var(--red);font-size:.8rem}.tabs{gap:8px;display:flex}.tabs button{color:var(--text);background:var(--panel);border:1px solid var(--border);flex:1}table.res{border-collapse:collapse;width:100%}table.res td{border-bottom:1px solid #3a3226;padding:6px 0}td.num{text-align:right;font-variant-numeric:tabular-nums}.fields{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.field{border:1px solid var(--border);background:var(--bg);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-size:.85rem;display:flex}.field.empty{opacity:.6;border-style:dashed}ul.inner{margin:0;padding:0;list-style:none}ul.inner li{border-bottom:1px solid #3a3226;justify-content:space-between;padding:6px 0;display:flex}.jump{margin-top:10px}.jump input{width:0}.map-panel{padding:8px}.map-wrap{background:#2496d1;border-radius:10px;height:min(70vh,640px);position:relative;overflow:hidden}.map-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.map-loading{text-align:center;position:absolute;inset:45% 0 auto}.map-btns{flex-direction:column;gap:6px;display:flex;position:absolute;top:8px;right:8px}.map-btns button{color:#3a2608;background:#fff4d6;border:2px solid #7a4a12;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;font-size:18px;display:grid;box-shadow:0 3px #7a4a12}.ui-icon{vertical-align:middle;object-fit:contain;pointer-events:none;display:inline-block}.ui-emoji{line-height:1}.map-legend{color:#4a3010;background:#fff4d6;border:2px solid #b58a4a;border-radius:10px;max-width:calc(100% - 70px);padding:6px 10px;font-size:.8rem;line-height:1.6;position:absolute;bottom:8px;left:8px}.map-sheet{max-height:75%;color:var(--text);background:var(--panel);border-top:2px solid var(--gold);border-radius:14px 14px 0 0;padding:12px 14px 14px;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 14px #0006}.map-sheet h3{margin:0 40px 4px 0}.map-sheet h4{align-items:center;gap:6px;margin:12px 0 6px;display:flex}.sheet-close{background:0 0;border:none;padding:2px;position:absolute;top:8px;right:8px}.sheet-action{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;display:flex}.sheet-action.primary{color:#3a2608;background:var(--gold);font-weight:700}.travel .ui-icon,.travel .ui-emoji{margin-right:4px}.incoming{margin:0;padding:0;list-style:none}.incoming li{border:1px solid var(--border);border-radius:8px;justify-content:space-between;gap:8px;margin-bottom:4px;padding:6px 8px;display:flex}.incoming li.soon{border-color:var(--red)}.incoming .cd{font-variant-numeric:tabular-nums;color:var(--red);font-weight:700}.jump{align-items:center}.art-img{object-fit:contain;flex-shrink:0}.art-fallback{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.resbar{z-index:5;background:var(--panel);border-bottom:1px solid var(--border);border-radius:12px 12px 0 0;margin:-20px -16px 12px;padding:8px 10px;position:sticky;top:0}.resbar-row{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.res-cell{font-variant-numeric:tabular-nums;align-items:center;gap:3px;min-width:0;font-size:.75rem;display:flex}.res-cell.warn b{color:var(--gold)}.cap-line{margin:4px 0 0;font-size:.75rem}.warn-text{color:var(--gold);margin:6px 0 0;font-size:.8rem}ul.buildings{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bld-row{text-align:left;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);align-items:center;gap:10px;padding:6px 10px;font-weight:400;display:flex}.grow{flex:1;min-width:0}.lv{white-space:nowrap;font-weight:700}button.field{color:var(--text);cursor:pointer;font-weight:400}.queue .bar{background:#3a3226;border-radius:3px;height:6px;overflow:hidden}.queue .bar>div{background:var(--gold);height:100%}button.danger{background:var(--red)}button.wide{width:100%;margin-top:8px}.sheet-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:480px;max-height:85vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--border);border-bottom:none;border-radius:16px 16px 0 0;animation:.18s ease-out sheet-up;position:relative;overflow-y:auto}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.sheet-close{color:var(--text);border:1px solid var(--border);background:0 0;padding:4px 10px;position:absolute;top:10px;right:10px}.sheet-head{align-items:center;gap:12px;display:flex}.sheet-head h2{margin:0}.big{color:var(--gold);margin:4px 0;font-size:1.2rem;font-weight:700}.cost{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:12px;margin:8px 0 4px;display:flex}.cost span{align-items:center;gap:4px;display:inline-flex}.cost .short,.short{color:var(--red)}.ok{color:var(--green)}ul.choose{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}ul.choose li{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.grant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.grant-grid>label{min-width:0}.grant-grid input{box-sizing:border-box;width:100%;min-width:0}details.panel summary{cursor:pointer;font-weight:700}.map-fullscreen{z-index:50;background:#2496d1;position:fixed;inset:0}.map-fullscreen .map-panel{border:0;border-radius:0;height:100%;padding:0}.map-fullscreen .map-wrap{border-radius:0;height:100dvh}.map-lobby{background:#fff4d6;border:2px solid #7a4a12;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;font-size:18px;display:grid;position:absolute;top:8px;left:8px;box-shadow:0 3px #7a4a12}.map-mycity{flex-direction:column;align-items:center;display:flex;position:absolute;top:8px;left:112px;right:60px}.map-mycity>button{white-space:nowrap;text-overflow:ellipsis;color:#3a2608;background:#fff4d6;border:2px solid #7a4a12;border-radius:22px;align-items:center;gap:6px;max-width:100%;padding:6px 14px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 3px #7a4a12}.map-mycity ul{background:#fff4d6;border:2px solid #b58a4a;border-radius:12px;margin:6px 0 0;padding:4px;list-style:none}.map-mycity li button{color:#3a2608;text-align:left;background:0 0;border:0;width:100%;padding:8px 14px}.back-to-map{width:100%;margin-bottom:10px}:root{--gold-hi:#ffe08a;--gold-lo:#a8741f;--frame:#c99a45}body{background:0 0}.scene-bg{z-index:-1;background-color:var(--bg);background-position:top;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.scene-main{background-image:url(/art/bg-main.jpg)}.scene-city{background-image:url(/art/bg-city.jpg)}h1.logo{line-height:0}h1.logo img{filter:drop-shadow(0 4px 8px #0009);width:min(300px,78vw);height:auto}.page.in-round{padding-top:8px}.page.in-round h1.logo img{width:110px}.page.in-round .tagline{display:none}.tagline{color:#fff3d6;text-shadow:0 1px 3px #000,0 0 10px #000000e6;margin:2px 0 16px}.panel{border:2px solid var(--frame);background:linear-gradient(#282018f2,#16120ef2);border-radius:10px;box-shadow:inset 0 0 0 1px #ffe08a2e,inset 0 0 0 4px #0000004d,0 8px 20px #00000073}.panel.inset{box-shadow:none;background:#0e0b08bf;border-width:1px}input,select{border-color:var(--frame);background:#0a0806d9}button:not([class]):not(.map-fullscreen *),button.big-gold,button.wide,button.danger,.back-to-map{color:#2a1a06;background:linear-gradient(180deg, var(--gold-hi), var(--gold) 45%, var(--gold-lo));text-shadow:0 1px #ffffff59;border:1px solid #6e4a12;box-shadow:inset 0 1px #ffffff8c,0 2px 5px #00000073}button.danger{color:#fff;text-shadow:0 1px 1px #0006;background:linear-gradient(#ff9a8a,#c8402e 50%,#8f2618);border-color:#5c140a}button.secondary,.tabs button{color:var(--text);border:1px solid var(--frame);background:linear-gradient(#3d3228,#221b15);box-shadow:inset 0 1px #ffffff14}.tabs button.on{color:#2a1a06;background:linear-gradient(180deg, var(--gold-hi), var(--gold) 45%, var(--gold-lo))}.back-to-map{justify-content:center;align-items:center;gap:8px;margin:10px 0;font-size:1.1rem;display:flex}h3.ribbon{align-items:center;gap:8px;margin:20px 0 10px;display:flex}h3.ribbon:first-child{margin-top:0}h3.ribbon:before,h3.ribbon:after{content:"";background:linear-gradient(90deg, transparent, var(--frame));flex:1;height:2px}h3.ribbon:after{background:linear-gradient(90deg, var(--frame), transparent)}h3.ribbon>span{color:var(--gold-hi);white-space:nowrap;border:2px solid var(--frame);background:linear-gradient(#3b2f22,#1c1610);border-radius:6px;align-items:center;gap:6px;padding:5px 18px;font-size:1.05rem;display:inline-flex;box-shadow:inset 0 0 0 1px #ffe08a33}.info-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;margin:3px 0;font-size:.85rem;display:flex}.info-line b{color:var(--text)}.info-line .pair{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.info-line.long,.city-card .info-line{flex-wrap:nowrap;align-items:flex-start}.info-line.long>span,.city-card .info-line>span{flex:1;min-width:0}.info-gap{flex:0 0 18px!important}.status-badge{color:var(--gold-hi);border:1px solid var(--frame);background:#00000059;border-radius:6px;padding:2px 10px;font-size:.85rem}.resbar{border-bottom:2px solid var(--frame);background:linear-gradient(#3a2e22,#241c15)}.res-cell b{font-size:1rem}.res-cell .rate{white-space:nowrap;color:var(--green);font-size:.8rem}.rate-key{color:var(--green)}.cap-line{align-items:center;gap:4px;display:flex}.city-card{align-items:center;gap:10px;margin:4px 0 8px;display:flex}.city-card h2{color:var(--gold-hi);align-items:center;gap:6px;margin:0 0 4px;font-size:1.25rem;display:flex}.city-card>.art-img,.city-card>.art-fallback{filter:drop-shadow(0 4px 6px #0009)}.bld-row{background:linear-gradient(90deg,#403324f2,#1e1812f2);border:1px solid #6b5533;border-radius:8px;gap:8px;padding:4px 8px;box-shadow:inset 0 0 0 1px #ffe08a14}.bld-row .grow{flex-direction:column;display:flex}.bld-name{font-size:1rem;font-weight:700}.bld-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.bld-right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.bld-right .lv{font-size:.85rem}.bld-right .queued{color:var(--gold)}.bld-chip{white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:4px 9px;font-size:.8rem;font-weight:700;display:inline-flex}.bld-chip.up{color:#2a1a06;background:linear-gradient(180deg, var(--gold-hi), var(--gold) 45%, var(--gold-lo));border:1px solid #6e4a12}.bld-chip.new{color:var(--text);background:linear-gradient(#5a544d,#2f2b27);border:1px solid #8a827a}.bld-chip.lock,.bld-chip.max{color:var(--muted);background:#00000059;border:1px solid #5d5245}button.field{background:linear-gradient(#403324f2,#1e1812f2);border:1px solid #6b5533}.panel-title{text-align:center;color:var(--gold-hi);background:linear-gradient(90deg, transparent, var(--frame), transparent) bottom / 70% 2px no-repeat;margin:0 0 18px;padding-bottom:10px;font-size:1.5rem}.label-text{align-items:center;gap:6px;display:flex}.input-with-eye{display:block;position:relative}.input-with-eye input{width:100%;padding-right:48px}button.eye{background:0 0;border:none;place-items:center;padding:4px;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}button.eye[aria-pressed=true]{opacity:.55}button.big-gold{justify-content:center;align-items:center;gap:8px;padding:14px;font-size:1.15rem;display:flex}.links button.link,.with-icon{align-items:center;gap:6px;display:inline-flex}button.with-icon{justify-content:center;display:flex}button.chip{border-color:var(--frame);background:linear-gradient(#3d3228,#221b15);align-items:center;gap:4px;display:inline-flex}.greet-head{align-items:center;gap:12px;display:flex}.greet-head h2{color:var(--gold-hi);margin:0}.links.row-links{flex-flow:wrap;justify-content:center;gap:4px 18px;margin-top:8px}ul.round-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.round-card{background:linear-gradient(#403324e6,#1a1510e6);border:1px solid #6b5533;border-radius:8px;padding:10px;box-shadow:inset 0 0 0 1px #ffe08a14}.round-card-top{align-items:flex-start;gap:10px;display:flex}.round-card .log-head{flex-wrap:wrap;gap:4px}.round-card .status{color:var(--gold-hi);font-size:.85rem}.round-card .chips{margin-top:8px}.round-card button.big-gold{padding:10px 16px;font-size:1rem}.caravan-form .grant-grid>label{min-width:0}.caravan-form input,.caravan-form select{box-sizing:border-box;width:100%;min-width:0}.caravan-form .res-label{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.caravan-goods{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.caravan-goods .cost{margin:0}.train{margin-top:12px}.train .unit-icon{align-self:flex-start;font-size:1.6rem;line-height:1}.ico{vertical-align:-.28em;flex-shrink:0;margin-right:.25em;display:inline-flex}.ico .art-img{filter:drop-shadow(0 1px 1px #00000059)}.unit-art{vertical-align:middle;flex-shrink:0;display:inline-flex}.unit-art .art-img{filter:drop-shadow(0 1px 1px #00000073)}.unit-line{vertical-align:middle;flex-wrap:wrap;gap:2px 10px;display:inline-flex}.unit-chip{white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.unit-name{align-items:center;gap:6px;display:inline-flex}.train-row{gap:8px;margin-top:6px;display:flex}.train-row input{box-sizing:border-box;flex:1;min-width:0}.map-reports{background:#fff4d6;border:2px solid #7a4a12;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;font-size:20px;display:grid;position:absolute;top:8px;left:60px;box-shadow:0 3px #7a4a12}.badge{color:#fff;text-align:center;background:#d8352a;border-radius:10px;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:700;line-height:20px;position:absolute;top:-6px;right:-6px}.badge.inline{margin-left:8px;display:inline-block;position:static}.send-army h4{margin:12px 0 4px}.mission-pick{gap:6px;display:flex}.mission-pick button,.from-cities button{flex:1}.mission-pick button.on,.from-cities button.on{outline:3px solid #2e86de}.from-cities,.unit-pick,.army-list,.report-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.from-cities button{text-align:left;width:100%}.unit-pick li{justify-content:space-between;align-items:center;gap:8px;display:flex}.unit-pick .pick{align-items:center;gap:6px;display:flex}.unit-pick input{width:84px}button.mini{padding:4px 8px;font-size:13px}.send-actions{gap:6px;margin-top:12px;display:grid}.army-row{background:#0000002e;border-radius:8px;padding:8px}.army-row.soon{border-left:4px solid #d8352a}.army-row .cd{font-variant-numeric:tabular-nums;font-weight:700}.report-list button{text-align:left;gap:2px;width:100%;display:grid}.report-list .dot{background:#d8352a;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.r-out.big{font-size:18px;font-weight:700}.unit-table{border-collapse:collapse;width:100%}.unit-table th,.unit-table td{text-align:right;border-bottom:1px solid #ffffff26;padding:4px 6px}.unit-table td:first-child,.unit-table th:first-child{text-align:left}.unit-table .lost{color:#ff7a6b}.reports-link{width:100%;margin-bottom:10px;position:relative}.side-title{color:var(--gold-hi,#ffe08a);margin:14px 0 4px}.from-cities button.on .hint,.from-cities button .hint{color:inherit;opacity:.75}.flag-banner{color:#6b1309;background:#fde3de;border:2px solid #d6301f;border-radius:10px;margin:8px 0;padding:10px 12px}.flag-banner .cd{font-variant-numeric:tabular-nums}.flag-line{font-weight:600}.map-wonders{top:60px;left:8px}.wonder-toast{z-index:15;background:#fff4d6;border:2px solid #7a4a12;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex;position:fixed;bottom:56px;left:8px;right:8px;box-shadow:0 3px #7a4a12}.wonder-toast>div{flex:1}.wonder-toast button{padding:4px 10px}.wonder-board .wonder-head{margin:8px 0}.wonder-history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.wonder-battle{background:#fffaf0;border:1px solid #c9b27a;border-radius:10px;padding:8px 10px}.wonder-battle.captured{background:#fff1c2;border-color:#b8860b}.wonder-battle .tag{color:#8a5a00;font-weight:700}.final-banner{z-index:15;text-align:center;background:#ffe3e0;border:2px solid #8b1d1d;border-radius:10px;padding:6px 10px;font-size:13px;position:fixed;bottom:8px;left:8px;right:8px;box-shadow:0 3px #8b1d1d}.final-banner.decided{background:#fff1c2;border-color:#b8860b;font-size:15px;box-shadow:0 3px #b8860b}.standings{border-collapse:collapse;width:100%;font-size:14px}.standings th,.standings td{text-align:left;border-bottom:1px solid #d8c9a3;padding:4px 6px}.standings tr.lead{background:#fff1c2;font-weight:700}.winner-card{text-align:center;background:#fff4d6;border:2px solid #7a4a12;border-radius:12px;margin:8px 0;padding:12px;font-size:18px;font-weight:700}.winner-card.done{background:#fff1c2;border-color:#b8860b}.timeline .tl-row{margin:6px 0}.tl-name{margin-bottom:2px;font-size:13px}.tl-bar{background:#e8e1cf;border-radius:6px;height:22px;position:relative;overflow:hidden}.tl-seg{position:absolute;top:0;bottom:0}.tl-mark{background:#8b1d1d;width:2px;position:absolute;top:0;bottom:0}.tl-legend{flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12px;display:flex}.tl-legend i{border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.awards{gap:8px;margin:0;padding:0;list-style:none;display:grid}.awards li{background:#fffaf0;border:1px solid #c9b27a;border-radius:10px;padding:8px 10px}.awards li.got{background:#fff1c2;border-color:#b8860b}.aw-head{align-items:center;gap:6px;display:flex}.aw-icon{font-size:22px}.aw-winners{flex-wrap:wrap;gap:4px 12px;margin-top:2px;display:flex}.final-banner button{margin-left:8px;padding:2px 8px}.standings tr.lead,.wonder-battle,.awards li,.winner-card,.wonder-toast,.final-banner{color:#3a2608}.standings tr.lead .hint,.wonder-battle .hint,.awards li .hint,.wonder-toast .hint,.final-banner .hint{color:#6b5530}.city-topbar{margin-bottom:10px;padding:8px 10px}.topbar-row{align-items:center;gap:8px;display:flex}.topbar-btn{height:56px;color:var(--text);border:1px solid var(--frame);background:linear-gradient(#3d3228,#221b15);border-radius:10px;flex-direction:column;flex:0 0 56px;justify-content:center;align-items:center;gap:1px;padding:2px 0 0;font-size:.75rem;line-height:1.1;display:flex;position:relative}.topbar-btn.placeholder{visibility:hidden}.topbar-btn .badge{position:absolute;top:-6px;right:-6px}.topbar-mid{text-align:center;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.topbar-mid b{white-space:nowrap;text-overflow:ellipsis;color:var(--gold-hi);overflow:hidden}.topbar-time{color:var(--text);flex-wrap:wrap;justify-content:center;gap:0 10px;font-size:.82rem;display:flex}.topbar-time .nowrap{white-space:nowrap}.topbar-sub{justify-content:center;margin-top:6px;font-size:.78rem}.topbar-sub .status-badge{padding:0 8px;font-size:.75rem}.report-list button.read,.report-list button.unread{min-height:78px;color:var(--text);border:1px solid var(--frame);text-shadow:none;background:linear-gradient(#3a2e23,#251d16);border-radius:12px;gap:4px;padding:10px 12px;box-shadow:inset 0 1px #ffffff0f}.report-list button.unread{border-left:5px solid #d8352a}.report-list .r-title{font-size:1rem;font-weight:700;line-height:1.45}.report-list .r-out{font-weight:700}.r-out.tone-good{color:#9ad66b}.r-out.tone-bad{color:#ff8a7a}.r-time{color:#e6d7b8;font-size:.85rem}ul.buildings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}ul.buildings>li{min-width:0}ul.buildings .bld-row{background:linear-gradient(#403324f2,#1e1812f2);border-radius:10px;grid-template-columns:52px minmax(0,1fr);grid-template-areas:"img right""text text";align-items:start;gap:4px 6px;height:100%;padding:8px;display:grid}ul.buildings .bld-row>.art-img,ul.buildings .bld-row>.art-fallback{grid-area:img}ul.buildings .bld-right{grid-area:right;justify-self:end}ul.buildings .bld-row .grow{grid-area:text;min-width:0}ul.buildings .bld-name{font-size:.95rem;line-height:1.35}ul.buildings .bld-sub{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.4;display:-webkit-box}.cv-world{z-index:1;-webkit-user-select:none;user-select:none;position:absolute}.cv-world>.cv-ground{-webkit-mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000)}.cv-full{pointer-events:none;width:100%;height:auto;position:absolute;top:0;left:0}.cv-item{pointer-events:none;position:absolute}.cv-art{object-fit:contain;width:100%;height:100%;display:block}.cv-item.is-selected .cv-art{filter:drop-shadow(0 0 6px var(--gold-hi)) drop-shadow(0 0 12px var(--gold))}.cv-plus{color:var(--gold-hi);text-shadow:0 1px 3px #000, 0 0 6px var(--gold-lo);font-size:1.6rem;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cv-label{color:var(--text);border:1px solid var(--frame);white-space:nowrap;pointer-events:none;background:#2b1f12;border-radius:999px;align-items:center;gap:2px;padding:0 6px;font-size:.6rem;line-height:1.45;display:inline-flex;position:absolute;transform:translate(-50%,2px)}.cv-tap{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;min-width:44px;min-height:44px;padding:0;position:absolute;transform:translate(-50%,-50%)}.cv-tap:focus-visible{outline:2px solid var(--gold-hi);outline-offset:-2px}.cv-tap.is-selected{outline:2px solid var(--gold);outline-offset:-2px}.page.in-round:has(.cv-screen){max-width:560px;padding:0}.page.in-round:has(.cv-screen)>h1{display:none}.page.in-round:has(.cv-screen)>.tagline{display:none}.cv-screen{isolation:isolate;background:var(--bg);height:100dvh;padding-top:calc(6px + env(safe-area-inset-top,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);flex-direction:column;gap:5px;display:flex;position:relative;overflow:hidden}.cv-screen>*{flex:none}.cv-screen:before{content:"";z-index:0;background:var(--cv-backdrop,none) center / cover no-repeat;filter:blur(18px)brightness(.75);pointer-events:none;position:absolute;inset:-40px}.cv-screen>.cv-topbar{z-index:2;padding:0 8px;position:relative}.cv-screen>.cv-city{flex-direction:column;flex:auto;gap:5px;min-height:0;display:flex}.cv-city>*{flex:none}.cv-city>.resbar,.cv-city>.cv-namebar,.cv-city>.flag-banner,.cv-city>.error{margin-left:8px;margin-right:8px}.cv-city>.error{margin-top:0;margin-bottom:0}.cv-city>.resbar,.cv-city>.cv-namebar,.cv-city>.flag-banner,.cv-city>.error,.cv-city>.cv-sel-dock{z-index:2;position:relative}.cv-city.cv-city-msg{padding:0 8px 8px;overflow:auto}.cv-city>.cv-mid-wrap{z-index:2;flex-direction:column;flex:auto;min-height:200px;display:flex;position:relative}.cv-mid{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:auto}.cv-mid-wrap.is-scene{pointer-events:none;min-height:110px}.cv-mid-wrap.is-scene .cv-float{pointer-events:auto}.cv-mid>.cv-tab.cv-tab-panel{margin:0 8px 8px}.cv-sel-dock{padding:0 8px}.cv-city>.cv-nav{margin-top:0}.cv-topbar{flex-direction:column;gap:5px;display:flex}.cv-topbar-row{justify-content:space-between;align-items:center;gap:4px;display:flex}.cv-top-group{flex:none;gap:4px;display:flex}.cv-top-btn{height:54px;color:var(--gold-hi);text-shadow:0 1px 2px #000;border-width:2px;flex:0 0 54px;font-size:.7rem;font-weight:700;box-shadow:inset 0 1px #ffe08a40,0 3px 8px #00000080}.cv-top-btn.is-soon{color:var(--muted)}.cv-top-btn.is-soon .art-img,.cv-top-btn.is-soon .art-fallback{filter:grayscale()brightness(.75)}.soon-tip{z-index:30;white-space:nowrap;color:var(--text);border:1px solid var(--frame);pointer-events:none;background:#2b1f12;border-radius:8px;padding:3px 8px;font-size:.75rem;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 3px 8px #00000080}.cv-logo{object-fit:contain;filter:drop-shadow(0 3px 6px #0009);flex:0 180px;width:0;min-width:0;height:auto;max-height:64px}.cv-logo-text{width:auto;color:var(--gold-hi);text-shadow:0 2px 4px #000;font-size:1.6rem}.cv-roundbar{color:var(--text);border:2px solid var(--frame);background:linear-gradient(#3a2e22,#1f1812);border-radius:999px;justify-content:space-between;align-items:center;gap:6px;padding:5px 10px;font-size:.85rem;display:flex;box-shadow:0 3px 8px #00000073}.cv-roundbar-name{align-items:center;gap:4px;min-width:0;display:inline-flex}.cv-roundbar-name b{white-space:nowrap;text-overflow:ellipsis;color:var(--gold-hi);overflow:hidden}.cv-roundbar-cell{white-space:nowrap;border-left:1px solid #c99a4580;align-items:center;gap:2px;padding-left:6px;display:inline-flex}.resbar.cv-resbar{border:2px solid var(--frame);border-radius:10px;margin:0 8px;padding:5px 4px 3px;box-shadow:inset 0 0 0 1px #ffe08a26,0 3px 8px #00000073}.cv-resbar .resbar-row{gap:0}.cv-resbar .res-cell{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:2px;padding:0 2px;display:grid}.cv-resbar .res-cell+.res-cell{border-left:1px solid #c99a4573}.cv-resbar .res-cell b{font-size:.92rem;line-height:1.2;display:block}.cv-resbar .res-cell .rate{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.64rem;line-height:1.2;overflow:hidden}.cv-res-cap{background:#00000080;border-radius:2px;height:3px;margin-top:2px;overflow:hidden}.cv-res-cap span{background:var(--green);height:100%;display:block}.res-cell.warn .cv-res-cap span{background:var(--gold)}.cv-resbar .cap-line{margin-top:3px;font-size:.68rem}.cv-namebar{border:2px solid var(--frame);background:linear-gradient(#3a2e22,#1f1812);border-radius:10px;align-items:center;gap:6px;padding:4px 10px;display:flex;box-shadow:0 3px 8px #00000073}.cv-namebar-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gold-hi);flex:1;font-size:1rem;overflow:hidden}.cv-namebar-title span{color:var(--text);font-weight:400}.cv-namebar-pos{white-space:nowrap;background:#00000059;border:1px solid #c99a4599;border-radius:999px;flex-shrink:0;align-items:center;gap:2px;padding:1px 8px;font-size:.82rem;display:inline-flex}.cv-tab[hidden]{display:none!important}.cv-tab{flex-direction:column;gap:6px;display:flex}.cv-tab.cv-tab-panel{padding:12px;display:block}.cv-float{z-index:3;flex-direction:row;align-items:center;gap:6px;display:flex;position:absolute;top:6px;right:6px}.cv-float-btn{white-space:nowrap;min-width:38px;height:38px;min-height:0;color:var(--gold-hi);border:2px solid var(--frame);text-shadow:0 1px 2px #000;background:linear-gradient(#3d3228,#221b15);border-radius:10px;flex-direction:row;justify-content:center;align-items:center;gap:3px;padding:0 8px;font-size:.72rem;line-height:1.1;display:flex;position:relative;box-shadow:0 3px 8px #0000008c}.cv-float-btn:before{content:"";position:absolute;inset:-3px}.cv-float-arrow{width:38px;padding:0;font-size:1.1rem;line-height:1}.cv-float-btn:disabled{color:#8a8070;opacity:.85;cursor:default;background:linear-gradient(#4a4540,#2a2724);border-color:#6a625a}.cv-selected{border:2px solid var(--frame);background:linear-gradient(#30261cf7,#16120ef7);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex;box-shadow:inset 0 0 0 1px #ffe08a2e,0 4px 12px #00000080}.cv-selected.cv-sel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;gap:8px;padding:8px;display:grid}.cv-sel-left{text-align:left;min-width:0;color:var(--text);box-shadow:none;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;padding:0;font-weight:400;display:flex}.cv-sel-head,.cv-sel-body{align-items:center;gap:6px;min-width:0;display:flex}.cv-sel-pic{flex:0 0 64px;justify-content:center;align-items:center;height:64px;display:flex}.cv-sel-more{color:var(--gold);font-size:.78rem}.cv-sel-right{flex-direction:column;justify-content:center;gap:6px;min-width:0;display:flex}.cv-sel-art{object-fit:contain;max-width:100%;max-height:100%}.cv-sel-text{flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex}.cv-sel-title{min-width:0;color:var(--gold-hi);margin:0;font-size:1rem;font-weight:700;line-height:1.2}.cv-sel-lv{color:var(--text);font-size:.85rem;font-weight:400}.cv-sel-line{min-width:0;color:var(--muted);margin:0;font-size:.8rem;line-height:1.3}button.big-gold.cv-sel-btn{width:100%;min-height:44px;padding:6px 12px;font-size:.95rem}.cv-rally{flex-direction:column;gap:6px;display:flex}.cv-rally-row{text-align:left;width:100%;min-height:44px;color:var(--text);background:#00000059;border:1px solid #c99a45b3;border-radius:10px;align-items:center;gap:6px;padding:5px 6px 5px 8px;font-weight:400;display:flex}.cv-rally-text{flex-direction:column;flex:1;min-width:0;font-size:.82rem;line-height:1.25;display:flex}.cv-rally-text b{color:var(--gold-hi)}.cv-rally-time{font-variant-numeric:tabular-nums;font-size:.76rem}.cv-rally-go{color:var(--gold);font-size:1.6rem;line-height:1}.cv-queue{border:1px solid var(--frame);background:#16120ee6;border-radius:10px;margin-bottom:10px;padding:8px 10px}.cv-queue>:first-child{margin-top:0}ul.cv-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cv-list .bld-row{min-height:64px}.cv-list .bld-sub{white-space:normal}.cv-list .bld-row.is-locked{opacity:.8}.cv-list-need,.cv-list-short{color:#e8a27a}.cv-list-ok{color:#9fd88a}.cv-list-cost{flex-wrap:wrap;gap:2px 8px;font-size:.75rem;display:flex}.cv-list-cost>span{align-items:center;gap:2px;display:inline-flex}.cv-list-cost>.short{color:#e8a27a}.cv-list-empty{text-align:center;margin:12px 4px}.cv-round-more{flex-wrap:wrap;justify-content:flex-start}.cv-lobby-btn{margin-top:12px}.cv-nav{z-index:10;padding:5px 5px calc(5px + env(safe-area-inset-bottom,0px));border-top:2px solid var(--frame);background:linear-gradient(#2e241a,#17120d);grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin:0;display:grid;position:relative;box-shadow:0 -4px 12px #00000080}.cv-nav-btn{white-space:nowrap;min-width:0;min-height:56px;color:var(--gold-hi);border:1px solid var(--frame);text-shadow:0 1px 2px #000;background:linear-gradient(#3d3228,#221b15);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 1px;font-size:.74rem;line-height:1.1;display:flex;position:relative}.cv-nav-btn .badge{top:2px;right:4px}.cv-nav-btn.is-active{color:#2a1a06;background:linear-gradient(180deg, var(--gold-hi), var(--gold) 45%, var(--gold-lo));text-shadow:0 1px #ffffff59;border-color:#6e4a12}.cv-nav-dots{letter-spacing:1px;align-items:center;height:30px;font-size:1.1rem;display:flex}.page.in-round:has(.cv-screen)>.wonder-toast{z-index:40;width:min(464px,100% - 16px);inset:6px auto auto 50%;transform:translate(-50%)}.page.in-round:has(.cv-screen)>.final-banner.final-pill{z-index:39;text-align:left;align-items:center;gap:6px;width:min(464px,100% - 16px);padding:4px 8px;font-size:12px;display:flex;inset:6px auto auto 50%;transform:translate(-50%)}.page.in-round:has(.cv-screen)>.wonder-toast~.final-banner.final-pill{top:64px}.final-banner.final-pill>span{flex:1}.cv-resbar .res-cell .art-img,.cv-resbar .res-cell .art-fallback{width:28px;height:28px}.cv-resbar .res-cell b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cv-standings h2{margin:0 40px 8px 0}.cv-standings .standings td{vertical-align:middle}.map-resbar{z-index:2;pointer-events:none;position:absolute;top:58px;left:8px;right:60px}.map-resbar .resbar.cv-resbar{background:#1e140ae0;margin:0}.map-mycity{z-index:3}.sheet-grip{background:var(--frame,#c99a45);opacity:.7;border-radius:3px;width:44px;height:5px;margin:-4px auto 8px;display:block}.map-sheet{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.map-sheet h3{font-size:1.15rem}.map-sheet .sheet-action{min-height:52px;font-size:1.05rem}.map-sheet .travel{background:#00000038;border-radius:8px;margin:6px 0 0;padding:6px 8px}.map-sheet:has(.send-army){max-height:92%}.send-army .send-actions{bottom:calc(-14px - env(safe-area-inset-bottom));z-index:2;padding:10px 14px calc(12px + env(safe-area-inset-bottom));background:var(--panel);border-top:2px solid var(--gold);margin:12px -14px 0;position:sticky}.send-army .send-actions .sheet-action{min-height:52px;margin-top:0}.sheet .sheet-head{z-index:2;background:var(--panel);border-bottom:1px solid var(--border);margin:-20px -16px 8px;padding:20px 60px 8px 16px;position:sticky;top:-20px}.sheet .sheet-close{z-index:3}.own-count{color:var(--gold-hi,#ffe08a);background:#ffe08a29;border-radius:8px;padding:0 6px;font-size:.8rem;display:inline-block}.side-box{background:#00000038;border:1px solid #c99a4566;border-left-width:5px;border-radius:10px;margin:10px 0;padding:8px 10px 6px}.side-box .side-title{margin-top:2px}.side-atk{border-left-color:#d8352a}.side-def{border-left-color:#2e86de}.side-spoils{border-left-color:var(--gold,#ffd36a)}.wonder-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0;display:grid}.wonder-tabs .chip{text-align:center;flex-direction:column;align-items:center;gap:2px;min-height:78px;padding:6px 4px;font-size:.78rem;line-height:1.2;display:flex}.wonder-tabs .chip.on{border:2px solid var(--gold,#ffd36a);background:#ffe08a2e;font-weight:700}.wonder-board .wonder-head{background:#00000038;border:1px solid #c99a4566;border-radius:10px;padding:8px 12px}.wonder-board .wonder-head h3{align-items:center;gap:8px;margin:0 0 4px;display:flex}.tl-ticks{height:20px;margin-top:2px;position:relative}.tl-tick{background:var(--muted,#a99);width:1px;height:5px;font-size:11px;line-height:1;position:absolute;top:0}.tl-tick.lbl{background:linear-gradient(var(--muted,#a99), var(--muted,#a99)) top / 1px 8px no-repeat;background-color:#0000;height:8px;padding-top:9px}.tl-tick{transform:translate(-.5px)}.tl-tick.lbl{color:var(--text);white-space:nowrap}.tl-tick:last-child{transform:none}.awards li{color:#fff1d0;border:1px solid var(--frame,#c99a45);background:linear-gradient(#5c3b1c,#47301a)}.awards li.got{border:2px solid var(--gold,#ffd36a);background:linear-gradient(#6b4521,#523519)}.awards li .hint{color:#e6d2a6}.awards li.none{opacity:.8}.aw-head b{font-size:1.02rem}.aw-winner b{color:var(--gold-hi,#ffe08a);font-size:1.05rem;font-weight:800}.tl-tick.lbl{text-align:center;transform:translate(-50%)}h1.logo img{width:min(200px,56vw)}.tagline{margin-bottom:10px;font-size:.85rem}.round-card{padding:8px 10px}ul.round-cards{gap:8px}.round-card .info-line{gap:2px 10px;font-size:.82rem}.tribe{min-height:44px;position:relative}.tribe.selected{border:3px solid var(--gold-hi,#ffe08a);background:#4a3a20;padding:8px;box-shadow:0 0 10px #ffe08a59}.tribe.selected:after{content:"✓";background:var(--gold-hi,#ffe08a);color:#3a2608;border-radius:50%;place-items:center;width:22px;height:22px;font-size:14px;font-weight:700;display:grid;position:absolute;top:4px;right:6px}
