.pregame-ui{--pg-bg: #10191e;--pg-panel: #192329;--pg-raised: #222e33;--pg-ink: #efe8d5;--pg-muted: #a3aaa5;--pg-gold: #c5ad70;--pg-line: #b6a57536;color:var(--pg-ink);font-family:Georgia,Times New Roman,serif;box-sizing:border-box}.pregame-ui *,.pregame-ui *:before,.pregame-ui *:after{box-sizing:border-box}.pregame-root{--pregame-scenery-x: 62%;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;overflow:hidden;pointer-events:auto;background:#0b141f url(/assets/ui/main-menu-background.webp) var(--pregame-scenery-x) center / cover no-repeat}.pregame-root:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#071018ed,#08121bc9 29%,#0a142138 60%,#0a14210a),linear-gradient(0deg,#050c16b0,transparent 40%)}.pregame-root[data-screen]:not([data-screen=menu]):before{background:#060d17a8}.pregame-mist{position:absolute;left:-20%;bottom:-18%;width:130%;height:45%;opacity:.17;background:radial-gradient(ellipse at 40% 50%,#b2cad975,transparent 60%);animation:pregameMist 32s ease-in-out infinite alternate;pointer-events:none}@keyframes pregameMist{to{transform:translate(6%,-7%)}}.pregame-fireflies{position:absolute;width:max(100vw,177.6833vh);aspect-ratio:1672 / 941;left:var(--pregame-scenery-x);top:50%;transform:translate(calc(-1 * var(--pregame-scenery-x)),-50%);pointer-events:none}.pregame-firefly{position:absolute;border-radius:50%;background:#fde68a;box-shadow:0 0 5px 1px #fbbf2499,0 0 12px #f59e0b55;opacity:0;animation:pregameFirefly linear infinite}@keyframes pregameFirefly{0%{opacity:0;transform:translate(0) scale(1)}15%{opacity:.7}55%{opacity:.5}to{opacity:0;transform:translate(var(--drift),var(--rise)) scale(.3)}}.pregame-root.is-paused *,body.app-hidden .pregame-ui *,body.app-hidden .pregame-ui *:after{animation-play-state:paused!important}.pregame-menu{position:relative;z-index:1;width:min(570px,48vw);min-height:100%;display:flex;justify-content:center;flex-direction:column;padding:58px 0 58px clamp(50px,7.5vw,160px)}.pregame-brand{margin-bottom:56px}.pregame-crown{display:block;width:74px;height:56px;color:var(--pg-gold)}.pregame-wordmark{--pregame-wordmark-crown-width: 74px;--pregame-wordmark-crown-height: 56px;--pregame-wordmark-crown-gap: 27px;--pregame-wordmark-crown-overlap: 14px;position:relative;width:max-content;max-width:100%;padding-top:calc(var(--pregame-wordmark-crown-height) + var(--pregame-wordmark-crown-gap))}.pregame-wordmark>.pregame-crown{position:absolute;z-index:0;top:calc(var(--pregame-wordmark-crown-gap) + var(--pregame-wordmark-crown-overlap));left:77.6%;width:var(--pregame-wordmark-crown-width);height:var(--pregame-wordmark-crown-height);transform:translate(-50%);pointer-events:none}.pregame-wordmark__title{position:relative;z-index:1}.pregame-brand .pregame-wordmark{--pregame-wordmark-crown-width: 90px;--pregame-wordmark-crown-height: 68px;--pregame-wordmark-crown-gap: 25px;--pregame-wordmark-crown-overlap: 22px}.pregame-brand h1{margin:0 0 19px -3px;color:#f0e5c2;font-size:clamp(40px,4.3vw,78px);font-weight:400;letter-spacing:-.045em;line-height:1;text-shadow:0 4px 24px #0009}.pregame-subtitle{display:flex;align-items:center;gap:13px;color:#d0bd91;font-size:clamp(9px,.88vw,13px);text-transform:uppercase;letter-spacing:.26em;white-space:nowrap}.pregame-subtitle span{width:23px;height:1px;background:#c5ad7070}.pregame-menu-actions{display:grid;gap:8px;width:min(100%,330px)}.pregame-ui .ui-button{border:1px solid #c6b37b80;border-radius:0;padding:12px 25px;min-height:44px;background:linear-gradient(135deg,#d8c791,#af995e);color:#192023;box-shadow:inset 0 1px #f6e6b775;font:14px/1.2 system-ui,sans-serif;font-weight:600;letter-spacing:.025em;text-transform:none;text-shadow:none;transition:background .16s,border-color .16s;cursor:pointer}.pregame-ui .ui-button--secondary{background:#1b282dc9;color:#e1d9c0;box-shadow:none;border-color:#a397743f}.pregame-ui .ui-button:hover:not(:disabled){background:#e6d39a;transform:none;box-shadow:none}.pregame-ui .ui-button--secondary:hover:not(:disabled){background:#303c3d}.pregame-ui .ui-button:disabled{opacity:.42;cursor:default}.pregame-ui .pregame-menu-action{display:flex;align-items:center;gap:18px;text-align:left;padding:17px;min-height:59px;border:1px solid transparent;border-bottom-color:#b0a07729;background:transparent;color:#dedccb;font-family:Georgia,serif;font-size:20px;font-weight:400;box-shadow:none}.pregame-ui .pregame-menu-action.is-primary{background:linear-gradient(90deg,#bda66a24,#bda66a0c);border-color:#bda66a5c;color:#f5e7be}.pregame-ui .pregame-menu-action:hover{background:#bda66a29;border-color:#bda66a80}.pregame-menu-number{font:9px/1 system-ui,sans-serif;color:#bba97b;letter-spacing:.08em}.pregame-menu-label{min-width:0}.pregame-menu-chevron{margin-left:auto;color:#bba97b;font:26px/1 Georgia,serif}.pregame-menu-section{display:flex;align-items:center;gap:22px;min-height:59px}.pregame-menu-section .pregame-back{min-height:44px;padding-right:22px}.pregame-menu-section h2{margin:0;color:#f0e5c2;font:400 26px/1.1 Georgia,serif;letter-spacing:-.02em}.pregame-menu-signature{width:330px;max-width:100%;display:flex;align-items:center;gap:16px;padding-top:45px;color:#bca66c70;font-size:12px}.pregame-menu-signature span{width:42px;height:1px;background:#bca66c36}.pregame-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;padding:clamp(18px,3.8vh,48px) clamp(18px,3.2vw,68px);pointer-events:auto;outline:none}.pregame-frame{margin:0 auto;width:100%;max-width:1540px;height:100%;display:flex;flex-direction:column;background:linear-gradient(140deg,#202c31f7,#10191efc 60%);border:1px solid #b8a87580;outline:1px solid #b8a87530;outline-offset:4px;box-shadow:0 24px 80px #0008}.pregame-header{display:flex;align-items:center;gap:28px;min-height:98px;padding:20px 32px;border-bottom:1px solid var(--pg-line);background:linear-gradient(120deg,#b8a8750d,transparent);flex-shrink:0}.pregame-header h1{margin:4px 0 0;font-size:31px;font-weight:400;letter-spacing:-.025em;line-height:1.1}.pregame-eyebrow{display:block;color:var(--pg-gold);font:10px/1.4 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}.pregame-header>.pregame-crown{margin-left:auto;width:55px;height:44px;opacity:.7}.pregame-back{display:flex;gap:10px;align-items:center;background:none;border:0;border-right:1px solid var(--pg-line);color:#c7cbbf;padding:10px 26px 10px 0;cursor:pointer;font:13px system-ui,sans-serif}.pregame-back>span:first-child{font:22px system-ui;color:var(--pg-gold)}.pregame-content{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-color:#65716b #152025;scrollbar-width:thin}.pregame-play-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex-shrink:0;padding:0 32px;border-bottom:1px solid var(--pg-line);background:#0b151a66}.pregame-play-tabs>button{position:relative;padding:16px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--pg-muted);font:18px Georgia,serif;cursor:pointer}.pregame-play-tabs>button:hover{color:var(--pg-ink);background:#b8a87509}.pregame-play-tabs>button[aria-selected=true]{border-bottom-color:var(--pg-gold);color:var(--pg-gold);background:linear-gradient(0deg,#b8a87512,transparent)}.pregame-play-tabs small{display:block;margin-top:5px;font:11px/1.4 system-ui,sans-serif;color:var(--pg-muted)}.pregame-control-fixed>span:last-child{display:flex;align-items:center;gap:8px;color:var(--pg-muted);font:12px system-ui,sans-serif}.pregame-control-fixed svg{width:22px;height:22px;fill:none;stroke:var(--pg-gold);stroke-width:1.25}.pregame-footer{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:14px 32px;border-top:1px solid var(--pg-line);background:#0b151adb}.pregame-footer-summary{font-size:16px}.pregame-footer-summary small{display:block;font:11px system-ui,sans-serif;margin-top:5px;color:var(--pg-muted)}.pregame-key-hint{color:var(--pg-muted);font:11px system-ui,sans-serif}.pregame-key-hint kbd{font:inherit;border:1px solid #8a957d44;padding:2px 5px;margin-right:7px}.pregame-ui button:focus-visible,.pregame-ui input:focus-visible,.pregame-ui select:focus-visible,.pregame-ui textarea:focus-visible{outline:2px solid #e1ce91;outline-offset:3px}.pregame-ui input,.pregame-ui select,.pregame-ui textarea{color:#e1e6df;border:1px solid #a2b0a42e;border-radius:0;padding:10px 12px;min-height:40px;background:#0c171dd6;font:13px/1.35 system-ui,sans-serif;width:100%;min-width:0;color-scheme:dark}.pregame-ui input::placeholder{color:#839087}.pregame-ui select:disabled{opacity:.6}.pregame-ui label{min-width:0}.pregame-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}.pregame-field{display:grid;gap:9px;color:#b5baa9;font:11px/1.5 system-ui,sans-serif}.pregame-field-control{display:flex;gap:10px;align-items:stretch}.pregame-field-control .ui-button{flex-shrink:0}.pregame-setup{display:grid;grid-template-columns:270px minmax(0,1fr);overflow:hidden}.pregame-scenario-list{padding:26px 20px;border-right:1px solid var(--pg-line);background:#0b151a66;overflow-y:auto}.pregame-scenario-list>.pregame-eyebrow{margin:0 0 20px 4px}.pregame-scenario-card{position:relative;display:block;width:100%;margin:0 0 16px;padding:0;border:1px solid #a2ae9e25;background:#1b272b;color:var(--pg-ink);text-align:left;cursor:pointer}.pregame-scenario-card>img{display:block;width:100%;height:104px;object-fit:cover;opacity:.73}.pregame-scenario-card.is-selected{border-color:var(--pg-gold);box-shadow:inset 3px 0 var(--pg-gold)}.pregame-scenario-card.is-selected>img,.pregame-scenario-card:hover>img{opacity:1}.pregame-scenario-card-copy{display:grid;gap:8px;padding:14px 15px}.pregame-scenario-card-copy strong{font:17px Georgia,serif}.pregame-scenario-card-copy small{font:10px system-ui,sans-serif;color:var(--pg-muted)}.pregame-scenario-card-copy small span{margin:0 5px}.pregame-scenario-selected{position:absolute;bottom:17px;right:13px;color:var(--pg-gold);visibility:hidden}.is-selected>.pregame-scenario-selected{visibility:visible}.pregame-library-link{display:flex;width:100%;justify-content:space-between;padding:13px 4px;border:0;background:none;color:#c8bd9c;font:13px Georgia,serif;cursor:pointer}.pregame-setup-detail{min-width:0;overflow-y:auto}.pregame-scenario-hero{position:relative;height:clamp(190px,24vh,285px);overflow:hidden;background:#152329}.pregame-scenario-hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 43%}.pregame-scenario-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#10191eff,transparent 72%)}.pregame-scenario-hero>div{position:absolute;z-index:1;bottom:18px;left:32px;right:24px}.pregame-scenario-hero h2{margin:8px 0 0;color:#f4ebcf;font:35px/1.1 Georgia,serif;text-shadow:0 2px 12px #000}.pregame-scenario-intro{padding:0 32px 21px}.pregame-scenario-intro p{margin:0 0 16px;color:#c1c9be;font:13px/1.65 system-ui,sans-serif;max-width:760px}.pregame-facts{display:flex;flex-wrap:wrap;gap:10px 24px;color:#bfbb9f;font:11px/1.4 system-ui,sans-serif}.pregame-facts>span+span{border-left:1px solid #b6a57550;padding-left:24px}.pregame-player-section{padding:0 32px 26px}.pregame-section-heading{display:flex;gap:15px;align-items:baseline;justify-content:space-between;border-top:1px solid var(--pg-line);padding:20px 0 15px}.pregame-section-heading h3{font:20px Georgia,serif;margin:0}.pregame-section-heading>span{font:10px system-ui,sans-serif;color:var(--pg-muted)}.pregame-player-row,.pregame-player-head{display:grid;grid-template-columns:minmax(145px,1.15fr) minmax(130px,1fr) minmax(248px,1.35fr) minmax(150px,.85fr);gap:12px;align-items:center}.pregame-player-head{padding:0 12px 9px;color:#8e9c94;font:9px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.12em}.pregame-player-row{padding:10px 12px;background:#b4c0b507;border-top:1px solid #b4c0b513;min-height:67px}.pregame-player-row:nth-child(2n){background:#b4c0b50d}.pregame-player-identity{display:flex;align-items:center;gap:12px;min-width:0}.pregame-player-identity strong{display:block;font:15px Georgia,serif}.pregame-player-identity small{display:block;font:10px system-ui;margin-top:5px;color:var(--pg-muted)}.pregame-shield{width:30px;height:37px;flex-shrink:0;background:linear-gradient(135deg,color-mix(in srgb,var(--banner) 62%,#1b252b),color-mix(in srgb,var(--banner) 35%,#1b252b));color:#fff;border:1px solid var(--banner);clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%);padding-top:7px;text-align:center;font-size:13px}.pregame-mobile-label{display:none}.pregame-choice-field{min-width:0;margin:0;padding:0;border:0}.pregame-ui .pregame-choice-input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;opacity:0}.pregame-banner-options{display:grid;grid-template-columns:repeat(auto-fit,24px);gap:4px;width:100%;max-width:248px}.pregame-banner-choice{position:relative;display:block;width:24px;height:32px;cursor:pointer}.pregame-banner-option{position:relative;display:block;width:24px;height:30px;border:1px solid color-mix(in srgb,var(--banner) 78%,#f8ebc8);clip-path:polygon(0 0,100% 0,100% 73%,50% 100%,0 73%);background:linear-gradient(90deg,transparent 44%,#fff3 46%,#fff3 54%,transparent 56%),linear-gradient(145deg,color-mix(in srgb,var(--banner) 90%,#fff),color-mix(in srgb,var(--banner) 64%,#10191e));filter:saturate(.75) brightness(.8);transition:transform .14s ease,filter .14s ease}.pregame-banner-option:before{content:"";position:absolute;top:3px;right:4px;bottom:8px;left:4px;border:1px solid #fff2}.pregame-banner-option:after{content:"";position:absolute;top:7px;left:8px;width:6px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;opacity:0;transform:rotate(45deg);filter:drop-shadow(0 1px 1px #000a)}.pregame-banner-choice:hover .pregame-banner-option{filter:saturate(1) brightness(1);transform:translateY(-1px)}.pregame-banner-choice.is-unavailable{cursor:not-allowed}.pregame-banner-choice.is-unavailable .pregame-banner-option,.pregame-banner-choice.is-unavailable:hover .pregame-banner-option{filter:grayscale(.72) saturate(.35) brightness(.48);opacity:.42;transform:none}.pregame-choice-input:checked+.pregame-banner-option{filter:saturate(1.08) brightness(1.16);transform:translateY(-2px);outline:1px solid #f1dfad;outline-offset:2px}.pregame-choice-input:checked+.pregame-banner-option:after{opacity:1}.pregame-choice-input:focus-visible+.pregame-banner-option,.pregame-choice-input:focus-visible+.pregame-control-option{outline:2px solid #f4e1aa;outline-offset:3px}.pregame-control-options{display:grid;grid-template-columns:repeat(2,minmax(68px,1fr));width:100%}.pregame-control-choice{position:relative;min-width:0;cursor:pointer}.pregame-control-option{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:7px 8px;border:1px solid #a2b0a42e;background:#0c171da8;color:#929f98;font:11px/1 system-ui,sans-serif;transition:background .14s ease,border-color .14s ease,color .14s ease}.pregame-control-choice+.pregame-control-choice .pregame-control-option{border-left:0}.pregame-control-option svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.pregame-control-choice:hover .pregame-control-option{color:#e7dfc9;background:#263237}.pregame-choice-input:checked+.pregame-control-option{z-index:1;border-color:#c5ad70b8;background:linear-gradient(145deg,#c5ad7029,#28332f);color:#f3e7c4;box-shadow:inset 0 0 0 1px #c5ad7024}.pregame-choice-input:disabled+.pregame-control-option{cursor:default;opacity:.48}.pregame-choice-input:disabled:checked+.pregame-control-option{opacity:.78}.pregame-notice{display:flex;align-items:center;gap:18px;padding:24px;margin:24px;border:1px solid var(--pg-line);background:#a9ba9b08}.pregame-notice-mark{flex-shrink:0;width:36px;height:36px;line-height:34px;border:1px solid #c5ad7050;text-align:center;color:var(--pg-gold);font-size:20px}.pregame-notice strong{display:block;font:18px Georgia,serif}.pregame-notice p{margin:8px 0 0;font:12px/1.6 system-ui;color:#b4bdb3}.pregame-notice .ui-button{margin-left:auto}.pregame-notice-dismiss{flex-shrink:0;align-self:flex-start;min-width:44px;min-height:44px;margin:-12px -12px 0 auto;border:0;background:none;color:#b4bdb3;font-size:22px;cursor:pointer}.pregame-notice.is-error{border-color:#cc897851}.pregame-notice.is-error .pregame-notice-mark{color:#e0a38c}.pregame-split{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.6fr);overflow:hidden}.pregame-list-pane{padding:28px;border-right:1px solid var(--pg-line);min-width:0;overflow-y:auto;background:#0b151a55}.pregame-detail-pane{min-width:0;overflow-y:auto}.pregame-list-toolbar{display:flex;gap:14px;align-items:end;margin-bottom:22px}.pregame-list-toolbar label{flex:1}.pregame-list{display:grid;gap:8px;margin-top:22px}.pregame-list-row{width:100%;display:flex;align-items:center;gap:15px;padding:18px;text-align:left;border:1px solid #a5b2a92c;background:#202c30;color:var(--pg-ink);cursor:pointer}.pregame-list-row:hover{background:#2a3739}.pregame-list-row.is-selected{border-color:var(--pg-gold);box-shadow:inset 3px 0 var(--pg-gold);background:#303b38}.pregame-list-row strong{display:block;font:17px Georgia,serif;overflow-wrap:anywhere}.pregame-list-row small{display:block;font:11px/1.5 system-ui;color:#aeb8ad;margin-top:7px}.pregame-list-emblem{flex-shrink:0;color:#c5ad70;font-size:20px}.pregame-detail-copy{padding:30px 32px}.pregame-detail-copy h2{font:29px/1.2 Georgia,serif;margin:12px 0 20px;overflow-wrap:anywhere}.pregame-detail-copy>p{color:#b8c1b5;font:13px/1.7 system-ui}.pregame-detail-copy .pregame-facts{margin-bottom:25px}.pregame-detail-image{width:100%;height:220px;object-fit:cover;opacity:.8;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}.pregame-rating{margin-top:32px;padding-top:23px;border-top:1px solid var(--pg-line);display:grid;gap:16px;max-width:450px}.pregame-rating .ui-button{align-self:end}.pregame-danger{background:none;border:0;color:#c99587;font:12px system-ui;cursor:pointer;padding:10px 0}.pregame-account{display:grid;gap:6px}.pregame-account .pregame-field-control strong{flex:1 1 auto;min-width:0;align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pg-ink);font:14px system-ui,sans-serif}.dialog-panel .pregame-account-label{color:#bbae94;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.pregame-account-actions{display:flex;flex-wrap:wrap;gap:18px}.pregame-text-action{background:none;border:0;color:var(--pg-muted);font:12px system-ui;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.pregame-text-action:disabled{cursor:default;opacity:.5}.pregame-save-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:22px 0;border-top:1px solid var(--pg-line);border-bottom:1px solid var(--pg-line)}.pregame-save-details dt{font:10px system-ui;color:var(--pg-muted);margin-bottom:9px}.pregame-save-details dd{font:17px Georgia,serif;margin:0}.pregame-launch{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:grid;place-items:center;background:linear-gradient(#0a131dda,#0a131df5),url(/assets/ui/main-menu-background.webp) center/cover;pointer-events:auto;outline:none}.pregame-launch-card{text-align:center;padding:30px;width:min(500px,100%)}.pregame-launch-card .pregame-crown{margin:0 auto 30px}.pregame-launch-card h1{font:31px Georgia,serif;margin:18px 0}.pregame-launch-card p{font:12px/1.6 system-ui;color:#aab7ae}.pregame-loading-line{position:relative;width:180px;height:2px;overflow:hidden;background:#c5ad7025;margin:28px auto 0}.pregame-loading-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:45%;background:#c5ad70;animation:pregameLoading 1.7s ease-in-out infinite}.pregame-loading-line--determinate:after{width:100%;animation:none;transform:scaleX(var(--progress, 0));transform-origin:left center;transition:transform .25s ease-out}@keyframes pregameLoading{0%{transform:translate(-110%)}to{transform:translate(330%)}}body.app-loading{margin:0;background:#0b141f;overflow:hidden}.app-loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6000;background:linear-gradient(90deg,#071018ed,#08121b99 45%,#0a142114),url(/assets/ui/main-menu-background.webp) 62% center/cover;display:flex;align-items:center}.app-loading__content{padding:45px clamp(35px,7.5vw,160px);width:min(650px,100%)}.app-loading__title{color:#f0e5c2;font:52px/1 Georgia,serif;letter-spacing:-.04em}.app-loading__title small{display:block;margin-top:21px;font:10px system-ui;text-transform:uppercase;letter-spacing:.27em;color:#d0bd91}.app-loading__status{margin-top:48px;font:12px/1.5 system-ui;color:#c0c7bb}.app-loading__percent{color:#e2d6ae;font-variant-numeric:tabular-nums}.app-loading__content .pregame-loading-line{margin:22px 0 0;width:220px}.app-loading__retry{margin-top:25px}body.app-loading-error .pregame-loading-line{display:none}body:has(.pregame-root),body.app-loading{min-width:0}body:has(.pregame-root) .connection-status-indicator{display:none}.pregame-page.map-editor-launch{width:auto;max-width:none}.pregame-page .map-editor-launch__content{padding:28px 32px}.map-editor-launch--choose .map-editor-launch__content{display:flex;flex-direction:column;justify-content:safe center}.map-editor-launch--choose .map-editor-launch__content>*{flex-shrink:0}.map-editor-launch--random .random-map-setup{max-width:1000px;margin:0 auto}.map-editor-launch__existing,.map-editor-launch__section,.map-editor-launch__map-list{display:grid;gap:14px}.map-editor-launch__new-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.map-editor-launch__section{align-content:start}.map-editor-launch__section--wide,.map-editor-launch__description{grid-column:1 / -1}.map-editor-launch__section--generation,.map-editor-launch__section--economy,.map-editor-launch__section--objectives{order:2}.map-editor-launch__section--players{order:3}.map-editor-launch__section h3{margin:0;padding-bottom:12px;border-bottom:1px solid var(--pg-line)}.map-editor-launch__section p{margin:0;font:12px/1.6 system-ui;color:var(--pg-muted)}.map-editor-launch__section label{display:grid;gap:6px}.map-editor-launch__section textarea{resize:vertical}.map-editor-launch__field-grid,.map-editor-launch__details-grid,.map-editor-launch__resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.map-editor-launch__details-grid{grid-template-columns:1.25fr 1fr 1fr 1.5fr}.map-editor-launch__resources{grid-template-columns:repeat(4,minmax(0,1fr))}.map-editor-launch__configuration-note{padding:8px 12px;border-left:2px solid var(--pg-gold);background:#c5ad7009}.map-editor-launch__player-list{display:grid;gap:12px}.map-editor-launch__player{display:grid;grid-template-columns:65px 1.35fr repeat(4,minmax(74px,1fr));gap:12px;align-items:end;padding:12px;border:1px solid var(--pg-line)}.map-editor-launch__player strong{align-self:center;color:var(--pg-gold);font:12px system-ui}.map-editor-launch__checkbox{display:flex!important;align-items:center;gap:8px!important}.map-editor-launch__checkbox input{accent-color:var(--pg-gold)}.map-editor-launch__map{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px;border:1px solid var(--pg-line)}.map-editor-launch__map strong,.map-editor-launch__map span{display:block}.map-editor-launch__map span{font:11px/1.6 system-ui;color:var(--pg-muted);margin-top:7px}.map-editor-launch__draft-fields{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.map-editor-launch__notice{margin-top:16px;padding:16px;font:13px/1.5 system-ui;color:var(--pg-muted)}.map-editor-launch__notice--error{border:1px solid #c58e7050;color:#e5b0a0}.pregame-page .map-editor-launch__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;width:100%;max-width:1200px;margin:20px auto}.pregame-page .map-editor-launch__choices>button{min-height:300px;border:1px solid #c5ad7050;background:linear-gradient(0deg,#111d24,transparent),url(/assets/ui/main-menu-background.webp) 60% center/cover;padding:35px;display:flex;flex-direction:column;justify-content:end;align-items:start;color:var(--pg-ink);cursor:pointer;text-align:left}.pregame-page .map-editor-launch__choices>button+button{background-position:90% center}.pregame-page .map-editor-launch__choices>button:hover{border-color:var(--pg-gold)}.pregame-page .map-editor-launch__choices strong{font:28px Georgia,serif}.pregame-page .map-editor-launch__choices span{margin-top:12px;font:12px/1.6 system-ui;color:#d0d5c9}.pregame-page .map-editor-launch__intro{font:14px/1.7 system-ui;color:var(--pg-muted);text-align:center}.pregame-page .map-editor-launch__section{border:1px solid var(--pg-line);background:#0c181c55;padding:22px}.pregame-page .map-editor-launch__section h3{font:20px Georgia,serif;color:var(--pg-ink);letter-spacing:0}.pregame-page .map-editor-launch__map,.pregame-page .map-editor-launch__player{background:#25313770;border-color:var(--pg-line)}.pregame-page .map-editor-launch__actions{display:contents}.pregame-page .map-editor-launch__section label{font:11px/1.5 system-ui;color:#c0c7b8;letter-spacing:0}.pregame-page input[type=checkbox]{width:17px;min-height:17px}@media (min-width: 1900px){.pregame-menu{width:670px}.pregame-brand{margin-bottom:64px}.pregame-menu-actions{width:365px}.pregame-scenario-hero{height:300px}.pregame-setup{grid-template-columns:305px minmax(0,1fr)}.pregame-scenario-card>img{height:130px}}@media (max-height: 800px) and (min-width: 901px){.pregame-header{min-height:80px;padding-top:14px;padding-bottom:14px}.pregame-footer{min-height:67px;padding-top:10px;padding-bottom:10px}.pregame-scenario-hero{height:170px}.pregame-scenario-intro{padding-bottom:15px}.pregame-player-row{padding-top:7px;padding-bottom:7px;min-height:59px}.pregame-section-heading{padding-top:14px}.pregame-brand{margin-bottom:28px}.pregame-menu{padding-top:40px;padding-bottom:40px}.pregame-ui .pregame-menu-action{padding-top:12px;padding-bottom:12px}.pregame-menu-signature{padding-top:25px}}@media (max-width: 1100px){.pregame-setup{grid-template-columns:225px minmax(0,1fr)}.pregame-player-head{display:none}.pregame-player-row{grid-template-columns:minmax(130px,1fr) minmax(120px,1.2fr);gap:10px;padding:14px}.pregame-split{grid-template-columns:minmax(250px,.9fr) minmax(0,1fr)}}@media (max-width: 900px){.pregame-page{padding:16px}.pregame-header{min-height:80px;gap:20px;padding:16px 22px}.pregame-header h1{font-size:27px}.pregame-footer{padding:12px 22px}.pregame-setup,.pregame-split{display:block;overflow:auto}.pregame-scenario-list{display:flex;flex-wrap:wrap;gap:12px;border-right:0;border-bottom:1px solid var(--pg-line);padding:20px;overflow:visible}.pregame-scenario-list>.pregame-eyebrow{width:100%;margin:0}.pregame-scenario-card{width:calc(50% - 6px);margin:0}.pregame-scenario-card>img{height:95px}.pregame-library-link{padding:8px 0 0}.pregame-setup-detail,.pregame-detail-pane,.pregame-list-pane{overflow:visible}.pregame-list-pane{border-right:0;border-bottom:1px solid var(--pg-line);padding:22px}.pregame-detail-image{height:170px}.pregame-scenario-hero{height:210px}.pregame-menu{width:65%;padding-left:8vw}.pregame-brand h1{font-size:52px}}@media (max-width: 560px){.pregame-play-tabs{padding:0 8px}.pregame-play-tabs>button{padding:14px 4px;font-size:15px}.pregame-play-tabs small{font-size:9px}.pregame-root{--pregame-scenery-x: 69%}.pregame-root:before{background:linear-gradient(90deg,#071018e8,#07101877),linear-gradient(0deg,#071018e8,transparent)}.pregame-menu{width:100%;padding:48px 34px}.pregame-brand{margin-bottom:40px}.pregame-brand h1{font-size:47px}.pregame-brand .pregame-wordmark{--pregame-wordmark-crown-width: 72px;--pregame-wordmark-crown-height: 54px}.pregame-subtitle{font-size:9px;gap:10px}.pregame-menu-actions{width:100%}.pregame-ui .pregame-menu-action{font-size:19px}.pregame-page{padding:9px}.pregame-frame{outline:none}.pregame-header{padding:15px;gap:14px;min-height:78px}.pregame-back{padding-right:15px}.pregame-back>span:last-child{display:none}.pregame-header h1{font-size:26px}.pregame-header>.pregame-crown{width:38px}.pregame-eyebrow{font-size:8px}.pregame-footer{min-height:77px;gap:12px;padding:12px 15px}.pregame-footer .ui-button{padding:12px 17px;white-space:nowrap}.pregame-footer-summary{font-size:13px}.pregame-footer-summary small{font-size:9px}.pregame-scenario-list{padding:16px;gap:10px}.pregame-scenario-card{width:calc(50% - 5px)}.pregame-scenario-card>img{height:70px}.pregame-scenario-card-copy{padding:11px;gap:6px}.pregame-scenario-card-copy strong{font-size:14px}.pregame-scenario-card-copy small{font-size:9px}.pregame-scenario-selected{display:none}.pregame-scenario-hero{height:180px}.pregame-scenario-hero>div{left:20px;bottom:20px}.pregame-scenario-hero h2{font-size:28px}.pregame-scenario-intro{padding:0 20px 20px}.pregame-scenario-intro p{font-size:12px}.pregame-facts{gap:8px 15px;font-size:10px}.pregame-facts>span+span{padding-left:15px}.pregame-player-section{padding:0 16px 20px}.pregame-section-heading>span{display:none}.pregame-player-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.pregame-mobile-label{display:block;font:9px system-ui;color:var(--pg-muted);margin-bottom:7px}.pregame-player-identity{padding-top:14px}.pregame-player-identity strong{font-size:14px}.pregame-notice{margin:16px;padding:18px;flex-wrap:wrap}.pregame-notice>div{flex:1;min-width:150px}.pregame-notice strong{font-size:16px}.pregame-notice .ui-button{margin-left:54px}.pregame-detail-copy{padding:22px}.pregame-detail-copy h2{font-size:25px}.pregame-list-toolbar,.pregame-field-control{flex-wrap:wrap}.pregame-field-control input{flex:1 1 150px}.pregame-detail-image{height:150px}.pregame-page .map-editor-launch__content{padding:20px 16px}.pregame-page .map-editor-launch__choices{grid-template-columns:1fr;gap:16px}.pregame-page .map-editor-launch__choices>button{min-height:160px;padding:24px}.pregame-page .map-editor-launch__new-grid,.pregame-page .map-editor-launch__details-grid,.pregame-page .map-editor-launch__field-grid,.pregame-page .map-editor-launch__draft-fields{grid-template-columns:1fr}.pregame-page .map-editor-launch__section{padding:16px;min-width:0}.pregame-page .map-editor-launch__section--wide{grid-column:auto}.pregame-page .map-editor-launch__player{grid-template-columns:1fr 1fr}.app-loading__title{font-size:43px}}@media (prefers-reduced-motion: reduce){.pregame-fireflies{display:none}.pregame-ui *,.pregame-ui *:after,.pregame-ui *:before{animation:none!important;transition:none!important}.pregame-loading-line:after{width:100%;opacity:.5}.pregame-loading-line--determinate:after{opacity:1;transition:none}}.pregame-save-content{overflow:hidden}.pregame-save-content>.pregame-split{height:100%}.dialog-panel.pregame-ingame-saves{width:min(1000px,94vw);max-width:none;background:#172329;border-color:#b6a57580}.pregame-ingame-saves-content{padding:0}.pregame-ingame-saves-content>.pregame-split{max-height:65vh}.pregame-confirm-actions{display:flex;justify-content:end;gap:12px;margin-top:25px}.dialog-panel.pregame-confirm{background:#172329;border-color:#b6a57580}.pregame-page .map-editor-launch__content{max-height:none}.pregame-page .map-editor-launch__choices>button:before,.pregame-page .map-editor-launch__choices>button:after{display:none}@media (max-width: 900px){.pregame-save-content{overflow:auto}.pregame-save-content>.pregame-split{height:auto}}@media (max-height: 800px) and (min-width: 1101px){.pregame-play-tabs>button{padding-top:10px;padding-bottom:10px}.pregame-content[role=tabpanel] .pregame-scenario-hero{height:100px}.pregame-scenario-hero{height:130px}.pregame-scenario-intro{padding-bottom:13px}.pregame-scenario-intro p{font-size:12px;line-height:1.55;margin-bottom:12px}.pregame-section-heading{padding:12px 0 10px}.pregame-player-row{min-height:51px;padding-top:5px;padding-bottom:5px}.pregame-player-section{padding-bottom:15px}.pregame-detail-image{height:155px}.pregame-detail-copy{padding-top:18px}}@media (max-width: 900px){.map-editor-launch__new-grid{grid-template-columns:1fr}.map-editor-launch__player{grid-template-columns:1fr 1fr}.map-editor-launch--choose .map-editor-launch__content{justify-content:start}}.mp-section{margin:24px}.mp-section>h2{margin:0 0 12px;color:var(--pg-gold);font-size:13px;letter-spacing:.12em;text-transform:uppercase}.mp-field{display:flex;flex-direction:column;gap:6px}.mp-checkbox{display:flex;align-items:center;gap:8px;color:var(--pg-muted)}.mp-hint{color:var(--pg-muted);font-size:13px}.mp-room-list,.mp-slot-list,.mp-chat-log{list-style:none;padding:0;margin:0}.mp-room,.mp-slot{display:flex;align-items:center;border:1px solid var(--pg-line);background:#a9ba9b08}.mp-room+.mp-room,.mp-slot+.mp-slot{margin-top:8px}.mp-room-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.mp-room-meta,.mp-slot-state{color:var(--pg-muted)}.mp-slot-state{font:12px system-ui,sans-serif}.mp-slot-name{min-width:0}.mp-slot-you{color:var(--pg-gold)}.mp-slot.is-mine{border-color:#c5ad7066}.mp-slot-actions{display:flex;gap:6px}.mp-chat-log{overflow-y:auto;padding:10px 12px;border:1px solid var(--pg-line);background:#0a0f1352;scrollbar-width:thin}.mp-chat-log li{display:flex}.mp-chat-log li+li{margin-top:5px}.mp-chat-log strong{color:var(--pg-gold)}.mp-browser-grid,.mp-lobby-grid,.mp-invitation-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr);gap:28px;padding:24px;align-items:start}.mp-lobby-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}.mp-host-panel,.mp-games-panel,.mp-lobby-main,.mp-lobby-sidebar{min-width:0}.mp-games-panel{border-left:1px solid var(--pg-line);padding-left:24px}.mp-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.mp-section-heading h2{margin:0;color:var(--pg-gold);font:12px/1.4 Georgia,serif;text-transform:uppercase;letter-spacing:.13em}.mp-section-heading .ui-button{min-height:34px;padding:7px 12px;font-size:11px}.mp-section-heading .mp-hint{flex:none;min-width:0;margin:0;font-size:11px}.mp-field{min-width:0;font:11px/1.4 system-ui,sans-serif;color:var(--pg-muted)}.mp-field input,.mp-field select,.mp-invite-controls input,.mp-chat-compose input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:10px 12px;color:var(--pg-ink);background:#a9ba9b0d;border:1px solid var(--pg-line);font:14px Georgia,serif}.mp-field select option{background:#1c292e;color:var(--pg-ink)}.mp-field input:focus-visible,.mp-field select:focus-visible,.mp-invite-controls input:focus-visible,.mp-chat-compose input:focus-visible{outline:2px solid var(--pg-gold);outline-offset:2px}.mp-host-panel form,.mp-settings form{display:grid;gap:16px}.mp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.mp-checkbox{min-height:40px;padding:0;margin:0;font:12px/1.4 system-ui,sans-serif}.mp-checkbox input{accent-color:var(--pg-gold);width:17px;height:17px}.mp-map-card{overflow:hidden;border:1px solid var(--pg-line);background:#0b151a66}.mp-map-art{position:relative;min-height:140px;padding:58px 18px 16px;background:#10191e}.mp-map-art:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(0deg,#0a1319f5,transparent 95%)}.mp-map-art img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.85}.mp-map-art h2,.mp-map-art .pregame-eyebrow{position:relative;z-index:1}.mp-map-art h2{margin:8px 0 0;font:25px/1.15 Georgia,serif;letter-spacing:-.02em}.mp-map-copy{padding:14px 18px}.mp-map-copy .pregame-facts{margin:0;gap:7px 12px;flex-wrap:wrap}.mp-map-copy .pregame-facts span{font-size:10px}.mp-map-copy p{margin:12px 0 0;color:var(--pg-muted);font:12px/1.6 system-ui,sans-serif}.mp-games-panel .pregame-notice{margin:0;padding:22px 16px}.mp-games-panel .pregame-notice strong{font-size:18px}.mp-room{flex-wrap:wrap;gap:10px;padding:12px}.mp-room>img{width:58px;height:64px;object-fit:cover;opacity:.8;border:1px solid var(--pg-line)}.mp-room-main{flex-basis:160px;overflow-wrap:anywhere}.mp-room-main strong{font:16px Georgia,serif}.mp-room-meta{font:11px/1.5 system-ui,sans-serif}.mp-room>.ui-button{margin-left:auto;padding:8px 16px;min-height:36px}.mp-invitation{padding:24px}.mp-invitation-heading h2{margin:8px 0;font:28px Georgia,serif}.mp-invitation-heading p{color:var(--pg-muted);font:13px/1.5 system-ui,sans-serif}.mp-invitation-grid{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);padding:8px 0 0}.mp-invitation-grid form{display:grid;gap:16px}.mp-invitation-grid h3{margin:2px 0 0;color:var(--pg-gold);font:15px Georgia,serif}.mp-seat-choices{display:grid;gap:8px}.mp-seat-choice{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--pg-line);cursor:pointer}.mp-seat-choice:has(input:checked){border-color:var(--pg-gold);background:#c5ad7010}.mp-seat-choice.is-occupied{opacity:.65;cursor:default}.pregame-ui .mp-seat-choice input{accent-color:var(--pg-gold);width:16px;min-height:16px;height:16px;flex:0 0 16px;margin:0;padding:0}.mp-seat-choice small,.mp-slot-name small{display:block;margin-top:5px;color:var(--pg-muted);font:11px/1.4 system-ui,sans-serif}.mp-seat-choice .pregame-shield,.mp-slot .pregame-shield{flex:0 0 30px;width:30px;height:38px;font-size:13px}.mp-slot{flex-wrap:wrap;gap:12px;padding:12px}.mp-slot-name{flex:1 1 150px;overflow-wrap:anywhere}.mp-slot-name strong{font:15px/1.4 Georgia,serif}.mp-slot-actions{flex-wrap:wrap;justify-content:end;margin-left:auto}.mp-slot-actions .ui-button{min-height:32px;padding:6px 10px;font-size:11px}.mp-status{border:1px solid #899c8d33;background:#899c8d0a;border-radius:2px;padding:4px 7px;color:var(--pg-muted);font:10px/1.4 system-ui,sans-serif;white-space:nowrap}.mp-status.is-ready{color:#b3d7a5;border-color:#7fbf6a55;background:#7fbf6a0e}.mp-status.is-away{color:#e4b783;border-color:#c08a5255}.mp-host-badge{display:inline-block;vertical-align:middle;margin-left:7px;color:var(--pg-gold);font:9px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em}.mp-connection{color:#e4b783;font:11px system-ui,sans-serif}.mp-connection.is-connected{color:#b3d7a5}.mp-connection:before{content:"●";margin-right:6px;font-size:9px}.mp-chat{margin-top:24px}.mp-chat-log{min-height:88px;max-height:180px;margin-bottom:10px;font:12px/1.5 system-ui,sans-serif}.mp-chat-log li{align-items:baseline;flex-wrap:wrap;gap:4px 8px;overflow-wrap:anywhere}.mp-chat-log li span{min-width:0}.mp-chat-log strong{flex-shrink:1}.mp-chat-empty{color:var(--pg-muted)}.mp-chat-compose,.mp-invite-controls{display:flex;gap:8px;align-items:center}.mp-chat-compose input,.mp-invite-controls input{flex:1 1 100px}.mp-chat-compose .ui-button,.mp-invite-controls .ui-button{padding:10px 13px;flex-shrink:0}.mp-invite-controls input{font:11px system-ui,sans-serif}.mp-settings,.mp-invite-section{padding-top:20px;margin-top:20px;border-top:1px solid var(--pg-line)}.mp-setting-list{display:grid;gap:10px;margin:0;font:12px/1.5 system-ui,sans-serif}.mp-setting-list>div{display:flex;justify-content:space-between;gap:14px}.mp-setting-list dt{color:var(--pg-muted)}.mp-setting-list dd{margin:0;text-align:right}.mp-settings .mp-hint,.mp-invite-section .mp-hint{min-width:0;font:11px/1.5 system-ui,sans-serif}.mp-inline-actions,.mp-footer-actions{display:flex;align-items:center;gap:10px}.mp-footer-actions{flex-shrink:0}.mp-lobby-content+.pregame-footer .pregame-footer-summary{min-width:0}.mp-lobby-content+.pregame-footer small{line-height:1.5}@media (min-width: 1500px){.mp-browser-grid,.mp-lobby-grid{padding:30px;gap:32px}.mp-map-art{min-height:195px;padding-top:100px}.mp-slot{padding:16px}.mp-chat-log{min-height:140px}}@media (max-width: 900px){.mp-browser-grid,.mp-lobby-grid,.mp-invitation-grid{grid-template-columns:minmax(0,1fr)}.mp-games-panel{padding:22px 0 0;border-left:0;border-top:1px solid var(--pg-line)}.mp-lobby-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mp-lobby-sidebar .mp-map-card{grid-row:span 2}.mp-lobby-sidebar .mp-settings,.mp-lobby-sidebar .mp-invite-section{margin:0;padding:0;border:0}}@media (max-width: 600px){.mp-browser-grid,.mp-lobby-grid{padding:18px 16px;gap:24px}.mp-invitation{padding:18px 16px}.mp-invitation-grid{gap:18px}.mp-form-grid,.mp-lobby-sidebar{grid-template-columns:minmax(0,1fr)}.mp-map-art{min-height:130px}.mp-map-art h2{font-size:24px}.mp-slot{gap:10px}.mp-slot-name{flex-basis:115px}.mp-slot-actions{width:100%}.mp-slot-actions:empty{display:none}.mp-status{font-size:10px}.mp-lobby-content+.pregame-footer{flex-wrap:wrap;gap:10px}.mp-lobby-content+.pregame-footer .pregame-footer-summary{width:100%}.mp-lobby-content+.pregame-footer .pregame-footer-summary small{font-size:11px}.mp-footer-actions{width:100%;justify-content:flex-end}.mp-footer-actions .ui-button{flex:1}}.mp-map-copy details{margin-top:10px}.mp-map-copy summary{width:fit-content;color:var(--pg-muted);cursor:pointer;font:11px/1.5 system-ui,sans-serif}.mp-map-copy summary:focus-visible{outline:2px solid var(--pg-gold);outline-offset:3px}@media (min-width: 901px) and (max-height: 800px){.mp-lobby-grid .mp-slot{padding:8px 12px}.mp-lobby-grid .mp-chat{margin-top:18px}.mp-lobby-grid .mp-chat-log{min-height:68px;max-height:105px}.mp-lobby-grid .mp-map-art{min-height:125px;padding-top:42px}}@media (max-height: 540px) and (orientation: landscape){.pregame-menu{width:100%;flex-direction:row;align-items:center;gap:clamp(24px,6vw,72px);padding:16px max(24px,env(safe-area-inset-right)) 16px max(32px,env(safe-area-inset-left))}.pregame-brand{margin-bottom:0}.pregame-brand h1{font-size:clamp(34px,6.4vw,56px)}.pregame-brand .pregame-wordmark{--pregame-wordmark-crown-width: 64px;--pregame-wordmark-crown-height: 48px;--pregame-wordmark-crown-gap: 12px;--pregame-wordmark-crown-overlap: 14px}.pregame-menu-actions{width:min(300px,42vw);gap:4px}.pregame-ui .pregame-menu-action{min-height:46px;padding:10px 14px;font-size:17px}.pregame-menu-section{min-height:46px}.pregame-ui .pregame-menu-action:not(.is-primary) .pregame-tutorial-caption{display:none}.pregame-menu-signature{display:none}}.pregame-menu-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;grid-template-rows:minmax(0,1fr) auto}.pregame-menu-screen .pregame-menu{height:100%;min-height:0;overflow-y:auto;justify-content:safe center}.pregame-menu-secondary{justify-self:end;display:flex;align-items:center;gap:clamp(12px,2vw,20px);margin:12px calc(clamp(28px,4vw,64px) + env(safe-area-inset-right)) calc(clamp(24px,4vh,48px) + env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));text-shadow:0 2px 8px #000}.pregame-menu-secondary a,.pregame-menu-secondary button{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;min-height:44px;padding:6px 0;background:none;border:0;color:#d4c49b;font:14px/1.4 var(--pg-font-body,system-ui);text-decoration:none;cursor:pointer}.pregame-menu-secondary a{flex-direction:row;max-width:128px}.pregame-menu-secondary a:hover,.pregame-menu-secondary button:hover{color:#fff0c8;text-decoration:underline;text-underline-offset:4px}.pregame-menu-secondary :focus-visible{outline:2px solid #e7c977;outline-offset:5px}@media (max-width: 560px){.pregame-menu-secondary{flex-wrap:wrap;justify-content:flex-end;column-gap:8px;row-gap:0}.pregame-menu-secondary a,.pregame-menu-secondary button{flex-wrap:nowrap;white-space:nowrap}}.feedback-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.feedback-entry svg{flex:0 0 20px}.pregame-menu-secondary .feedback-entry{flex-wrap:nowrap}.feedback-host-footer,.management-panel footer.feedback-host-footer{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:end;gap:12px 20px}.feedback-host-footer>.feedback-entry{grid-column:1;justify-self:start}.dialog-main-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}.feedback-host-footer>.dialog-main-actions{grid-column:2}.feedback-host-footer button{min-height:44px;white-space:nowrap}.dialog-icon-action{--action-padding-inline: 12px;--action-icon-gap: 7px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.dialog-icon-action svg{flex:0 0 20px}.feedback-host-footer>.feedback-entry{height:44px}.save-section-summary{margin:22px 0 0;color:var(--pg-muted);font:14px/1.4 system-ui,sans-serif;overflow-wrap:anywhere}.dialog-icon-action,.ui-button.dialog-icon-action,.management-panel .dialog-icon-action,.pregame-ui .dialog-icon-action.ui-button,.pregame-confirm-actions>.mobile-redundant-cancel,.dialog-main-actions>.mobile-redundant-cancel{width:max-content;min-width:0;padding-left:12px;padding-right:12px;white-space:nowrap}.action-button-label{white-space:nowrap}.touch-ui .adaptive-action-footer{overflow-x:clip;overflow-clip-margin:4px}.touch-ui .adaptive-action-footer,.touch-ui .adaptive-action-footer .dialog-main-actions{flex-wrap:nowrap}.touch-ui .dialog-icon-action,.touch-ui .management-panel .dialog-icon-action,.touch-ui .pregame-ui .dialog-icon-action.ui-button{--action-padding-inline: 10px;--action-icon-gap: 6px;display:inline-flex;flex:0 0 auto;flex-direction:row;align-items:center;justify-content:center;width:max-content;min-width:44px;height:44px;min-height:44px;padding:6px var(--action-padding-inline);gap:var(--action-icon-gap);font-size:14px;line-height:1.2}.touch-ui .dialog-icon-action[data-compact-action] .action-button-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.touch-ui .adaptive-action-footer .dialog-icon-action[data-compact-action]{width:44px;padding:0;gap:0}.touch-ui .feedback-host-footer,.touch-ui .management-panel footer.feedback-host-footer{column-gap:4px}.touch-ui .feedback-host-footer .dialog-main-actions{gap:3px}.touch-ui .management-panel footer.feedback-host-footer{margin-left:-16px;margin-right:-16px}.dialog-panel.feedback-save-dialog{display:flex;flex-direction:column;max-height:calc(var(--visible-height,100dvh) - 32px)}.feedback-save-dialog .dialog-header{flex:0 0 auto}.dialog-panel.feedback-save-dialog .dialog-content.pregame-ingame-saves-content{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0}.feedback-save-dialog .pregame-split{min-height:0;flex:1 1 auto}.feedback-save-dialog .feedback-host-footer{flex:0 0 auto}.pregame-notice.is-compact{gap:12px;padding:12px 14px;margin:0 0 16px}.pregame-notice.is-compact .pregame-notice-mark{width:28px;height:28px;line-height:26px;font-size:16px}.pregame-notice.is-compact strong{font-size:16px}.tutorial-coach{position:fixed;display:flex;flex-direction:column;top:calc(var(--safe-area-top, env(safe-area-inset-top, 0px)) + 46px);left:max(12px,var(--safe-area-left, env(safe-area-inset-left, 0px)));z-index:29;width:min(320px,calc(100vw - var(--right-panel-width, 0px) - 28px));max-height:calc(100dvh - 150px);overflow:auto;box-sizing:border-box;padding:12px 14px;border:1px solid #b49a63;border-radius:4px;background:linear-gradient(135deg,#26312af7,#121c22fa);box-shadow:0 5px 20px #0008;color:#eee3cb;font:13px/1.45 system-ui,sans-serif;pointer-events:auto;overscroll-behavior:contain}.tutorial-coach header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#c2ad7e;font-size:11px}.tutorial-coach header,.tutorial-coach footer{flex-shrink:0}.tutorial-coach__copy{min-height:0;overflow:auto}.tutorial-coach h2{font:600 19px/1.2 var(--ui-display-font, Georgia, serif);color:#f0d89f;margin:5px 0 7px}.tutorial-coach p{margin:0 0 10px}.tutorial-coach footer{display:flex;flex-wrap:wrap;gap:6px}.tutorial-town-actions>.dialog-icon-action{--action-padding-inline: 9px;--action-icon-gap: 6px}.tutorial-coach button{font:inherit;color:#f0dfb6;border:1px solid #9d845b88;border-radius:3px;background:#334139;padding:6px 9px;cursor:pointer}.tutorial-coach button:hover{background:#465445}.tutorial-coach button:focus-visible{outline:2px solid #f4cf78;outline-offset:2px}.tutorial-coach button:disabled{opacity:.5;cursor:default}.tutorial-coach .tutorial-expedition{display:flex;flex-direction:column;gap:2px;width:100%;margin:0 0 8px;padding:0 0 8px;text-align:left;border:0;border-bottom:1px solid #b49a634d;border-radius:0;background:transparent}.tutorial-expedition strong{font:17px/1.25 var(--ui-display-font, Georgia, serif);color:#f0d89f}.tutorial-expedition span{font-size:11px;color:#c2ad7e}.tutorial-coach header button{padding:0 7px;font-size:19px}.tutorial-coach--collapsed{width:auto;padding:4px}.tutorial-coach--town{top:calc(var(--safe-area-top, env(safe-area-inset-top, 0px)) + 90px)}.tutorial-coach--combat{top:calc(var(--safe-area-top, env(safe-area-inset-top, 0px)) + 110px);width:min(290px,calc(100vw - 28px))}.tutorial-coach--embedded{position:relative;inset:auto;width:auto;max-height:min(220px,36dvh);margin:0;padding:8px 18px;flex:0 1 auto;border-width:0 0 1px;border-radius:0;box-shadow:none;z-index:auto}.tutorial-coach--embedded h2{font-size:16px}.tutorial-coach--embedded header{padding-right:40px}.tutorial-coach--embedded header button{position:absolute;right:8px;top:6px}.tutorial-coach--embedded h2{padding-right:38px}.tutorial-coach--embedded p{margin-bottom:6px}.tutorial-highlight{outline:3px solid #ffe092!important;outline-offset:2px;box-shadow:inset 0 0 12px #f4cf7866,0 0 12px #f4cf7880!important}.tutorial-target-cue{position:fixed;z-index:10010;transform:translate(-50%);pointer-events:none;padding:3px 9px;border-radius:3px;background:#ffe092;color:#1e2118;box-shadow:0 2px 6px #000a;font:700 12px/18px system-ui,sans-serif;white-space:nowrap}.tutorial-target-cue:after{content:"";position:absolute;left:calc(50% - 5px);top:100%;border:5px solid transparent;border-bottom:0;border-top-color:#ffe092}.tutorial-target-cue.is-below:after{top:auto;bottom:100%;border-top:0;border-bottom:5px solid #ffe092}body.compact-ui .tutorial-coach{font-size:12px;width:min(310px,calc(100vw - var(--right-panel-width, 0px) - 24px));padding:8px 10px}body.compact-ui .tutorial-coach h2{font-size:16px}body.compact-ui .tutorial-coach--adventure{left:auto;right:calc(var(--right-panel-width, 0px) + 12px)}body.compact-ui .tutorial-coach--adventure[data-map-target-side=right]{left:max(12px,var(--safe-area-left, env(safe-area-inset-left, 0px)));right:auto}body.compact-ui .tutorial-coach--collapsed{width:auto}body.compact-ui .tutorial-coach--embedded{width:auto;padding:6px 10px}body.compact-ui:not(.portrait-ui) .tutorial-coach--embedded{max-height:42dvh}body.compact-ui .tutorial-coach--combat{top:calc(var(--safe-area-top, env(safe-area-inset-top, 0px)) + 56px);max-height:calc(100dvh - var(--battle-compact-dock, 56px) - 64px - var(--safe-area-top, env(safe-area-inset-top, 0px)) - var(--safe-area-bottom, env(safe-area-inset-bottom, 0px)))}body.touch-ui .tutorial-coach button{min-height:44px}body.mobile-ui.compact-ui .town-management.game-dialog-surface.town-management--landscape:has(>.tutorial-coach){grid-template-rows:auto minmax(0,1fr) auto}body.mobile-ui.compact-ui .town-management.game-dialog-surface.town-management--landscape:has(>.tutorial-coach)>.town-management__header{grid-row:1 / 3}body.mobile-ui.compact-ui .town-management.game-dialog-surface.town-management--landscape>.tutorial-coach{grid-column:2;grid-row:1}body.mobile-ui.compact-ui .town-management.game-dialog-surface.town-management--landscape:has(>.tutorial-coach)>.town-management__workspace{grid-row:2}body.mobile-ui.compact-ui .town-management.game-dialog-surface.town-management--landscape:has(>.tutorial-coach)>.town-management__status{grid-row:3}body.mobile-ui.compact-ui:not(.portrait-ui) .town-army-dock:has(>.tutorial-coach){display:grid;grid-template-columns:minmax(180px,238px) minmax(0,1fr);gap:8px}body.mobile-ui.compact-ui .town-army-dock:has(>.tutorial-coach)>.mobile-army-header{grid-column:1 / -1}body.mobile-ui.compact-ui .town-army-dock>.tutorial-coach{align-self:start;max-height:none}body.mobile-ui.compact-ui .town-army-dock:has(>.tutorial-coach) .army-slots{grid-template-columns:repeat(7,minmax(44px,1fr));overflow-x:auto}.pregame-tutorial-caption{display:block;font:12px/1.5 system-ui,sans-serif;color:#b9ae94;letter-spacing:0;text-transform:none}.tutorial-details{display:contents}.tutorial-details[hidden]{display:none}body.compact-ui .tutorial-coach--strip:not(.tutorial-coach--collapsed){inset:auto var(--safe-area-right, env(safe-area-inset-right, 0px)) calc(var(--battle-compact-dock, 56px) + var(--safe-area-bottom, env(safe-area-inset-bottom, 0px))) var(--safe-area-left, env(safe-area-inset-left, 0px));width:auto;max-height:calc(100dvh - 110px - var(--safe-area-top, env(safe-area-inset-top, 0px)) - var(--safe-area-bottom, env(safe-area-inset-bottom, 0px)));padding:0;overflow:visible}body.compact-ui.battle-rail-ui .tutorial-coach--strip:not(.tutorial-coach--collapsed){right:calc(var(--battle-compact-rail) + var(--safe-area-right, env(safe-area-inset-right, 0px)))}.tutorial-strip{display:flex;align-items:center;gap:6px;box-sizing:border-box;height:calc(var(--tutorial-strip-height, 48px) - 2px);padding:0 6px;flex-shrink:0}.tutorial-strip strong{flex:1;min-width:0;font:600 13px/1.2 system-ui,sans-serif}.tutorial-strip button{flex-shrink:0;min-height:44px}.tutorial-coach--strip.is-expanded .tutorial-details{position:absolute;display:flex;flex-direction:column;left:0;bottom:100%;width:min(360px,100%);box-sizing:border-box;max-height:calc(100dvh - 164px);padding:8px;background:#15231ffa;border:1px solid #b49a63;overflow:auto}.first-adventure-objective{box-sizing:border-box;position:fixed;top:max(14px,var(--safe-area-top, env(safe-area-inset-top)));left:max(12px,var(--safe-area-left, env(safe-area-inset-left)));z-index:30;max-width:calc(100vw - var(--right-panel-width, 280px) - 24px);display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 12px;color:#e8dfc9;background:#17252aeb;border:1px solid #c5ad7070;border-left:3px solid #c5ad70;pointer-events:auto;text-align:left}.first-adventure-objective strong{font:16px Georgia,serif;color:#e4ce92}.first-adventure-objective>button{display:flex;flex-direction:column;gap:3px;border:0;color:inherit;background:transparent;padding:0;text-align:left;cursor:pointer;min-height:44px}.first-adventure-objective button>span{font:12px system-ui,sans-serif}.first-adventure-objective>.first-adventure-resume{min-height:44px;justify-content:center;border-left:1px solid #c5ad7040;padding-left:12px;max-width:82px;font:12px system-ui,sans-serif;color:#f0d89f}.first-adventure-objective button:focus-visible{outline:2px solid #ecf8ff;outline-offset:2px}.first-adventure-objective:focus-visible{outline:2px solid #ecf8ff;outline-offset:2px}.compact-ui .first-adventure-objective{top:calc(max(12px,var(--safe-area-top, env(safe-area-inset-top))) + var(--mobile-resource-strip-height, 44px) + 6px);left:max(28px,var(--safe-area-left, env(safe-area-inset-left)));max-width:calc(100vw - var(--right-panel-width) - 40px)}body.compact-ui:not(.portrait-ui) .first-adventure-objective{top:auto;left:auto;right:calc(var(--right-panel-width) + 8px);bottom:max(8px,var(--safe-area-bottom, env(safe-area-inset-bottom)))}body.compact-ui:not(.portrait-ui):has(.mobile-route-bar) .first-adventure-objective{bottom:calc(78px + var(--safe-area-bottom, env(safe-area-inset-bottom)))}body.compact-ui{--lantern-map-stack-clearance: 78px}body.compact-ui.portrait-ui:has(.mobile-map-stack:not(.mobile-map-stack--strip-folded) .mobile-route-bar){--lantern-map-stack-clearance: 136px}body.compact-ui.portrait-ui .first-adventure-objective{top:auto;bottom:calc(var(--resource-bar-height) + var(--lantern-map-stack-clearance));left:max(8px,var(--safe-area-left, env(safe-area-inset-left)));right:max(8px,var(--safe-area-right, env(safe-area-inset-right)));max-width:none;justify-content:space-between}.lantern-arrival{position:fixed;z-index:25;pointer-events:none;left:12px;right:calc(var(--right-panel-width, 280px) + 12px);bottom:calc(50px + var(--safe-area-bottom, env(safe-area-inset-bottom, 0px)));display:flex;flex-direction:column;align-items:center;gap:5px;padding:16px 12px;color:#f2e9d2;text-align:center;text-shadow:0 2px 6px #07120f,0 0 14px #07120f;background:radial-gradient(ellipse at center,#101b22bf,#101b2200 70%);animation:lantern-arrival 2s ease both}.lantern-arrival strong{font:30px/1.15 var(--ui-display-font, Georgia, serif);letter-spacing:.04em}.lantern-arrival>span:last-child{font:12px/1.4 system-ui,sans-serif;letter-spacing:.06em}.lantern-arrival__ornament{color:#e5bd72;font-size:11px}.compact-ui .lantern-arrival{bottom:calc(var(--lantern-map-stack-clearance) + var(--safe-area-bottom, env(safe-area-inset-bottom, 0px)))}body.compact-ui.portrait-ui .lantern-arrival{bottom:calc(var(--resource-bar-height) + var(--lantern-map-stack-clearance))}body.compact-ui.portrait-ui:has(.first-adventure-objective) .lantern-arrival{bottom:calc(var(--resource-bar-height) + var(--lantern-map-stack-clearance) + 70px)}body.compact-ui:not(.portrait-ui):has(.mobile-route-bar):has(.first-adventure-objective) .lantern-arrival{bottom:calc(var(--lantern-map-stack-clearance) + var(--safe-area-bottom, env(safe-area-inset-bottom, 0px)) + 70px)}body.compact-ui.portrait-ui .lantern-arrival[data-arrival=opening]{top:38%;bottom:auto}.compact-ui .lantern-arrival strong{font-size:24px}@keyframes lantern-arrival{0%,to{opacity:0}15%,80%{opacity:1}}@media (prefers-reduced-motion: reduce){.lantern-arrival{animation:none}}.weekly-summary{width:min(540px,calc(100vw - 20px))}.weekly-summary .dialog-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}.weekly-summary__scroll{min-height:0;overflow-y:auto;padding:2px 6px 6px}.weekly-summary__event{margin:4px 0 6px;color:#ecdfc6}.weekly-summary__next{margin:0 0 14px;color:#bca984;font-size:12px}.weekly-summary__town{margin:10px 0}.weekly-summary__town summary{cursor:pointer;padding:6px 0;color:#e4c88c}.weekly-summary__town summary strong{overflow-wrap:anywhere}.weekly-summary__town summary span{display:block;padding:4px 0 0 16px;color:#c8b89a;font-size:12px}.weekly-summary__pools{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 0}.weekly-summary__pool{display:flex;gap:8px;align-items:center;min-width:0;font-size:12px}.weekly-summary__portrait{width:34px;height:40px;flex:0 0 auto}.weekly-summary__pool>div:last-child{min-width:0;display:grid;gap:3px}.weekly-summary__pool strong{color:#e5d7b9}.weekly-summary__pool span,.weekly-summary__pool small{color:#bca984}.weekly-summary__footer{flex:0 0 auto;display:flex;justify-content:flex-end;padding:10px 6px 4px}.weekly-summary__footer button{white-space:nowrap}body.compact-ui .weekly-summary__pools{grid-template-columns:1fr}body.compact-ui .weekly-summary__town summary{min-height:44px}.resource-bar button.resource-bar__day-badge{background:none;border:0;font-family:inherit;cursor:pointer}.resource-bar button.resource-bar__day-badge:focus-visible{outline:1px solid #d4af37;outline-offset:-2px}.dialog-panel.feedback-dialog{width:540px;min-width:0;display:flex;flex-direction:column;max-height:calc(var(--visible-height,100dvh) - 32px)}.feedback-dialog .dialog-header{flex:0 0 auto}.feedback-dialog .dialog-content{overflow:auto;min-height:0;overscroll-behavior:contain}.feedback-backdrop{top:var(--visible-top,0px);bottom:auto;height:var(--visible-height,100dvh)}.game-feedback-form{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:10px;font:14px/1.5 system-ui,sans-serif}.game-feedback-form p{margin:0}.game-feedback-form fieldset{min-width:0;margin:0;padding:0;border:0}.game-feedback-form legend{margin-bottom:8px;font-weight:600}.feedback-dialog .game-feedback-form label{font:inherit;letter-spacing:0;text-transform:none;color:#eadcc0}.feedback-dialog .game-feedback-form label>span{font-size:12px;color:#c4b697}.game-feedback-types{display:flex;flex-wrap:wrap;gap:6px}.game-feedback-types label{display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 9px;border:1px solid #78603e;flex:1}.game-feedback-types input{margin:0;accent-color:#d3b366}.game-feedback-form textarea,.game-feedback-form>input{width:100%;min-width:0;padding:9px;font:16px/1.5 system-ui,sans-serif}.game-feedback-form textarea{resize:vertical;min-height:110px}.feedback-hint,.feedback-privacy{font-size:12px;color:#c4b697}.feedback-privacy a{color:#ecd491;text-underline-offset:3px}.feedback-game-note{padding:8px 10px;border-left:2px solid #c8a56c;background:#c8a56c10}.feedback-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.feedback-status:empty{display:none}.feedback-status.is-error{color:#ffbfac}.feedback-status.is-success{color:#bedfa3}.feedback-actions{min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.feedback-actions button{min-height:44px}.game-feedback-form :focus-visible{outline:2px solid #e7c977;outline-offset:3px}.touch-ui .feedback-dialog .dialog-close{width:44px;height:44px;top:4px;right:6px}.compact-ui .feedback-dialog .dialog-header{min-height:52px}.compact-ui .feedback-dialog .dialog-header h2{font-size:17px}.compact-ui .feedback-dialog .dialog-content{padding:12px}.install-help{display:flex;align-items:start;gap:8px;font:12px/1.4 system-ui,sans-serif;color:#d6c79f;padding:4px 8px;background:#131c20e8;border:1px solid #9c845955;border-radius:4px}.install-help details{flex:1;min-width:0}.install-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.install-help p{margin:0 0 8px}.install-help button{flex:0 0 44px;min-height:44px;color:inherit;background:none;border:0;font:22px system-ui,sans-serif;cursor:pointer}.audio-preferences{display:grid;gap:8px;width:100%;min-width:0;color:var(--text-primary,#e6d8ba)}.audio-preferences label{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:8px 12px;background:#00000029;border:1px solid rgba(190,156,91,.2)}.audio-preferences input[type=checkbox]{width:22px;height:22px;accent-color:#c4a66a}.audio-preferences .audio-level{display:grid;grid-template-columns:minmax(90px,1fr) minmax(80px,1.5fr) 42px;gap:10px}.audio-preferences input[type=range]{min-width:0;width:100%;height:32px;accent-color:#c4a66a}.audio-preferences output{text-align:right;font-variant-numeric:tabular-nums}body .dialog-panel.options-dialog{--options-inset: 24px;width:680px;min-width:0;max-width:100%;max-height:calc(var(--visible-height, 100dvh) - 32px - var(--safe-area-top, 0px) - var(--safe-area-bottom, 0px));display:flex;flex-direction:column}body .dialog-panel.options-dialog.options-dialog--controls{height:660px}body .dialog-panel.options-dialog .dialog-header{flex:0 0 auto}body .dialog-panel.options-dialog .dialog-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:0;overflow:hidden}body .options-dialog .management-panel.options-shell{display:flex;flex-direction:column;flex:1 1 auto;width:100%;max-height:none;min-height:0;padding:0;overflow:hidden;color:#ebdfc4;font-size:14px;line-height:1.45}.options-dialog .options-shell h3{margin:0;color:#e8ca86;font-family:var(--ui-display-font);font-size:17px;font-weight:600;letter-spacing:.025em}.options-dialog .options-shell p{margin:4px 0 0;color:#baa98c;font-size:12px}.options-dialog .options-shell .options-nav{display:flex;flex:0 0 auto;gap:0;margin:0;padding:0 var(--options-inset);border-bottom:1px solid #80684066;background:#100d0a40}.options-dialog .options-nav button{position:relative;min-height:48px;min-width:112px;padding:10px 20px;border:0;border-radius:0;background:transparent;color:#bbaa89}.options-dialog .options-nav button[aria-pressed=true]{background:linear-gradient(0deg,#b7903930,transparent);color:#f5dfab}.options-dialog .options-nav button[aria-pressed=true]:after{content:"";position:absolute;bottom:-1px;left:12px;right:12px;height:2px;background:#d3ac5e}.options-dialog .options-nav button:focus-visible{outline-offset:-4px}.options-preferences{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px var(--options-inset) 24px}.options-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.options-settings{border:1px solid #80684073;border-radius:3px;background:#100e0b50}.options-dialog .options-shell .options-setting{display:flex;align-items:center;gap:14px;width:100%;margin:0;padding:18px 16px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;letter-spacing:normal;text-align:left;text-transform:none;cursor:pointer}.options-dialog .options-shell .options-setting+.options-setting{border-top:1px solid #80684050}.options-dialog .options-shell .options-setting:hover:not(:disabled){background:#b7903912}.options-dialog .options-setting:has(:focus-visible){outline:2px solid #e0b94d;outline-offset:-3px}.options-setting-icon{display:grid;place-items:center;flex:0 0 32px;color:#c5a46a}.options-setting-icon svg{width:25px;height:25px}.options-setting-copy{flex:1;min-width:0}.options-setting-copy strong{display:block;font-size:15px;font-weight:600;color:#f0e2c5}.options-setting-copy small{display:block;margin-top:4px;color:#baa98c;font-size:12px;line-height:1.5}.options-setting-state{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 78px;color:#decca5;font-size:12px}.options-dialog .options-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:inline-block;flex:none;width:38px;height:22px;margin:0;border:1px solid #807052;border-radius:3px;background:#16130f;box-shadow:inset 0 1px 3px #0008;cursor:pointer}.options-switch:before{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:1px;background:#9e8f75}.options-dialog .options-switch.is-on,.options-dialog .options-switch:checked{border-color:#c6a55e;background:#675027}.options-switch.is-on:before,.options-switch:checked:before{left:19px;background:#f0d598;box-shadow:0 1px 3px #0006}.options-controls{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.options-controls-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex:0 0 auto;padding:18px var(--options-inset) 14px}.options-controls-toolbar>div{min-width:0}.options-dialog .options-controls-toolbar .options-binding-error{color:#ffbf8a}.options-dialog .options-context{position:relative;display:flex;flex-direction:column;gap:4px;flex:0 0 170px;color:#bbaa89;font-size:10px}.options-dialog .options-context select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:44px;min-height:44px;padding:8px 32px 8px 10px;border-radius:2px;font-family:inherit;font-size:14px;line-height:1.4;letter-spacing:normal;text-transform:none}.options-context:after{content:"";position:absolute;right:14px;bottom:20px;width:6px;height:6px;border-right:1.5px solid #d7bf89;border-bottom:1.5px solid #d7bf89;transform:rotate(45deg);pointer-events:none}.options-binding-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 var(--options-inset) 12px}.options-binding-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 44px;align-items:center;gap:10px;min-height:58px;padding:6px 0;border-top:1px solid #80684050}.options-command-label{min-width:0;padding:4px 0;color:#dfd1b4}.options-dialog .options-binding-key{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;min-width:0;min-height:40px;padding:6px 8px;color:#efdbac;background:#15120e;border-color:#806840aa;font-size:13px;overflow-wrap:anywhere}.options-binding-key kbd{font:inherit}.options-unbound{color:#a8977b}.options-dialog .options-binding-key[aria-pressed=true]{color:#fff1c7;background:#674b22;border-color:#e7c16b;box-shadow:inset 0 0 0 1px #e7c16b40}.options-dialog .options-binding-clear{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;border-color:transparent;color:#a9987c}.options-binding-clear svg{width:18px;height:18px}body .options-dialog .options-shell footer.options-footer{flex:0 0 auto;margin:0;padding:16px var(--options-inset);border-top:1px solid #80684080;background:#0e0c09a8}.options-dialog .options-footer .feedback-entry{border-color:#80684080;background:#292218}.options-dialog .options-footer .dialog-main-actions{flex-wrap:nowrap}.options-dialog .options-footer button{font-size:14px}.options-binding-list::-webkit-scrollbar,.options-preferences::-webkit-scrollbar{width:6px}.options-binding-list::-webkit-scrollbar-thumb,.options-preferences::-webkit-scrollbar-thumb{background:#806840aa;border-radius:3px}body.compact-ui .dialog-panel.options-dialog{--options-inset: 16px;max-height:calc(var(--visible-height,100dvh) - 16px - var(--safe-area-top,0px) - var(--safe-area-bottom,0px))}body.compact-ui .options-dialog .dialog-header{min-height:52px}body.touch-ui .options-dialog .options-binding-key{min-height:44px}@media (max-width: 480px){.options-dialog .options-nav button{flex:1;min-width:0}.options-section-heading{display:block}.options-dialog .options-shell .options-setting{gap:10px;padding:16px 12px}.options-setting-icon{display:none}.options-setting-state{flex-basis:38px;flex-direction:column-reverse;gap:4px}.options-controls-toolbar{flex-wrap:wrap;gap:10px;padding-top:14px}.options-dialog .options-context{flex:1;flex-direction:row;align-items:center;gap:12px}.options-dialog .options-context select{flex:1;width:0}.options-binding-row{grid-template-columns:minmax(0,1fr) 102px 44px;gap:5px;font-size:13px}.options-dialog .options-binding-key{font-size:12px;padding-inline:4px}body .options-dialog .options-shell footer.options-footer{padding:12px var(--options-inset)}}@media (max-height: 540px){.options-dialog .options-nav button{min-height:44px;padding-block:8px}.options-preferences{padding-top:12px;padding-bottom:12px}.options-section-heading{margin-bottom:8px}.options-dialog .options-shell .options-setting{padding-top:12px;padding-bottom:12px}.options-controls-toolbar{align-items:center;padding-top:10px;padding-bottom:10px}.options-dialog .options-context{flex-basis:215px;flex-direction:row;align-items:center;gap:8px}.options-dialog .options-context select{flex:1;width:0;min-width:0}body .options-dialog .options-shell footer.options-footer{padding-top:10px;padding-bottom:10px}}@media (min-width: 560px) and (max-height: 540px){.options-preferences{padding-block:8px}.options-section-heading{justify-content:flex-end;margin-bottom:8px}.options-section-heading h3{display:none}.options-dialog .options-section-heading p{margin:0}.options-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.options-dialog .options-shell .options-setting{gap:10px;padding:12px}.options-dialog .options-shell .options-setting+.options-setting{border-top:0;border-left:1px solid #80684050}.options-setting-icon{display:none}.options-setting-state{flex-basis:38px;flex-direction:column-reverse;gap:4px}}.route-destination{display:flex;align-items:center;gap:6px;min-width:0}.route-destination__name{min-width:0;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f6e2b2;font:600 15px/1.2 Georgia,serif}.route-destination .route-destination__info{flex:0 0 32px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #967742;border-radius:3px;background:#30271c;color:#efd18f;cursor:pointer}.route-destination__info:hover{background:#49391f}.route-destination__info:focus-visible{outline:2px solid #efd180;outline-offset:2px}.route-movement{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:2px;font:12px/1.2 system-ui;font-variant-numeric:tabular-nums}.route-movement>span{white-space:nowrap}.route-movement__remaining{color:#cdb98d}body.compact-ui .route-destination__info{flex-basis:44px;width:44px;height:44px}.management-panel{width:min(680px,88vw);max-height:72vh;overflow:auto;padding:16px;color:#e7d7ac;box-sizing:border-box}.management-panel h3{margin:10px 0;font-size:16px}.management-panel button,.roster-tools button,.army-quick button,.loadout-tools button{padding:7px 11px;background:#30271c;color:#ecdab0;border:1px solid #806840;border-radius:3px;cursor:pointer;font:inherit}.management-panel button:hover:not(:disabled),.roster-tools button:hover,.army-quick button:hover{background:#54402a}.management-panel button:disabled{opacity:.45;cursor:default}.management-panel button:focus-visible{outline:2px solid #e0b94d;outline-offset:2px}.management-panel footer,.management-panel nav{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.management-panel nav{justify-content:flex-start;margin:0 0 16px}.management-check{display:flex;align-items:center;gap:10px;margin-top:18px}.management-muted{font-size:12px;color:#bba887}.review-row{display:flex!important;gap:12px;align-items:center;width:100%;text-align:left;margin:6px 0}.review-row>img,.review-row>div:first-child{width:48px!important;height:48px!important;object-fit:contain;flex-shrink:0}.review-row>span:nth-child(2){flex:1}.review-row small,.binding-row small{display:block;color:#bca985;font-size:11px;margin-top:4px}.review-town{display:flex;gap:8px;align-items:center}.review-town>.review-row{flex:1}.binding-row{display:grid;grid-template-columns:minmax(100px,1fr) 145px 36px;gap:8px;align-items:center;border-bottom:1px solid #57452c;padding:6px 0}.roster-tools,.army-quick,.loadout-tools{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0;font-size:12px}.touch-ui .management-panel button,.touch-ui .roster-tools button,.touch-ui .army-quick button{min-height:44px}.compact-ui .binding-row{grid-template-columns:minmax(90px,1fr) 110px 36px}.management-panel input:not([type=checkbox]),.management-panel select{background:#211c17;color:#f0dab0;border:1px solid #806840;padding:7px;max-width:100%;box-sizing:border-box}.army-operations{display:flex;flex-wrap:wrap;gap:4px;font-size:11px;margin:4px 0}.army-operations button,.loadout-controls button{font:inherit;color:#e5d6ae;background:#29251c;border:1px solid #6a5833;padding:4px 6px}.loadout-controls{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.touch-ui .army-operations button,.touch-ui .loadout-controls button{min-height:44px}.recruit-assistance{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px}.recruit-assistance input[type=number]{width:90px}.recruit-assistance span{display:flex;gap:5px}.roster-tools{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.roster-tools button{font:inherit;font-size:11px;color:#e8d29f;background:#2c2419;border:1px solid #76613c;padding:4px}.touch-ui .roster-tools button{min-height:44px}.travel-estimate{--travel-left: max(14px, var(--safe-area-left, env(safe-area-inset-left, 0px)));--travel-right: max(14px, var(--safe-area-right, env(safe-area-inset-right, 0px)));--travel-bottom: calc(max(var(--resource-bar-height), var(--safe-area-bottom, env(safe-area-inset-bottom, 0px))) + 14px) ;position:fixed;bottom:var(--travel-bottom);left:var(--travel-left);right:calc(var(--right-panel-width) + var(--travel-right));width:max-content;max-width:calc(100vw - var(--right-panel-width) - var(--travel-left) - var(--travel-right));max-height:calc(100dvh - var(--travel-bottom) - var(--safe-area-top, env(safe-area-inset-top, 0px)) - 80px);margin:0 auto;box-sizing:border-box;overflow:auto;background:#201c14ef;color:#f0dba7;border:1px solid #967742;padding:4px 8px;pointer-events:auto;font-size:12px;z-index:100;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.travel-estimate__preview{color:#cdb98d;font-size:11px}.travel-estimate button{color:inherit;background:#42341e;border:1px solid #967742;padding:6px}.army-operations-open{font:inherit;color:#e9d4a5;background:#2a2118;border:1px solid #75613d;padding:4px 8px;font-size:11px}.touch-ui .army-operations-open{min-height:44px}.loadout-controls{display:block;position:relative;margin-bottom:6px}.loadout-controls summary{cursor:pointer;padding:4px 0;color:#d5bb7c}.loadout-fields{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px;background:#211a13;max-width:100%}.loadout-fields input{min-width:0;max-width:100%;width:150px}.loadout-fields select{max-width:170px}.review-row{min-width:0}.review-portrait{width:48px;height:48px;flex:0 0 48px;display:block;overflow:hidden}.review-portrait .hero-portrait-sprite,.review-portrait img{display:block;width:100%;height:100%;object-fit:cover}.review-row>span:nth-child(2){min-width:0}.compact-ui .review-row>span:last-child{display:none}.review-town>.review-row{width:auto}.review-row svg{flex:0 0 48px}.loadout-fields input,.loadout-fields select{color:#efdca9;background:#211b13;border:1px solid #806840;padding:5px;font:inherit}.touch-ui .loadout-controls summary{min-height:44px;display:flex;align-items:center}.recruit-remaining{display:flex;flex-wrap:wrap;gap:5px}.recruit-remaining>span{display:inline-flex;align-items:center;gap:2px}.recruit-assistance{color:#d6caa5;font-size:12px}.recruit-assistance button{padding:6px 10px;background:#25353c;border:1px solid #60706a;color:#ebd5a2;font:inherit;cursor:pointer}.recruit-assistance button:disabled{opacity:.45;cursor:default}.recruit-assistance input[type=number]{background:#101d23;border:1px solid #65746d;color:#f0ddaf;padding:6px;font:inherit}.recruit-assistance label{display:inline-flex;align-items:center;gap:4px}.recruit-assistance input[type=checkbox]{accent-color:#b89a54}.recruit-assistance>span{flex-wrap:wrap;align-items:center}.town-recruit-card h3 button{background:transparent;border:0;color:inherit;font:inherit;padding:0;cursor:pointer}.town-recruit-card h3 button[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.touch-ui .recruit-assistance button,.touch-ui .recruit-assistance input[type=number],.touch-ui .recruit-assistance label{min-height:44px}.touch-ui .recruit-assistance>span label{min-width:44px}.leaderboard-tabs{flex-shrink:0}.leaderboard-page .weekly-content{gap:16px}.leaderboard-page .weekly-intro{position:relative;padding:22px 26px;gap:24px;border:1px solid #aa915045;background:radial-gradient(ellipse at 0 50%,#52694430,transparent 65%),#101a16a6}.leaderboard-page .weekly-faction{width:120px;height:140px;flex-basis:120px}.leaderboard-page .weekly-brief{flex:1;min-width:0}.leaderboard-page .weekly-brief h2{font-size:27px;margin-top:6px}.leaderboard-page .weekly-facts{margin-bottom:0}.leaderboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.leaderboard-toolbar .pregame-field{min-width:0;flex:0 1 330px}.leaderboard-toolbar select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;min-height:40px;padding:9px 38px 9px 12px;border:1px solid #aa915060;color:#e8e0c6;background:#151e19 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23c2b792' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center / 12px 8px}.leaderboard-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#c2b792}.leaderboard-status:before{content:"";width:6px;height:6px;background:#9d9276;transform:rotate(45deg)}.leaderboard-status.is-open{color:#b9c995}.leaderboard-status.is-open:before{background:#a4bb7c;box-shadow:0 0 9px #a4bb7c50}.leaderboard-personal{display:flex;align-items:center;gap:22px;padding:18px 22px;border:1px solid #c8ab5e88;background:linear-gradient(110deg,#b4983d24,#b4983d08);color:#e6d7b1}.leaderboard-personal-rank{flex-shrink:0;display:grid;gap:3px;padding-right:22px;border-right:1px solid #c8ab5e55}.leaderboard-personal-rank small{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#bbab7e}.leaderboard-personal-rank strong{font-size:32px;line-height:1.1;font-variant-numeric:tabular-nums}.leaderboard-personal>div:last-child{display:grid;gap:5px;min-width:0}.leaderboard-personal>div:last-child>strong{font-size:18px;overflow-wrap:anywhere}.leaderboard-personal>div:last-child>span:last-child{font-size:13px;color:#c6bea4}.leaderboard-page .weekly-columns{grid-template-columns:minmax(0,1fr) 265px;gap:24px;align-items:start}.leaderboard-page .weekly-leaderboard{grid-column:1;grid-row:1}.leaderboard-page .weekly-entry{grid-column:2;grid-row:1;padding:20px;border:1px solid #aa915030;background:#0b151280}.leaderboard-page .weekly-entry h2{font-size:17px}.leaderboard-page .weekly-entry p{font-size:13px}.leaderboard-page .weekly-entry form{margin-top:12px}.leaderboard-profile summary,.leaderboard-rules summary{color:#c2b68f;font-size:13px;cursor:pointer;padding:10px 0}.leaderboard-rules p{color:#aaa58e;font-size:13px;line-height:1.6;margin:4px 0}.leaderboard-rules{border-top:1px solid #aa915030}.leaderboard-count{font-size:12px;color:#aca58d}.leaderboard-page .weekly-board-heading h2{margin:0;font-size:20px}.leaderboard-page .leaderboard-scoring{font-size:12px;margin-top:6px;color:#a6a08b}.leaderboard-page .weekly-leaderboard table{margin:18px 0}.leaderboard-page .weekly-leaderboard td:first-child{text-align:center;width:48px}.leaderboard-page .weekly-leaderboard thead th:first-child{text-align:center}.leaderboard-rank{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;font-variant-numeric:tabular-nums}.leaderboard-rank.rank-1{border:1px solid #c6a65080;color:#f0d380;background:#b28c2b20}.leaderboard-rank.rank-2{border:1px solid #aab8b255;color:#d4dfd9;background:#aab8b210}.leaderboard-rank.rank-3{border:1px solid #bb8b6655;color:#cda683;background:#bb8b6610}.leaderboard-page .weekly-leaderboard .is-you{background:#c3a35918;color:#f1d38c;box-shadow:inset 3px 0 #c3a359}.leaderboard-you{display:inline-block;margin-left:6px;padding:2px 5px;border:1px solid #c3a35966;font-size:10px;font-weight:400;text-transform:uppercase}.leaderboard-page .weekly-leaderboard tfoot{border-top:2px solid #c3a35970}.leaderboard-page .weekly-empty{padding:40px 18px;border:1px dashed #aa915040;text-align:center;font-size:14px}.leaderboard-page .weekly-leaderboard th[scope=row]{font-weight:400}.leaderboard-page .weekly-leaderboard abbr{text-decoration:none}.leaderboard-page .ai-difficulty-control .setup-option-label{display:block;font-size:12px}.leaderboard-page .ai-difficulty-control .setup-option-face{flex-direction:row;min-height:60px;gap:4px}.leaderboard-page .ai-difficulty-control .setup-art{width:36px}.compact-ui .leaderboard-page .weekly-intro{padding:16px;gap:12px}.compact-ui .leaderboard-page .weekly-faction{width:76px;height:100px;flex-basis:76px}.compact-ui .leaderboard-page .weekly-brief h2{font-size:23px}.compact-ui .leaderboard-page .weekly-columns{grid-template-columns:minmax(0,1fr);gap:16px}.compact-ui .leaderboard-page .weekly-leaderboard{grid-column:1;grid-row:1}.compact-ui .leaderboard-page .weekly-entry{grid-column:1;grid-row:2;padding:16px}.compact-ui .leaderboard-tabs button{padding:12px 6px}.compact-ui .leaderboard-tabs button span{font-size:12px}.compact-ui .leaderboard-toolbar{flex-wrap:wrap}.compact-ui .leaderboard-toolbar .pregame-field{flex-basis:100%}.compact-ui .leaderboard-personal{padding:14px;gap:14px}.compact-ui .leaderboard-personal-rank{padding-right:14px}.compact-ui .leaderboard-page .weekly-leaderboard th,.compact-ui .leaderboard-page .weekly-leaderboard td{padding:10px 6px}.compact-ui .leaderboard-page .weekly-pagination .ui-button{padding-inline:12px}.touch-ui .leaderboard-toolbar select{min-height:44px;font-size:16px}.leaderboard-scenarios .setup-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.leaderboard-scenarios .setup-option-face{flex-direction:column;padding:0 0 12px;overflow:hidden;gap:10px}.leaderboard-scenarios img{width:100%;height:60px;object-fit:cover;opacity:.85}.leaderboard-scenarios .setup-option-label{font-size:14px;padding:0 8px}.leaderboard-page .scenario-board-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:24px;align-items:start}.leaderboard-kingdoms .setup-options{display:flex}.leaderboard-kingdoms .setup-option{flex:1;min-width:0}.leaderboard-kingdoms .setup-option-face{flex-direction:column;padding:6px;gap:3px}.leaderboard-kingdoms .setup-faction-art{width:52px;height:54px}.leaderboard-kingdoms .setup-option-label{font-size:11px}.leaderboard-page .weekly-entry .pregame-field-control{flex-wrap:wrap;gap:8px}.leaderboard-page .weekly-entry .pregame-field-control input{min-width:0;flex:1 1 100%}.leaderboard-page .weekly-entry .pregame-field-control strong{min-width:0}.leaderboard-page .pregame-notice .pregame-text-action{display:block;margin-top:10px}.compact-ui .leaderboard-page .scenario-board-filters{grid-template-columns:minmax(0,1fr);gap:14px}.compact-ui .leaderboard-scenarios .setup-options{gap:6px}.compact-ui .leaderboard-scenarios img{height:52px}.compact-ui .leaderboard-scenarios .setup-option-label{font-size:11px;padding:0 4px}.compact-ui .leaderboard-page .ai-difficulty-control .setup-option-face{min-height:48px}.leaderboard-page .pregame-notice{margin:0;padding:18px}.leaderboard-page .pregame-header{min-height:72px;padding:12px 24px}.leaderboard-page .pregame-header h1{font-size:26px}.leaderboard-page .leaderboard-tabs>button{padding-block:14px}.leaderboard-page .pregame-footer{min-height:64px;padding:12px 24px}.scenario-board-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border:1px solid #aa915040;background:#13201a90}.scenario-board-summary h2{color:#dfc98d;font-size:21px;margin:5px 0 0}.scenario-board-summary p{color:#c0bcaa;font-size:14px;margin:0}.compact-ui .leaderboard-page .pregame-header{padding:12px}.compact-ui .leaderboard-page .pregame-header h1{font-size:22px}.compact-ui .leaderboard-page .pregame-footer{padding:10px 14px}.compact-ui .leaderboard-page .pregame-footer-summary{font-size:12px}.compact-ui .leaderboard-page .leaderboard-tabs>button{padding-block:12px}.compact-ui .leaderboard-kingdoms .setup-faction-art{width:32px;height:34px}.compact-ui .scenario-board-summary{flex-wrap:wrap;gap:6px;padding:10px 12px}.compact-ui .scenario-board-summary h2{font-size:18px}.compact-ui .scenario-board-summary p{font-size:12px}.setup-choice{border:0;padding:0;margin:0;min-width:0}.setup-label{padding:0;margin-bottom:7px;color:var(--pg-gold);font:12px/1.4 Georgia,serif}.setup-options{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:5px}.setup-option{position:relative;min-width:0;cursor:pointer}.setup-option-face{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;min-height:42px;padding:6px 3px;border:1px solid #84948840;background:#0c171cb0;color:var(--pg-muted);transition:border-color .12s,background .12s}.setup-option-label{font:11px/1.3 system-ui,sans-serif;text-align:center;overflow-wrap:anywhere}.setup-option:hover .setup-option-face{border-color:#c5ad7090;background:#2a3434}.setup-check{position:absolute;top:3px;right:5px;color:#f0d993;font:12px/1 system-ui,sans-serif}.setup-option .setup-check{visibility:hidden}.setup-option input:checked+.setup-option-face{border-color:var(--pg-gold);color:var(--pg-ink);background:linear-gradient(135deg,#a1843830,#142427);box-shadow:inset 0 0 0 1px #c5ad7020}.setup-option input:checked+.setup-option-face .setup-check{visibility:visible}.setup-option input:focus-visible+.setup-option-face{outline:2px solid #ecf8ff;outline-offset:3px;z-index:1}.setup-option input:disabled+.setup-option-face{opacity:.35;cursor:not-allowed}.setup-choice-detail{display:block;margin-top:5px;min-height:1.4em;color:var(--pg-muted);font:10px/1.4 system-ui,sans-serif}.setup-art{display:block;width:58px;max-width:100%;aspect-ratio:1;flex:0 0 auto;background-size:400% 400%;background-repeat:no-repeat}.setup-template-art{display:block;width:100%;height:auto;overflow:hidden}.setup-glyph{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.4;color:var(--pg-gold)}.setup-templates .setup-options{grid-auto-flow:initial;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.setup-templates .setup-option-face{padding:0 0 7px;gap:6px;overflow:hidden}.setup-templates .setup-check{padding:3px;background:#0c171cc9}.setup-inline-choice .setup-option-face{flex-direction:row;gap:7px;padding:9px 12px}.setup-inline-choice .setup-art{width:35px}.setup-clock-choice .setup-art{width:32px}.setup-clock-choice .setup-options{grid-auto-flow:initial;grid-template-columns:repeat(auto-fit,minmax(52px,1fr))}.setup-kingdom-choice{margin-bottom:16px}.setup-kingdom-choice .setup-options{grid-auto-flow:initial;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.setup-kingdom-choice .setup-option-face{padding:8px}.setup-kingdom-choice .setup-faction-art,.setup-kingdom-choice .setup-art{width:52px;height:52px}.setup-faction-art{display:block;width:72px;height:72px;flex:0 0 auto;overflow:hidden}.setup-faction-button{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:3px 12px 3px 4px;border:1px solid #84948850;background:radial-gradient(ellipse at 15% 80%,#8f794123,#0c171caa);color:var(--pg-ink);text-align:left;font:14px Georgia,serif;cursor:pointer}.setup-faction-button:hover{border-color:var(--pg-gold);background-color:#263237}.setup-faction-button:disabled{opacity:.5;cursor:default}.setup-faction-button .setup-faction-art,.setup-faction-button .setup-art{width:52px;height:52px}.setup-change{margin-left:auto;color:var(--pg-gold)}.setup-faction-dialog.dialog-panel{width:min(700px,calc(100vw - 32px));max-width:calc(100vw - 32px);background:linear-gradient(140deg,#263337,#10191e 70%);border:1px solid var(--pg-gold)}.setup-faction-dialog .dialog-header{padding:18px 20px;border-bottom:1px solid var(--pg-line)}.setup-faction-dialog .dialog-header h2{font:21px Georgia,serif;color:var(--pg-ink)}.setup-faction-dialog .dialog-content{padding:20px}.setup-faction-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.setup-faction-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 5px;border:1px solid var(--pg-line);background:#0c171c;color:var(--pg-ink);font:14px Georgia,serif;cursor:pointer}.setup-faction-card .setup-faction-art,.setup-faction-card .setup-art{width:100%;height:auto;aspect-ratio:1}.setup-faction-card:hover,.setup-faction-card[aria-pressed=true]{border-color:var(--pg-gold);background:#32362b}.setup-faction-card:focus-visible{outline:2px solid #ecf8ff;outline-offset:3px}.setup-team-choice .setup-options{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.setup-team-choice .setup-option:first-child{grid-column:1 / -1}.setup-team-choice .setup-option-face{flex-direction:row;gap:2px;min-height:32px;padding:4px 2px}.setup-team-choice .setup-glyph{width:15px;height:17px}.setup-team-choice .setup-check{display:none}.setup-team-choice input:checked+.setup-option-face{box-shadow:inset 0 -2px var(--pg-gold)}.setup-team-choice .setup-option-label{font-size:10px}.setup-map-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.setup-map-summary>span{display:flex;align-items:center;gap:8px;font:11px/1.4 system-ui,sans-serif;color:var(--pg-muted)}.setup-map-summary .setup-art,.setup-map-summary .setup-template-art{width:36px;height:36px;flex-shrink:0}.setup-shared-seed{grid-column:1 / -1;overflow-wrap:anywhere}.setup-about{margin:8px 0;color:var(--pg-muted);font:11px/1.5 system-ui,sans-serif}.setup-about summary{cursor:pointer;color:var(--pg-gold)}.setup-about p{margin:8px 0}.setup-footer-actions{margin-left:auto;min-width:0}.setup-footer-actions .random-map-actions{padding:0;border:0}.pregame-page.illustrated-setup .pregame-header{min-height:66px;padding:10px 24px}.illustrated-setup .pregame-header h1{margin:0;font-size:25px}.illustrated-setup .pregame-header .pregame-eyebrow{display:none}.illustrated-setup .pregame-play-tabs>button{padding:11px 8px;font-size:16px}.illustrated-setup .pregame-play-tabs small{display:none}.illustrated-setup .pregame-footer{min-height:64px;padding:10px 24px}.illustrated-setup .pregame-scenario-hero{height:145px}.illustrated-setup .pregame-scenario-hero .pregame-eyebrow{display:none}.illustrated-setup .pregame-scenario-intro{padding-top:4px;padding-bottom:10px}.illustrated-setup .pregame-scenario-intro p{margin-top:8px}.illustrated-setup .pregame-setup{grid-template-columns:210px minmax(0,1fr)}.illustrated-setup .pregame-scenario-list{padding:16px 12px}.illustrated-setup .pregame-scenario-list>.pregame-eyebrow{margin-bottom:12px}.illustrated-setup .pregame-scenario-card{margin-bottom:10px}.illustrated-setup .pregame-scenario-card>img{height:75px}.illustrated-setup .pregame-scenario-card-copy{padding:10px;gap:5px}.illustrated-setup .pregame-scenario-card-copy strong{font-size:14px}.illustrated-setup .pregame-scenario-selected{bottom:12px;right:8px}.setup-random-card{display:flex;align-items:center}.setup-random-card>.setup-art{width:60px;margin:6px}.illustrated-setup .setup-challenge-card{display:flex;align-items:center;min-height:76px;background:linear-gradient(115deg,#39403166,#1b272b)}.setup-challenge-card>.setup-art{width:44px;flex-shrink:0;margin-left:8px}.illustrated-setup .setup-challenge-card .pregame-scenario-card-copy{padding:10px 8px}.illustrated-setup .setup-challenge-card+.pregame-eyebrow{margin-top:20px}.illustrated-setup .pregame-player-identity{gap:7px}.illustrated-setup .pregame-control-option{white-space:nowrap}.illustrated-setup .pregame-player-identity .setup-faction-art{width:45px;height:45px}.illustrated-setup .pregame-player-identity .pregame-shield{width:22px;height:30px;flex-shrink:0;font-size:10px}.illustrated-setup .pregame-player-row,.illustrated-setup .pregame-player-head{grid-template-columns:minmax(165px,1.2fr) minmax(95px,.85fr) minmax(210px,1.2fr) minmax(90px,.7fr);gap:8px}.setup-scenario-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.setup-scenario-picker .pregame-scenario-card{margin:0}.setup-scenario-picker .pregame-scenario-card>img{height:65px}.setup-scenario-picker .pregame-scenario-card-copy{padding:9px}.setup-scenario-picker .pregame-scenario-card-copy strong{font-size:14px}.setup-seat-identity{display:flex;align-items:center;gap:6px;min-width:0}.setup-seat-identity .setup-faction-art,.setup-seat-identity .setup-art{width:40px;height:40px}.illustrated-setup .mp-host-panel,.illustrated-setup .mp-lobby-sidebar{container-type:inline-size}.illustrated-setup .mp-browser-grid{grid-template-columns:minmax(0,2fr) minmax(250px,.8fr);gap:22px}@media (max-width: 1250px){.illustrated-setup .pregame-player-head{display:none}.illustrated-setup .pregame-player-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}}@media (max-width: 900px){.illustrated-setup .pregame-setup{display:block;overflow-y:auto}.illustrated-setup .pregame-scenario-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;border-right:0;border-bottom:1px solid var(--pg-line)}.illustrated-setup .pregame-scenario-list>.pregame-eyebrow{display:none}.illustrated-setup .pregame-scenario-card{width:auto;min-width:0;margin:0}.illustrated-setup .pregame-setup-detail{overflow:visible}.illustrated-setup .mp-browser-grid{grid-template-columns:minmax(0,1fr)}.illustrated-setup .mp-games-panel{border-left:0;padding-left:0}}@media (max-width: 600px){.setup-faction-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-faction-card .setup-faction-art,.setup-faction-card .setup-art{max-width:100px}.illustrated-setup .pregame-player-row{grid-template-columns:minmax(0,1fr)}.illustrated-setup .pregame-footer{padding:10px 12px;flex-wrap:wrap;gap:8px}.illustrated-setup .pregame-header{padding:10px 12px}.illustrated-setup .pregame-footer-summary{font-size:12px}.illustrated-setup .pregame-scenario-list .pregame-scenario-card>img{height:52px}.illustrated-setup .pregame-player-identity .setup-faction-art{width:52px;height:52px}}.setup-roster-summary{padding:0;list-style:none}.setup-roster-summary li{display:flex;align-items:center;gap:8px;margin:6px 0}.setup-roster-summary .setup-faction-art,.setup-roster-summary .setup-art{width:38px;height:38px}.setup-roster-summary small{display:block;color:var(--pg-muted)}.mp-setting-list dt{display:flex;align-items:center;gap:6px}.mp-setting-list dt .setup-art,.mp-setting-list dt .setup-glyph{width:22px;height:22px}.pregame-ui .setup-option>.pregame-choice-input{top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;cursor:pointer}.pregame-ui .setup-option>.pregame-choice-input:disabled{cursor:not-allowed}@media (pointer: coarse){.setup-option-face,.random-map-seat .setup-team-choice .setup-option-face,.random-map-player .setup-option-face{min-height:44px}}.ai-difficulty-control{display:grid;gap:5px;min-width:0;font-size:12px}.ai-difficulty-control .setup-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ai-difficulty-control .setup-option-face{min-height:58px;padding:5px 10px}.ai-difficulty-control .setup-art{width:48px}.ai-difficulty-control .setup-option-label{display:none}.ai-difficulty-control small{color:var(--pg-muted, #b8b5a6);font-size:11px;line-height:1.35}.pregame-player-ai{grid-column:2 / -1;max-width:360px;width:100%;padding-top:4px}.random-map-seat>.ai-difficulty-control{grid-column:1 / -1}.mp-slot-ai{flex-basis:100%;padding-left:52px}.touch-ui .ai-difficulty-control .setup-option-face{min-height:44px}.compact-ui .pregame-player-ai,.compact-ui .mp-slot-ai{grid-column:1 / -1;max-width:none}.compact-ui .mp-slot-ai{padding-left:0}.scenario-board-filters{display:flex;flex-wrap:wrap;gap:16px}.scenario-board-filters .pregame-field{flex:1 1 180px;min-width:0}.scenario-board-filters select{width:100%;padding:10px;color:#eee3c5;background:#151c1a;border:1px solid #aa915060}.touch-ui .scenario-board-filters select{min-height:44px;font-size:16px}.compact-ui .scenario-board-filters{gap:10px}.compact-ui .scenario-board-filters .pregame-field{flex-basis:120px}.compact-ui .scenario-board-filters .pregame-field:first-child{flex-basis:100%}.scenario-facts-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.scenario-ranking-link{display:flex;margin-left:auto}.scenario-result-copy{flex:1 1 320px;min-width:0}.scenario-result-signin{max-width:540px;border-right:0;padding:12px 0}.scenario-result-signin .pregame-field-control{flex-wrap:wrap}.scenario-result-signin input{min-width:0}.results-page{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--visible-top, 0px);bottom:auto;z-index:40;pointer-events:auto;overflow:auto;height:var(--visible-height, 100dvh);overscroll-behavior:contain;background:linear-gradient(125deg,#0b151cf5 25%,#111d24ed),url(/assets/ui/main-menu-background.webp) center / cover;padding:max(24px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left))}.results-shell{max-width:1440px;margin:auto}.results-page h1,.results-page h2,.results-page h3,.results-page p{margin:0}.results-banner{display:flex;align-items:center;gap:28px;padding:20px 0 28px;border-bottom:1px solid var(--pg-line)}.results-banner>.pregame-crown{width:72px;flex:0 0 72px;color:var(--pg-gold)}.results-banner--illustrated{position:relative;isolation:isolate;min-height:232px;padding:28px;border:1px solid var(--pg-line);border-radius:5px;background:#15201c}.results-banner--illustrated:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,#07120fea,#081410df 28%,#0b1712a8 51%,#101c1730 78%,#0b15144d),var(--result-art) 65% 48% / cover}.results-banner--illustrated .results-heading{max-width:680px}.results-banner--illustrated .results-heading p{color:#e3dcc7;text-shadow:0 1px 3px #000}.results-banner--illustrated .results-heading .results-winners{color:#fff0c9}.results-banner--illustrated .results-scenario{margin-left:auto;padding:14px 16px;border-left:1px solid #c6b27b70;background:#0b1716c7;color:#e2d9bd}.results-heading{flex:1;min-width:0}.results-eyebrow{color:var(--pg-gold);font:11px/1.6 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.16em}.results-heading h1{color:#e9d6a1;font-size:clamp(38px,5vw,64px);line-height:1.14;font-weight:400;margin:6px 0 12px}.results-page .results-heading h1:focus{outline:none}.results-page[data-outcome=defeat] h1,.results-page[data-outcome=eliminated] h1{color:#dcb3a3}.results-heading p{font:14px/1.6 system-ui,sans-serif;color:var(--pg-muted)}.results-heading .results-winners{color:var(--pg-ink)}.results-scenario{max-width:260px;text-align:right;color:var(--pg-muted);overflow-wrap:anywhere}.results-scenario strong{display:block;font-weight:400;font-size:38px;color:var(--pg-ink);margin-top:10px}.results-scenario small{display:block;font:11px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--pg-muted)}.results-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;margin:28px 0}.results-highlights,.results-comparison{grid-column:1}.results-feedback{grid-column:2;grid-row:1 / span 2;background:linear-gradient(160deg,#30362d,#1a2629 52%);border:1px solid #b6a57565;border-top:2px solid var(--pg-gold);border-radius:5px;padding:24px}.results-layout--with-next>.results-feedback{grid-row:2 / span 2}.results-section-heading{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.results-section-heading h2,.results-feedback h2{font-size:22px;font-weight:400}.results-section-heading>span,.results-section-heading label{color:var(--pg-muted);font:12px system-ui,sans-serif}.results-section-heading select{margin-left:8px;max-width:220px}.results-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.results-highlight{min-width:0;display:flex;align-items:center;gap:12px;border:1px solid var(--pg-line);background:#17232bd9;padding:18px;border-radius:4px}.results-highlight .setup-art{width:64px;height:64px;flex:0 0 64px}.results-highlight span:not(.setup-art):not(.results-portrait):not(.hero-portrait-sprite){display:block;color:var(--pg-muted);font:12px/1.5 system-ui,sans-serif}.results-highlight strong{display:block;font-size:30px;font-weight:400;color:#e9d6a1;overflow-wrap:anywhere}.results-highlight.results-hero{grid-column:1 / -1}.results-hero strong{font-size:22px}.results-portrait{display:block;width:60px;height:68px;flex:0 0 60px;border:1px solid #c5ad7080;border-radius:3px;overflow:hidden;background:#172229}.results-portrait img{width:100%;height:100%;object-fit:cover}.results-portrait .hero-portrait-sprite{width:100%;height:100%;display:block}.results-player-list{display:grid;gap:12px}.results-player{border:1px solid var(--pg-line);border-radius:4px;background:#17232bbd;padding:18px}.results-player.is-selected{border-color:#c5ad7070;background:#243030ad}.results-player header{display:flex;gap:10px;align-items:center;margin-bottom:20px}.results-player h3{font-size:18px;font-weight:400;overflow-wrap:anywhere}.results-player h3 small{font:10px system-ui,sans-serif;text-transform:uppercase;color:var(--pg-gold);padding-left:7px}.results-player header>div{min-width:0}.results-player header>div>span{display:block;margin-top:4px;font:11px system-ui,sans-serif;color:var(--pg-muted)}.results-player-colour{width:5px;height:34px;border-radius:2px;flex:0 0 5px}.results-player header>.setup-faction-art,.results-player header>.setup-art{width:48px;height:48px;flex:0 0 48px}.results-player-outcome{margin-left:auto;font:11px system-ui,sans-serif;color:var(--pg-muted)}.results-player-outcome.is-winner{color:#e2cc8d}.results-figures{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0}.results-figures dt{font:11px/1.5 system-ui,sans-serif;color:var(--pg-muted)}.results-figures dd{margin:8px 0 0;color:var(--pg-ink);font:18px/1.3 Georgia,serif}.results-page .results-note{margin-top:14px;color:var(--pg-muted);font:11px/1.6 system-ui,sans-serif}.results-page a{color:#d8c18c;text-underline-offset:3px}.results-feedback h2{margin:6px 0 22px}.results-feedback form>label,.results-reply label{display:block;font:13px/1.5 system-ui,sans-serif;color:var(--pg-ink);margin-bottom:8px}.results-page textarea,.results-page input:not([type=radio]),.results-page select{background:#0c181ed9;border:1px solid #a3aaa54d;color:var(--pg-ink);border-radius:3px;padding:10px;font:14px/1.5 system-ui,sans-serif}.results-page textarea,.results-reply input{width:100%;min-width:0}.results-page textarea{resize:vertical;min-height:90px}.results-page :focus-visible{outline:2px solid #dfc98d;outline-offset:4px}.results-rating{border:0;margin:0 0 22px;padding:0;min-width:0}.results-rating legend{font:12px system-ui,sans-serif;margin-bottom:10px}.results-rating legend span{color:var(--pg-muted)}.results-rating>div{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.results-rating label{position:relative;cursor:pointer}.results-rating input{position:absolute;opacity:0;width:1px;height:1px}.results-rating label>span{display:grid;place-items:center;min-height:44px;border:1px solid #a3aaa54d;border-radius:3px;font:20px Georgia,serif;background:#101e22}.results-rating input:checked+span{background:#c5ad70;border-color:#e5cb90;color:#122026}.results-rating input:focus-visible+span{outline:2px solid #dfc98d;outline-offset:3px}.results-rating p{display:flex;justify-content:space-between;color:var(--pg-muted);font:10px system-ui,sans-serif;margin-top:8px}.results-reply{margin-top:12px;font:12px/1.5 system-ui,sans-serif;color:var(--pg-muted)}.results-reply summary{padding:8px 0;cursor:pointer}.results-reply label{margin-top:8px}.results-page .results-context{border-top:1px solid var(--pg-line);margin-top:20px;padding-top:14px;color:var(--pg-muted);font:11px/1.6 system-ui,sans-serif;overflow-wrap:anywhere}.results-context strong{display:block;font-weight:500;color:var(--pg-ink);margin-bottom:4px}.results-feedback-status{font:12px/1.5 system-ui,sans-serif}.results-feedback-status:not(:empty){margin:14px 0}.results-feedback-status.is-error{color:#efb2a0}.results-feedback .ui-button{width:100%;min-height:44px;margin-top:16px}.results-thanks{padding:12px 0;line-height:1.6;color:var(--pg-gold)}.results-thanks p{font:13px/1.6 system-ui,sans-serif;color:var(--pg-muted);margin-top:12px}.results-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--pg-line);padding:24px 0 8px}.results-footer>span{color:var(--pg-muted);font-size:14px;font-style:italic}.results-footer>div{display:flex;gap:12px}.results-footer .ui-button{min-height:44px}.results-next{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid var(--pg-line);background:#24342b80}.results-next h2{margin:0 0 8px;color:var(--pg-gold);font:24px Georgia,serif}.results-next p{margin:0;color:var(--pg-ink);line-height:1.5}.results-next-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0;max-width:50%}.compact-ui .results-next{flex-direction:column;align-items:stretch}.compact-ui .results-next-actions{max-width:none;flex-direction:column}.dense-ui .results-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.dense-ui .results-figures{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-ui .results-page{padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.compact-ui .results-banner{flex-wrap:wrap;gap:14px;padding:10px 0 22px}.compact-ui .results-banner--illustrated{min-height:200px;gap:12px;padding:18px}.compact-ui .results-banner--illustrated:before{background:linear-gradient(90deg,#07120fe8,#081410be 45%,#0b171263),var(--result-art) 70% 48% / cover}.compact-ui .results-banner>.pregame-crown{width:44px;flex-basis:44px}.compact-ui .results-heading h1{font-size:40px}.compact-ui .results-scenario{width:100%;max-width:none;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px}.compact-ui .results-scenario strong{margin:0;font-size:26px;text-align:right;flex-shrink:0}.compact-ui .results-scenario small{font-size:9px}.compact-ui .results-banner--illustrated .results-scenario{padding:10px 0 0;border:0;border-top:1px solid #c6b27b55;background:transparent}.compact-ui .results-layout{display:flex;flex-direction:column;gap:24px;margin:24px 0}.compact-ui .results-layout>*{width:100%}.compact-ui .results-highlight{padding:12px;gap:8px}.compact-ui .results-highlight .setup-art{width:38px;height:44px;flex-basis:38px}.compact-ui .results-highlight strong{font-size:24px}.compact-ui .results-hero strong{font-size:22px}.compact-ui .results-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.compact-ui .results-feedback{padding:20px}.compact-ui .results-footer{flex-direction:column}.compact-ui .results-footer>div{width:100%}.compact-ui .results-footer .ui-button{flex:1}.touch-ui .results-page textarea,.touch-ui .results-page input:not([type=radio]),.touch-ui .results-page select{font-size:16px}@media (max-height: 540px){.compact-ui .results-banner--illustrated{min-height:150px;padding:14px}.compact-ui .results-banner--illustrated .results-heading h1{font-size:34px}}.results-banner.results-banner--lantern{display:grid;grid-template-columns:60px minmax(0,.9fr) minmax(0,1.1fr);gap:12px 20px;align-content:center;width:100%;min-width:0;aspect-ratio:3 / 1;min-height:240px;padding:24px;overflow:hidden}.results-banner--lantern:before{background:linear-gradient(90deg,#07120fc9,#08141050 43%,transparent 58%)}.results-lantern-art{position:absolute;z-index:-2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.results-banner--lantern>.pregame-crown{grid-column:1;grid-row:1;width:60px}.results-banner--lantern .results-heading{grid-column:2;grid-row:1;max-width:none}.results-banner--lantern .results-scenario{grid-column:2;grid-row:2;width:auto;max-width:none;display:flex;align-items:center;justify-content:flex-start;gap:20px;margin:0;padding:8px 0 0;border:0;background:transparent;text-align:left;font-size:14px}.results-banner--lantern .results-scenario strong{margin:0;font-size:26px;text-align:left}.results-banner--lantern .results-scenario small{font-size:9px}.compact-ui .results-banner--lantern:before{background:linear-gradient(90deg,#07120fc9,#08141050 43%,transparent 58%)}.compact-ui .results-banner--lantern>.pregame-crown{width:44px}.results-banner.results-banner--lantern-compact{grid-template-columns:44px minmax(0,1fr);gap:12px;aspect-ratio:auto;min-height:0;padding:0 16px 16px}.results-banner--lantern-compact:before{display:none}.results-banner--lantern-compact .results-lantern-art{position:static;grid-column:1 / -1;grid-row:1;z-index:auto;width:calc(100% + 32px);height:auto;aspect-ratio:4 / 3;object-fit:contain;margin:0 -16px}.results-banner--lantern-compact>.pregame-crown,.results-banner--lantern-compact .results-heading{grid-row:2}.results-banner--lantern-compact .results-scenario{grid-column:1 / -1;grid-row:3;justify-content:space-between;border-top:1px solid var(--pg-line);padding-top:12px}.weekly-content{display:flex;flex-direction:column;gap:24px;padding:28px}.weekly-intro{display:flex;align-items:center;gap:28px;border-bottom:1px solid #aa915040;padding-bottom:24px}.weekly-faction{width:140px;height:160px;flex:0 0 140px;overflow:hidden}.weekly-faction .setup-faction-art{width:100%;height:100%}.weekly-brief h2,.weekly-columns h2,.weekly-results h2{color:#dfc98d;margin:0 0 10px;font-size:22px}.weekly-brief p,.weekly-entry p,.weekly-leaderboard p,.weekly-results p{margin:8px 0;line-height:1.5;color:#c0bcaa}.weekly-brief small,.weekly-entry small{color:#a8a28d}.weekly-facts{display:flex;gap:28px;margin:14px 0;flex-wrap:wrap}.weekly-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#9e967c}.weekly-facts dd{margin:5px 0 0;color:#e8e0c6;font-size:14px}.weekly-columns{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.5fr);gap:32px}.weekly-entry,.weekly-leaderboard{min-width:0}.weekly-entry{border-right:1px solid #aa915040;padding-right:28px}.weekly-entry form{display:grid;gap:10px;margin-top:20px}.weekly-entry form .ui-button{justify-self:start}.weekly-entry .pregame-account strong{overflow-wrap:anywhere}.weekly-personal{border:1px solid #b99a4b66;background:#c2a2570a;padding:16px;margin-top:24px;display:grid;gap:8px;color:#d4bd7b}.weekly-personal strong{font-size:23px;color:#f0dfb4}.weekly-actions{display:flex;flex-wrap:wrap;gap:10px}.weekly-board-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.weekly-board-heading label{display:flex;align-items:center;gap:10px;font-size:12px;color:#aaa28a}.weekly-board-heading select{padding:8px;max-width:180px;color:#eee3c5;background:#151c1a;border:1px solid #aa915060}.weekly-leaderboard table{width:100%;border-collapse:collapse;margin:16px 0;font-variant-numeric:tabular-nums}.weekly-leaderboard th,.weekly-leaderboard td{padding:12px 8px;text-align:right;border-bottom:1px solid #aa915026}.weekly-leaderboard th:nth-child(2),.weekly-leaderboard th[scope=row]{text-align:left;overflow-wrap:anywhere;max-width:180px}.weekly-leaderboard thead th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#a9a18a}.weekly-leaderboard tbody{color:#d3cfbc}.weekly-leaderboard .is-you{color:#f1d38c;background:#bca05312}.weekly-empty{padding:30px 0}.weekly-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0}.weekly-pagination span{font-size:12px;color:#aaa28a}.weekly-results{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:24px;border:1px solid #aa91504d;background:#17201c;margin:20px 0}.compact-ui .weekly-content{padding:16px;gap:18px}.compact-ui .weekly-columns{grid-template-columns:1fr;gap:24px}.compact-ui .weekly-entry{border-right:none;border-bottom:1px solid #aa915040;padding:0 0 24px}.compact-ui .weekly-faction{width:76px;height:100px;flex-basis:76px}.compact-ui .weekly-intro{gap:16px;align-items:flex-start}.compact-ui .weekly-brief h2{font-size:20px}.compact-ui .weekly-facts{gap:12px}.compact-ui .weekly-page .pregame-footer{flex-wrap:wrap}.compact-ui .weekly-page .weekly-actions{margin-left:auto}.compact-ui .weekly-results{padding:16px;gap:14px}.touch-ui .weekly-board-heading select{min-height:44px;font-size:16px}.random-map-setup{container-type:inline-size;width:100%;min-width:0;padding:20px;color:var(--pg-ink)}.random-map-heading{margin-bottom:16px}.random-map-heading h2{margin:0;color:var(--pg-ink);font:24px/1.2 Georgia,serif}.random-map-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}.random-map-world,.random-map-roster{min-width:0}.random-map-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.random-map-fields .setup-art{width:60px}.random-map-field{display:flex;flex-direction:column;gap:6px;margin-top:12px;color:var(--pg-muted);font:11px/1.4 system-ui,sans-serif}.random-map-field input{width:100%;min-width:0}.random-map-underground{display:block}.random-map-underground .setup-option-face{flex-direction:row;justify-content:flex-start;gap:10px;padding:2px 12px;font:13px Georgia,serif}.random-map-underground .setup-art{width:40px}.random-map-underground small{margin-left:auto;margin-right:10px;font:10px system-ui,sans-serif}.random-map-advanced{margin-top:14px}.random-map-advanced>.setup-choice{margin-top:12px}.random-map-player-count{margin-bottom:12px}.random-map-seats{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.random-map-seat{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(68px,.85fr);gap:8px;padding:8px;background:#b4c0b507;border:1px solid #b4c0b51c;min-width:0}.random-map-player{display:flex;flex-direction:column;align-items:stretch;gap:6px;font:12px Georgia,serif}.random-map-player-identity{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.random-map-player .pregame-shield{width:21px;height:27px;flex-shrink:0;font-size:10px}.random-map-player>small{display:flex;align-items:center;gap:5px;min-height:29px;color:var(--pg-muted);font:10px system-ui,sans-serif}.random-map-player .setup-glyph{width:16px;height:16px}.random-map-player .setup-choice{display:flex;flex-direction:column;flex:1}.random-map-player .setup-options{flex:1;grid-auto-flow:row;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}.random-map-player .setup-option-face{min-height:29px;padding:4px 14px 4px 3px;gap:3px;justify-content:flex-start}.random-map-player .setup-option-label{font-size:10px;white-space:nowrap}.random-map-setting{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:27px 1fr;gap:6px;min-width:0}.random-map-setting>.setup-label{align-self:center;margin:0}.random-map-setting .setup-faction-button{flex-direction:column;justify-content:center;gap:5px;height:100%;padding:6px 3px;text-align:center;font-size:12px;overflow-wrap:anywhere}.random-map-setting .setup-faction-art,.random-map-setting .setup-faction-button .setup-art{width:52px;max-width:100%;height:52px}.random-map-setting .setup-change{position:absolute;top:5px;right:5px;margin:0}.random-map-seat .setup-team-choice .setup-options{height:100%;grid-auto-rows:1fr}.random-map-seat .setup-team-choice .setup-option-face{min-height:28px}.random-map-error{padding:12px;border:1px solid #bd7f694a;background:#bd7f6910;color:#e5b0a0;font:12px/1.5 system-ui,sans-serif}.random-map-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding-top:16px;margin-top:8px;border-top:1px solid var(--pg-line)}.random-map-progress{color:var(--pg-gold);font:11px/1.4 system-ui,sans-serif}.random-map-hidden{display:none!important}@container (min-width: 760px){.random-map-layout{grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr)}.random-map-roster{border-left:1px solid var(--pg-line);padding-left:18px}}@container (max-width: 480px){.random-map-fields{gap:12px 8px}.random-map-fields .setup-art{width:45px}.random-map-fields .setup-option-label{font-size:10px}.setup-templates .setup-options{gap:5px}.setup-option-label{font-size:10px}}@container (max-width: 300px){.random-map-fields{grid-template-columns:minmax(0,1fr)}.setup-templates .setup-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.random-map-setup{padding:14px}.random-map-field input{font-size:16px}}.random-map-actions{padding-bottom:8px}.random-map-actions .ui-button{scroll-margin-block:12px}@container (max-width: 420px){.random-map-fields{grid-template-columns:minmax(0,1fr)}.random-map-fields .setup-art{width:56px}.random-map-fields .setup-option-label{font-size:11px}}.tutorial-setup .pregame-frame{max-width:1220px}.tutorial-faction-content{padding:24px}.first-adventure-brief{margin:0 0 20px;color:var(--pg-ink);max-width:720px}.first-adventure-brief h2{margin:0 0 8px;font:24px Georgia,serif;color:var(--pg-gold)}.first-adventure-brief p{margin:6px 0;line-height:1.5}.tutorial-factions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:18px;border:0;padding:0;margin:0;min-width:0}.tutorial-faction-option{position:relative;min-width:0;cursor:pointer}.tutorial-faction-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:324px;height:100%;overflow:hidden;border:1px solid var(--pg-line);background:#101b22;box-shadow:0 6px 20px #0003;transition:border-color .15s,box-shadow .15s}.tutorial-faction-town{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.tutorial-faction-details{position:relative;display:flex;flex-direction:column;align-items:center;padding:50px 18px 16px;margin-top:100px;background:linear-gradient(0deg,#08141dfc 0%,#08141de8 48%,#08141d99 78%,transparent);text-align:center}.tutorial-faction-name{color:#f0dec0;font:27px/1.2 Georgia,serif;text-shadow:0 2px 8px #000}.tutorial-faction-theme{margin-top:5px;color:#d0d6d3;font:12px/1.4 system-ui,sans-serif}.tutorial-faction-creatures{display:flex;justify-content:center;width:100%;gap:12px;margin-top:12px}.tutorial-faction-creature{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;max-width:128px;min-width:0;color:#e2d8c2;font:12px/1.3 system-ui,sans-serif}.tutorial-faction-creature img{width:72px;height:79px;object-fit:contain;filter:drop-shadow(0 3px 6px #0009)}.tutorial-faction-option[data-faction=tower] .tutorial-faction-creature img{transform:scaleX(-1)}.tutorial-faction-check{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #c5ad7080;border-radius:50%;background:#08141dcc;color:transparent;font:17px/1 system-ui,sans-serif}.tutorial-faction-option:hover .tutorial-faction-card{border-color:#c5ad70a0}.tutorial-faction-option input:checked+.tutorial-faction-card{border-color:var(--pg-gold);box-shadow:0 0 0 1px var(--pg-gold),0 6px 24px #0005}.tutorial-faction-option input:checked+.tutorial-faction-card .tutorial-faction-check{color:#142027;border-color:var(--pg-gold);background:var(--pg-gold)}.tutorial-faction-option input:focus-visible+.tutorial-faction-card{outline:2px solid #ecf8ff;outline-offset:3px}.tutorial-faction-option input:disabled+.tutorial-faction-card{opacity:.5}.pregame-ui .tutorial-faction-option>.pregame-choice-input{top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;cursor:pointer}.pregame-ui .tutorial-faction-option>.pregame-choice-input:disabled{cursor:default}.tutorial-setup .pregame-footer{justify-content:space-between;gap:12px}body.compact-ui .tutorial-faction-content{padding:16px}body.compact-ui .tutorial-factions{gap:14px}body.compact-ui .tutorial-faction-name{font-size:25px}.touch-attack-preview{display:grid;gap:5px;margin-bottom:12px;padding:10px;border:1px solid #9d804a;border-radius:3px;background:#1e291de6;color:#f0e4ca;font:13px/1.35 system-ui,sans-serif}.touch-attack-preview h3{margin:0;color:#dfc17a;font:600 13px/1.3 system-ui,sans-serif}.touch-attack-preview>strong{font-size:15px}.touch-attack-preview small{font-size:11px;color:#cdb98d}.artifact-icon{display:inline-block;flex:0 0 auto;object-fit:contain;vertical-align:middle;-webkit-user-select:none;user-select:none;pointer-events:none}.artifact-icon--unknown{display:inline-grid;place-items:center;color:#d7b56f;font-size:24px}.artifact-inline{display:inline-flex;align-items:center;gap:7px;vertical-align:middle}.artifact-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin:10px 0}.artifact-icon--scroll{position:relative;display:inline-block}.artifact-icon--scroll>img{display:block}.artifact-icon--scroll>:last-child{position:absolute;right:0;bottom:0;border-radius:3px;box-shadow:0 0 0 1px #281a0ad9,0 1px 3px #00000080}.info-popup{position:fixed;z-index:7000;box-sizing:border-box;width:320px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);display:flex;flex-direction:column;padding:14px;border:1px solid #b89b60;background:linear-gradient(#211a14e8,#130f0ced),var(--asset-adventure-panel-bg) center / cover;color:#f0e6d0;box-shadow:inset 0 0 0 2px #d3b97818,0 8px 28px #0009;font:13px/1.45 system-ui,sans-serif;pointer-events:auto;overflow-wrap:anywhere}.info-popup header{display:flex;align-items:center;flex:0 0 auto;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #b89b6040}.info-popup__heading{min-width:0;flex:1}.info-popup__heading strong{display:block;color:#f2dfae;font:600 18px/1.25 Georgia,serif}.info-popup__subtitle{display:block;margin-bottom:4px;color:#c8b58c;font-size:10px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}.info-popup__art{display:flex;align-items:center;justify-content:center;flex:0 0 68px;width:68px;height:72px;box-sizing:border-box;overflow:hidden;border:1px solid #ae925551;background:radial-gradient(ellipse at 50% 70%,#a88a4033,#0a0d0c65);box-shadow:inset 0 0 8px #0006}.info-popup__body{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8b7445 transparent}.info-popup__body p{margin:6px 0}.info-popup__facts{margin:0}.info-popup__facts>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;padding:6px 0}.info-popup__facts>div+div{border-top:1px solid #d3b97812}.info-popup__facts dt{color:#c8b58c}.info-popup__facts dd{min-width:0;margin:0;color:#f0e6d0;font-weight:600}.info-popup footer{display:flex;justify-content:flex-end;flex:0 0 auto;margin-top:10px;padding-top:10px;border-top:1px solid #b89b6040}.info-popup button{min-height:32px;padding:5px 18px;border:1px solid #927640;background:linear-gradient(#493722,#2c2116);color:#f0e6d0;cursor:pointer;font:13px Georgia,serif}.info-popup button:hover{background:#55432b;border-color:#cfb777}.touch-ui .info-popup button{min-height:44px;min-width:76px}.info-popup:focus-visible,.info-popup button:focus-visible,[data-inspect]:focus-visible{outline:2px solid #efd180;outline-offset:2px}.info-popup__creature{display:block;width:56px;height:62px;flex:0 0 56px;overflow:hidden}.info-popup__creature img{width:100%;height:100%;object-fit:contain}.info-popup__hero{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;overflow:hidden;border:1px solid #8b6914;background:#2a1a0a;font-size:26px}.info-popup__hero img{width:100%;height:100%;object-fit:cover}.info-popup-open .tooltip,.info-popup-open .town-building-tooltip,.info-popup-open .spell-hover-tooltip{visibility:hidden}body .info-popup.game-dialog-surface{position:fixed;width:360px;padding:26px;border:0;background:transparent;box-shadow:0 10px 32px #000b}.info-popup.game-dialog-surface header{padding-right:12px;gap:10px;margin-bottom:8px;padding-bottom:8px}.info-popup.game-dialog-surface .info-popup__art{flex-basis:52px;width:52px;height:56px;border:0;background:#09080660}.info-popup.game-dialog-surface .info-popup__art>*{max-width:100%;max-height:100%}.info-popup.game-dialog-surface .info-popup__heading strong{font-size:18px}.info-popup.game-dialog-surface .info-popup__subtitle{font-size:10px;letter-spacing:.04em}.info-popup.game-dialog-surface .info-popup__body{overscroll-behavior:contain}.info-popup.game-dialog-surface .info-popup__body>:first-child{margin-top:0}.info-popup.game-dialog-surface .info-popup__body>:last-child{margin-bottom:0}body.compact-ui .info-popup.game-dialog-surface{padding:22px}body.compact-ui .info-popup.game-dialog-surface header{gap:8px;margin-bottom:6px;padding-bottom:6px}body.compact-ui .info-popup.game-dialog-surface .info-popup__art{flex-basis:40px;width:40px;height:44px}body.compact-ui .info-popup.game-dialog-surface .info-popup__heading strong{font-size:15px}:root{--resource-bar-height: 44px;--right-panel-width: 280px}.ui-overlay-root{position:relative;width:100%;height:100%;color:#f0e6d0;font-family:inherit;pointer-events:none}.screen-placeholder{margin:24px;padding:16px 20px;border:2px solid #c8a04a;background:#1a0f0ad9;color:#fff;width:fit-content;pointer-events:auto}.resource-bar{position:fixed;bottom:0;left:0;right:0;height:var(--resource-bar-height);display:flex;flex-wrap:nowrap;align-items:center;gap:0;padding:8px 14px 8px 16px;border-top:1px solid rgba(183,137,57,.56);background:linear-gradient(180deg,#47321bf5 0,#241a11 2px,#17130f 10px,#0f0d0b);box-shadow:inset 0 1px #ffe0921f,inset 0 -1px #000000b8,0 -8px 24px #00000075;z-index:10;pointer-events:auto;overflow:visible}.resource-item{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:82px;height:42px;padding:0 12px;color:#f0e6d0;text-shadow:0 1px 2px rgba(0,0,0,.85)}.resource-item+.resource-item:before{content:"";position:absolute;left:-4px;top:50%;width:8px;height:32px;transform:translateY(-50%);background-image:var(--asset-adventure-resource-divider);background-repeat:no-repeat;background-size:100% 100%;pointer-events:none}.resource-icon{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem}.resource-icon__sprite{display:inline-block;image-rendering:pixelated;image-rendering:crisp-edges}.resource-label{color:#d7b964;font-size:12px;line-height:1}.resource-value{font-weight:700;color:#fff;line-height:1}.resource-info{display:flex;align-items:center;gap:12px}.resource-info__item{display:inline-flex;align-items:center;gap:4px;color:#f0e6d0;font-size:13px;white-space:nowrap}.resource-info__value{font-weight:700;color:#fff;font-size:13px}.hud-root{position:fixed;top:0;right:0;bottom:0;left:0}@media (max-width: 760px){.resource-bar{padding-inline:8px}.resource-item{min-width:46px;padding:0 6px;gap:3px}.resource-label{display:none}.resource-value{font-size:12px}}.hud-day-counter{position:fixed;top:64px;right:16px;padding:8px 12px;border:2px solid #8b6914;background:#2a1a0ae6;font-weight:600;pointer-events:auto}.connection-status-indicator{position:fixed;top:12px;left:12px;z-index:2200;display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(200,160,74,.75);background:#1a0f0ae6;border-radius:999px;pointer-events:none}body:has(.adventure-active) .connection-status-indicator{top:14px;left:14px;width:16px;height:16px;padding:3px;border:1px solid rgba(200,160,74,.75);background:#1a0f0ae6;box-shadow:inset 0 0 0 1px #ffe09214,0 2px 6px #0000008c}body:has(.adventure-active) .connection-status-indicator__dot{width:8px;height:8px}body:has(.adventure-active) .connection-status-indicator__pending{position:absolute;top:12px;left:12px;transform:translate(20%,-20%)}.connection-status-indicator__dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 6px currentColor}.connection-status-indicator__dot--connected{color:#22c55e;background:#22c55e}.connection-status-indicator__dot--connecting,.connection-status-indicator__dot--reconnecting{color:#f59e0b;background:#f59e0b}.connection-status-indicator__dot--disconnected{color:#ef4444;background:#ef4444}.connection-status-indicator__pending{min-width:18px;padding:1px 6px;border-radius:10px;font-size:12px;font-weight:700;text-align:center;background:#d4af3733;color:#fef3c7}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:radial-gradient(ellipse at center,#00000080,#000000c7);display:flex;align-items:center;justify-content:center;animation:dialogFadeIn .16s ease-out;pointer-events:auto}.dialog-panel{min-width:320px;max-width:min(720px,90vw);border:2px solid #c8a04a;border-image:linear-gradient(180deg,#d4af37,#8b6914 40%,#c8a04a 60%,#8b6914) 1;background:linear-gradient(180deg,#2a1a0a,#1a0f0a);box-shadow:inset 0 0 20px #d4af370f,0 10px 40px #0009;animation:scaleIn .18s ease-out;pointer-events:auto}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,transparent,#d4af37,transparent) 1}.dialog-header h2{margin:0;font-size:14px;color:#d4af37;letter-spacing:1px;text-transform:uppercase}.dialog-close{border:1px solid #c8a04a;background:#2a1a0a;color:#f0e6d0;cursor:pointer;pointer-events:auto}.dialog-content{padding:14px;color:#f0e6d0}.tooltip{position:fixed;z-index:1000;max-width:220px;padding:8px 10px;border:1px solid #8b6914;border-top:2px solid #d4af37;background:#1a0f0af2;color:#f0e6d0;font-size:13px;border-radius:4px;pointer-events:none;animation:slideUp .15s ease-out;box-shadow:0 4px 12px #0006}.ui-button{border:2px solid #c8a04a;background:#2a1a0a;color:#f0e6d0;padding:8px 14px;font-weight:700;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease;pointer-events:auto}.ui-button--primary{background:linear-gradient(to bottom,#c8a04a,#8b6914);border-color:#d4af37;color:#1a0f0a;text-shadow:0 1px 0 rgba(255,255,255,.15)}.ui-button:hover:not(:disabled){filter:brightness(1.12);box-shadow:0 0 12px #d4af374d}.ui-button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 4px #0000004d;filter:brightness(.95)}.ui-button--secondary{background:linear-gradient(to bottom,#2a1a0a,#1a0f0a);border-color:#8b6914}.ui-button--disabled,.ui-button:disabled{filter:grayscale(.6) brightness(.7);cursor:not-allowed}.ui-panel{position:relative;border:2px solid #c8a04a;border-image:linear-gradient(180deg,#d4af37,#8b6914 40%,#c8a04a 60%,#8b6914) 1;background:repeating-linear-gradient(120deg,transparent,transparent 3px,rgba(212,175,55,.012) 3px,rgba(212,175,55,.012) 4px),repeating-linear-gradient(60deg,transparent,transparent 4px,rgba(139,105,20,.01) 4px,rgba(139,105,20,.01) 5px),#1a0f0ae0;box-shadow:inset 0 0 20px #d4af3714,0 4px 20px #00000080;pointer-events:auto}.ui-panel:before,.ui-panel:after{content:"";position:absolute;width:8px;height:8px;background:#d4af37;transform:rotate(45deg);z-index:1;pointer-events:none}.ui-panel:before{top:-5px;left:-5px}.ui-panel:after{bottom:-5px;right:-5px}.ui-panel__title{padding:8px 10px;border-bottom:1px solid #8b6914;color:#fff;font-weight:700}.ui-panel__body{padding:10px}.army-slots{display:flex;align-items:stretch;gap:8px}.army-slot{min-width:70px;height:70px;border:1px solid #8b6914;background:#2a1a0ae6;color:#f0e6d0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;pointer-events:auto;transition:transform .2s ease,box-shadow .2s ease}.army-slot:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0006}.slot-icon{width:22px;height:22px;display:inline-block}.slot-icon--portrait{width:44px;height:48px;image-rendering:pixelated;border-radius:2px}.creature-portrait-image{display:block;width:100%;height:100%;border-radius:inherit}.hero-portrait-sprite{display:block;width:100%;height:100%;image-rendering:pixelated}.slot-icon--tier-1{background:#9ca3af}.slot-icon--tier-2{background:#22c55e}.slot-icon--tier-3{background:#3b82f6}.slot-icon--tier-4{background:#a855f7}.slot-icon--tier-5{background:#f59e0b}.slot-icon--tier-6{background:#ef4444}.slot-icon--tier-7{background:#facc15}.slot-count{font-size:12px;font-weight:700}.slot-empty{opacity:.75;font-size:12px}.creature-card{display:flex;flex-direction:column;gap:8px;border:2px solid #c8a04a;background:#1a0f0af2;padding:12px;max-width:260px;pointer-events:auto;transition:transform .2s ease,box-shadow .2s ease}.creature-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000080}.creature-card__name{margin:0;color:#fff}.creature-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;font-size:13px}.creature-card__count{color:#d4af37;font-weight:700}.creature-card__healthbar{width:100%;height:10px;border:1px solid #8b6914;background:#2a1a0a}.creature-card__healthbar-fill{height:100%;background:linear-gradient(90deg,#84cc16,#22c55e)}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}.recruit-dialog{display:grid;gap:10px}.recruit-row{border:1px solid #8b6914;padding:10px;display:grid;gap:8px;background:#1a0f0ab3}.recruit-row__stats,.recruit-row__meta{font-size:13px;opacity:.9}.recruit-row__controls{display:flex;align-items:center;gap:6px}.recruit-row__quantity{width:84px;padding:6px;border:1px solid #8b6914;background:#1a0f0a;color:#f0e6d0}.recruit-row__actions{display:flex;flex-wrap:wrap;gap:8px}.mini-map{position:relative;width:100%;aspect-ratio:1;background:#1a1410;pointer-events:auto}.mini-map,body.touch-ui .mini-map{touch-action:none}.mini-map canvas{position:absolute;left:6.34%;top:6.65%;width:87.16%;height:86.78%;image-rendering:pixelated}.mini-map:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--asset-adventure-minimap-frame);background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;z-index:1}.transient-feedback-stack{position:fixed;left:50%;top:18%;transform:translate(-50%);display:grid;gap:8px;z-index:5000;pointer-events:none}.transient-feedback-item{border:1px solid #c8a04a;background:#1a0f0aeb;color:#fef3c7;padding:8px 12px;animation:transientFeedbackFade 1.3s ease forwards}.transient-feedback-item--lasting{animation-name:transientFeedbackHold}@keyframes transientFeedbackHold{0%{opacity:0;transform:translateY(10px)}6%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes transientFeedbackFade{0%{opacity:0;transform:translateY(10px)}12%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.map-editor-active #game-canvas{border:0}#ui-overlay.map-editor-active{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;width:auto;height:auto;overflow:visible}#ui-overlay.map-editor-active .ui-overlay-root>:not(.map-editor-shell){display:none}.map-editor-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;color:#f0e6d0;pointer-events:none}.map-editor__topbar,.map-editor__palette,.map-editor__inspector,.map-editor__statusbar{border-color:#8b6914;background:linear-gradient(180deg,#342312fa,#180f09fa),#1a0f0a;box-shadow:0 4px 20px #0000007a;pointer-events:auto}.map-editor__topbar{position:fixed;inset:0 0 auto;min-height:64px;display:flex;align-items:center;gap:12px;border-bottom:2px solid #8b6914;padding:8px 12px}.map-editor__brand{min-width:126px;display:grid;gap:2px}.map-editor__brand strong{color:#f1d27a;font-family:Georgia,Times New Roman,serif;font-size:18px;letter-spacing:.04em}.map-editor__brand span{color:#f0e6d094;font-size:11px}.map-editor__history,.map-editor__view-tools,.map-editor__top-actions{display:flex;align-items:center;gap:5px}.map-editor__top-actions{margin-left:auto}.map-editor__topbar button:not(.ui-button),.map-editor__palette button,.map-editor__inspector button{border:1px solid rgba(139,105,20,.78);background:#150e09eb;color:#f0e6d0;min-height:28px;padding:5px 8px;font:inherit;font-size:11px;cursor:pointer}.map-editor__topbar button:hover:not(:disabled),.map-editor__palette button:hover,.map-editor__inspector button:hover{border-color:#d4af37;background:#543716e0}.map-editor__topbar button:disabled{cursor:default;opacity:.4}.map-editor__topbar .ui-button{min-width:auto;min-height:31px;padding:6px 10px;font-size:11px}.map-editor__palette,.map-editor__inspector{position:fixed;top:64px;bottom:34px;overflow:auto;scrollbar-color:#8b6914 #1a0f0a}.map-editor__palette{left:0;width:236px;border-right:2px solid #8b6914;padding:10px}.map-editor__inspector{right:0;width:306px;border-left:2px solid #8b6914;padding:10px}.map-editor__palette section,.map-editor__inspector section{display:grid;gap:8px;border-bottom:1px solid rgba(139,105,20,.38);padding:4px 0 12px;margin-bottom:10px}.map-editor__palette section:last-child,.map-editor__inspector section:last-child{border-bottom:0}.map-editor__palette h3,.map-editor__inspector h3{margin:0;color:#d4af37;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.map-editor__segmented,.map-editor__tool-grid,.map-editor__brush-row{display:flex;gap:5px}.map-editor__segmented button,.map-editor__tool-grid button{flex:1}.map-editor__brush-row{align-items:center}.map-editor__brush-row span{margin-right:auto;color:#f0e6d094;font-size:11px}.map-editor__terrain-grid,.map-editor__object-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.map-editor__terrain-grid button,.map-editor__object-grid button{min-width:0;display:flex;align-items:center;gap:6px;padding:5px 6px;text-align:left}.map-editor__terrain-grid button>span{flex:0 0 15px;width:15px;height:15px;border:1px solid rgba(255,255,255,.28);background:var(--terrain-color)}.map-editor__object-grid button>span{display:grid;place-items:center;flex:0 0 19px;width:19px;height:19px;border:1px solid rgba(212,175,55,.55);background:#8b691438;color:#ffe9a6;font-size:10px;font-weight:700}.map-editor__palette button.is-selected,.map-editor__inspector button.is-selected{border-color:#f1d27a;background:linear-gradient(180deg,#895e23eb,#492d12f5);box-shadow:inset 0 0 0 1px #ffe79e33}.map-editor__field{min-width:0;display:grid;gap:4px;color:#f0e6d0a8;font-size:10px;letter-spacing:.02em}.map-editor__field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.map-editor__placement-options{display:grid;gap:7px;border-top:1px solid rgba(139,105,20,.28);padding-top:8px}.map-editor__field input,.map-editor__field select,.map-editor__field textarea{width:100%;min-width:0;border:1px solid rgba(139,105,20,.78);border-radius:0;outline:0;background:#100a07f0;color:#f0e6d0;padding:6px 7px;font:inherit;font-size:11px;resize:vertical}.map-editor__field input:focus,.map-editor__field select:focus,.map-editor__field textarea:focus{border-color:#d4af37;box-shadow:0 0 0 1px #d4af373d}.map-editor__draft-access{display:grid;gap:5px;border:1px solid rgba(139,105,20,.44);background:#8b69141a;padding:7px}.map-editor__draft-access>span{overflow:hidden;color:#f0e6d094;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.map-editor__draft-access .pregame-field-control{gap:6px}.map-editor__draft-access .pregame-account .pregame-field-control strong{color:#f0e6d0;font:inherit;font-size:11px}.map-editor__draft-access .pregame-text-action{color:#f0e6d0a8;font-size:10px}.map-editor__account-error{margin:0;color:#e8a090;font-size:10px}.map-editor__checkbox{display:inline-flex;align-items:center;gap:5px;color:#f0e6d0c2;font-size:11px}.map-editor__checkbox--panel{justify-self:start}.map-editor__checkbox input{accent-color:#d4af37}.map-editor__section-title,.map-editor__selection-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.map-editor__section-title span{font-size:10px}.map-editor__section-title .is-valid{color:#86efac}.map-editor__section-title .is-invalid{color:#fca5a5}.map-editor__selection-heading{border:1px solid rgba(139,105,20,.46);background:#8b69141f;padding:7px}.map-editor__selection-heading strong{min-width:0;overflow:hidden;color:#f5d38a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.map-editor__selection-heading span{flex:none;color:#f0e6d080;font-size:9px;text-transform:capitalize}.map-editor__selection-panel p,.map-editor__validation p,.map-editor__validation ul{margin:0;color:#f0e6d0ad;font-size:10px;line-height:1.4}.map-editor__validation ul{display:grid;gap:4px;padding-left:17px}.map-editor__statusbar{position:fixed;inset:auto 0 0;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #8b6914;padding:6px 12px;color:#f0e6d094;font-size:10px}.map-editor__status-message{color:#f5d38a}@media (max-width: 1050px){.map-editor__topbar{gap:7px;padding-inline:8px}.map-editor__brand{min-width:96px}.map-editor__brand strong{font-size:15px}.map-editor__top-actions{gap:3px}.map-editor__topbar .ui-button{padding-inline:7px}.map-editor__palette{width:198px;padding:8px}.map-editor__inspector{width:244px;padding:8px}}@media (max-width: 700px){.map-editor__topbar{min-height:154px;align-content:center;align-items:center;flex-wrap:wrap}.map-editor__brand{flex:1 0 90px}.map-editor__top-actions{flex:1 0 100%;justify-content:flex-start;order:3}.map-editor__palette{top:154px;right:0;bottom:auto;width:auto;height:164px;display:flex;gap:12px;border-right:0;border-bottom:2px solid #8b6914;overflow:auto hidden}.map-editor__palette section{flex:0 0 auto;min-width:160px;border-right:1px solid rgba(139,105,20,.38);border-bottom:0;padding-right:12px;margin-bottom:0}.map-editor__palette section:nth-child(3){min-width:290px}.map-editor__palette section:nth-child(4){min-width:260px}.map-editor__inspector{inset:auto 0 34px;width:auto;height:190px;display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(220px,1fr) minmax(190px,.8fr);gap:12px;border-top:2px solid #8b6914;border-left:0;overflow:auto hidden}.map-editor__inspector section{min-width:0;align-content:start;border-right:1px solid rgba(139,105,20,.38);border-bottom:0;padding-right:12px;margin-bottom:0;overflow-y:auto}.map-editor__statusbar{gap:8px}.map-editor__statusbar span:last-child{max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.turn-transition{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;display:flex;align-items:center;justify-content:center;z-index:4000;pointer-events:auto}.turn-transition__card{border:2px solid #c8a04a;background:#1a0f0af7;padding:24px 28px;text-align:center}.game-over{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;pointer-events:auto}.game-over__card{border:2px solid #c8a04a;background:#1a0f0af5;padding:20px 24px;min-width:320px;display:grid;gap:8px}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulseGlow{0%,to{box-shadow:0 0 4px #d4af3726}50%{box-shadow:0 0 14px #d4af3759}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes garrisonBarSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.spellbook-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#0000008c,#000000d1);display:flex;align-items:center;justify-content:center;animation:dialogFadeIn .16s ease-out;pointer-events:auto}.spellbook{position:relative;width:960px;height:660px;background:var(--asset-spellbook-bg) center / contain no-repeat;outline:none}.spellbook-tabs{position:absolute;top:0;left:50%;transform:translate(-50%);display:flex;gap:4px;z-index:2}.spellbook-tab{position:relative;width:140px;height:50px;margin-top:-20px;background:var(--asset-spellbook-tab-normal) center / contain no-repeat;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;color:#3d2b1a;font-size:11px;font-weight:600;font-family:inherit;transition:margin-top .1s ease,height .1s ease}.spellbook-tab:hover{filter:brightness(1.1)}.spellbook-tab--active{height:60px;margin-top:-32px;background-image:var(--asset-spellbook-tab-active);color:#f5e6c8}.spellbook-tab__gem{width:16px;height:16px;border-radius:50%;pointer-events:none;flex-shrink:0}.spellbook-tab__label{pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap}.spellbook-close{position:absolute;top:-8px;right:-8px;width:40px;height:40px;background:var(--asset-spellbook-close) center / contain no-repeat;border:none;cursor:pointer;z-index:3;padding:0;transition:filter .12s ease}.spellbook-close:hover{filter:brightness(1.3)}.spellbook-close:active{filter:brightness(.9)}.spellbook-page{position:absolute;top:62px;width:362px;height:530px;display:flex;flex-direction:column;overflow:hidden}.spellbook-page--left{left:70px}.spellbook-page--right{right:70px}.spellbook-page-header{color:#3d2b1a;font-weight:700;font-size:15px;text-align:center;padding:38px 0 6px;border-bottom:1px solid rgba(139,105,20,.3);flex-shrink:0}.spellbook-page-spells{flex:1;overflow-y:auto;padding:8px 35px 56px;display:flex;flex-direction:column;gap:6px}.spellbook-page-spells::-webkit-scrollbar{width:6px}.spellbook-page-spells::-webkit-scrollbar-track{background:#3d2b1a26;border-radius:3px}.spellbook-page-spells::-webkit-scrollbar-thumb{background:#8b691466;border-radius:3px}.spellbook-spell{width:100%;border:none;border-radius:6px;background:transparent;color:#3d2b1a;text-align:left;padding:6px 8px;display:flex;align-items:center;gap:8px;cursor:pointer;font-family:inherit;font-size:13px;transition:background .1s ease,border-color .1s ease}.spellbook-spell:hover:not(:disabled){background:#94775abf;border-color:#d4af37}.spellbook-spell:disabled{cursor:default}.spellbook-spell__info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.spellbook-spell__name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spellbook-spell__mana{color:#0a1e36;border-radius:999px;padding:1px;font-size:11px}.spellbook-arrow{position:absolute;bottom:16px;z-index:1;width:48px;height:48px;background:var(--asset-spellbook-arrow-normal) center / contain no-repeat;border:none;cursor:pointer;padding:0;flex-shrink:0}.spellbook-page--left .spellbook-arrow{left:16px}.spellbook-page--right .spellbook-arrow{right:16px}.spellbook-arrow:hover:not(:disabled){background-image:var(--asset-spellbook-arrow-hover)}.spellbook-arrow:active:not(:disabled){background-image:var(--asset-spellbook-arrow-pressed)}.spellbook-arrow--prev{transform:scaleX(-1)}.spellbook-arrow:disabled{opacity:.3;cursor:default;pointer-events:none}.spellbook-page-indicator{position:absolute;bottom:74px;left:50%;transform:translate(-50%);color:#3d2b1a;font-size:12px;font-weight:600;text-shadow:0 0 4px rgba(232,213,176,.4);pointer-events:none}.spellbook-mana{position:absolute;bottom:-72px;left:50%;transform:translate(-50%);width:520px;height:64px;z-index:2}.spellbook-mana__track{position:absolute;left:78px;right:78px;top:18px;height:28px;background:#0f172a;border-radius:3px;overflow:hidden}.spellbook-mana__fill{height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:3px;transition:width .2s ease}.spellbook-mana__frame{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--asset-spellbook-mana-frame) center / 100% 100% no-repeat;pointer-events:none}.spellbook-mana__text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#f5e6c8;font-size:14px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.8);pointer-events:none;margin-top:-4px}.spellbook-empty{color:#8b7a5e;font-size:12px;font-style:italic;text-align:center;padding:20px 0}:root{--ui-ink: #08090d;--ui-panel-deep: #100c0b;--ui-panel: #1b1410;--ui-panel-raised: #281d14;--ui-gold-dark: #72521d;--ui-gold: #b88a35;--ui-gold-bright: #e3c173;--ui-ivory: #f3ead7;--ui-muted: #a89a80;--ui-danger: #d26a5e;--ui-success: #80bd82;--ui-display-font: "Palatino Linotype", "Book Antiqua", Georgia, serif}.dialog-backdrop{padding:24px;background:radial-gradient(circle at 50% 42%,rgba(18,24,42,.18),transparent 34%),radial-gradient(ellipse at center,#02040a70,#010206e0);-webkit-backdrop-filter:blur(5px) saturate(.72);backdrop-filter:blur(5px) saturate(.72);animation:studioBackdropIn .22s ease-out}.dialog-backdrop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 0 48%,rgba(225,192,111,.025) 49%,transparent 50%),radial-gradient(circle at center,transparent 45%,rgba(0,0,0,.38) 100%);pointer-events:none}.dialog-panel{position:relative;min-width:360px;max-width:min(760px,calc(100vw - 48px));overflow:hidden;border:1px solid rgba(220,182,93,.74);border-radius:2px;outline:5px solid rgba(5,6,10,.78);background:radial-gradient(circle at 14% 0%,rgba(184,133,53,.12),transparent 34%),repeating-linear-gradient(120deg,transparent 0 5px,rgba(255,226,166,.012) 5px 6px),linear-gradient(145deg,#2d1f15fb,#100c0bfe 62%);box-shadow:inset 0 0 0 1px #ffe6ab1a,inset 0 0 45px #00000075,0 28px 80px #000000b8,0 0 45px #503e2a29;animation:studioPanelIn .26s cubic-bezier(.2,.8,.2,1)}.dialog-panel:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;z-index:0;border:1px solid rgba(167,122,43,.35);box-shadow:inset 0 0 0 1px #00000073;pointer-events:none}.dialog-header{position:relative;z-index:1;min-height:60px;justify-content:center;padding:15px 58px 14px;border:0;border-bottom:1px solid rgba(184,138,53,.5);background:linear-gradient(90deg,transparent,rgba(213,165,73,.055) 28%,rgba(213,165,73,.08) 50%,rgba(213,165,73,.055) 72%,transparent),linear-gradient(180deg,#3d2817a3,#140e0b66);box-shadow:inset 0 -1px #000000b3,0 8px 22px #0003}.dialog-header h2{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;color:var(--ui-gold-bright);font-family:var(--ui-display-font);font-size:18px;font-weight:700;letter-spacing:.14em;line-height:1.1;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.92)}.dialog-header h2:before,.dialog-header h2:after{content:"";width:min(72px,15%);height:1px;background:linear-gradient(90deg,transparent,rgba(218,179,91,.8))}.dialog-header h2:after{background:linear-gradient(90deg,rgba(218,179,91,.8),transparent)}.dialog-close{position:absolute;top:13px;right:15px;z-index:2;display:grid;place-items:center;width:34px;height:34px;padding:0 0 2px;border:1px solid rgba(186,143,59,.68);border-radius:2px;background:linear-gradient(180deg,#46311deb,#140f0dfa);color:#d9c7a3;font-family:Georgia,serif;font-size:22px;line-height:1;box-shadow:inset 0 1px #ffefc212,0 4px 10px #00000052;transition:color .14s ease,border-color .14s ease,background .14s ease,transform .14s ease}.dialog-close:hover{border-color:var(--ui-gold-bright);background:linear-gradient(180deg,#69461ff5,#1d130e);color:#fff1cf;transform:translateY(-1px)}.dialog-close:active{transform:translateY(1px)}.dialog-content{position:relative;z-index:1;padding:22px 24px 24px;color:var(--ui-ivory)}.ui-button{position:relative;min-height:38px;padding:8px 17px;overflow:hidden;border:1px solid rgba(188,145,61,.82);border-radius:1px;background:linear-gradient(180deg,#3a291bfa,#15100efa);color:#e9ddc4;font-family:var(--ui-display-font);font-size:12px;font-weight:700;letter-spacing:.08em;line-height:1.1;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.88);box-shadow:inset 0 1px #ffeec112,inset 0 -1px #00000080,0 4px 10px #0000003d;transition:color .14s ease,transform .14s ease,border-color .14s ease,box-shadow .14s ease,filter .14s ease}.ui-button:after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,241,205,.11),transparent);transform:skew(-24deg);transition:left .36s ease;pointer-events:none}.ui-button--primary{border-color:#dfba64;background:linear-gradient(180deg,#c29847,#8f6528 48%,#624219);color:#fff0c9;text-shadow:0 1px rgba(0,0,0,.76),0 0 8px rgba(255,229,163,.08);box-shadow:inset 0 1px #fff4cf3d,inset 0 -1px #341e08b8,0 5px 14px #0000004d}.ui-button--secondary{border-color:#9d742db8;background:linear-gradient(180deg,#33251bfa,#120e0dfc)}.ui-button:hover:not(:disabled),.ui-button:focus-visible{border-color:#e6c474;color:#fff3d2;filter:brightness(1.08);box-shadow:inset 0 1px #fff3cd24,0 5px 18px #0000005c,0 0 14px #d4af5324;outline:none}.ui-button:hover:not(:disabled):after,.ui-button:focus-visible:after{left:125%}.ui-button:active:not(:disabled){transform:translateY(1px);filter:brightness(.93);box-shadow:inset 0 3px 7px #0000007a}.ui-button--disabled,.ui-button:disabled{opacity:.46;filter:grayscale(.65);box-shadow:none}.dialog-panel label,.map-editor-shell label{color:#bbae94;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.dialog-panel input:not([type=checkbox]):not([type=radio]),.dialog-panel select,.dialog-panel textarea,.map-editor-shell input:not([type=checkbox]):not([type=radio]),.map-editor-shell select,.map-editor-shell textarea{min-height:40px;border:1px solid rgba(142,105,42,.78);border-radius:1px;outline:none;background:linear-gradient(180deg,#04070ed1,#0f0d0ef0);color:var(--ui-ivory);box-shadow:inset 0 2px 8px #00000094,0 1px #ffecbc09;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.dialog-panel input::placeholder,.dialog-panel textarea::placeholder{color:#b9ae9775}.dialog-panel input:not([type=checkbox]):not([type=radio]):focus,.dialog-panel select:focus,.dialog-panel textarea:focus,.map-editor-shell input:not([type=checkbox]):not([type=radio]):focus,.map-editor-shell select:focus,.map-editor-shell textarea:focus{border-color:#d5ad58;background:linear-gradient(180deg,#070a13eb,#14100ffa);box-shadow:inset 0 2px 8px #00000094,0 0 0 1px #d5ad582e,0 0 14px #d5ad581a}.dialog-content,.map-editor__palette,.map-editor__inspector{scrollbar-color:rgba(180,137,55,.65) rgba(8,8,10,.42);scrollbar-width:thin}.dialog-content::-webkit-scrollbar,.map-editor__palette::-webkit-scrollbar,.map-editor__inspector::-webkit-scrollbar{width:8px;height:8px}.dialog-content::-webkit-scrollbar-track,.map-editor__palette::-webkit-scrollbar-track,.map-editor__inspector::-webkit-scrollbar-track{background:#0506096b}.dialog-content::-webkit-scrollbar-thumb,.map-editor__palette::-webkit-scrollbar-thumb,.map-editor__inspector::-webkit-scrollbar-thumb{border:1px solid rgba(8,8,10,.72);background:linear-gradient(180deg,#9d7431,#5f421d)}.ui-panel{border:1px solid rgba(188,145,61,.72);border-image:none;background:radial-gradient(circle at 12% 0%,rgba(188,145,61,.1),transparent 33%),linear-gradient(145deg,#271c14f5,#0e0c0cfa);box-shadow:inset 0 0 0 1px #ffe7b10d,inset 0 0 22px #00000052,0 8px 24px #0006}.ui-panel__title{padding:10px 12px;border-bottom:1px solid rgba(157,116,45,.58);background:#50361b2e;color:var(--ui-gold-bright);font-family:var(--ui-display-font);letter-spacing:.08em;text-transform:uppercase}.tooltip{border:1px solid rgba(205,164,75,.8);border-top:2px solid var(--ui-gold-bright);border-radius:1px;background:linear-gradient(145deg,#2a1d14fa,#0a090afc);box-shadow:inset 0 0 0 1px #ffe8b40f,0 12px 28px #0000008f}.map-editor__topbar,.map-editor__palette,.map-editor__inspector,.map-editor__statusbar{border-color:#a67c31a8;background:radial-gradient(circle at 0 0,rgba(191,143,58,.09),transparent 28%),linear-gradient(145deg,#251b15fb,#08090cfc);box-shadow:inset 0 0 0 1px #ffe9b806,0 8px 22px #00000042}.map-editor__brand strong{color:#e4ca8b;font-family:var(--ui-display-font);letter-spacing:.08em}.map-editor__topbar button:not(.ui-button),.map-editor__palette button,.map-editor__inspector button{border-color:#87632899;background:linear-gradient(180deg,#37271bf5,#0f0d0dfa);color:#d9cdb7;box-shadow:inset 0 1px #ffe8b30a}.map-editor__palette button.is-selected,.map-editor__inspector button.is-selected{border-color:#ddb963;background:linear-gradient(180deg,#926626f0,#4b3013fa);color:#fff0c8;box-shadow:inset 0 1px #fff4cf29,0 0 12px #dbb55d1f}.treasure-chest-dialog .dialog-panel,.visitable-choice-dialog .dialog-panel{width:min(700px,calc(100vw - 48px));max-width:none}.treasure-chest-dialog .treasure-chest-dialog__content{min-width:0;padding:24px 28px 28px;border:0;border-radius:0;box-shadow:inset 0 0 35px #0000003d}.treasure-chest-dialog .treasure-chest-dialog__chest{width:150px;filter:drop-shadow(0 12px 14px rgba(0,0,0,.46))}.treasure-chest-dialog .treasure-chest-dialog__prompt,.visitable-choice-dialog .visitable-choice-dialog__prompt{color:#f0ddb0;font-family:Georgia,serif;font-size:16px}.treasure-chest-dialog .treasure-chest-dialog__option,.visitable-choice-dialog .visitable-choice-dialog__option{min-width:210px;min-height:64px;transition:filter .14s ease,transform .14s ease}.treasure-chest-dialog .treasure-chest-dialog__option:hover:not(:disabled),.visitable-choice-dialog .visitable-choice-dialog__option:hover:not(:disabled){filter:brightness(1.08) drop-shadow(0 6px 10px rgba(0,0,0,.3));transform:translateY(-2px)}.level-up .dialog-panel,.combat-result .dialog-panel,.diplomacy-dialog .dialog-panel{width:min(620px,calc(100vw - 48px));max-width:none}.level-up .level-up__option{max-width:none;padding:17px 15px;border:1px solid rgba(146,107,42,.58);border-radius:1px;background:radial-gradient(circle at 50% 0,rgba(181,134,53,.11),transparent 35%),linear-gradient(160deg,#2a1d14e0,#07090dd1)}.level-up .level-up__option:hover{border-color:#d9b55e;background:radial-gradient(circle at 50% 0,rgba(205,157,62,.16),transparent 38%),linear-gradient(160deg,#3b2716f0,#08090de6);box-shadow:0 9px 24px #0000004d;transform:translateY(-2px)}.combat-result .dialog-content{min-width:440px}.diplomacy-dialog .diplomacy-dialog__content{min-width:0;padding:6px 10px 2px}.diplomacy-dialog .diplomacy-dialog__message{color:#ddd0b8;font-family:Georgia,serif;font-size:15px;line-height:1.6}.diplomacy-dialog .diplomacy-dialog__status{display:inline-block;padding:6px 10px;border:1px solid rgba(142,104,42,.48);background:#07090d5c}.diplomacy-dialog .diplomacy-dialog__actions{gap:10px;padding-top:14px;border-top:1px solid rgba(141,104,43,.3)}.turn-transition{background:radial-gradient(circle at center,rgba(31,39,65,.28),transparent 28%),#010206e0;-webkit-backdrop-filter:blur(5px) saturate(.7);backdrop-filter:blur(5px) saturate(.7)}.turn-transition__card{position:relative;min-width:440px;padding:34px 56px;border:1px solid rgba(218,178,87,.74);outline:5px solid rgba(5,6,10,.72);background:radial-gradient(circle at 50% 0,rgba(194,145,58,.12),transparent 42%),linear-gradient(145deg,#2d1f15fa,#0a0a0dfc);box-shadow:inset 0 0 0 1px #ffe8b412,inset 0 0 40px #0000005c,0 24px 70px #000000ad}.turn-transition__card:before,.turn-transition__card:after{content:"";position:absolute;width:8px;height:8px;border:1px solid var(--ui-gold-bright);background:#1f160f;transform:rotate(45deg)}.turn-transition__card:before{top:-5px;left:-5px}.turn-transition__card:after{right:-5px;bottom:-5px}.ui-overlay-root .turn-transition__heading{color:#c9ad6c;font-family:var(--ui-display-font);font-size:12px;letter-spacing:.24em}.ui-overlay-root .turn-transition__name{font-family:var(--ui-display-font);font-size:34px;letter-spacing:.12em}.ui-overlay-root .turn-transition__hint{color:#8f8676;letter-spacing:.08em}.game-over{z-index:4000;background:radial-gradient(circle at center,rgba(75,28,23,.22),transparent 32%),#010206e6;-webkit-backdrop-filter:blur(6px) saturate(.62);backdrop-filter:blur(6px) saturate(.62)}.game-over__card{position:relative;min-width:min(480px,calc(100vw - 48px));gap:12px;padding:36px 42px;border:1px solid rgba(210,168,78,.72);outline:5px solid rgba(5,6,10,.78);background:radial-gradient(circle at 50% 0,rgba(188,137,54,.12),transparent 40%),linear-gradient(145deg,#2b1d14fb,#09090cfe);text-align:center;box-shadow:inset 0 0 0 1px #ffe6b10f,0 28px 80px #000000b8}.game-over__card h1{margin:0 0 8px;color:#e2c47d;font-family:var(--ui-display-font);font-size:34px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 3px 12px rgba(0,0,0,.8)}.game-over__card p{margin:0;padding:8px 10px;border-bottom:1px solid rgba(139,102,42,.28);color:#bfb29b}.game-over__card .ui-button{margin-top:12px}@keyframes studioBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes studioPanelIn{0%{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 760px){.dialog-backdrop{align-items:flex-start;padding:14px;overflow-y:auto}.dialog-panel,.level-up .dialog-panel,.combat-result .dialog-panel,.diplomacy-dialog .dialog-panel{width:calc(100vw - 28px);min-width:0;max-width:none;margin:auto}.dialog-header{min-height:54px;padding-inline:52px}.dialog-header h2{font-size:15px}.dialog-content{padding:17px}.combat-result .dialog-content{min-width:0}.turn-transition__card{min-width:min(420px,calc(100vw - 40px));padding:30px 24px}}@media (prefers-reduced-motion: reduce){.dialog-backdrop,.dialog-panel{animation:none}.ui-button,.ui-button:after{transition:none}}.resource-icon__sprite{flex:0 0 auto;background-repeat:no-repeat}.resource-bar__day-badge.resource-bar__day-badge--warning{margin-left:8px;color:#f4b183;font-weight:600}@media (max-width: 1200px){.resource-bar--announcement .resource-item{min-width:46px;padding-inline:6px;flex-shrink:0}.resource-bar--announcement .resource-label{display:none}}.resource-bar__day-icon{position:relative;width:15px;height:15px;border:1px solid #d7b761;border-radius:50%;background:radial-gradient(circle,#f4db91 0 34%,#b9882d 38% 60%,transparent 64%);box-shadow:0 0 8px #dbb45247}.resource-bar__day-icon:before,.resource-bar__day-icon:after{content:"";position:absolute;top:6px;right:-4px;bottom:6px;left:-4px;border-block:1px solid rgba(216,181,91,.72)}.resource-bar__day-icon:after{transform:rotate(90deg)}.building-group-heading__sigil{display:inline-grid;place-items:center;min-width:28px;height:20px;border:1px solid rgba(173,127,44,.52);background:#05070a75;color:#bca15e;font-size:8px;letter-spacing:.05em}.turn-indicator{position:fixed;top:14px;left:calc((100vw - var(--right-panel-width, 280px)) / 2);transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:10px;padding:6px 14px 6px 10px;border:1px solid #b6a57545;border-left:3px solid var(--turn-banner, #c5ad70);background:#0d1419e0;color:#efe8d5;font-size:13px;letter-spacing:.04em;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.turn-indicator.is-mine{border-color:#c5ad7080;border-left-color:var(--turn-banner, #c5ad70);box-shadow:0 0 18px #c5ad7022}.turn-indicator__banner{width:10px;height:16px;background:var(--turn-banner, #c5ad70);box-shadow:inset 0 0 0 1px #0007}.turn-indicator__label{font-weight:600}.turn-indicator.is-mine .turn-indicator__label{color:#e8d9a8}.turn-indicator.is-waiting .turn-indicator__label{color:#a9b2ab}.turn-indicator__wait{display:inline-flex;gap:3px}.turn-indicator__wait i{width:3px;height:3px;border-radius:50%;background:#8d968f;animation:turn-wait 1.4s infinite ease-in-out}.turn-indicator__wait i:nth-child(2){animation-delay:.2s}.turn-indicator__wait i:nth-child(3){animation-delay:.4s}@keyframes turn-wait{0%,60%,to{opacity:.25}30%{opacity:1}}.turn-indicator__clock{font-variant-numeric:tabular-nums;color:#c5ad70}.turn-indicator__clock.is-urgent{color:#e08a72}.turn-indicator__players{display:inline-flex;gap:4px;margin-left:4px;padding-left:10px;border-left:1px solid #b6a57530}.turn-pip{width:8px;height:8px;border-radius:50%;background:var(--pip, #899c8d);opacity:.4}.turn-pip.is-active{opacity:1;box-shadow:0 0 6px var(--pip, #899c8d)}.turn-pip.is-offline{opacity:.18;box-shadow:inset 0 0 0 1px #0008}.turn-notice{position:fixed;top:52px;left:calc((100vw - var(--right-panel-width, 280px)) / 2);transform:translate(-50%);z-index:30;margin:0;padding:5px 12px;border-left:2px solid #c08a52;background:#1a1208e0;color:#e8d7c2;font-size:12px;pointer-events:none}.turn-flash{position:fixed;top:26%;left:calc((100vw - var(--right-panel-width, 280px)) / 2);transform:translate(-50%);z-index:31;pointer-events:none;animation:turn-flash 3s ease-out forwards}.turn-flash span{display:block;padding:10px 28px;background:#101b16f5;border:1px solid #cdb27199;border-radius:5px;box-shadow:0 4px 20px #0009;font-size:26px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 14px #000c}.compact-ui .turn-flash{left:50%;width:max-content;max-width:calc(100vw - 24px);text-align:center}.compact-ui .turn-flash span{font-size:20px;padding:10px 16px}.turn-flash.is-mine span{color:#e8d9a8}.turn-flash.is-theirs span{color:#9fb0a4;font-size:20px}@keyframes turn-flash{0%{opacity:0;transform:translate(-50%,8px)}15%{opacity:1;transform:translate(-50%)}70%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.turn-indicator__wait i{animation:none;opacity:.6}.turn-flash{animation:none;opacity:1}}.chat-overlay{position:fixed;left:18px;bottom:calc(var(--resource-bar-height, 60px) + 14px);z-index:30;width:min(460px,calc(100vw - var(--right-panel-width, 280px) - 48px));display:flex;flex-direction:column;gap:6px;pointer-events:none}.chat-overlay__log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.chat-line{padding:2px 6px;font-size:13px;line-height:1.4;color:#e6e0d0;text-shadow:0 1px 3px #000c,0 0 10px #0008;animation:chat-in .18s ease-out}.chat-overlay.is-open .chat-line{background:#0a0f13a8}.chat-line__who{color:#c5ad70;margin-right:6px}.chat-line__scope{color:#8d968f;font-size:11px}.chat-line.is-team .chat-line__who{color:#7fbf8f}.chat-line.is-private .chat-line__who{color:#c48fd0}.chat-line.is-private .chat-line__text{color:#e4d2ea}@keyframes chat-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.chat-composer{display:flex;align-items:stretch;gap:0;pointer-events:auto;border:1px solid #b6a57545;border-left:3px solid #c5ad70;background:#0a0f13d8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.chat-composer.is-team{border-left-color:#7fbf8f}.chat-composer.is-private{border-left-color:#c48fd0}.chat-composer__audience{display:flex;align-items:center;gap:7px;padding:0 10px;border:none;border-right:1px solid #b6a57530;background:transparent;color:#c5ad70;font:inherit;font-size:12px;letter-spacing:.06em;white-space:nowrap;cursor:pointer}.chat-composer.is-team .chat-composer__audience{color:#7fbf8f}.chat-composer.is-private .chat-composer__audience{color:#c48fd0}.chat-composer__hint{padding:1px 4px;border:1px solid currentColor;border-radius:2px;font-size:9px;opacity:.55}.chat-composer__input{flex:1;min-width:0;padding:8px 10px;border:none;background:transparent;color:#efe8d5;font:inherit;font-size:14px}.chat-composer__input:focus{outline:none}@media (max-width: 900px){.chat-overlay{width:min(360px,calc(100vw - var(--right-panel-width, 280px) - 36px))}.turn-indicator{font-size:12px;padding:5px 10px 5px 8px}}body.compact-ui{--right-panel-width: calc(84px + env(safe-area-inset-right, 0px)) }body.compact-ui:has(.adventure-active){--resource-bar-height: calc(34px + env(safe-area-inset-bottom, 0px)) }body.compact-ui .adventure-frame{border-width:4px}body.compact-ui .resource-bar{padding:0 max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px))}body.compact-ui .resource-item{min-width:40px;height:32px;padding:0 5px;font-size:13px}.adventure-right-panel--rail{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px env(safe-area-inset-right,0px) 8px 0;overflow-y:auto;overscroll-behavior:contain;background:var(--asset-adventure-panel-bg) left top / 100% auto repeat-y;box-shadow:-4px 0 20px #0006;pointer-events:auto}.adventure-rail__actions{display:grid;grid-template-columns:repeat(2,34px);gap:4px;padding-bottom:8px;border-bottom:1px solid rgba(139,105,20,.4)}.adventure-rail__button{width:34px;height:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border:1px solid rgba(200,160,74,.55);background:linear-gradient(#3a2a18,#21170e);color:#e9cf8a;font:600 8px/1 system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.adventure-rail__button svg{width:16px;height:16px}.adventure-rail__button.is-open{background:linear-gradient(#6b4f22,#3d2b14);border-color:#e4c577}.adventure-right-panel--rail .adventure-right-panel__col--controls{display:flex;justify-content:center}.adventure-drawer{position:fixed;top:0;right:var(--right-panel-width);bottom:var(--resource-bar-height);z-index:25;width:min(560px,calc(100vw - var(--right-panel-width) - 24px));display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px;padding:6px 6px 6px max(6px,env(safe-area-inset-left,0px));overflow-y:auto;overscroll-behavior:contain;background:var(--asset-adventure-panel-bg) left top / 280px auto repeat;border-left:1px solid #8b6914;box-shadow:-10px 0 28px #0000008c;pointer-events:auto}.adventure-drawer__minimap{width:min(250px,calc(100dvh - var(--resource-bar-height) - 12px))}.adventure-drawer__lists{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0}.adventure-drawer .adventure-right-panel__col{display:flex;flex-direction:column;padding:2px 4px 6px;overflow:hidden}.adventure-drawer .adventure-right-panel__col--heroes{border-right:1px solid rgba(139,105,20,.4)}.adventure-drawer__hero{grid-column:1 / -1}@media (max-height: 540px){.dialog-backdrop{padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.dialog-panel{display:flex;flex-direction:column;max-height:100%}.dialog-header{flex:0 0 auto;min-height:0;padding-top:8px;padding-bottom:8px}.dialog-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}}body.touch-ui .dialog-close,body.touch-ui .ui-button{min-height:40px}body.touch-ui .dialog-close{min-width:40px}body.touch-ui button.mobile-redundant-cancel{display:none!important}body.mobile-ui.compact-ui{--mobile-dock-size: var(--mobile-adventure-dock,60px);--right-panel-width: calc(var(--mobile-dock-size) + var(--safe-area-right,env(safe-area-inset-right)))}body.mobile-ui.compact-ui:has(.adventure-active){--resource-bar-height: 0px;padding-bottom:0}body.mobile-ui.compact-ui.portrait-ui:has(.adventure-active){--right-panel-width: 0px;--resource-bar-height: calc(var(--mobile-dock-size) + var(--safe-area-bottom,env(safe-area-inset-bottom)));padding-bottom:var(--resource-bar-height)}body.mobile-ui.compact-ui .adventure-frame{border-width:2px}.mobile-adventure-dock{position:fixed;inset:0 0 0 auto;width:var(--right-panel-width);padding:max(4px,var(--safe-area-top,env(safe-area-inset-top))) var(--safe-area-right,env(safe-area-inset-right)) max(4px,var(--safe-area-bottom,env(safe-area-inset-bottom))) 0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;background:#211b14;border-left:1px solid #927448;pointer-events:auto}body.mobile-ui.compact-ui button,body.mobile-ui.compact-ui select,body.mobile-ui.compact-ui input:not([type=checkbox]):not([type=radio]):not([type=range]){min-height:44px}body.mobile-ui.compact-ui button{min-width:44px}body.mobile-ui.compact-ui input,body.mobile-ui.compact-ui select,body.mobile-ui.compact-ui textarea{font-size:16px}.mobile-adventure-dock>button{position:relative;flex:0 0 44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px;margin:0 4px;border:1px solid #9b804e;border-radius:3px;background:#30281d;color:#f1dfb9;font:11px/1.1 system-ui}.mobile-adventure-dock .mobile-roster-control:disabled{opacity:.5}.mobile-adventure-dock>button>img,.mobile-adventure-dock .hero-portrait-sprite{width:24px;height:24px;object-fit:cover}.mobile-adventure-dock meter{position:absolute;bottom:-1px;width:90%;height:5px}.mobile-adventure-dock .gc-end-turn{background:#c5a050;color:#17120a;font-weight:700}.mobile-adventure-dock .gc-end-turn:disabled{background:#333c43;color:#c4c9cc;font-size:10px}body.portrait-ui .mobile-adventure-dock{inset:auto 0 0;width:100%;height:var(--resource-bar-height);padding:4px max(4px,var(--safe-area-right,env(safe-area-inset-right))) calc(4px + var(--safe-area-bottom,env(safe-area-inset-bottom))) max(4px,var(--safe-area-left,env(safe-area-inset-left)));flex-direction:row;gap:4px;border-left:0;border-top:1px solid #927448}body.portrait-ui .mobile-adventure-dock>button{flex:1 1 0;margin:0;min-width:44px}body.tablet-ui.compact-ui{--mobile-dock-size: var(--mobile-tablet-adventure-dock,76px)}body.tablet-ui .mobile-adventure-dock>button{gap:4px;font-size:13px}body.tablet-ui .mobile-adventure-dock>button>svg{width:26px;height:26px}body.tablet-ui .mobile-adventure-dock>button>img,body.tablet-ui .mobile-adventure-dock .hero-portrait-sprite{width:32px;height:32px}body.tablet-ui:not(.portrait-ui) .mobile-adventure-dock>button{flex-basis:64px;margin:0 6px}body.tablet-ui.portrait-ui .mobile-adventure-dock{justify-content:center;gap:8px}body.tablet-ui.portrait-ui .mobile-adventure-dock>button{flex:0 1 112px}body.tablet-ui .mobile-map-card{width:min(320px,calc(100vw - var(--right-panel-width) - 16px))}body.tablet-ui .mobile-hero-strip__status{flex-basis:110px}body.tablet-ui .mobile-hero-strip__slot{max-width:44px}body.tablet-ui:not(.portrait-ui) .mobile-map-stack .mobile-hero-strip:not(.mobile-hero-strip--collapsed){flex-basis:520px}.mobile-resource-strip{position:fixed;top:max(12px,var(--safe-area-top,env(safe-area-inset-top)));left:max(8px,var(--safe-area-left,env(safe-area-inset-left)));z-index:12;box-sizing:border-box;width:min(380px,calc(100vw - var(--right-panel-width) - max(8px,var(--safe-area-left,env(safe-area-inset-left))) - 8px));border:1px solid #927448;border-radius:4px;background:linear-gradient(#2a2117f2,#1b150ff2);box-shadow:0 4px 14px #0008;color:#f1dfb9;font:13px/1.2 system-ui;pointer-events:auto}.mobile-resource-strip--collapsed{width:auto}.mobile-resource-strip>header{display:flex;align-items:center}.mobile-resource-strip>header button{border:0;background:none;color:inherit}.mobile-resource-strip__calendar{flex:1;display:flex;align-items:center;gap:10px;padding:0 10px;font:600 14px Georgia,serif;white-space:nowrap}.mobile-resource-strip__calendar span{font:12px system-ui;color:#cdb98d}.mobile-resource-strip__fold{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;padding:0}.mobile-resource-strip__fold>svg{display:block;width:20px;height:20px}.mobile-resource-strip__fold[aria-expanded=true]>svg{transform:rotate(180deg)}.mobile-resource-strip .resource-info{display:grid;grid-template-columns:1.5fr repeat(6,minmax(0,1fr));gap:3px;margin:0;padding:0 5px 6px}.mobile-resource-strip .resource-info__item{flex-direction:column;gap:2px;min-width:0;padding:4px 0;border:1px solid #92744840;border-radius:3px;background:#100c0880}.mobile-resource-strip .resource-info__value{font:600 11px/1.2 system-ui;font-variant-numeric:tabular-nums;color:#f7e6bf}.mobile-resource-strip__event,.mobile-resource-strip__warning{padding:0 10px 6px;font-size:12px}.mobile-resource-strip__warning{color:#ffcb91}body.mobile-ui.compact-ui:has(.mobile-resource-strip:not(.mobile-resource-strip--collapsed)) .turn-indicator{top:calc(max(12px,var(--safe-area-top,env(safe-area-inset-top))) + var(--mobile-resource-strip-height,100px) + 6px)}body.mobile-ui.compact-ui:has(.mobile-resource-strip) .mobile-map-card{--map-card-top: calc(max(12px,var(--safe-area-top,env(safe-area-inset-top))) + var(--mobile-resource-strip-height,100px) + 44px)}body.mobile-ui.compact-ui .turn-indicator{top:max(4px,var(--safe-area-top,env(safe-area-inset-top)));right:calc(var(--right-panel-width) + 6px);left:auto;max-width:calc(100vw - var(--right-panel-width) - 230px)}body.mobile-ui.compact-ui.portrait-ui .turn-indicator{top:calc(max(12px,var(--safe-area-top,env(safe-area-inset-top))) + var(--mobile-resource-strip-height,44px) + 6px);max-width:calc(100vw - 12px)}body.mobile-ui.compact-ui .dialog-backdrop{padding:max(6px,var(--safe-area-top,env(safe-area-inset-top))) max(6px,var(--safe-area-right,env(safe-area-inset-right))) max(6px,var(--safe-area-bottom,env(safe-area-inset-bottom))) max(6px,var(--safe-area-left,env(safe-area-inset-left)))}body.mobile-ui.compact-ui .dialog-panel,body.mobile-ui.compact-ui .mobile-sheet{max-width:100%;max-height:calc(var(--visible-height,100dvh) - var(--safe-area-top,env(safe-area-inset-top)) - var(--safe-area-bottom,env(safe-area-inset-bottom)) - 12px);min-width:0;display:flex;flex-direction:column}body.mobile-ui.compact-ui .dialog-header{flex:0 0 auto;min-width:0;padding:4px 10px}body.mobile-ui.compact-ui .dialog-header h2{font-size:20px}body.mobile-ui.compact-ui .dialog-content{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain}body.mobile-ui.compact-ui .mobile-sheet{width:min(680px,100%);background:#172019;color:#f0e4ca}.mobile-sheet .dialog-content{padding:10px}body.mobile-ui.compact-ui .mobile-sheet-bottom{align-items:flex-end;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding-right:calc(var(--right-panel-width) + 8px);padding-bottom:max(8px,var(--safe-area-bottom,env(safe-area-inset-bottom)))}.mobile-sheet-bottom:before{display:none}body.mobile-ui.compact-ui .mobile-sheet-bottom .mobile-sheet{margin:0;max-height:min(50dvh,340px)}body.mobile-ui.compact-ui .mobile-sheet-bottom .mobile-command-list{grid-template-columns:repeat(2,minmax(0,1fr))}body.mobile-ui.compact-ui.portrait-ui .mobile-sheet-bottom{padding-right:max(8px,var(--safe-area-right,env(safe-area-inset-right)));padding-bottom:calc(var(--resource-bar-height) + 8px)}body.mobile-ui.compact-ui.portrait-ui .mobile-sheet-bottom .mobile-command-list{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-sheet button,.mobile-sheet select{border:1px solid #8f7b51;background:#29362b;color:#f0e4ca;padding:6px 10px;border-radius:3px;font:14px system-ui}.mobile-sheet button[aria-pressed=true],.mobile-tabs button[aria-pressed=true]{background:#62502b;border-color:#e5c987}.mobile-sheet button:disabled{opacity:.5}.mobile-tabs{display:flex;gap:4px;margin-bottom:10px;flex:0 0 auto}.mobile-tabs>button{flex:1}.mobile-roster{display:grid;gap:8px}.mobile-roster article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:8px;border:1px solid #635735}.mobile-roster article.mobile-roster-selected{background:#403b24;border-color:#e5c987}.mobile-roster__art{display:block;width:44px;height:44px;overflow:hidden;border:1px solid #6f5a36;background:#0d0a07}.mobile-roster__art>img,.mobile-roster__art .hero-portrait-sprite,.mobile-roster__art .town-roster-art,.mobile-roster__art svg{display:block;width:100%;height:100%}.mobile-roster__summary{display:grid;gap:3px;min-width:0}.mobile-roster__summary strong{font:600 14px/1.25 Georgia,serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-roster__summary meter{width:100%;max-width:160px;height:6px}.mobile-roster__summary small{font:12px/1.2 system-ui;color:#cdb98d}.mobile-roster__army{display:flex;flex-wrap:wrap;gap:2px}.mobile-roster__army>span{position:relative;width:26px;height:30px;overflow:hidden;border:1px solid #6f5a36;background:#0d0a07}.mobile-roster__actions{display:flex;gap:4px}body.mobile-ui.compact-ui .mobile-roster__more{min-width:44px;padding:0;letter-spacing:1px}.mobile-roster article>.roster-tools{grid-column:1 / -1;margin:0}body.portrait-ui .mobile-roster article{grid-template-columns:44px minmax(0,1fr)}body.portrait-ui .mobile-roster__actions{grid-column:1 / -1}body.portrait-ui .mobile-roster__actions>button:not(.mobile-roster__more){flex:1}.mobile-map-stack{position:fixed;z-index:11;left:max(8px,var(--safe-area-left,env(safe-area-inset-left)));right:calc(var(--right-panel-width) + 8px);bottom:max(8px,var(--safe-area-bottom,env(safe-area-inset-bottom)));display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}.mobile-map-stack>*{pointer-events:auto}body.portrait-ui .mobile-map-stack{right:max(8px,var(--safe-area-right,env(safe-area-inset-right)));bottom:calc(var(--resource-bar-height) + 8px)}.mobile-hero-strip:not(.mobile-hero-strip--collapsed){box-sizing:border-box;width:min(440px,100%)}body:not(.portrait-ui) .mobile-map-stack{flex-direction:row;align-items:flex-end}body:not(.portrait-ui) .mobile-map-stack .mobile-hero-strip{order:-1}body:not(.portrait-ui) .mobile-map-stack .mobile-hero-strip:not(.mobile-hero-strip--collapsed){flex:0 1 380px;width:auto;min-width:0}.mobile-map-stack--strip-folded{flex-direction:row;align-items:stretch}.mobile-map-stack--strip-folded .mobile-hero-strip{order:-1}.mobile-map-stack--strip-folded .mobile-route-bar{flex:0 1 auto;min-width:0;align-self:flex-end}body:not(.portrait-ui) .mobile-route-bar{flex:0 0 auto;min-width:0}.mobile-route-bar{box-sizing:border-box;width:min(260px,100%);max-width:100%;display:grid;grid-template-columns:minmax(0,1fr) 44px auto;grid-template-areas:"name info go" "movement info go";align-items:center;column-gap:6px;row-gap:2px;min-height:52px;padding:4px;background:#17120cf0;border:1px solid #b4955a;border-radius:4px;box-shadow:0 4px 14px #0009;color:#f1dfb9;font:13px/1.25 system-ui}.mobile-route-bar .route-destination{display:contents}.mobile-route-bar .route-destination__name{grid-area:name;align-self:end;padding-left:4px}.mobile-route-bar .route-destination__info{grid-area:info}.mobile-route-bar .route-movement{grid-area:movement;align-self:start;flex-wrap:nowrap;padding-left:4px;font-size:11px}.mobile-route-bar:not(:has(.route-destination__info)){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name go" "movement go"}.mobile-route-go{grid-area:go;min-width:64px;min-height:44px;padding:0 10px;border:1px solid #f0d58e;border-radius:3px;background:linear-gradient(#dcb662,#a87d32);color:#1a1208;font:700 16px system-ui;box-shadow:inset 0 1px #fff5}.mobile-hero-strip{display:flex;align-items:center;gap:6px;min-height:52px;padding:4px;background:linear-gradient(#2a2117f2,#1b150ff2);border:1px solid #927448;border-radius:4px;box-shadow:0 4px 14px #0008;color:#f1dfb9;font:12px/1.2 system-ui}.mobile-hero-strip__portrait{flex:0 0 44px;display:block;width:44px;height:44px;padding:0;overflow:hidden;border:1px solid #b4955a;border-radius:3px;background:#0d0a07}.mobile-hero-strip__portrait>img,.mobile-hero-strip__portrait .hero-portrait-sprite{display:block;width:100%;height:100%;object-fit:cover}.mobile-hero-strip__status{flex:0 0 72px;min-width:0;display:grid;gap:3px}.mobile-hero-strip__status strong{font:600 13px/1.2 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-hero-strip__status small{font-size:11px;color:#cdb98d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-hero-strip__movement,.mobile-hero-strip__mana{display:block;width:100%;height:6px}.mobile-hero-strip__mana{height:4px}.mobile-adventure-dock meter,.mobile-roster__summary meter,.mobile-hero-strip meter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:3px;background:#2b2318;overflow:hidden}.mobile-adventure-dock meter::-webkit-meter-bar,.mobile-roster__summary meter::-webkit-meter-bar,.mobile-hero-strip meter::-webkit-meter-bar{height:100%;border:0;border-radius:3px;background:#2b2318}.mobile-adventure-dock meter::-webkit-meter-optimum-value,.mobile-roster__summary meter::-webkit-meter-optimum-value,.mobile-hero-strip meter::-webkit-meter-optimum-value{background:#74c25b}.mobile-hero-strip meter::-webkit-meter-suboptimum-value{background:#d9ad45}.mobile-hero-strip meter::-webkit-meter-even-less-good-value{background:#cf5a3f}.mobile-adventure-dock meter::-moz-meter-bar,.mobile-roster__summary meter::-moz-meter-bar,.mobile-hero-strip meter::-moz-meter-bar{background:#74c25b}.mobile-hero-strip .mobile-hero-strip__mana::-webkit-meter-optimum-value,.mobile-hero-strip .mobile-hero-strip__mana::-webkit-meter-suboptimum-value,.mobile-hero-strip .mobile-hero-strip__mana::-webkit-meter-even-less-good-value{background:#5b9be0}.mobile-hero-strip .mobile-hero-strip__mana::-moz-meter-bar{background:#5b9be0}.mobile-hero-strip__army{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:2px}.mobile-hero-strip__slot{position:relative;box-sizing:border-box;flex:1 1 0;min-width:0;max-width:32px;aspect-ratio:7 / 8;overflow:hidden;border:1px solid #6f5a36;border-radius:2px;background:#0d0a07}.mobile-hero-strip__slot .creature-portrait-image{height:auto;aspect-ratio:var(--creature-portrait-ratio, .875)}.mobile-hero-strip__slot.is-empty{border-color:#4a3d26;background:#0d0a0799}.mobile-hero-strip__slot b,.mobile-roster__army b{position:absolute;right:1px;bottom:0;font:700 10px/1.1 system-ui;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000,0 0 3px #000}.mobile-hero-strip__slot b{right:0;font-size:10px;letter-spacing:-.3px}.mobile-hero-strip__slot i,.mobile-roster__army i{display:grid;place-items:center;height:100%;font:600 13px Georgia,serif;font-style:normal;color:#d8c08a}body.mobile-ui.compact-ui .mobile-hero-strip__fold{flex:0 0 32px;min-width:32px;align-self:stretch;padding:0;border:0;background:none;color:#d8c08a;font:22px/1 system-ui}body.mobile-ui.compact-ui .mobile-hero-strip--collapsed{display:grid;gap:3px;width:54px;padding:4px}.mobile-hero-strip--collapsed .mobile-hero-strip__movement{height:5px}.mobile-map-card{--map-card-top: calc(max(4px,var(--safe-area-top,env(safe-area-inset-top))) + 44px) ;--map-card-room: calc(var(--visible-height,100dvh) - var(--map-card-top) - max(4px,var(--safe-area-bottom,env(safe-area-inset-bottom))) - 64px);position:fixed;z-index:13;top:var(--map-card-top);right:calc(var(--right-panel-width) + 8px);width:min(248px,calc(100vw - var(--right-panel-width) - 16px));box-sizing:border-box;padding:6px;background:#17120cf2;border:1px solid #b4955a;border-radius:4px;box-shadow:0 6px 18px #000a;color:#f1dfb9;pointer-events:auto}.mobile-map-card .mini-map{width:min(100%,max(1px,var(--map-card-room)));margin-inline:auto}body.portrait-ui .mobile-map-card{right:max(8px,var(--safe-area-right,env(safe-area-inset-right)))}.mobile-map-card header{display:flex;align-items:center;gap:4px;margin-bottom:6px}.mobile-map-card header strong{flex:1;min-width:0;font:600 13px Georgia,serif}.mobile-map-card header button{padding:0 8px;border:1px solid #8f7b51;border-radius:3px;background:#29362b;color:#f0e4ca;font:13px system-ui}.mobile-map-card__close{font-size:20px!important}body.mobile-ui.compact-ui .mobile-command-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}body.mobile-ui.compact-ui .mobile-command-list .gc-btn{width:100%;height:auto;min-height:52px;font-size:16px;gap:8px;padding:8px;justify-content:flex-start}body.mobile-ui.compact-ui .mobile-command-list .gc-btn>svg{flex-shrink:0}body.mobile-ui.compact-ui .mobile-command-list .gc-btn:after{content:attr(aria-label);position:static;inset:auto;width:auto;background:none;transform:none;transition:none;font:13px/1.3 system-ui;text-align:left;text-transform:none;letter-spacing:normal;text-shadow:none}body.mobile-ui.compact-ui .resource-bar--embedded{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;padding:4px;background:none;box-shadow:none;border:0}body.mobile-ui.compact-ui .resource-bar--embedded .resource-item{justify-content:flex-start;min-height:44px;padding:6px;gap:6px}body.mobile-ui.compact-ui .resource-bar--embedded .resource-label{display:inline}body.mobile-ui.compact-ui .resource-bar--embedded .resource-item:before{display:none}.resource-bar--embedded .resource-bar__day-badge{grid-column:1 / -1;margin:8px 0;white-space:normal}body.mobile-ui.compact-ui .chat-overlay{position:fixed;inset:auto max(6px,var(--safe-area-right,env(safe-area-inset-right))) calc(var(--keyboard-bottom,0px) + 6px) max(6px,var(--safe-area-left,env(safe-area-inset-left)));width:auto;max-width:680px;max-height:calc(var(--visible-height,100dvh) - 12px);z-index:90;padding:8px;background:#101b18f5;border:1px solid #ae935e;overflow:auto}body.mobile-ui.compact-ui .chat-overlay__log{max-height:calc(var(--visible-height,100dvh) - 124px);overflow:auto}body.mobile-ui.compact-ui .chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px}body.mobile-ui.compact-ui .chat-composer__audience{grid-column:1 / -1}body.mobile-ui.compact-ui .chat-composer__input{width:100%;min-width:0}body.mobile-ui.compact-ui .chat-composer__hint{display:none}body.mobile-ui.compact-ui .chat-composer button{color:#f1dfbc;background:#28392e;border:1px solid #8a7951}body.mobile-ui.compact-ui .connection-status-indicator{z-index:1401}body.mobile-ui.compact-ui:has([aria-modal=true]) .connection-status-indicator:has(.connection-status-indicator__dot--connected):not(:has(.connection-status-indicator__pending)){visibility:hidden}.mobile-battle-header .connection-status-indicator{position:static;flex:0 0 auto;padding:6px}body.mobile-ui.compact-ui:has(.adventure-active) .connection-status-indicator{top:calc(max(12px,var(--safe-area-top,env(safe-area-inset-top))) + var(--mobile-resource-strip-height,44px) + 6px);bottom:auto;left:max(6px,var(--safe-area-left,env(safe-area-inset-left)))}.mobile-hero-identity{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mobile-hero-identity>img,.mobile-hero-identity .hero-portrait-sprite{width:48px;height:48px}.mobile-hero-identity>div{flex:1}.mobile-hero-identity span{display:block;font:12px/1.5 system-ui}.mobile-hero-overview{font:14px/1.5 system-ui}.mobile-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mobile-hero-stats>div{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;text-transform:capitalize;padding:8px;background:#ffffff08}.mobile-hero-stats>div>:first-child{grid-row:1 / span 2}.mobile-hero-stats strong{font-size:22px;line-height:1.1}.mobile-hero-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-hero-skills>div{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center;border:1px solid #7d7049;padding:8px 10px}.mobile-hero-skills>div>:first-child{grid-row:1 / span 2}.mobile-hero-icon{display:grid;place-items:center;width:30px;height:30px}.mobile-hero-icon--skill{width:36px;height:36px}.mobile-hero-army{display:grid;gap:16px}body.mobile-ui.compact-ui .army-slots{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));width:100%;gap:4px}body.mobile-ui.compact-ui .army-slot{width:auto;min-width:44px;min-height:60px}body.mobile-ui.compact-ui .slot-count{font-size:14px}body.mobile-ui.compact-ui.portrait-ui .army-slots{grid-template-columns:repeat(4,minmax(44px,1fr))}body.mobile-ui.compact-ui .hero-inventory{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto;gap:16px;font:14px/1.4 system-ui}body.mobile-ui.compact-ui .hero-equipment-body,body.mobile-ui.compact-ui .hero-equipment-accessories{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));height:auto;gap:4px}body.mobile-ui.compact-ui .hero-equipment-mannequin{display:none}body.mobile-ui.compact-ui .hero-inventory .artifact-equipment-slot{position:relative;inset:auto;width:100%;height:64px;padding:8px;transform:none}body.mobile-ui.compact-ui .artifact-slot small{font-size:12px;line-height:1.2}body.mobile-ui.compact-ui .hero-equipment-accessories .artifact-equipment-slot{height:64px}body.mobile-ui.compact-ui .hero-backpack-items{height:auto;min-height:192px;max-height:320px;grid-template-columns:repeat(3,minmax(44px,1fr))}body.mobile-ui.compact-ui .artifact-detail,body.mobile-ui.compact-ui .artifact-combinations{max-height:none;overflow:visible;font-size:14px}.mobile-equip-actions{display:flex;flex-wrap:wrap;gap:4px}body.mobile-ui.compact-ui .hero-exchange{position:static;inset:auto;width:100%;height:auto;padding:6px;font:14px/1.4 system-ui}body.mobile-ui.compact-ui .hero-exchange .exchange-controls{flex-wrap:wrap}body.mobile-ui.compact-ui .hero-exchange input{max-width:120px}body.mobile-ui.compact-ui .hero-exchange select{max-width:100%}body.mobile-ui.compact-ui .mobile-spellbook .dialog-content{display:flex;flex-direction:column;min-height:0}.mobile-spellbook-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;gap:12px}.mobile-spell-list{overflow-y:auto;min-height:0;max-height:55dvh;display:flex;flex-direction:column;gap:6px}.mobile-spell-list>button{display:flex;gap:8px;text-align:left;align-items:center;flex-shrink:0}.mobile-spell-list small{display:block;opacity:.7}.mobile-spell-detail{overflow:auto;font:14px/1.5 system-ui}.mobile-spell-detail h3{margin:0}body.mobile-ui.compact-ui.portrait-ui .mobile-spellbook-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(100px,1fr) auto}body.mobile-ui.compact-ui.portrait-ui .mobile-spell-list{max-height:35dvh}body.mobile-ui.compact-ui.portrait-ui .hero-inventory{grid-template-columns:minmax(0,1fr)}body.mobile-ui.compact-ui.portrait-ui .mobile-hero-identity{flex-wrap:wrap}body.mobile-ui.compact-ui .town-header{height:calc(var(--town-header-height) + var(--safe-area-top,env(safe-area-inset-top)));padding:var(--safe-area-top,env(safe-area-inset-top)) max(8px,var(--safe-area-right,env(safe-area-inset-right))) 0 max(8px,var(--safe-area-left,env(safe-area-inset-left)))}body.mobile-ui.compact-ui .town-treasury[hidden]{display:none}body.mobile-ui.compact-ui .town-identity,body.mobile-ui.compact-ui .town-identity>div{min-width:0}body.mobile-ui.compact-ui .town-header .town-identity h1{overflow:hidden;text-overflow:ellipsis}body.mobile-ui.compact-ui .town-crest{flex-shrink:0}body.mobile-ui.compact-ui .town-resource-button{flex-shrink:0;margin-left:auto;display:flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid #92744870;border-radius:4px;background:#100c0870;color:#f1d9aa;font:13px system-ui;white-space:nowrap}.town-resource-button__text{display:grid;gap:2px;text-align:left}.town-resource-button small{font-size:11px;color:#cdb98d}.town-resource-button strong{font-variant-numeric:tabular-nums}body.mobile-ui.compact-ui .town-upgrade-chain button{font-size:12px}body.mobile-ui.compact-ui .town-upgrade-chain button span{font-size:10px}body.mobile-ui.compact-ui .town-army-dock .town-garrison__column h4{font-size:11px}body.mobile-ui.compact-ui .town-army-dock .slot-empty{font-size:10px}body.mobile-ui.compact-ui .town-army-dock .town-garrison__hint{font-size:11px}body.mobile-ui.compact-ui .town-army-dock .town-garrison__hero-army{flex-wrap:wrap;row-gap:6px}body.mobile-ui.compact-ui .town-army-dock .town-garrison__hero-army>.army-operations-open{flex:1 1 100%;min-height:44px}body.mobile-ui.compact-ui .town-command-bar{position:fixed;inset:auto 0 0;width:auto;height:calc(var(--town-command-height) + var(--safe-area-bottom,env(safe-area-inset-bottom)));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px max(4px,var(--safe-area-right,env(safe-area-inset-right))) calc(4px + var(--safe-area-bottom,env(safe-area-inset-bottom))) max(4px,var(--safe-area-left,env(safe-area-inset-left)));border-top:1px solid #b799556b}body.mobile-ui.compact-ui .town-command-bar>button{position:relative;gap:3px;padding:2px;border:1px solid #a58c523d;border-radius:3px;background-color:#ad976b08;font:11px/1.1 system-ui;letter-spacing:0;color:#e7dfcb}body.mobile-ui.compact-ui .town-command-bar .town-icon{width:22px;height:22px}body.mobile-ui.compact-ui .town-command-bar .town-command-exit{margin-left:0;max-width:none;background-color:#ad976b1a}.town-build-indicator{position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:50%;background:#bec798}.town-build-indicator.is-complete{background:transparent;border:1px solid #999e9c}body.mobile-ui.compact-ui .town-scene-status{bottom:calc(var(--town-command-height) + var(--safe-area-bottom,env(safe-area-inset-bottom)) + 10px);left:50%;max-width:calc(100% - 24px);text-align:center}body.mobile-ui.compact-ui .mobile-sheet-bottom:has(.town-mobile-sheet){padding-right:max(8px,var(--safe-area-right,env(safe-area-inset-right)));padding-left:max(8px,var(--safe-area-left,env(safe-area-inset-left)));padding-bottom:calc(var(--mobile-town-dock) + var(--safe-area-bottom,env(safe-area-inset-bottom)) + 8px)}body.mobile-ui.compact-ui .mobile-sheet-bottom .town-mobile-sheet{max-height:min(460px,calc(var(--visible-height,100dvh) - var(--mobile-town-dock) - var(--safe-area-top,env(safe-area-inset-top)) - var(--safe-area-bottom,env(safe-area-inset-bottom)) - 16px))}.town-building-detail__summary,.town-recruitment__content{display:contents}body.mobile-ui.compact-ui .town-management-backdrop{padding:max(6px,var(--safe-area-top,env(safe-area-inset-top))) max(6px,var(--safe-area-right,env(safe-area-inset-right))) max(6px,var(--safe-area-bottom,env(safe-area-inset-bottom))) max(6px,var(--safe-area-left,env(safe-area-inset-left)));grid-template-rows:minmax(0,1fr)}body.mobile-ui.compact-ui .town-management{height:calc(var(--visible-height,100dvh) - 12px - var(--safe-area-top,env(safe-area-inset-top)) - var(--safe-area-bottom,env(safe-area-inset-bottom)));min-height:0;max-height:100%;max-width:100%;overflow:hidden}body.mobile-ui.compact-ui .town-management__header{flex:0 0 52px;padding:4px 8px;gap:8px}body.mobile-ui.compact-ui .town-management.game-dialog-surface>.town-management__header{padding-top:8px}body.mobile-ui.compact-ui .town-management__header h2{font-size:18px}body.mobile-ui.compact-ui .town-management__header .town-eyebrow{display:none}body.mobile-ui.compact-ui .town-management__header button{background:#25362e;color:#f0dfbc;border:1px solid #8f7951}body.mobile-ui.compact-ui .town-management__workspace{flex-direction:column;overflow:hidden}body.mobile-ui.compact-ui .town-management__header .resource-info{flex:1;min-width:0;display:grid;grid-template-columns:1.5fr repeat(6,minmax(0,1fr));margin:0;padding:0;gap:3px}body.mobile-ui.compact-ui .town-management__header .resource-info__item{min-width:0;flex-direction:column;gap:2px;padding:4px 0;background:#100c0866;border:1px solid #92744840;border-radius:3px}body.mobile-ui.compact-ui .town-management__header .resource-info__value{font:600 11px/1.1 system-ui;font-variant-numeric:tabular-nums;color:#f7e6bf}body.mobile-ui.compact-ui .town-management__body{min-height:0;overflow:auto}body.mobile-ui.compact-ui .town-management__body:has(.mobile-construction,.mobile-recruitment),body.mobile-ui.compact-ui .town-compound-content:has(.mobile-construction,.mobile-recruitment){overflow:hidden}body.mobile-ui.compact-ui .town-compound-panel:has(.mobile-construction,.mobile-recruitment)>.town-compound-sections{flex-wrap:nowrap;overflow-x:auto;margin:0}body.mobile-ui.compact-ui .town-compound-panel:has(.mobile-construction,.mobile-recruitment)>.town-compound-sections>button{flex-shrink:0;min-height:44px}body.mobile-ui.compact-ui .town-management__status{flex:0 0 auto;min-height:0;padding:4px 8px;font-size:12px}body.mobile-ui.compact-ui .town-management__status:has(span:empty):not(:has(.is-warning)){display:none}body.mobile-ui.compact-ui .mobile-construction{display:flex;flex-direction:column;min-height:0;height:100%}body.mobile-ui.compact-ui .mobile-construction>.town-building-detail{display:none}body.mobile-ui.compact-ui .mobile-construction.is-detail>.town-building-catalog{display:none}body.mobile-ui.compact-ui .mobile-construction.is-detail>.town-building-detail{display:flex;flex:1;min-height:0;overflow:hidden;padding:12px}body.mobile-ui.compact-ui .mobile-construction-back{flex:0 0 44px;color:#f2e2bb;background:#22342e;border:1px solid #80704a;text-align:left;padding:8px}body.mobile-ui.compact-ui .town-building-detail__content{flex:1 1 0}body.mobile-ui.compact-ui .town-building-detail__summary{display:grid;grid-template-columns:minmax(0,1fr) 80px;column-gap:12px;align-items:start}body.mobile-ui.compact-ui .town-building-detail__summary>:not(.town-building-detail__art){grid-column:1}body.mobile-ui.compact-ui .town-building-detail__summary .town-building-detail__art{grid-column:2;grid-row:1 / 3;height:80px;min-height:0;overflow:hidden}body.mobile-ui.compact-ui .town-building-detail__art .town-building-art{width:80px;height:80px}body.mobile-ui.compact-ui .town-building-detail__summary>p{grid-column:1 / -1}body.mobile-ui.compact-ui.portrait-ui .town-building-detail__summary{grid-template-columns:minmax(0,1fr)}body.mobile-ui.compact-ui.portrait-ui .town-building-detail__summary>.town-eyebrow{grid-row:1}body.mobile-ui.compact-ui.portrait-ui .town-building-detail__summary>h3{grid-row:2}body.mobile-ui.compact-ui.portrait-ui .town-building-detail__summary .town-building-detail__art{grid-column:1;grid-row:3;height:218px;margin:0 0 12px}body.mobile-ui.compact-ui.portrait-ui .town-building-detail__art .town-building-art{width:218px;height:218px;max-height:218px}body.mobile-ui.compact-ui.portrait-ui .town-building-detail__summary>p{grid-row:4}body.mobile-ui.compact-ui .town-building-detail__action{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 0 0;margin-top:8px}body.mobile-ui.compact-ui .town-building-detail__action>.town-cost{flex:1 1 120px;gap:4px 8px;font-size:12px}body.mobile-ui.compact-ui .town-building-detail__action>.town-primary-action{flex:1 0 150px;width:auto}body.mobile-ui.compact-ui .town-building-catalog{flex:1;padding:10px}body.mobile-ui.compact-ui .town-building-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}body.mobile-ui.compact-ui .town-building-detail h3{font-size:22px}body.mobile-ui.compact-ui .town-building-detail p{font-size:14px}body.mobile-ui.compact-ui .town-recruitment{min-width:0;height:100%;min-height:0;display:flex;flex-direction:column}body.mobile-ui.compact-ui .town-recruitment__content{display:block;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}body.mobile-ui.compact-ui .town-recruitment__list{flex:none;overflow:visible;padding:8px}body.mobile-ui.compact-ui .mobile-recruit-options{margin:0 8px;font-size:13px}body.mobile-ui.compact-ui .mobile-recruit-options>summary{min-height:44px;padding:12px 4px;cursor:pointer}body.mobile-ui.compact-ui :is(.mobile-recruit-options,.recruit-options-sheet) .recruit-assistance{padding:0 0 8px}body.mobile-ui.compact-ui :is(.mobile-recruit-options,.recruit-options-sheet) .recruit-assistance>span{display:flex;flex-wrap:wrap;align-items:center}body.mobile-ui.compact-ui :is(.mobile-recruit-options,.recruit-options-sheet) .recruit-assistance label{min-height:44px}body.mobile-ui.compact-ui :is(.mobile-recruit-options,.recruit-options-sheet) .recruit-assistance>span label{min-width:44px}body.mobile-ui.compact-ui :is(.mobile-recruit-options,.recruit-options-sheet) .recruit-remaining{padding-bottom:8px}body.mobile-ui.compact-ui .town-recruitment__footer{flex:0 0 auto;min-height:44px;display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:6px;padding:6px 8px;font-size:12px}body.mobile-ui.compact-ui .town-recruitment__footer>div{min-width:0}body.mobile-ui.compact-ui .town-recruitment__footer>div:first-child{max-width:min(120px,30vw)}body.mobile-ui.compact-ui .town-recruitment__footer .town-cost{gap:2px 6px}body.mobile-ui.compact-ui .town-recruitment__footer .town-cost>span{gap:3px;font:600 11px/1.2 system-ui}body.mobile-ui.compact-ui .town-recruitment__footer .town-eyebrow{display:none}body.mobile-ui.compact-ui .town-recruitment__footer>.town-inline-reason{grid-column:1 / -1}body.mobile-ui.compact-ui .town-recruitment__footer>.town-inline-reason:empty{display:none}body.mobile-ui.compact-ui .town-recruitment__intro>.town-eyebrow{display:none}body.mobile-ui.compact-ui .town-recruitment__content>.town-recruitment__hint{padding:0 8px;font-size:13px}body.mobile-ui.compact-ui .town-recruitment__intro{flex:0 0 auto;padding:6px;font-size:12px}body.mobile-ui.compact-ui .mobile-recruitment .town-recruit-card:not(.mobile-selected-creature)>:not(.mobile-recruit-select){display:none}body.mobile-ui.compact-ui .mobile-recruitment .town-recruit-variants{display:flex;flex-direction:column;gap:6px}body.mobile-ui.compact-ui .mobile-recruitment .town-recruit-card{min-height:0;display:flex;flex-direction:column;gap:0;padding:0;width:100%;border-radius:4px;overflow:hidden}.mobile-recruit-select{display:flex;width:100%;align-items:center;gap:10px;color:#f1dfbe;background:#1d2a2c;border:0;text-align:left;padding:8px}.mobile-recruit-select[aria-expanded=true]{background:#3b3527;box-shadow:inset 0 -1px #b4955a80}.mobile-recruit-select__chevron{display:block;flex:0 0 20px;width:20px;height:20px}.mobile-recruit-select[aria-expanded=true]>.mobile-recruit-select__chevron{transform:rotate(180deg)}.mobile-recruit-select__portrait{width:44px;height:44px;flex:0 0 44px;container-type:size;display:flex;align-items:center;justify-content:center}.mobile-recruit-select__label{flex:1;min-width:0;font-weight:600}.mobile-recruit-select small{display:block;margin-top:3px;font-size:12px;font-weight:400;color:#cdb98d}body.mobile-ui.compact-ui .mobile-recruitment .town-creature-portrait{display:none}body.mobile-ui.compact-ui .mobile-selected-creature .town-recruit-card__body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px}body.mobile-ui.compact-ui .mobile-selected-creature .town-recruit-card__body>:is(.town-eyebrow,h3){display:none}body.mobile-ui.compact-ui .mobile-selected-creature .town-recruit-card__body>.town-quantity,body.mobile-ui.compact-ui .mobile-selected-creature .town-recruit-card__body>.town-inline-reason{grid-column:1 / -1}body.mobile-ui.compact-ui .town-quantity{display:grid;grid-template-columns:44px minmax(44px,1fr) 44px auto auto;gap:4px}body.mobile-ui.compact-ui .town-quantity input{width:100%;min-width:0}body.mobile-ui.compact-ui .town-quantity>.ui-button{margin:0;padding:4px 8px;font-size:13px}body.mobile-ui.compact-ui .town-quantity>.recruit-purchase{padding-inline:4px}body.mobile-ui.compact-ui .town-recruitment__footer>.town-recruitment__actions{display:flex;justify-content:flex-end;grid-column:2;grid-row:1;gap:6px}body.mobile-ui.compact-ui .town-recruitment__actions>.ui-button{--action-padding-inline: 8px;--action-icon-gap: 4px;padding:6px 8px;gap:4px;font:600 12px/1.2 system-ui;letter-spacing:0;text-transform:none}body.mobile-ui.compact-ui .town-recruitment__actions>.recruit-purchase:not([data-compact-action]){min-width:56px;gap:4px}body.mobile-ui.compact-ui .town-creature-stats{flex-wrap:wrap;row-gap:6px}body.mobile-ui.compact-ui .town-creature-stats,body.mobile-ui.compact-ui .town-unit-cost{font-size:13px}body.mobile-ui.compact-ui .town-recruit-group>header{flex-wrap:wrap;gap:6px 12px;font-size:13px}body.mobile-ui.compact-ui .town-creature-stats b,body.mobile-ui.compact-ui .town-unit-cost>span:last-child{font-size:13px}body.mobile-ui.compact-ui .mobile-selected-creature h3{margin:0;font-size:18px}body.mobile-ui.compact-ui .mobile-selected-creature .town-unit-cost{margin:2px 0}body.mobile-ui.compact-ui .town-army-dock{position:fixed;inset:auto max(8px,var(--safe-area-right,env(safe-area-inset-right))) calc(var(--town-command-height) + var(--safe-area-bottom,env(safe-area-inset-bottom)) + 8px) max(8px,var(--safe-area-left,env(safe-area-inset-left)));height:auto;max-height:calc(100dvh - var(--town-header-height) - var(--safe-area-top,env(safe-area-inset-top)) - var(--town-command-height) - var(--safe-area-bottom,env(safe-area-inset-bottom)) - 16px);width:auto;padding:8px;z-index:25;background:#14201dfc;border:1px solid #b799556b;border-radius:4px;overflow:auto;overscroll-behavior:contain}.mobile-army-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-8px;background:#14201d;z-index:2}.mobile-army-header button{border:1px solid #88744c;background:#26382e;color:#f1dfbe}body.mobile-ui.compact-ui .town-shell .town-garrison__layout{grid-template-columns:minmax(0,1fr)}body.mobile-ui.compact-ui .town-shell .town-garrison{height:auto}body.mobile-ui.compact-ui .town-shell .town-garrison__hero-portrait{min-width:44px;min-height:44px}.mobile-town-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-town-services>button{display:flex;align-items:center;gap:8px;text-align:left}.mobile-town-services .town-icon{width:22px;height:22px;flex-shrink:0;color:#c6b380}body.mobile-ui.compact-ui .town-service-content{min-width:0;max-width:100%}body.mobile-ui.compact-ui .marketplace__tabs{flex-wrap:wrap}body.mobile-ui.compact-ui.portrait-ui .marketplace__resources{grid-template-columns:minmax(0,1fr)}body.mobile-ui.compact-ui .marketplace-dialog{min-width:0;width:100%;max-width:100%}body.mobile-ui.compact-ui .town-compound-panel{min-height:0}body.mobile-ui.compact-ui .guild-sections{flex-wrap:wrap}body.mobile-ui.compact-ui.portrait-ui .battle-result-armies{grid-template-columns:minmax(0,1fr)}body.mobile-ui.compact-ui .dialog-content>div{max-width:100%}body.mobile-ui.compact-ui .spell-hover-tooltip{display:none}.mobile-battle-header{position:absolute;inset:0 0 auto;height:calc(var(--battle-compact-header,48px) + var(--safe-area-top,env(safe-area-inset-top)));padding:var(--safe-area-top,env(safe-area-inset-top)) max(6px,var(--safe-area-right,env(safe-area-inset-right))) 0 max(6px,var(--safe-area-left,env(safe-area-inset-left)));display:flex;align-items:center;gap:8px;pointer-events:auto;background:#101b15f5}.mobile-battle-readout{flex:1;min-width:0;font:13px/1.3 system-ui}.mobile-battle-readout strong,.mobile-battle-readout span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-battle-readout span{font-size:12px}body.mobile-ui.compact-ui .battle-hud .mobile-turn-order{position:absolute;top:calc(var(--battle-compact-header,48px) + var(--safe-area-top,env(safe-area-inset-top)) + 6px);left:max(6px,var(--safe-area-left,env(safe-area-inset-left)));display:flex;align-items:center;gap:4px;min-width:44px;min-height:44px;height:calc(var(--mobile-battle-turn-order,64px) - 6px);box-sizing:border-box;margin:0;padding:4px 5px;border:1px solid #a28d5880;border-radius:4px;background:#101b15f5;box-shadow:none;pointer-events:auto}.mobile-turn-order__unit{display:block;position:relative;line-height:0;padding:2px;border-radius:2px}.mobile-turn-order__unit small{display:block;font:700 9px/12px system-ui,sans-serif;letter-spacing:0;text-align:center;color:#e9e6d5}.mobile-turn-order__unit.is-current{background:#ffdf80}.mobile-turn-order__unit.is-next{background:#f2efdb}.mobile-turn-order__unit.is-current small,.mobile-turn-order__unit.is-next small{color:#111b15}.mobile-turn-order__unit .battle-portrait{width:30px;height:30px;border-width:2px}.mobile-turn-order__unit .battle-portrait>span{display:none}.mobile-turn-order__unit.is-near .battle-portrait{border-color:#98c9df}.mobile-turn-order__unit.is-far .battle-portrait{border-color:#e8ab92}.mobile-turn-order__unit.is-current .battle-portrait{outline:1px solid #ffdf80;outline-offset:0}.mobile-turn-order__unit.starts-round{margin-left:6px}.mobile-turn-order__unit.starts-round:before{content:"";position:absolute;left:-6px;top:0;bottom:0;border-left:2px solid #d6ccb1}body.mobile-ui.compact-ui .battle-dock{height:calc(var(--battle-compact-dock,56px) + var(--safe-area-bottom,env(safe-area-inset-bottom)));min-height:0;grid-template-columns:44px minmax(0,1fr);padding:6px max(6px,var(--safe-area-right,env(safe-area-inset-right))) calc(6px + var(--safe-area-bottom,env(safe-area-inset-bottom))) max(6px,var(--safe-area-left,env(safe-area-inset-left)));gap:8px}body.mobile-ui.compact-ui .battle-dock .battle-active{min-width:0}body.mobile-ui.compact-ui .battle-active strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.mobile-ui.compact-ui .battle-active .battle-stats{display:none}body.mobile-ui.compact-ui .battle-main-actions button{min-height:44px;min-width:44px;font-size:12px}body.mobile-ui.compact-ui .battle-dialog{max-height:calc(var(--visible-height,100dvh) - 12px - var(--safe-area-top,env(safe-area-inset-top)) - var(--safe-area-bottom,env(safe-area-inset-bottom)));width:min(680px,calc(100vw - 12px - var(--safe-area-left,env(safe-area-inset-left)) - var(--safe-area-right,env(safe-area-inset-right))));padding:10px}body.mobile-ui.compact-ui .battle-dialog-title{position:sticky;top:-10px;background:#172019;z-index:2;margin-bottom:8px}body.mobile-ui.compact-ui .battle-dialog h2{font-size:22px;margin:0}body.mobile-ui.compact-ui .mobile-battle-overview .battle-commanders,body.mobile-ui.compact-ui .mobile-battle-overview .battle-initiative{position:static;transform:none;height:auto;width:100%;max-width:100%;flex-wrap:wrap;margin-bottom:12px}body.mobile-ui.compact-ui .mobile-battle-overview .battle-round{display:none}body.mobile-ui.compact-ui .mobile-battle-overview .initiative-unit{min-width:44px;min-height:52px}body.mobile-ui.compact-ui .mobile-battle-overview .battle-portrait{width:40px;height:40px}body.mobile-ui.compact-ui .mobile-battle-details .battle-context{margin-bottom:16px;font-size:14px}body.mobile-ui.compact-ui .mobile-battle-details .battle-context>span{display:block;font-size:14px}body.mobile-ui.compact-ui .mobile-battle-details .battle-context>.battle-readout-unit{display:none}body.mobile-ui.compact-ui .mobile-battle-details .battle-context strong{font-size:18px}body.mobile-ui.compact-ui .mobile-battle-details .battle-context em{max-height:none;font-size:13px}body.mobile-ui.compact-ui .dialog-header{position:relative;display:flex;align-items:center;gap:8px;min-height:52px}body.mobile-ui.compact-ui .dialog-header h2{flex:1;margin:0;text-align:left;letter-spacing:.03em;font-size:18px}body.mobile-ui.compact-ui .dialog-header h2:before,body.mobile-ui.compact-ui .dialog-header h2:after{display:none}body.mobile-ui.compact-ui .dialog-header .dialog-close{position:static;flex:0 0 44px;width:44px;height:44px;margin:0;transform:none;z-index:1}body.mobile-ui.compact-ui .town-management.town-management--landscape{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;column-gap:8px}body.mobile-ui.compact-ui .town-management.game-dialog-surface.town-management--landscape>.town-management__header{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:0;padding:0 8px 0 0;gap:6px;overflow-y:auto;overscroll-behavior:contain;border-bottom:0;border-right:1px solid var(--town-line)}body.mobile-ui.compact-ui .town-management--landscape .town-management__header .resource-info{flex:0 0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:16px 0 8px;border-bottom:1px solid var(--town-line)}body.mobile-ui.compact-ui .town-management--landscape .town-management__header .resource-info__item:first-child{grid-column:1 / -1;flex-direction:row;justify-content:center;gap:6px}body.mobile-ui.compact-ui .town-management--landscape :is(.town-landscape-back,.town-landscape-options,.town-landscape-sections){flex:0 0 auto;min-width:0}body.mobile-ui.compact-ui .town-management--landscape :is(.town-landscape-back,.town-landscape-options,.town-landscape-sections):empty{display:none}body.mobile-ui.compact-ui .town-management--landscape .mobile-construction-back{width:100%}body.mobile-ui.compact-ui .town-management--landscape .town-compound-sections{display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px;margin:0;overflow:visible}body.mobile-ui.compact-ui .town-management--landscape .town-compound-sections>button{background:#322619;color:#f0dbb3;border:1px solid #987b4e80;width:100%;min-height:44px;white-space:normal;text-align:left;padding:8px;font-size:13px;line-height:1.3}body.mobile-ui.compact-ui .town-management--landscape .town-compound-sections>button[aria-current=page]{background:#49391f;border-color:#dfbb71}body.mobile-ui.compact-ui .town-management--landscape .town-landscape-options>button{width:100%;min-height:44px;padding:8px;text-align:left;white-space:normal;color:#f0dbb3;background:#322619;border:1px solid #987b4e80}body.mobile-ui.compact-ui .town-management--landscape>.town-management__workspace{grid-column:2;grid-row:1;min-width:0;padding-right:16px}body.mobile-ui.compact-ui .town-management--landscape .town-management__body{container:town-content / inline-size}body.mobile-ui.compact-ui .town-management--landscape>.town-management__status{grid-column:1 / -1}body.mobile-ui.compact-ui .town-management--landscape .town-building-detail__summary{grid-template-columns:minmax(0,1fr)}body.mobile-ui.compact-ui .town-management--landscape .town-building-detail__summary>.town-eyebrow{grid-row:1}body.mobile-ui.compact-ui .town-management--landscape .town-building-detail__summary>h3{grid-row:2}body.mobile-ui.compact-ui .town-management--landscape .town-building-detail__summary .town-building-detail__art{display:grid;grid-column:1;grid-row:3;height:192px;margin:0 0 12px}body.mobile-ui.compact-ui .town-management--landscape .town-building-detail__art .town-building-art{width:192px;height:192px;max-height:192px}body.mobile-ui.compact-ui .town-management--landscape .town-building-detail__summary>p{grid-column:1;grid-row:4}body.mobile-ui.compact-ui .town-management--landscape .mobile-selected-creature .town-recruit-card__body>.town-eyebrow{display:none}@container town-content (min-width: 540px){body.mobile-ui.compact-ui .town-building-detail__content{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);grid-template-rows:repeat(3,max-content);gap:0 16px;align-content:start}body.mobile-ui.compact-ui .town-building-detail__content>:not(.town-building-detail__requirements){grid-column:1}body.mobile-ui.compact-ui .town-building-detail__requirements{grid-column:2;grid-row:1 / 4;align-self:start}body.mobile-ui.compact-ui .mobile-selected-creature .town-recruit-card__body{grid-template-columns:minmax(0,1fr) minmax(260px,1fr)}body.mobile-ui.compact-ui .mobile-selected-creature .town-creature-stats,body.mobile-ui.compact-ui .mobile-selected-creature .town-unit-cost{grid-column:1}body.mobile-ui.compact-ui .mobile-selected-creature .town-recruit-card__body>.town-quantity{grid-column:2;grid-row:1 / 3;align-self:center}}body.mobile-ui.compact-ui .dialog-panel{animation:none;transform:none}body.mobile-ui.compact-ui .dialog-backdrop{animation:none}body.mobile-ui.compact-ui .ui-button,body.mobile-ui.compact-ui .battle-hud button,body.mobile-ui.compact-ui .battle-dialog button{min-height:44px;min-width:44px}body.mobile-ui.compact-ui .town-garrison__upgrade{margin-top:8px;color:#f1dfbe;background:#26382e;border:1px solid #88744c}body.mobile-ui.compact-ui .town-service-content .marketplace__resource-grid{grid-template-columns:repeat(4,minmax(0,1fr))}body.mobile-ui.compact-ui .town-service-content .marketplace__resource-name{font-size:12px}body.mobile-ui.compact-ui .town-service-content{padding:12px}body.mobile-ui.compact-ui .town-building-card__name{font-size:14px}body.mobile-ui.compact-ui.portrait-ui .level-up__options{flex-direction:column}body.mobile-ui.compact-ui.portrait-ui .level-up__option{max-width:none}body.mobile-ui.compact-ui .level-up__effect{font-size:14px}body.mobile-ui.compact-ui .game-dialog-surface.battle-dialog>.dialog-content{padding:14px 16px 10px}body.mobile-ui.compact-ui .battle-dialog-actions{position:sticky;bottom:-10px;background:#172019;padding:8px 0;flex-wrap:wrap}body.mobile-ui.compact-ui .battle-dialog-actions .battle-result-confirm{flex:1 1 100%;min-height:48px;border:1px solid #e6c66f;background:linear-gradient(#d9b45a,#a57e2c);color:#1a1208;font:600 16px system-ui}body.mobile-ui.compact-ui .battle-inspect{flex-wrap:wrap;gap:12px}body.mobile-ui.compact-ui .mobile-battle-header>button{background:#29362b;border:1px solid #8e7d55;color:#f0e4ca;font:13px system-ui}body.mobile-ui.compact-ui .town-management__status>span:has(kbd){display:none}body.mobile-ui.compact-ui .dialog-backdrop,body.mobile-ui.compact-ui .town-management-backdrop{top:var(--visible-top,0px);bottom:auto;height:var(--visible-height,100dvh)}body.mobile-ui.compact-ui .town-management{animation:none}body.mobile-ui.compact-ui .town-service-content .marketplace__resource-name{letter-spacing:0;text-transform:capitalize;white-space:normal;text-overflow:clip}.mobile-battle-header button>small{display:block;font:12px system-ui;color:#f1dfb9}.info-popup__actions{flex:0 0 auto;margin-top:10px}.info-popup__actions>button{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:6px 14px;border:1px solid #f0d58e;border-radius:3px;background:linear-gradient(#dcb662,#a87d32);color:#1a1208;text-align:left}.info-popup__actions strong{font:700 16px system-ui}.info-popup__actions small{font:600 12px system-ui;color:#3a2a12}body.mobile-ui.compact-ui .turn-review.management-panel{max-height:none;overflow:visible;padding-bottom:0}body.mobile-ui.compact-ui .dialog-content:has(>.turn-review){padding-bottom:0}body.mobile-ui.compact-ui .turn-review footer{position:sticky;bottom:0;z-index:1;margin:12px -16px 0;padding:14px 16px 12px;background:linear-gradient(#1b150f00,#1b150ff7 14px)}body.dense-ui{--right-panel-width: var(--dense-adventure-panel)}body.dense-ui:has(.adventure-active){--resource-bar-height: var(--dense-resource-bar)}body.dense-ui .adventure-right-panel__minimap{display:flex;justify-content:center}body.dense-ui .adventure-right-panel .mini-map{width:min(var(--dense-minimap),calc(100dvh - 360px))}body.dense-ui .adventure-right-panel__middle{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr)}body.dense-ui .adventure-right-panel__col{min-height:0;padding:4px}body.dense-ui .adventure-right-panel__col--controls{padding:4px}body.dense-ui .adventure-roster-list{min-height:0;flex:1}body.dense-ui .adventure-roster-card{flex-shrink:0;min-height:72px;padding:3px 2px;gap:3px}body.dense-ui .hero-portrait-name,body.dense-ui .castle-list-name{font-size:11.5px}body.dense-ui .hero-portrait-avatar{width:32px;height:32px}body.dense-ui .town-roster-art{width:56px;height:40px}body.dense-ui .game-controls-column:not(.mobile-command-list){display:flex;flex-direction:column;min-height:0;max-height:100%;padding:0;gap:6px}body.dense-ui .game-controls-buttons{padding-block:2px;scroll-padding-block:2px;display:grid;grid-template-columns:repeat(2,32px);gap:6px;min-height:0;overflow-y:auto;scrollbar-width:thin}body.dense-ui .game-controls-column .gc-btn{min-height:32px}body.dense-ui .game-controls-column .gc-end-turn{flex-shrink:0;min-height:32px}body.dense-ui .active-hero-panel{padding:12px 6px 6px;gap:4px}body.dense-ui .active-hero-panel__header{gap:5px}body.dense-ui .active-hero-panel__avatar{width:32px;height:32px}body.dense-ui .active-hero-panel .army-slots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}body.dense-ui .active-hero-panel .army-slot{min-width:0;width:100%;height:48px;padding:2px 0}body.dense-ui .active-hero-panel .slot-count{max-width:100%;font-variant-numeric:tabular-nums}body.dense-ui .active-hero-panel .slot-empty{font-size:8px}body.dense-ui .resource-bar{padding:4px 10px;gap:4px}body.dense-ui .resource-item{flex:0 0 auto;min-width:0;height:34px;padding:0 8px;gap:4px}body.dense-ui .resource-label{display:none}body.dense-ui .resource-value{font-size:13px;font-variant-numeric:tabular-nums}body.dense-ui .resource-item+.resource-item:before{height:24px;width:5px;left:-4px}body.dense-ui .resource-bar__day-badge{min-width:0;flex:0 1 auto;font-size:12px}body.dense-ui .resource-bar__day-badge>span:last-child{overflow:hidden;text-overflow:ellipsis}body.dense-ui .resource-bar__day-badge--warning{white-space:normal;max-width:170px;margin-left:4px}body.dense-ui .turn-indicator{max-width:calc(100vw - var(--right-panel-width) - 32px)}body.dense-ui .adventure-spell-prompt{left:calc((100vw - var(--right-panel-width)) / 2)!important;max-width:calc(100vw - var(--right-panel-width) - 32px)}body.dense-ui .dialog-backdrop{padding:16px}body.dense-ui .dialog-panel{min-width:0;max-width:min(760px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column}body.dense-ui .dialog-header{flex:0 0 auto;min-height:0;padding:12px 54px 12px 18px}body.dense-ui .dialog-header h2{margin:0}body.dense-ui .dialog-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 18px 18px}body.dense-ui .town-header{gap:12px;padding:0 14px}body.dense-ui .town-identity{min-width:0;flex:0 1 245px}body.dense-ui .town-identity>div{min-width:0}body.dense-ui .town-identity h1{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dense-ui .town-crest{width:36px;height:36px}body.dense-ui .town-treasury{flex:1;justify-content:center;gap:10px}body.dense-ui .town-calendar{min-width:130px;padding-left:10px}body.dense-ui .town-command-bar{padding:0 10px;gap:0}body.dense-ui .town-command-bar button{min-width:0;gap:3px;padding:4px}body.dense-ui .town-command-bar button .town-icon{width:22px;height:22px}body.dense-ui .town-command-bar .town-command-exit{margin-left:6px}body.dense-ui .town-army-dock{padding:5px 14px 2px}body.dense-ui .town-army-dock .town-garrison__layout{gap:16px}body.dense-ui .town-army-dock .town-garrison__column h4{margin-bottom:3px}body.dense-ui .town-army-dock .town-garrison__hero-army{gap:6px}body.dense-ui .town-army-dock .army-slots{gap:3px}body.dense-ui .town-army-dock .town-garrison__hint{margin-top:3px}body.dense-ui .town-management-backdrop{padding:16px}body.dense-ui .town-management{height:min(800px,calc(100dvh - 32px));max-width:100%}body.dense-ui .town-management__header{flex-basis:60px;min-width:0;padding:8px 14px;gap:12px}body.dense-ui .town-management__header h2{font-size:23px}body.dense-ui .town-management__header .resource-info{gap:8px}body.dense-ui .town-management__nav{flex-basis:140px;padding:8px 0;overflow-y:auto}body.dense-ui .town-management__nav>button{padding:10px;gap:8px;flex-shrink:0}body.dense-ui .town-management__status{flex-basis:28px;padding:0 14px}body.dense-ui .town-construction{grid-template-columns:minmax(0,1fr) 250px}body.dense-ui .town-building-catalog{padding:12px}body.dense-ui .town-building-catalog>*+*{margin-top:18px}body.dense-ui .town-building-detail{padding:14px}body.dense-ui .town-building-detail__art{min-height:100px;height:115px;margin-bottom:8px}body.dense-ui .town-building-detail__art .town-building-art{max-height:115px}body.dense-ui .town-building-detail__action{padding:10px 0 0;margin-top:10px}body.dense-ui .town-service-content{padding:18px}body.dense-ui .town-recruit-card{padding:10px;gap:8px}body.dense-ui .battle-commanders{height:56px;padding:4px 18px}body.dense-ui .commander-portrait{width:38px;height:42px}body.dense-ui .battle-commander{min-width:0;gap:8px}body.dense-ui .battle-commander>div:last-child{min-width:0}body.dense-ui .battle-commander strong{font-size:18px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dense-ui .battle-round{top:3px}body.dense-ui .battle-round strong{font-size:24px;line-height:25px}body.dense-ui .battle-initiative{top:60px;height:calc(var(--dense-battle-top) - 64px);padding:3px 8px;gap:3px}body.dense-ui .battle-hud .initiative-unit{width:34px;min-width:34px}body.dense-ui .initiative-unit .battle-portrait{width:32px;height:32px}body.dense-ui .initiative-unit>small{margin-top:0}body.dense-ui .battle-dock{height:var(--dense-battle-bottom);min-height:0;grid-template-columns:minmax(185px,1fr) minmax(360px,1.65fr) minmax(190px,1fr);gap:12px;padding:8px 16px}body.dense-ui .battle-active{min-width:0;gap:8px;max-height:100%;overflow-y:auto}body.dense-ui .battle-active>div{min-width:0}body.dense-ui .battle-active>.battle-portrait,body.dense-ui .battle-siege-symbol{width:46px;height:56px}body.dense-ui .battle-active strong{font-size:18px;margin:3px 0}body.dense-ui .battle-stats{gap:6px;font-size:11px}body.dense-ui .battle-effects{margin-top:3px}body.dense-ui .battle-main-actions button{padding:7px 6px}body.dense-ui .battle-settings{margin-top:5px}body.dense-ui .battle-secondary{margin-top:5px;gap:8px;flex-wrap:wrap}body.dense-ui .battle-context{min-width:0;min-height:0;max-height:100%;overflow-y:auto;padding-left:12px;gap:3px}body.dense-ui .battle-context strong{font-size:15px}body.dense-ui .battle-dialog{max-height:calc(100dvh - 32px);padding:16px}body.dense-ui .battle-dialog-title{position:sticky;top:-16px;z-index:1;background:#172019;margin-bottom:12px;padding-top:8px}body.dense-ui .pregame-page .pregame-header{min-height:60px;padding:10px 20px}body.dense-ui .pregame-page .pregame-footer{min-height:56px;padding:8px 20px}body.dense-ui .pregame-scenario-hero{height:140px}body.dense-ui .pregame-scenario-intro{padding-bottom:10px}body.dense-ui .pregame-section-heading{padding-top:10px}body.dense-ui .pregame-player-row{padding-top:5px;padding-bottom:5px}body.dense-ui .game-controls-buttons .gc-btn{scroll-margin-block:2px}.game-dialog-surface{position:relative;isolation:isolate}.dialog-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background:#17110b}.dialog-art>svg{position:absolute;display:block;overflow:hidden}.dialog-art__surface{top:12px;right:12px;bottom:12px;left:12px;width:calc(100% - 24px);height:calc(100% - 24px);opacity:.45}.dialog-art__top,.dialog-art__bottom{left:36px;width:calc(100% - 72px);height:16px}.dialog-art__top{top:0}.dialog-art__bottom{bottom:0}.dialog-art__left,.dialog-art__right{top:36px;height:calc(100% - 72px);width:16px}.dialog-art__left{left:0}.dialog-art__right{right:0}.dialog-art__corner{width:36px;height:36px}.dialog-art__corner--0{top:0;left:0}.dialog-art__corner--1{top:0;right:0}.dialog-art__corner--2{bottom:0;left:0}.dialog-art__corner--3{bottom:0;right:0}.game-dialog-surface:has(>button>.dialog-close-art)>.dialog-art>.dialog-art__corner--1{clip-path:inset(0 0 20px 20px)}.game-dialog-surface:has(>button>.dialog-close-art)>.dialog-art>.dialog-art__top{width:calc(100% - 52px)}.game-dialog-surface:has(>button>.dialog-close-art)>.dialog-art>.dialog-art__right{top:16px;height:calc(100% - 52px)}body .dialog-panel.game-dialog-surface,body .town-management.game-dialog-surface{border:0;border-image:none;border-radius:0;outline:none;background:transparent;color:#f0e6d0;padding:12px;box-shadow:0 18px 64px #000a}body .dialog-panel.game-dialog-surface{display:flex;flex-direction:column;min-width:0;max-width:100%;max-height:100%}body .dialog-panel.game-dialog-surface:before{content:none}body .dialog-art-backdrop{top:var(--visible-top, 0px);bottom:auto;height:var(--visible-height, 100dvh);box-sizing:border-box;padding:max(16px,var(--safe-area-top,0px)) max(16px,var(--safe-area-right,0px)) max(16px,var(--safe-area-bottom,0px)) max(16px,var(--safe-area-left,0px))}body .dialog-panel.game-dialog-surface>.dialog-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:6px 32px 6px 12px;border-bottom:1px solid #ac895447;background:#0d0a0738;box-shadow:none}body .dialog-panel.game-dialog-surface>.dialog-header h2{flex:1;min-width:0;width:auto;margin:0;display:block;font:600 22px/1.2 var(--ui-display-font,Georgia,serif);text-align:left;text-transform:none;letter-spacing:.02em;color:#ecd29b;overflow-wrap:anywhere;text-shadow:0 1px 2px #000}body .dialog-panel.game-dialog-surface>.dialog-header h2:before,body .dialog-panel.game-dialog-surface>.dialog-header h2:after{content:none}body .game-dialog-surface .dialog-close,body .game-dialog-surface .town-close,body .info-popup.game-dialog-surface .info-popup__close{position:absolute;top:-10px;right:-10px;z-index:3;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:50%;color:#e7c88b;background:transparent;box-shadow:none;transform:none;cursor:pointer}body .game-dialog-surface .dialog-close:hover,body .game-dialog-surface .town-close:hover,body .info-popup.game-dialog-surface .info-popup__close:hover{background:transparent}.game-dialog-surface :focus-visible{outline:2px solid #efd180;outline-offset:-2px}body .game-dialog-surface>.dialog-content{flex:1 1 auto;min-height:0;padding:16px 12px 12px;overflow-y:auto;overscroll-behavior:contain}body .game-dialog-surface.options-dialog>.dialog-content,body .game-dialog-surface.kingdom-dialog>.dialog-content,body .game-dialog-surface.feedback-save-dialog>.dialog-content{padding:0;overflow:hidden}body .dialog-panel.game-dialog-surface.battle-dialog{width:650px;font:14px/1.6 system-ui,sans-serif}.game-dialog-surface.battle-dialog .battle-log{max-height:none;overflow:visible}.game-dialog-surface.battle-dialog .battle-dialog-actions{flex-wrap:wrap}.game-dialog-surface.battle-dialog button{min-height:44px}body .town-management.game-dialog-surface>.town-management__header{flex:0 0 auto;min-height:60px;padding:4px 32px 4px 10px;gap:16px;background:#0d0a0740;border-color:#ac895447}body .town-management.game-dialog-surface>.town-management__header h2{font-size:22px}.town-management.game-dialog-surface .town-management__nav{background:#0e0c0980}.town-management.game-dialog-surface .town-management__body{background:#1718159c}.town-management.game-dialog-surface .town-management__status{background:#100c0880}body .game-dialog-surface .visitable-choice-dialog__content,body .game-dialog-surface .treasure-chest-dialog__content,body .game-dialog-surface .diplomacy-dialog__content{min-width:0;padding:8px 4px;background:none;border:0;box-shadow:none}body .game-dialog-surface .visitable-choice-dialog__option,body .game-dialog-surface .treasure-chest-dialog__option{flex:1 1 160px;min-width:0;min-height:52px;background:#332719;border:1px solid #a38249}body .game-dialog-surface .treasure-chest-dialog__chest{width:96px}body .game-dialog-surface .diplomacy-dialog__actions{flex-wrap:wrap}body.compact-ui .dialog-panel.game-dialog-surface,body.compact-ui .town-management.game-dialog-surface{padding:10px}body.compact-ui .dialog-panel.game-dialog-surface>.dialog-header{min-height:36px;padding:4px 28px 4px 8px;gap:8px}body.compact-ui .dialog-panel.game-dialog-surface>.dialog-header h2{font-size:16px;letter-spacing:0}body.compact-ui .game-dialog-surface>.dialog-content{padding:10px 6px 6px}body.compact-ui .game-dialog-surface.options-dialog>.dialog-content,body.compact-ui .game-dialog-surface.kingdom-dialog>.dialog-content,body.compact-ui .game-dialog-surface.feedback-save-dialog>.dialog-content{padding:0}body.compact-ui .game-dialog-surface.options-dialog{--options-inset: 10px}body.compact-ui .dialog-art-backdrop{padding:calc(10px + var(--safe-area-top,0px)) calc(10px + var(--safe-area-right,0px)) calc(10px + var(--safe-area-bottom,0px)) calc(10px + var(--safe-area-left,0px))}body.compact-ui .town-management.game-dialog-surface>.town-management__header{min-height:44px;padding:0 32px 4px 4px;gap:8px}body.compact-ui .town-management.game-dialog-surface>.town-management__header h2{font-size:16px}body.compact-ui .game-dialog-surface .treasure-chest-dialog__chest{width:64px;margin-bottom:6px}:where(.dialog-panel.game-dialog-surface){width:min(620px,100%)}body .game-dialog-surface.game-choice-dialog{width:620px}body .game-dialog-surface.game-choice-dialog .level-up__option{min-width:0}body.compact-ui .game-dialog-surface.game-choice-dialog .level-up__option{padding:10px 6px;gap:6px}body.compact-ui .game-dialog-surface.game-choice-dialog .level-up__options{gap:8px;padding-inline:0}body .game-dialog-surface>.dialog-content>.management-panel:not(.options-shell){width:100%;max-height:none;min-width:0;overflow:visible;padding:8px 4px}@media (max-height: 540px){body .dialog-panel.game-dialog-surface.options-dialog .options-controls-toolbar{padding-block:6px}body .dialog-panel.game-dialog-surface.options-dialog .options-shell footer.options-footer{padding-block:6px}}body .game-dialog-surface .management-panel footer.feedback-host-footer{margin-inline:0}.game-dialog-surface button{scroll-margin-block:4px}body.compact-ui .adaptive-action-footer,body.compact-ui .adaptive-action-footer .dialog-main-actions{flex-wrap:nowrap}body.compact-ui .adaptive-action-footer .dialog-icon-action{flex-shrink:0}body.compact-ui .adaptive-action-footer .dialog-icon-action[data-compact-action]{width:var(--compact-action-width,44px);min-width:var(--compact-action-width,44px);padding:0;gap:0}body.compact-ui .adaptive-action-footer .dialog-icon-action[data-compact-action] .action-button-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}body .game-dialog-surface .adventure-journal{width:100%;max-height:none;overflow:visible;padding:8px 4px}body .game-dialog-surface .adventure-journal__puzzle{width:min(272px,100%);height:auto;aspect-ratio:1}body .game-dialog-surface .dialog-close-art{width:40px;height:40px;max-width:none;object-fit:contain;pointer-events:none;transition:filter .12s ease}body .game-dialog-surface button:hover>.dialog-close-art{filter:brightness(1.3)}body .game-dialog-surface button:active>.dialog-close-art{filter:brightness(.85)}body .dialog-panel.game-dialog-surface :is(.adaptive-action-footer,.management-panel>footer,.pregame-confirm-actions,.battle-dialog-actions),body .town-management.game-dialog-surface :is(.town-recruitment__footer,.town-building-detail__requirements,.town-management__status){background-color:#171008;background-image:linear-gradient(#100a0640,#100a0680),var(--dialog-leather);background-size:auto,max(928px,calc(100% + 100px)) auto;background-position:center,right center;background-repeat:no-repeat;border-top:1px solid #b393555c}body .dialog-panel.game-dialog-surface :is(.adaptive-action-footer,.management-panel>footer,.pregame-confirm-actions){padding-block:10px}body.compact-ui .dialog-panel.game-dialog-surface :is(.adaptive-action-footer,.management-panel>footer,.pregame-confirm-actions){padding-block:8px}body .dialog-panel.game-dialog-surface .battle-dialog-actions{padding:10px 6px 6px}body .town-management.game-dialog-surface{--town-muted: #b4a58c;--town-line: #8c71454d}body .town-management.game-dialog-surface .town-management__body{background:#1d160eb8}body .town-management.game-dialog-surface :is(.town-building-detail,.town-recruit-card,.tavern-hero,.tavern-panel__treasury,.artifact-market__inspection,.marketplace__rate,.marketplace__summary,.blacksmith__item,.blacksmith__balance,.blacksmith__warning,.mage-guild__level){background:#2b2116;border-color:#80664070}body .town-management.game-dialog-surface :is(.town-building-card,.artifact-market__item,.marketplace__resource,.marketplace__tabs button,.mage-guild__spell,.mobile-recruit-select){background:linear-gradient(145deg,#352a1c,#20180f);border-color:#80664070;color:#e8d9bc}body .town-management.game-dialog-surface :is(.town-building-card,.artifact-market__item,.marketplace__resource,.marketplace__tabs button):hover:not(:disabled){background:#463722;border-color:#b3965b}body .town-management.game-dialog-surface :is(.town-building-card,.artifact-market__item,.marketplace__resource).is-selected,body .town-management.game-dialog-surface .marketplace__tabs button[aria-pressed=true]{background:#514020;border-color:#dfbb71;box-shadow:inset 0 0 0 1px #dfbb7130;color:#fff0c8}body .town-management.game-dialog-surface :is(.town-creature-portrait,.town-upgrade-chain button,input[type=number],select,.marketplace__recipient select){background:#19120c;border-color:#987b4e80;color:#e3d3b4}body .town-management.game-dialog-surface .town-upgrade-chain .is-current{border-color:#dfbb71;background:#49391f}body .town-management.game-dialog-surface .town-upgrade-chain .is-built{color:#a1c39d}body .town-management.game-dialog-surface :is(.town-building-detail p,.town-creature-stats,.town-unit-cost>span:last-child,.town-recruitment__footer>div,.town-empty,.town-service-content,.marketplace__intro,.blacksmith__description,.tavern-hero__army,.artifact-market__meta,.artifact-market__rarity){color:#c7b79b}body .town-management.game-dialog-surface :is(.town-management__nav>button,.town-requirements h4){color:#bdad8f}body .town-management.game-dialog-surface .town-management__nav>button.is-active{color:#f4ddaa}body .town-management.game-dialog-surface .town-building-card__state.is-complete{color:#a6c69a}body .town-management.game-dialog-surface .town-building-card__state.is-locked{color:#b4a58c}body .town-management.game-dialog-surface :is(.mobile-construction-back,.mobile-recruit-back,.town-management__header>button:not(.town-close)){background:#322619;border-color:#987b4e80;color:#f0dbb3}body .dialog-panel.game-dialog-surface.mobile-sheet :is(button:not(.dialog-close):not(.ui-button):not(.dialog-icon-action):not(:where(.mobile-sheet-actions>button)),select){background-color:#322619;border-color:#987b4e80;color:#f0dbb3}body .dialog-panel.game-dialog-surface.mobile-sheet button[aria-pressed=true]{background-color:#604924;border-color:#e5c987}body.compact-ui .options-dialog.game-dialog-surface .options-shell .options-nav{padding-inline:6px;gap:2px}body.compact-ui .options-dialog.game-dialog-surface .options-nav button{flex:0 1 auto;min-width:0;min-height:44px;padding:4px 12px;font-size:13px}body.compact-ui .options-dialog.game-dialog-surface .options-nav button[aria-pressed=true]:after{left:8px;right:8px}body.compact-ui .town-management.game-dialog-surface .town-close{border:0;background:transparent}body .town-management.game-dialog-surface .town-building-card__state.is-ready{color:#e0bd71}body .dialog-panel.game-dialog-surface,body .town-management.game-dialog-surface,body.mobile-ui.compact-ui .town-management.game-dialog-surface{overflow:visible}body.mobile-ui.compact-ui .town-management-backdrop{padding:calc(10px + var(--safe-area-top,0px)) calc(10px + var(--safe-area-right,0px)) calc(10px + var(--safe-area-bottom,0px)) calc(10px + var(--safe-area-left,0px))}body.compact-ui .options-dialog.game-dialog-surface .adaptive-action-footer{column-gap:4px}body.compact-ui .options-dialog.game-dialog-surface .dialog-main-actions{gap:3px}body.compact-ui .game-dialog-surface .mobile-hero-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr))}body.mobile-ui.compact-ui .dialog-art-backdrop:not(.mobile-sheet-bottom){padding:calc(10px + var(--safe-area-top,0px)) calc(10px + var(--safe-area-right,0px)) calc(10px + var(--safe-area-bottom,0px)) calc(10px + var(--safe-area-left,0px))}body.mobile-ui.compact-ui .dialog-art-backdrop:not(.mobile-sheet-bottom)>.dialog-panel.game-dialog-surface{max-height:100%}body.mobile-ui.compact-ui .mobile-sheet-bottom.dialog-art-backdrop>.dialog-panel.game-dialog-surface{max-width:calc(100% - 4px);margin-inline:2px}body .game-dialog-surface :is(.ui-button,.dialog-icon-action,.mobile-redundant-cancel,.management-panel footer>button,.battle-dialog-actions>button,.town-quantity>button,.recruit-assistance button,.game-choice-dialog .dialog-content button,.mobile-sheet-actions>button){border:1px solid #a88a55;border-radius:0;border-image:var(--dialog-button-skin) 64 / 4px / 0 repeat;background:#2a241b;color:var(--dialog-action-ink, #eadfcb);text-shadow:none;box-shadow:none;filter:none;transform:none;min-height:44px;transition:background-color .12s ease,color .12s ease}body .game-dialog-surface :is(.ui-button,.dialog-icon-action,.mobile-redundant-cancel,.management-panel footer>button,.battle-dialog-actions>button,.town-quantity>button,.recruit-assistance button,.game-choice-dialog .dialog-content button,.mobile-sheet-actions>button):after{content:none}body .game-dialog-surface :is(.ui-button,.dialog-icon-action,.mobile-redundant-cancel,.management-panel footer>button,.battle-dialog-actions>button,.town-quantity>button,.recruit-assistance button,.game-choice-dialog .dialog-content button,.mobile-sheet-actions>button):hover:not(:disabled),body .game-dialog-surface :is(.ui-button,.dialog-icon-action,.mobile-redundant-cancel,.management-panel footer>button,.battle-dialog-actions>button,.town-quantity>button,.recruit-assistance button,.game-choice-dialog .dialog-content button,.mobile-sheet-actions>button):focus-visible{background:var(--dialog-action-hover, #403525);color:var(--dialog-action-ink, #eadfcb);box-shadow:none;filter:none;transform:none}body .game-dialog-surface :is(.ui-button,.dialog-icon-action,.mobile-redundant-cancel,.management-panel footer>button,.battle-dialog-actions>button,.town-quantity>button,.recruit-assistance button,.game-choice-dialog .dialog-content button,.mobile-sheet-actions>button):focus-visible{outline:2px solid #dfc182;outline-offset:-3px}body .game-dialog-surface :is(.ui-button,.dialog-icon-action,.mobile-redundant-cancel,.management-panel footer>button,.battle-dialog-actions>button,.town-quantity>button,.recruit-assistance button,.game-choice-dialog .dialog-content button,.mobile-sheet-actions>button):active:not(:disabled){background:#211c15;box-shadow:none;filter:none;transform:none}body .game-dialog-surface :is(.ui-button,.dialog-icon-action,.mobile-redundant-cancel,.management-panel footer>button,.battle-dialog-actions>button,.town-quantity>button,.recruit-assistance button,.game-choice-dialog .dialog-content button,.mobile-sheet-actions>button):disabled{filter:none;opacity:.5;box-shadow:none;cursor:not-allowed}body .game-dialog-surface :is(.dialog-icon-action,.mobile-redundant-cancel){font:500 14px/1.2 system-ui,sans-serif;letter-spacing:0;text-transform:none}body .game-dialog-surface .mobile-redundant-cancel{flex-shrink:0}body .game-dialog-surface .ui-button.is-selected{--dialog-action-hover: #604b29}body .game-dialog-surface :is(.is-danger,.danger,.destructive){--dialog-action-ink: #ffb9a8;color:var(--dialog-action-ink)}body .town-management.game-dialog-surface .town-building-detail__action{background:#2b2116}.town-building-detail__requirements{display:grid;gap:13px;min-width:0;padding:12px}.town-building-detail__requirements>.town-inline-reason{margin-bottom:0}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;overscroll-behavior:none}body{display:flex;flex-direction:row;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:#050916;color:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#game-canvas{position:relative;flex:1 1 0;min-width:0;min-height:0;overflow:hidden;border:0;background:#050916 url(/assets/ui/main-menu-background.webp) center center / cover no-repeat}body:not(.app-loading):not(:has(.pregame-root)):not(:has(.adventure-active)) #game-canvas{border:2px solid #c8a04a;background:#111827}body:has(.adventure-active){--resource-bar-height: 60px;padding-bottom:var(--resource-bar-height)}body:has(.adventure-active) #game-canvas{border:none}#game-canvas canvas{display:block;width:100%;height:100%;touch-action:none}body:has(.adventure-active) #game-canvas canvas{filter:saturate(.96) contrast(1.035) brightness(.99)}body:has(.pregame-root) #game-canvas{border:0}#ui-overlay{position:relative;flex:0 0 0;width:0;height:100%;overflow:hidden;pointer-events:none;display:flex;align-items:flex-start;justify-content:flex-start}#ui-overlay.adventure-active{flex:0 0 var(--right-panel-width);width:var(--right-panel-width);overflow:visible}.hud{padding:16px 20px}.hud h1{margin:0;font-size:20px;letter-spacing:.04em;text-shadow:0 2px 8px rgba(0,0,0,.6)}body.touch-ui,body.touch-ui *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body.touch-ui input,body.touch-ui textarea,body.touch-ui [contenteditable=true]{-webkit-user-select:text;user-select:text}body.touch-ui #game-canvas canvas{touch-action:none}body .dialog-panel.spellbook-dialog{position:relative;flex:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none;width:min(960px,calc(100vw - 40px),calc((var(--visible-height, 100dvh) - 70px) * 1.45455));height:auto;aspect-ratio:960 / 660;max-height:none;max-width:none;min-width:0;overflow:visible}.spellbook-dialog>.dialog-header{display:none}.spellbook-dialog>.dialog-content{padding:0;width:100%;height:100%;overflow:visible}.spellbook-dialog .spellbook{width:100%;height:100%;font:14px/1.4 system-ui,sans-serif;color:#352614}.spellbook-dialog .spellbook-tabs{width:75%;gap:0}.spellbook-dialog .spellbook-tab{flex:1;min-width:0;width:auto;min-height:44px}.spellbook-dialog .spellbook-close{top:-12px;right:-4px;width:44px;height:44px}.spellbook-dialog .spellbook-workspace{position:absolute;top:14%;right:10.5%;bottom:14%;left:10%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15%}.spellbook-dialog .spellbook-list-pane,.spellbook-dialog .spellbook-detail{padding-inline:18px 6px}.spellbook-list-pane,.spellbook-detail{box-sizing:border-box;min-width:0;min-height:0;display:flex;flex-direction:column}.spellbook-list-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px;margin:0 0 12px}.spellbook-list-heading span{font-size:12px}.spellbook-list,.spellbook-modern .mobile-spell-list{overflow:auto;min-height:0;flex:1;max-height:none;overscroll-behavior:contain;scrollbar-width:thin}.spellbook-row{display:flex;align-items:stretch;margin:0 0 6px;border:1px solid transparent;border-radius:3px}.spellbook-row.is-selected{border-color:#9a7539;background:#ad88412b}.spellbook-modern .spellbook-spell{flex:1;min-width:0;min-height:54px;height:auto;padding:7px 4px;gap:7px;border:0;background:none;border-radius:0;align-items:flex-start;color:inherit;white-space:normal;text-align:left}.spellbook-modern .spellbook-spell:hover{background:#ad88412b}.spellbook-modern .spellbook-spell__info{gap:3px}.spellbook-row-title{display:flex;flex-wrap:wrap;gap:3px 8px;justify-content:space-between;align-items:baseline}.spellbook-row-title strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}.spellbook-row-title>span{font-size:12px;white-space:nowrap}.spellbook-spell small{display:block;font-size:12px;line-height:1.35;opacity:1}.spellbook-modern button{font-family:inherit}.spellbook-modern button:focus-visible{outline:2px solid #a87b24;outline-offset:-2px}.spellbook-modern .spellbook-quick{width:44px;min-width:44px;align-self:center;height:44px;padding:0;font-size:12px}.spellbook-modern .spellbook-quick,.spellbook-modern .spellbook-cast,.spellbook-modern .spellbook-back{border:1px solid #a7894c;border-radius:2px;color:#f2dfb6;background:#2a241b;cursor:pointer}.spellbook-modern button:disabled{cursor:default;opacity:.55}.spellbook-level-nav{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 4px 0;font-size:12px}.spellbook-level-nav .spellbook-arrow{position:static;flex:0 0 44px;width:44px;height:44px}.spellbook-detail-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.spellbook-detail h3{display:flex;align-items:center;gap:8px;margin:0 0 4px;font:700 20px/1.15 Georgia,serif;overflow-wrap:anywhere}.spellbook-detail p{margin:8px 0}.spellbook-meta,.spellbook-note{font-size:12px;line-height:1.5}.spellbook-effect{font-size:17px;font-weight:700}.spellbook-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;margin:14px 0}.spellbook-facts dt{font-size:12px;opacity:.8}.spellbook-facts dd{margin:0;overflow-wrap:anywhere}.spellbook-detail-action{flex:0 0 auto;padding-top:6px}.spellbook-detail-action .spellbook-cast{width:100%;min-height:44px;padding:8px;font-size:14px;font-weight:700}.spellbook-modern .spellbook-reason{color:#8a301d;font-size:12px;line-height:1.4}.spellbook-reason:empty{display:none}body .dialog-panel.mobile-spellbook.spellbook-modern{width:min(760px,100%)}body .mobile-spellbook.spellbook-modern>.dialog-content{display:flex;flex-direction:column;overflow:hidden;min-height:0}.mobile-spellbook .spellbook-workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;min-height:0;height:min(520px,calc(var(--visible-height,100dvh) - 175px))}.mobile-spellbook .spellbook-schools{flex:0 0 auto;margin-bottom:8px}.mobile-spellbook .spellbook-list-heading{padding-left:6px;margin-bottom:6px;font-size:13px}.mobile-spellbook .spellbook-list-heading span{font-size:12px}.mobile-spellbook .spellbook-detail{padding-inline:6px;overflow:hidden;font:14px/1.45 system-ui,sans-serif}.mobile-spellbook .spellbook-spell{display:flex;width:100%}.mobile-spellbook .spellbook-row{flex-shrink:0}.mobile-spellbook .spellbook-detail h3{font-size:16px}.mobile-spellbook .spellbook-effect{font-size:15px}.mobile-spellbook .spellbook-note,.mobile-spellbook .spellbook-meta{font-size:13px}.mobile-spellbook .spellbook-facts{gap:6px 10px;margin:10px 0}.mobile-spellbook .spellbook-facts dt{font-size:13px}.mobile-spellbook.spellbook-modern .spellbook-reason{color:#ffc28e}.mobile-spellbook .spellbook-back{min-height:44px}.mobile-spellbook .spellbook-back{align-self:flex-start;margin-bottom:8px}body.portrait-ui .mobile-spellbook .spellbook-workspace{grid-template-columns:minmax(0,1fr);height:min(460px,calc(var(--visible-height,100dvh) - 180px))}body.portrait-ui .mobile-spellbook .spellbook-workspace:not(.show-detail)>.spellbook-detail{display:none}body.portrait-ui .mobile-spellbook .spellbook-workspace.show-detail>.spellbook-list-pane{display:none}@media (prefers-reduced-motion: reduce){.spellbook-backdrop{animation:none}}
