:root{--bg: #f6f1e7;--surface: #fffdf8;--text: #2b2418;--muted: #7a6d58;--accent: #8a5a19;--border: #d9cdb6;--danger: #a3312a;--warn: #b7791f;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #1c1915;--surface: #26221c;--text: #efe6d4;--muted: #a99c84;--accent: #d9a24e;--border: #3d362c;--danger: #e0675e;--warn: #e0a84a;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,sans-serif}main{max-width:640px;margin:0 auto;padding:16px}form{display:grid;gap:12px}label{display:grid;gap:4px;font-size:14px;color:var(--muted)}input,button{font:inherit;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}button{background:var(--accent);color:var(--surface);border:none;cursor:pointer;min-height:44px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border-radius:8px;background:var(--accent);color:var(--surface);text-decoration:none;font:inherit;cursor:pointer}.error{color:var(--danger)}a{color:var(--accent)}header.topbar{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"brand nav right";align-items:center;gap:8px 16px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar .brand-group{grid-area:brand;display:flex;align-items:center;gap:12px;min-width:0}.topbar .brand{font-size:18px;letter-spacing:.02em}.godmode-button{min-height:32px;padding:4px 10px;font-size:12px;font-weight:700;letter-spacing:.06em}.godmode-section{display:grid;gap:8px}.godmode-section h3{margin:0;font-size:16px}.godmode-facts{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0}.godmode-facts dt{color:var(--muted)}.godmode-facts dd{margin:0}.godmode-skips,.godmode-custom{display:flex;flex-wrap:wrap;gap:8px}.godmode-custom input{width:6em}.godmode-accounts{list-style:none;margin:0;padding:0;display:grid;gap:6px}.godmode-accounts button{width:100%;text-align:left}.godmode-accounts button[aria-current=true]{border-color:var(--accent)}.godmode-queue{display:block;font-size:13px}.topnav{grid-area:nav;display:flex;justify-content:center;gap:2px}.topnav a{padding:10px 14px;color:var(--muted);font-weight:600;text-decoration:none;border-radius:8px 8px 0 0}.topnav a:hover{color:var(--text);background:var(--bg)}.topnav a.active{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.topbar-right{grid-area:right;justify-self:end;display:flex;gap:12px;align-items:center;min-width:0}.topbar-right select{min-width:0;max-width:16em;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:14px}.topbar-right .who{color:var(--muted);font-size:14px;white-space:nowrap}.topbar-right button{min-height:36px;padding:6px 12px;font-size:14px}.hero-badge{display:grid;min-width:0;max-width:14em;flex-shrink:1;font-size:13px;line-height:1.25;text-decoration:none;color:var(--text)}.hero-badge-text{display:flex;min-width:0;white-space:nowrap;font-weight:600}.hero-badge-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.hero-badge-rest{white-space:pre}.hero-badge-status{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:1280px){header.topbar{grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr)}}@media(min-width:761px)and (max-width:1279px){header.topbar{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand right" "nav nav";padding-bottom:0}}.hero-panel{display:grid;gap:8px}.hero-panel p,.hero-mansion p{margin:0}.hero-name-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hero-name-row input{flex:1 1 10em;min-width:0}.hero-xp{display:grid;gap:4px}.hero-xp progress{width:100%;accent-color:var(--accent)}.hero-attributes{list-style:none;padding:0;margin:0;display:grid;gap:8px}.hero-attributes button{min-width:44px}.statusbar{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 2px 6px #0000000f}.statusbar .resource-bar{max-width:960px;margin:0 auto;padding:6px 16px}@media(max-width:760px){header.topbar{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand right" "nav nav";padding-bottom:0}.topnav{min-width:0;justify-content:safe center;overflow-x:auto;scrollbar-width:none}.topnav a{padding:8px 10px;white-space:nowrap}.topbar-right{gap:8px;justify-self:stretch;justify-content:flex-end}.topbar-right .who{display:none}.topbar-right:has(.hero-badge){display:grid;grid-template-columns:minmax(0,1fr) auto;justify-items:end;row-gap:2px}.topbar-right:has(.hero-badge) select{max-width:min(11em,100%)}.hero-badge{order:1;grid-column:1 / -1;max-width:100%;justify-items:end;padding-bottom:2px}.hero-badge-status{display:none}.topbar-right select{max-width:11em;text-overflow:ellipsis}.topbar-right button{white-space:nowrap}.topbar .brand-group{flex-shrink:0;white-space:nowrap}}h1{margin:0 0 12px;font-size:24px}h2{margin:0;font-size:18px}.muted,.cost,.rate,.level{color:var(--muted);font-size:14px}.secondary{background:transparent;color:var(--accent);border:1px solid var(--border)}button:disabled{opacity:.5;cursor:not-allowed}.tabs{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto}.tabs button{flex:1 0 auto;white-space:nowrap}.tabs [aria-selected=false]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.options,.cards,.queue ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;display:grid;gap:8px}.row{grid-template-columns:1fr auto auto;align-items:center}.timer{font-variant-numeric:tabular-nums}.panel{position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:80vh;overflow-y:auto;background:var(--bg);box-shadow:0 -2px 10px #0000001a;border-top:1px solid var(--border);padding:16px;display:grid;gap:12px}@media(min-width:700px){.panel{left:50%;right:auto;width:640px;transform:translate(-50%);border:1px solid var(--border);border-radius:12px 12px 0 0}}fieldset.thirds{border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px}.choice{display:flex;gap:6px;align-items:center;color:var(--text)}.expansion{margin-top:16px}main:has(.map){max-width:960px}:root{--res-wood: #006e32;--res-clay: #b5502a;--res-iron: #758693;--res-crop: #dfa724;--tile: #efe7d6;--tile-line: #d2c4a8;--flag-own: var(--accent);--flag-other: #5b4f86}@media(prefers-color-scheme:dark){:root{--tile: #2c2720;--tile-line: #40382d;--flag-other: #a99be0}}.mapview{position:relative;width:100%;aspect-ratio:2 / 1.7320508;margin:22px 0}svg.hexmap{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:var(--tile-line);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}svg.hexmap:active{cursor:grabbing}svg.mapframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}svg.mapframe polygon{fill:none;stroke:var(--border);stroke-width:2;vector-effect:non-scaling-stroke}.pan-edge{position:absolute;transform:translate(-50%,-50%);width:40px;height:40px;min-height:0;padding:0;border-radius:50%;background:var(--surface);color:var(--accent);border:1px solid var(--border);box-shadow:0 1px 4px #00000026;display:grid;place-items:center;font-size:14px;z-index:1}.pan-edge svg{display:block;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.pan-edge:hover{background:var(--accent);color:var(--surface)}.map-error{position:absolute;left:50%;bottom:12%;transform:translate(-50%);background:var(--surface);padding:4px 10px;border-radius:8px;margin:0}.tile{cursor:pointer}.tile polygon{fill:var(--tile);stroke:var(--tile-line);stroke-width:1;vector-effect:non-scaling-stroke}.tile.cropper7 polygon{fill:color-mix(in srgb,var(--res-crop) 40%,var(--tile))}.tile.cropper9 polygon{fill:color-mix(in srgb,var(--res-crop) 70%,var(--tile))}.tile.cropper15 polygon{fill:var(--res-crop);stroke:#a8862a}.tile.oasis_wood polygon{fill:var(--res-wood)}.tile.oasis_clay polygon{fill:var(--res-clay)}.tile.oasis_iron polygon{fill:var(--res-iron)}.tile.oasis_crop polygon{fill:var(--res-crop)}.tile.oasis_wood_crop polygon{fill:url(#g-oasis_wood_crop)}.tile.oasis_clay_crop polygon{fill:url(#g-oasis_clay_crop)}.tile.oasis_iron_crop polygon{fill:url(#g-oasis_iron_crop)}.tile[data-owned=own] polygon{stroke:var(--flag-own);stroke-width:3}.tile[data-owned=other] polygon{stroke:var(--flag-other);stroke-width:3}.s-wood{stop-color:var(--res-wood)}.s-clay{stop-color:var(--res-clay)}.s-iron{stop-color:var(--res-iron)}.s-crop{stop-color:var(--res-crop)}.tile.own polygon{fill:color-mix(in srgb,var(--accent) 35%,var(--tile))}.tile.taken polygon{fill:color-mix(in srgb,var(--flag-other) 25%,var(--tile))}.tile .flag{fill:var(--flag-other);stroke:var(--surface);stroke-width:1;vector-effect:non-scaling-stroke}.tile.own .flag{fill:var(--flag-own)}.tile text{font-size:11px;font-weight:600;text-anchor:middle;fill:#fff;paint-order:stroke;stroke:#00000073;stroke-width:2px;pointer-events:none}.tile:hover polygon,.tile:focus-visible polygon{stroke:var(--text);stroke-width:2}.tile:focus{outline:none}.tile.home polygon{stroke:var(--accent);stroke-width:3}.tile.selected polygon{stroke:var(--text);stroke-width:3;stroke-dasharray:4 3}.map-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.map-bar button{min-width:44px}.map-info{flex:1 1 220px;margin:0;color:var(--muted);font-size:14px}.legend{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--muted)}.legend li{display:flex;align-items:center;gap:4px}.sw{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--tile-line)}.sw.own{background:var(--flag-own)}.sw.taken{background:var(--flag-other)}.sw.cropper7{background:color-mix(in srgb,var(--res-crop) 40%,var(--tile))}.sw.cropper9{background:color-mix(in srgb,var(--res-crop) 70%,var(--tile))}.sw.cropper15{background:var(--res-crop)}.sw.oasis-wood{background:var(--res-wood)}.sw.oasis-clay{background:var(--res-clay)}.sw.oasis-iron{background:var(--res-iron)}.sw.oasis-crop{background:var(--res-crop)}.rate.negative{color:var(--danger);font-weight:600;animation:crop-flash 1s ease-in-out infinite}@keyframes crop-flash{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.rate.negative{animation:none}}h3{margin:0;font-size:16px}h4{margin:8px 0 0;font-size:14px;color:var(--muted)}.army,.troops{display:grid;gap:8px}.army-units{list-style:none;padding:0;margin:0;display:grid;gap:8px}.army-units .locked{opacity:.6}.train-row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.train-row input{width:7em}.troops ul{margin:0;padding-left:18px}.send,.reinforcements{margin-top:16px;display:grid;gap:8px}.send-target{display:flex;gap:8px;flex-wrap:wrap}.send-target input{width:6em}.send-units{list-style:none;padding:0;margin:0;display:grid;gap:6px}.send-units li{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.send-units input{width:7em}fieldset.choices{border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px}.card.incoming{border-color:var(--danger);border-width:2px}.reports .unread a{font-weight:600}.report-army table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.report-army th,.report-army td{text-align:left;padding:2px 8px 2px 0}.info{padding-left:18px}.pager{display:flex;gap:8px;margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;flex:none}.res-wood{background:var(--res-wood)}.res-clay{background:var(--res-clay)}.res-iron{background:var(--res-iron)}.res-crop{background:var(--res-crop)}.cost-line{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:14px}.cost-cells{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 10px;font-variant-numeric:tabular-nums}.cost-cell{display:flex;align-items:center;gap:4px}.cost-cell.short{color:var(--danger);font-weight:600}.cost-cell .shortfall{margin-left:2px}.cost-extra{color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}body.modal-open{overflow:hidden}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000073;display:grid;place-items:center}.modal{background:var(--bg);width:100%;height:100%;overflow-y:auto;outline:none;display:grid;grid-template-rows:auto 1fr}@media(min-width:700px){.modal{width:min(560px,calc(100vw - 32px));height:auto;max-height:calc(100vh - 64px);border:1px solid var(--border);border-radius:12px}}.modal-head{position:sticky;top:0;z-index:1;background:var(--bg);display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border)}.modal-close{min-width:44px;font-size:22px;line-height:1;padding:6px 10px}.modal-body{padding:16px;display:grid;gap:12px;align-content:start}.tabpanel{display:grid;gap:12px}.toasts{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + max(var(--chat-h, 0px),env(safe-area-inset-bottom)));z-index:60;display:grid;gap:8px;width:min(480px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;cursor:pointer;padding:10px 14px;border-radius:8px;background:var(--text);color:var(--bg);box-shadow:0 2px 8px #00000040}.toast.success{border-left:6px solid var(--res-wood)}.toast.error{background:var(--danger);color:#fff}.option-rows{list-style:none;margin:0;padding:0;display:grid;gap:6px}.option-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:grid;gap:4px}.option-head{display:grid;gap:2px;text-align:left;background:transparent;color:var(--text);padding:8px 12px;min-height:44px}.requirements{margin:0 12px 8px;padding-left:18px;color:var(--danger);font-size:14px}.option-details{display:grid;gap:8px;padding:0 12px 12px}.effects{list-style:none;margin:0;padding:0;font-size:14px}.group-toggle{justify-self:start}.max-level{font-weight:600;margin:0}.resource-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:6px}.resource{position:relative;display:grid;gap:2px;text-align:left;min-height:0;padding:6px 8px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:13px;font-variant-numeric:tabular-nums}.resource .res-name{display:flex;align-items:center;gap:4px;color:var(--muted)}.resource.warn .res-amount{color:var(--warn);font-weight:600}.resource.full .res-amount{color:var(--danger);font-weight:600}.resource .fill{display:block;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.resource .fill>span{display:block;height:100%}.resource .eta{position:absolute;top:100%;left:0;z-index:6;margin-top:4px;padding:4px 8px;border-radius:6px;background:var(--text);color:var(--bg);white-space:nowrap;font-size:13px}.resource.population{align-content:start}@media(max-width:480px){.resource-bar{grid-template-columns:repeat(4,minmax(0,1fr))}.resource.population{grid-column:1 / -1;display:flex;gap:6px;padding:2px 8px}}.village h1{font-size:20px;margin-bottom:4px}.queue-strip{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:4px}.queue-strip li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:2px 4px 2px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:14px}.queue-strip button{min-height:32px;padding:4px 10px}.movement-summary{margin:0 0 8px;display:grid;gap:6px}.summary-toggle{display:grid;gap:2px;text-align:left;min-height:0;padding:6px 10px;background:var(--surface);color:var(--text);border:1px solid var(--border);font-size:14px}.summary-toggle .danger{color:var(--danger);font-weight:600}.movement-rows{list-style:none;margin:0;padding:0;display:grid;gap:6px}.hex-board{position:relative;width:100%;max-width:560px;margin:0 auto 16px;container-type:inline-size}.hex{position:absolute;padding:0;min-height:0;border-radius:0;background:var(--border);color:var(--text);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);transform:scale(.95)}.hex-face{position:absolute;top:3px;right:3px;bottom:3px;left:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:var(--surface);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.hex[data-res]{color:#fff}.hex[data-res=wood] .hex-face{background:var(--res-wood)}.hex[data-res=clay] .hex-face{background:var(--res-clay)}.hex[data-res=iron] .hex-face{background:var(--res-iron)}.hex[data-res=crop]{color:#2b2418}.hex[data-res=crop] .hex-face{background:var(--res-crop)}.hex.empty .hex-face{background:var(--bg);color:var(--muted)}.hex:hover .hex-face{filter:brightness(1.08)}.hex.busy{background:var(--accent)}.hex.busy .hex-face{top:5px;right:5px;bottom:5px;left:5px}.hex:focus-visible{outline:none;background:var(--text)}.hex-level{font-size:max(18px,7cqw);font-weight:700;line-height:1}.hex[data-res] .hex-level{text-shadow:0 1px 2px rgb(0 0 0 / .25)}.hex[data-res=crop] .hex-level{text-shadow:none}.hex:not([data-res]) .hex-level{font-size:max(15px,5cqw);color:var(--accent)}.hex-timer{font-size:max(11px,2.8cqw);font-weight:600}.hex-dot{position:absolute;top:12%;left:50%;translate:-50% 0;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #2b2418}.hex:not([data-res]) .hex-dot{top:50%;left:auto;right:9%;translate:0 -50%;background:var(--res-wood);box-shadow:0 0 0 2px var(--surface)}.hex.link{background:var(--accent)}.hex-name{max-width:72%;font-size:max(11px,2.9cqw);font-weight:600;line-height:1.15;text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.hex.link .hex-name{font-size:max(12px,3.4cqw)}:root{--wall-stone: #b3a68e;--wall-edge: #857659;--wall-text: #fffdf8}@media(prefers-color-scheme:dark){:root{--wall-stone: #5e5546;--wall-edge: #3b342a;--wall-text: #efe6d4}}.wall{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;min-height:0;border-radius:0;background:none;pointer-events:none}.wall svg{display:block;width:100%;height:100%;overflow:visible}.wall-stone{pointer-events:all;cursor:pointer}.wall-stone{fill:var(--wall-stone);stroke:var(--wall-edge);stroke-width:.06;stroke-linejoin:round}.wall-level{fill:var(--wall-text);font-size:.42px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.wall-timer{fill:var(--accent);font-size:.32px;font-weight:600;text-anchor:middle;dominant-baseline:hanging;pointer-events:none}.wall-dot{fill:var(--res-wood);stroke:var(--surface);stroke-width:.05}.wall.empty .wall-stone{fill:var(--bg);stroke:var(--border);stroke-width:.08}.wall.empty .wall-level{fill:var(--muted)}.wall.busy .wall-stone{stroke:var(--accent);stroke-width:.1}.wall:focus-visible{outline:none}.wall:focus-visible .wall-stone{stroke:var(--text);stroke-width:.12}.wall:hover .wall-stone{filter:brightness(1.06)}.trade{display:grid;gap:10px}.trade-form{display:grid;gap:8px}.trade-filters{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end}.trade-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.trade-list li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}.pager{display:flex;gap:8px}.time-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.stack{display:flex;flex-direction:column;gap:8px;max-width:480px}.inline{display:inline-flex;gap:6px;align-items:center}.confirm{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tile.rel-alliance polygon{stroke:#2f7d4f;stroke-width:3}.tile.rel-confed polygon{stroke:#2d6fb3;stroke-width:3}.tile.rel-nap polygon{stroke:#b58a1d;stroke-width:3}.sw.rel-alliance{background:#2f7d4f}.sw.rel-confed{background:#2d6fb3}.sw.rel-nap{background:#b58a1d}.pin{stroke:var(--surface);stroke-width:1;vector-effect:non-scaling-stroke}.pin-target,.sw.pin{fill:#b3261e;background:#b3261e}.pin-danger{fill:#6b1d1d}.pin-rally{fill:#2f7d4f}.pin-note{fill:#5b4f86}.warroom h3{margin-top:16px}.linklike{background:none;border:none;color:var(--accent);padding:0;text-align:left;cursor:pointer}.token,.messages .unread a{font-weight:600}.messages>a:first-child{display:inline-block;margin-bottom:12px}.message h1{margin:0;overflow-wrap:anywhere}.message .muted{margin:0}.message-body{margin:4px 0;overflow-wrap:anywhere}.message-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border)}.message-actions>*{min-width:120px}@media(max-width:480px){.message-actions{flex-direction:column}.message-actions>*{width:100%}}body{padding-bottom:var(--chat-h, 0px)}.chat{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;pointer-events:none}.chat-panel{pointer-events:auto;width:100%;max-width:960px;display:flex;flex-direction:column;color:var(--text);background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:12px 12px 0 0;box-shadow:0 -4px 16px #3c280a1a}.chat-head{display:flex;align-items:stretch;padding:0 6px 0 8px}.chat:not(.min) .chat-head{border-bottom:1px solid var(--border)}.chat-tabs{display:flex;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.chat-tab{background:none;border:none;border-radius:0;min-height:40px;padding:8px 12px;color:var(--muted);font-weight:600;font-size:14px;line-height:1.5;white-space:nowrap;flex:0 0 auto}.chat-tab:hover{color:var(--text)}.chat-tab[aria-selected=true]{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.chat-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:6px;vertical-align:middle}.chat-toggle{flex:0 0 auto;align-self:center;background:none;border:none;min-height:40px;width:40px;padding:0;display:grid;place-items:center;color:var(--muted);border-radius:8px}.chat-toggle:hover{background:var(--bg);color:var(--text)}.chat-toggle svg{width:18px;height:18px;transition:transform .15s}.chat.min .chat-toggle svg{transform:rotate(180deg)}.chat-body{display:flex;flex-direction:column}.chat-pins{margin:0;padding:6px 12px;list-style:none;font-size:13px;overflow-wrap:anywhere;background:color-mix(in srgb,var(--accent) 11%,var(--surface));border-bottom:1px solid var(--border)}.chat-pins li{display:flex;gap:8px;align-items:baseline;justify-content:space-between}.chat-pin-label{color:var(--accent);font-weight:600}.chat-log{list-style:none;margin:0;padding:6px 0;height:clamp(120px,26vh,240px);overflow-y:auto;font-size:14px;overflow-wrap:anywhere}.chat-log li{padding:3px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:8px;align-items:start}.chat-log li:hover{background:var(--bg)}.chat-log time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;padding-top:2px}.chat-log b{color:var(--text)}.chat-log li.chat-empty{display:block;color:var(--muted)}.chat-pin-btn{background:none;border:none;min-height:0;padding:0 4px;border-radius:4px;color:var(--muted);font-size:12px;line-height:20px;opacity:0}.chat-pin-btn:hover,.chat-pin-btn:focus-visible{color:var(--accent)}:is(.chat-log,.chat-pins) li:is(:hover,:focus-within) .chat-pin-btn{opacity:1}.chat-form{display:flex;gap:8px;padding:8px;border-top:1px solid var(--border)}.chat-form input{flex:1;min-width:0;padding:9px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.chat-form button{min-height:0;padding:9px 16px;border-radius:8px;font-weight:600}@media(max-width:700px){.chat-panel{border-left:none;border-right:none}.chat-form{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.chat.min .chat-head{padding-bottom:env(safe-area-inset-bottom)}.chat-pin-btn{opacity:.7}}.oasis-info{display:grid;gap:4px}.oasis-info p{margin:0}.oasis-animals,.oasis-reach{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:14px}.oasis-reach{margin-top:8px}.link-tabs{display:flex;gap:2px;margin-bottom:8px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border)}.link-tabs a{padding:10px 12px;color:var(--muted);font-weight:600;text-decoration:none;white-space:nowrap}.link-tabs a:hover{color:var(--text)}.link-tabs a.active{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.link-tabs.sub{border-bottom:none;margin-bottom:12px}.link-tabs.sub a{padding:6px 10px;font-size:14px;border-radius:8px}.link-tabs.sub a.active{box-shadow:none;background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.ranking-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ranking-tools select{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit}.ranking-search{display:flex;gap:8px;flex:1 1 14em}.ranking-search input{flex:1;min-width:0}table.ranking{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);font-size:14px;font-variant-numeric:tabular-nums}.ranking th,.ranking td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.ranking th{color:var(--muted);font-weight:600;background:var(--bg)}.ranking .num{text-align:right;white-space:nowrap}.ranking tr.hl td{background:color-mix(in srgb,var(--accent) 16%,var(--surface));font-weight:600}.ranking a{text-decoration:none}.ranking a:hover{text-decoration:underline}@media(max-width:480px){.ranking .opt{display:none}.ranking th,.ranking td{padding:6px}}.ranking caption{text-align:left;font-weight:600;padding:0 0 4px}.ranking tbody th{text-align:left;background:var(--surface);color:var(--muted);font-weight:400}.ranking tr.spacer td{height:8px;padding:0;background:var(--bg)}.top10 h2{margin:0 0 8px;font-size:18px}.top10-grid{display:grid;gap:16px;align-items:start}.top10 .ranking{table-layout:fixed}.top10 .ranking th:first-child{width:3.5em}.top10 .ranking th:last-child{width:6.5em}@media(min-width:640px){.top10-grid{grid-template-columns:1fr 1fr}}.general,.profile{display:grid;gap:16px;align-content:start}.profile h1,.profile h2,.profile>p{margin:0}.general tbody th,.profile-facts th{width:60%}:root{--medal-attackers: #b3352b;--medal-defenders: #2f7d3a;--medal-climbers: #2f62b3;--medal-robbers: #7a3fa8;--medal-ink: #fffdf8;--medal-gold: #d4a017;--medal-silver: #b4b9bf;--medal-bronze: #b0703c}@media(prefers-color-scheme:dark){:root{--medal-attackers: #e0675e;--medal-defenders: #5bb366;--medal-climbers: #6b9be6;--medal-robbers: #b184dc;--medal-ink: #1c1915;--medal-gold: #e6b93a;--medal-silver: #c9cdd2;--medal-bronze: #c98a52}}.medals{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.medal{position:relative;width:30px;height:46px;display:flex;justify-content:center}.medal:before{content:"";position:absolute;top:0;right:0;bottom:6px;left:0;background:var(--ribbon);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%)}.medal-attackers{--ribbon: var(--medal-attackers)}.medal-defenders{--ribbon: var(--medal-defenders)}.medal-climbers{--ribbon: var(--medal-climbers)}.medal-robbers{--ribbon: var(--medal-robbers)}.medal-place{position:relative;margin-top:3px;color:var(--medal-ink);font-size:13px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.medal-gold:after,.medal-silver:after,.medal-bronze:after{content:"";position:absolute;bottom:0;left:50%;translate:-50% 0;width:16px;height:16px;border-radius:50%;background:var(--emblem);border:2px solid var(--surface);box-sizing:border-box}.medal-gold{--emblem: var(--medal-gold)}.medal-silver{--emblem: var(--medal-silver)}.medal-bronze{--emblem: var(--medal-bronze)}.lobby-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 1px #00000008}.lobby-brand{font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none}.lobby-account{font-weight:600;text-decoration:none}.lobby-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;display:grid;gap:12px;justify-items:start}main:has(.worlds-page){max-width:1040px;padding:24px 16px 48px}.worlds-hero{margin-bottom:24px}.worlds-hero h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:34px;letter-spacing:.02em}.worlds-hero p{margin:4px 0 0}.world-section+.world-section{margin-top:32px}.world-section h2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.world-section h2:after{content:"";flex:1;height:1px;background:var(--border)}.world-section-count{min-width:22px;padding:0 7px;border-radius:999px;background:var(--border);color:var(--text);font-size:12px;line-height:20px;text-align:center;letter-spacing:0}.world-grid{list-style:none;margin:0;padding:0;display:grid;gap:14px}.world-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr) auto;align-items:center;gap:12px 32px;padding:20px 24px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #0000000f;transition:border-color .15s ease,box-shadow .15s ease}.world-card.open:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));box-shadow:0 6px 18px #0000001a}.world-card.archived{opacity:.7}.world-card p{margin:0}.world-card-name{display:flex;align-items:center;gap:12px;min-width:0}.world-card-name h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1.2;overflow-wrap:anywhere}.world-card-dot{flex:none;width:10px;height:10px;border-radius:50%}.world-card-dot.healthy{background:#4fbf5a;box-shadow:0 0 0 4px #4fbf5a33}.world-card-dot.unreachable{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 20%,transparent)}.world-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}.world-stat{display:grid;gap:2px;min-width:0;padding-left:16px;border-left:1px solid var(--border)}.world-stat-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.world-stat-value{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-stat.own .world-stat-value{color:var(--accent)}.world-stat.none .world-stat-value{font-weight:400;color:var(--muted)}.world-card-action{width:140px}.world-card-action button{width:100%;font-weight:700;letter-spacing:.03em}.world-card-action button:hover{filter:brightness(1.08)}.world-card-error{grid-column:1 / -1}@media(max-width:760px){.world-card{grid-template-columns:1fr;padding:16px}.world-card-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.world-stat{padding-left:12px}.world-stat:nth-child(odd){padding-left:0;border-left:none}.world-stat:nth-child(3){grid-column:1 / -1}.world-stat-value{font-size:15px}.world-card-action{width:auto}.world-card-action:empty{display:none}}
