/* One responsive HUD layout. These rules replace inherited positional breakpoints. */
#app.game-mode{--hud-gap:16px;--hud-edge:22px;--hud-top:22px;--left-width:228px;--right-width:264px;--nav-top:208px;--tool-size:54px;background:#7c9b55}
#app .viewport,#app .world{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;transform:none}
#app #village-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:fill}
#app .hud-player{left:var(--hud-edge);top:var(--hud-top);width:var(--left-width);z-index:12}
#app .player-profile{min-height:86px;padding:12px;gap:11px;border:1px solid #d7b77a;border-bottom:3px solid #896439;border-radius:12px;background:linear-gradient(135deg,#523c34,#352c28);box-shadow:0 5px 16px #283a2429}
#app .player-crest{height:43px;width:43px;flex:0 0 43px}
#app .player-crest .vilko-mark{border-radius:9px}
#app .player-info{min-width:0;flex:1}
#app .game-wordmark{font-size:8px;letter-spacing:3px;color:#dfbc7f}
#app .player-info>strong{font:700 23px/1.15 Georgia,serif;letter-spacing:-.4px;white-space:nowrap;text-shadow:none;margin:5px 0}
#app .player-info>small{font-size:7px;line-height:1.4;letter-spacing:.3px;margin-top:6px;white-space:nowrap}
#app .xp-track{height:5px;margin:0;border-color:#8b754d;background:#211e1a}
#app .level-badge{right:-7px;top:-9px;width:29px;height:32px;border-radius:9px;font-size:15px;box-shadow:0 2px 6px #2e29222b}
#app .village-identity{display:block;max-width:100%;width:max-content;margin:8px 0 0;padding:4px 8px;font-size:8px;line-height:1.5;letter-spacing:.2px;text-align:left;white-space:normal;background:#34452bbd;border:1px solid #eadcb757;border-radius:5px;color:#fff2d4}
#app #sync-dot{left:3px;bottom:6px;width:4px;height:4px}
#app .hud-centre{left:var(--hud-edge);top:143px;gap:8px;width:var(--left-width);display:grid;grid-template-columns:1fr 1fr;z-index:11}
#app .hud-counter{min-width:0;min-height:42px;padding:6px 8px;gap:8px;border:1px solid #d5bd8c;border-bottom:2px solid #9d8356;border-radius:8px;background:linear-gradient(#fcf0d7,#e8dab6);box-shadow:0 3px 9px #2840201c;color:#655437}
#app .hud-counter strong{font-size:13px;color:#655437;line-height:1.2;text-shadow:none}
#app .hud-counter small{font-size:6px;line-height:1.2;margin-top:4px;letter-spacing:.8px;color:#96815b}
#app .hud-counter .game-art{width:27px;height:27px}
#app .hud-counter>span:first-child{flex-shrink:0}
#app .hud-counter em{font-size:9px;color:#a38e65}
#app .happiness-counter{display:none}
#app .realm-heading{top:27px;left:50%;max-width:390px;transform:translateX(-50%);font-size:9px;letter-spacing:2.2px;line-height:1.6;color:#fff3d3;z-index:5}
#app .realm-heading p{font:italic 15px/1.4 Georgia,serif;margin:7px 0 0;letter-spacing:0}
#app .realm-ornament{width:25px;margin:0 8px}
#app .wallet-top{right:var(--hud-edge);top:var(--hud-top);left:auto;gap:9px;z-index:12;display:flex;align-items:center;flex-wrap:nowrap}
#app .wallet-top .preview-label{display:none}
#app .wallet-chip,#app .token-rewards-button{min-height:39px;padding:7px 12px;gap:7px;border:1px solid #d5b379;border-bottom:3px solid #795936;border-radius:8px;background:linear-gradient(130deg,#513e32,#3d3029);box-shadow:0 3px 9px #2738232b;color:#ffedcc}
#app .wallet-chip b,#app .token-rewards-button b{font-size:10px;line-height:1.2;white-space:nowrap}
#app .wallet-chip .game-art{width:24px;height:24px}
#app .token-rewards-button{background:linear-gradient(#8d4842,#68332f);padding-left:8px}
#app .token-rewards-button img{width:23px;height:23px;border-radius:5px}
#app .token-rewards-button>span{font-size:11px}
#app .hud-resources{top:78px;right:var(--hud-edge);left:auto;width:var(--right-width);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;z-index:10}
#app .game-resource{height:51px;width:100%;padding:7px 9px;gap:8px;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;border:1px solid #c9b17b;border-bottom:3px solid #9a7a43;border-radius:9px;background:linear-gradient(130deg,#4a5134,#333f2b);box-shadow:0 3px 9px #2b40272b;color:#fff0cb}
#app .game-resource .large-resource-icon{position:static;inset:auto;order:-1;display:flex;align-items:center;justify-content:center;width:31px;height:34px;flex:0 0 31px;transform:none;filter:none}
#app .large-resource-icon .game-art{width:32px;height:32px;filter:drop-shadow(0 2px 1px #15220d30)}
#app .resource-track{position:relative;display:block;flex:1;min-width:0;padding:0;overflow:hidden}
#app .resource-track>small{display:block;line-height:1;font-size:7px;letter-spacing:1px;margin:0 0 5px;color:#d9d5b3}
#app .resource-track>b{font-size:18px;line-height:1;font-weight:750;white-space:nowrap;letter-spacing:.1px;text-shadow:none}
#app .resource-track>i{position:absolute;left:0;right:0;bottom:-4px;height:2px;opacity:.35}
#app .contribution-chip{right:var(--hud-edge);top:202px;bottom:auto;left:auto;min-height:31px;padding:4px 10px;gap:5px;background:#f8edcf;border:1px solid #c9b181;border-bottom:2px solid #a48756;border-radius:7px;box-shadow:0 3px 9px #21391e21;z-index:10}
#app .contribution-chip .game-art{width:22px;height:22px}
#app .contribution-chip>b{font-size:12px}
#app .contribution-chip>span:last-child{font-size:9px;white-space:nowrap}
#app .left-game-tools{left:var(--hud-edge);top:var(--nav-top);right:auto;bottom:auto;display:grid;grid-template-columns:var(--tool-size);grid-auto-rows:var(--tool-size);gap:10px;width:max-content;z-index:10}
#app .left-game-tools .game-tool{width:var(--tool-size);height:var(--tool-size);min-height:0;min-width:0;padding:5px 3px;border:1px solid #e5c68d;border-bottom:3px solid #a27b45;border-radius:9px;background:linear-gradient(140deg,#fff4dc,#e5cfa5);box-shadow:0 3px 8px #213a2433;color:#6b4c2e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
#app .left-game-tools .game-tool>span{height:29px;width:32px;display:grid;place-items:center;margin:0}
#app .left-game-tools .game-art{width:31px;height:31px;filter:drop-shadow(0 2px 2px #5b442426)}
#app .left-game-tools svg{width:25px;height:25px;color:#986e45}
#app .left-game-tools .game-tool>b{display:block;margin:0;font-size:8px;letter-spacing:.1px;line-height:1.2;font-weight:650}
#app .left-game-tools .game-tool>i{font-size:8px;min-width:16px;min-height:16px;width:16px;height:16px;right:-5px;top:-5px;border-width:1px;border-radius:5px}
#app .right-game-tools{right:var(--hud-edge);top:255px;left:auto;bottom:auto;display:flex;flex-direction:column;gap:9px;z-index:10}
#app .right-game-tools .game-tool{width:35px;height:37px;min-height:0;padding:7px;border-radius:8px;border:1px solid #e1cb9c;border-bottom:2px solid #a38656;box-shadow:0 3px 8px #263f2526;background:linear-gradient(135deg,#fbf0d7,#e6d3ac)}
#app .right-game-tools svg{width:19px;height:19px;color:#80633d}
#app .zoom-tools{right:var(--hud-edge);bottom:141px;padding:4px;gap:0;border:1px solid #b4ad7f;border-bottom:2px solid #898c63;background:#304433e6;border-radius:8px;box-shadow:0 3px 9px #253c2526;z-index:10}
#app .zoom-tools button{width:31px;height:31px;padding:7px;background:none;border:0;color:#efe2bd;box-shadow:none}
#app .zoom-tools button svg{width:17px;height:17px}
#app .bottom-dock-game.has-token-rewards{left:50%;right:auto;bottom:25px;top:auto;width:min(540px,calc(100% - 300px));max-width:560px;padding:8px 10px 9px;gap:5px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;transform:translateX(-50%);border:1px solid #c6a263;border-bottom:4px solid #8a663b;border-radius:13px;background:linear-gradient(140deg,#4d3b30,#312d25);box-shadow:inset 0 1px #d8bf7b29,0 5px 20px #243b2a50;z-index:14}
#app .bottom-dock-game.has-token-rewards>.dock-game-item{width:auto;min-width:0;max-width:none;height:62px;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin:0;padding:5px 4px;flex:unset;border:1px solid transparent;border-radius:8px;background:none;color:#ecdfbd;transform:none;box-shadow:none}
#app .bottom-dock-game.has-token-rewards>.dock-game-item>span{width:33px;height:33px;display:grid;place-items:center;margin:0}
#app .bottom-dock-game.has-token-rewards .game-art{width:32px;height:32px;filter:drop-shadow(0 2px 2px #0003)}
#app .bottom-dock-game.has-token-rewards .vilko-mark{width:31px;height:31px;border-radius:6px}
#app .bottom-dock-game.has-token-rewards>.dock-game-item>b{font-size:9px;line-height:1.2;letter-spacing:.15px;font-weight:600;white-space:nowrap;margin:0;text-shadow:none}
#app .bottom-dock-game.has-token-rewards>.dock-game-item:hover{background:#a3814a24;border-color:#b3986244;filter:none}
#app .bottom-dock-game.has-token-rewards>.build-highlight{background:linear-gradient(#b98b4a,#90672f);border:1px solid #dcbd82;color:#fff5d6;box-shadow:inset 0 1px #f4daa548}
#app .bottom-dock-game.has-token-rewards>.token-rewards-dock{display:none}
#app .bottom-village-name{left:50%;bottom:124px;top:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 340px);pointer-events:none;text-align:center;color:#fff1d0}
#app .bottom-village-name>strong{font:700 15px/1.3 Georgia,serif;letter-spacing:2.4px}
#app .bottom-village-name>span{font-size:10px;margin-top:5px;color:#edf0d6}
#app .bottom-village-name>small{display:none}
#app .game-clock{left:var(--hud-edge);right:auto;top:auto;bottom:33px;gap:7px;z-index:10}
#app .game-clock strong{font-size:12px;line-height:1.2}
#app .game-clock small{font-size:7px;line-height:1.3;letter-spacing:.5px}
#app .game-clock>span:first-child svg{width:22px;height:22px}
#app .game-clock button{width:27px;height:27px;margin-left:5px;font-size:10px}
#app .journey-teaser{left:var(--hud-edge);right:auto;bottom:125px;top:auto;width:228px;padding:10px;gap:8px;min-height:72px;border:1px solid #ead4a4;border-bottom:3px solid #a38656;box-shadow:0 3px 12px #233b242b;border-radius:9px}
#app .journey-teaser .teaser-icon .game-art{width:35px;height:35px}
#app .journey-teaser .teaser-copy>small{font-size:6px;letter-spacing:.8px;line-height:1.3}
#app .journey-teaser .teaser-copy>strong{font-size:11px;line-height:1.5;margin-top:3px}
#app .journey-teaser .teaser-copy>span:last-child{font-size:8px}
#app .latest-story{right:var(--hud-edge);left:auto;bottom:125px;top:auto;width:228px;padding:11px;gap:9px;border-radius:9px;box-shadow:0 3px 12px #233b242b}
#app .latest-story strong{font-size:10px;line-height:1.5}
#app .latest-story p{font-size:10px;line-height:1.5;margin-top:3px}
#app .latest-story .story-badge{display:none}
#app .corner-links{right:var(--hud-edge);left:auto;bottom:8px;top:auto;display:flex;gap:12px;align-items:center;font-size:8px;line-height:1.2;z-index:9}
#app .corner-links button,#app .corner-links a{font-size:8px;line-height:1.2;padding:0;min-height:0}
#app .save-alert{left:50%;right:auto;bottom:164px;top:auto;transform:translateX(-50%);max-width:calc(100vw - 32px);min-height:31px;padding:7px 13px;font-size:10px;border-radius:6px;border-width:1px;box-shadow:0 3px 10px #223b252b;white-space:normal;z-index:15}
#app .building-actions{left:50%;bottom:118px;top:auto;max-width:calc(100% - 260px);transform:translateX(-50%);z-index:16}
#app .move-actions{left:50%;bottom:125px;top:auto;max-width:calc(100% - 240px);transform:translateX(-50%);z-index:16}
#app .life-panel{right:var(--hud-edge);left:auto;top:238px;bottom:115px;width:min(340px,calc(100vw - 40px));max-height:calc(100dvh - 330px);z-index:22}
#app .modal-backdrop{padding:18px}
#app .modal{width:min(940px,calc(100vw - 36px));max-width:940px;max-height:calc(100dvh - 36px);overflow:auto;overscroll-behavior:contain;border-radius:13px}
#app .modal.narrow{width:min(550px,calc(100vw - 36px))}
#app .modal.wide{width:min(1040px,calc(100vw - 36px))}
#app .modal-header{padding:23px 26px;gap:14px}
#app .modal-header h2{font-size:27px;line-height:1.2}
#app .modal-header p{font-size:13px;line-height:1.6;margin-top:6px}
#app .modal-body{padding:24px 26px;font-size:13px;line-height:1.7}
#app .modal-tabs{display:flex;flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;gap:0}
#app .modal-tabs button{flex:0 0 auto;font-size:12px;min-height:46px;padding:12px 18px;white-space:nowrap}
#app .button-row{gap:10px;flex-wrap:wrap}
#app .btn{min-height:40px;font-size:12px;padding:10px 14px;white-space:normal;line-height:1.5;text-align:center}
#app .two-col,#app .stats-grid,#app .building-grid,#app .production-grid,#app .residents-grid,#app .growth-grid,#app .roman-research-grid,#app .order-grid{min-width:0;gap:17px}
#app .paper-card,#app .order-card,#app .production-card,#app .building-tile{min-width:0;overflow-wrap:break-word}
#app .production-image>img,#app .building-thumb{object-fit:contain;object-position:center;max-width:100%}
#app .modal-header .modal-title-icon{flex-shrink:0}
#app .modal input,#app .modal select,#app .modal textarea{max-width:100%;min-width:0}
#app .modal .notice{line-height:1.8;font-size:12px;padding:13px 15px}
@media(min-width:1700px){#app.game-mode{--hud-edge:30px;--hud-top:28px;--left-width:242px;--right-width:280px;--nav-top:220px;--tool-size:57px}#app .hud-centre{top:153px}#app .hud-resources{top:86px}#app .contribution-chip{top:210px}#app .right-game-tools{top:263px}#app .realm-heading{top:33px}#app .bottom-dock-game.has-token-rewards{width:580px;max-width:580px}#app .bottom-dock-game.has-token-rewards>.dock-game-item{height:67px}#app .bottom-dock-game.has-token-rewards .game-art{width:36px;height:36px}#app .bottom-dock-game.has-token-rewards>.dock-game-item>b{font-size:10px}#app .journey-teaser,#app .latest-story{width:245px}}
@media(max-width:1199px),(max-height:849px){#app .journey-teaser,#app .latest-story{display:none}#app .realm-heading p{font-size:13px}#app .bottom-village-name{bottom:119px}#app .zoom-tools{bottom:123px}}
@media(max-width:1099px){#app.game-mode{--hud-edge:16px;--hud-top:18px;--left-width:207px;--right-width:232px;--nav-top:201px;--tool-size:49px}#app .realm-heading{display:none}#app .player-profile{min-height:80px;padding:10px;gap:8px}#app .player-crest{width:36px;height:39px;flex-basis:36px}#app .player-info>strong{font-size:21px}#app .wallet-top{gap:7px}#app .token-rewards-button,#app .wallet-chip{padding:6px 9px;min-height:35px}#app .wallet-chip b,#app .token-rewards-button b{font-size:9px}#app .hud-resources{top:72px;gap:9px}#app .game-resource{height:47px;padding:6px;gap:5px}#app .resource-track>b{font-size:17px}#app .resource-track>small{font-size:6px;letter-spacing:.8px}#app .large-resource-icon .game-art{width:28px;height:28px}#app .game-resource .large-resource-icon{width:28px;flex-basis:28px}#app .hud-centre{top:134px;gap:7px}#app .hud-counter{padding:5px 6px;gap:5px}#app .hud-counter strong{font-size:12px}#app .left-game-tools{grid-template-columns:repeat(2,var(--tool-size));gap:9px}#app .left-game-tools .game-tool>span{height:25px;width:28px}#app .left-game-tools .game-art{width:28px;height:28px}#app .left-game-tools .game-tool>b{font-size:7px}#app .contribution-chip{top:187px}#app .right-game-tools{top:238px;gap:8px}#app .bottom-dock-game.has-token-rewards{width:470px;max-width:calc(100% - 260px)}#app .bottom-dock-game.has-token-rewards>.dock-game-item{height:58px}#app .bottom-dock-game.has-token-rewards .game-art{width:30px;height:30px}#app .bottom-dock-game.has-token-rewards>.dock-game-item>b{font-size:8px}#app .bottom-village-name>strong{font-size:13px}#app .game-clock{bottom:125px}#app .zoom-tools{bottom:125px}}
@media(max-width:760px){#app.game-mode{--hud-edge:12px;--hud-top:max(12px,env(safe-area-inset-top));--left-width:172px;--right-width:172px;--nav-top:237px;--tool-size:43px}#app .player-profile{min-height:74px;gap:8px;padding:9px;border-radius:10px}#app .player-crest{height:34px;width:34px;flex-basis:34px}#app .player-info>strong{font-size:18px;margin:4px 0;letter-spacing:-.35px}#app .game-wordmark{font-size:7px;letter-spacing:2px}#app .player-info>small{font-size:6px;letter-spacing:0;margin-top:5px}#app .level-badge{width:23px;height:27px;font-size:12px;top:-7px;right:-5px}#app .village-identity{font-size:7px;line-height:1.4;padding:3px 6px;margin-top:6px;max-width:172px}#app .wallet-top{right:12px;top:max(14px,env(safe-area-inset-top))}#app .wallet-top .token-rewards-button{display:none}#app .wallet-chip{min-height:34px;padding:6px 9px;gap:5px}#app .wallet-chip b{font-size:9px}#app .wallet-chip .game-art{width:21px;height:21px}#app .game-clock{left:auto;right:12px;top:61px;bottom:auto;gap:6px}#app .game-clock strong{font-size:11px}#app .game-clock small{font-size:6px;letter-spacing:.5px;margin-top:4px}#app .game-clock>span:first-child svg{width:20px;height:20px}#app .game-clock button{height:25px;width:25px;font-size:9px;margin-left:2px}#app .hud-resources{left:12px;right:12px;top:126px;width:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}#app .game-resource{height:43px;padding:5px;gap:4px;border-radius:7px;border-bottom-width:2px;align-items:center}#app .game-resource .large-resource-icon{width:21px;height:25px;flex-basis:21px}#app .large-resource-icon .game-art{width:23px;height:23px}#app .resource-track>small{font-size:6px;letter-spacing:.15px;line-height:1;margin-bottom:5px}#app .resource-track>b{font-size:13px;letter-spacing:-.2px}#app .hud-centre{left:12px;top:183px;width:185px;gap:6px}#app .hud-counter{min-height:32px;padding:4px 6px;gap:5px;border-radius:6px}#app .hud-counter strong{font-size:10px}#app .hud-counter small{font-size:5px;margin-top:3px;letter-spacing:.4px}#app .hud-counter .game-art{width:22px;height:22px}#app .contribution-chip{right:12px;top:183px;min-height:32px;padding:4px 7px;gap:4px;border-radius:6px}#app .contribution-chip>b{font-size:11px}#app .contribution-chip>span:last-child{font-size:7px}#app .contribution-chip .game-art{width:20px;height:20px}#app .left-game-tools{left:12px;top:var(--nav-top);grid-template-columns:var(--tool-size);gap:8px}#app .left-game-tools .game-tool{padding:4px 2px;border-radius:7px;border-bottom-width:2px;gap:1px}#app .left-game-tools .game-tool>span{width:26px;height:25px}#app .left-game-tools .game-art{width:27px;height:27px}#app .left-game-tools svg{width:23px;height:23px}#app .left-game-tools .game-tool>b{font-size:6px;font-weight:650;letter-spacing:0}#app .right-game-tools{right:12px;top:237px;gap:8px}#app .right-game-tools .game-tool{height:31px;width:31px;padding:6px;border-radius:7px}#app .right-game-tools svg{height:16px;width:16px}#app .zoom-tools{right:12px;bottom:129px;padding:3px;gap:0;border-radius:7px;flex-direction:column}#app .zoom-tools button{height:26px;width:26px;padding:5px}#app .zoom-tools button svg{height:15px;width:15px}#app .bottom-dock-game.has-token-rewards{left:12px;right:12px;bottom:max(22px,env(safe-area-inset-bottom));width:auto;max-width:none;transform:none;padding:6px 5px 7px;gap:2px;grid-template-columns:repeat(7,minmax(0,1fr));border-radius:11px;border-bottom-width:3px}#app .bottom-dock-game.has-token-rewards>.dock-game-item{width:auto;min-width:0;height:54px;gap:4px;padding:4px 1px;border-radius:6px}#app .bottom-dock-game.has-token-rewards>.token-rewards-dock{display:flex;background:#7c493d5e}#app .bottom-dock-game.has-token-rewards>.dock-game-item>span{height:27px;width:27px}#app .bottom-dock-game.has-token-rewards .game-art{height:27px;width:27px}#app .bottom-dock-game.has-token-rewards .vilko-mark,#app .token-rewards-dock img{height:25px;width:25px;border-radius:5px}#app .bottom-dock-game.has-token-rewards>.dock-game-item>b{font-size:7px;line-height:1.1;letter-spacing:0}#app .bottom-village-name{bottom:110px;max-width:calc(100% - 125px);width:max-content;left:50%;transform:translateX(-50%)}#app .bottom-village-name>strong{font-size:12px;letter-spacing:1.7px}#app .bottom-village-name>span{font-size:8px;line-height:1.4;margin-top:4px}#app .save-alert{bottom:153px;font-size:9px;padding:7px 10px;min-height:30px;max-width:calc(100% - 100px)}#app .corner-links{left:12px;right:12px;bottom:5px;justify-content:center;gap:14px;font-size:7px}#app .corner-links button,#app .corner-links a{font-size:7px}#app .corner-links .return-home{display:none}#app .building-actions{bottom:110px;max-width:calc(100% - 105px);width:max-content;padding:12px}#app .building-actions h2{font-size:17px;margin-bottom:10px}#app .building-action{min-width:58px;height:auto;min-height:62px;padding:7px}#app .building-action>b{font-size:10px}#app .building-action>small{font-size:7px}#app .building-action-row{gap:7px}#app .building-action svg{width:22px;height:22px}#app .move-actions{bottom:114px;max-width:calc(100% - 30px);padding:12px;gap:8px}#app .move-actions>strong{font-size:13px}#app .move-actions>span{font-size:10px}#app .life-panel{right:12px;top:222px;bottom:108px;width:calc(100% - 78px);max-height:calc(100dvh - 330px)}#app .modal-backdrop{padding:10px}#app .modal,#app .modal.narrow,#app .modal.wide{width:calc(100vw - 20px);max-width:none;max-height:calc(100dvh - 20px);border-radius:11px}#app .modal-header{padding:20px 17px;gap:11px}#app .modal-header h2{font-size:22px;line-height:1.25}#app .modal-header p{font-size:11px;line-height:1.7}#app .modal-header .eyebrow{font-size:7px;letter-spacing:.6px}#app .modal-title-icon{width:32px;height:36px}#app .modal-body{padding:19px 17px;font-size:12px}#app .modal-tabs button{font-size:10px;padding:11px 13px;min-height:44px}#app .two-col,#app .stats-grid,#app .building-grid,#app .production-grid,#app .residents-grid,#app .growth-grid,#app .roman-research-grid,#app .order-grid{grid-template-columns:1fr;gap:14px}#app .paper-card{padding:18px}#app .btn{font-size:11px;min-height:42px;padding:10px 12px}#app .modal .button-row>.btn{flex:1 1 auto}#app .modal .trade-list-form{grid-template-columns:1fr 1fr}#app .modal .trade-list-form>.btn{grid-column:1/-1}#app .modal .offer-row{flex-wrap:wrap;gap:12px}#app .modal .offer-row>.btn{width:100%}#app .modal .shop-product-grid{grid-template-columns:1fr}#app .modal .shop-tabs{gap:0;overflow:auto;flex-wrap:nowrap}#app .modal .shop-product-grid img{max-height:150px}#app .resident-card{max-width:calc(100% - 85px);bottom:114px}}
@media(max-width:370px){#app.game-mode{--left-width:154px;--tool-size:40px}#app .player-crest{width:29px;height:32px;flex-basis:29px}#app .player-info>strong{font-size:17px}#app .village-identity{max-width:154px;font-size:6px}#app .hud-resources{gap:5px}#app .game-resource{padding:4px;gap:3px}#app .game-resource .large-resource-icon{width:17px;flex-basis:17px}#app .large-resource-icon .game-art{width:20px;height:20px}#app .resource-track>b{font-size:12px}#app .resource-track>small{font-size:5px}#app .hud-centre{width:170px}#app .contribution-chip>span:last-child{font-size:6px}#app .contribution-chip{padding:4px 5px}#app .wallet-chip b{font-size:8px}#app .left-game-tools{gap:7px}#app .bottom-dock-game.has-token-rewards>.dock-game-item>b{font-size:6px}}
@media(max-height:739px) and (min-width:761px){#app.game-mode{--hud-top:14px;--nav-top:184px;--tool-size:45px}#app .player-profile{min-height:75px;padding:9px}#app .player-crest{height:35px;width:35px;flex-basis:35px}#app .player-info>strong{font-size:21px}#app .hud-centre{top:125px}#app .hud-counter{min-height:36px;padding:4px 7px}#app .left-game-tools{grid-template-columns:repeat(2,var(--tool-size));gap:8px}#app .left-game-tools .game-tool>span{width:26px;height:25px}#app .left-game-tools .game-art{height:27px;width:27px}#app .left-game-tools .game-tool>b{font-size:6px}#app .realm-heading{top:20px}#app .realm-heading p{display:none}#app .hud-resources{top:66px}#app .game-resource{height:44px}#app .contribution-chip{top:165px}#app .right-game-tools{top:214px;gap:7px}#app .right-game-tools .game-tool{width:31px;height:33px}#app .bottom-dock-game.has-token-rewards{bottom:21px;padding:6px 8px 7px}#app .bottom-dock-game.has-token-rewards>.dock-game-item{height:53px}#app .bottom-dock-game.has-token-rewards .game-art{width:28px;height:28px}#app .bottom-village-name{bottom:107px}#app .bottom-village-name>span{display:none}#app .save-alert{bottom:135px}#app .zoom-tools{bottom:111px}#app .game-clock{bottom:116px}}
@media(max-height:620px){#app .bottom-village-name{display:none}#app .right-game-tools{top:auto;bottom:117px;display:grid;grid-template-columns:repeat(2,31px);gap:7px}#app .zoom-tools{right:var(--hud-edge);bottom:21px;flex-direction:row}#app .corner-links{display:none}#app .left-game-tools{grid-template-columns:repeat(2,var(--tool-size));gap:7px}#app .game-clock{display:none}#app .save-alert{bottom:110px}#app .building-actions{bottom:104px}#app .move-actions{bottom:105px}}
@media(max-height:620px) and (max-width:760px){#app.game-mode{--nav-top:179px;--tool-size:38px}#app .hud-player{top:10px;left:10px;width:158px}#app .player-profile{min-height:62px;padding:7px}#app .player-crest{height:29px;width:29px;flex-basis:29px}#app .player-info>strong{font-size:17px}#app .village-identity{font-size:6px;margin-top:4px;padding:2px 5px}#app .hud-resources{left:10px;right:10px;top:105px}#app .game-resource{height:35px}#app .resource-track>small{font-size:5px;margin-bottom:4px}#app .resource-track>b{font-size:12px}#app .large-resource-icon .game-art{width:20px;height:20px}#app .hud-centre{top:148px;left:10px;width:170px}#app .hud-counter{min-height:27px;padding:3px 5px}#app .hud-counter small{display:none}#app .contribution-chip{top:148px;right:10px;min-height:27px}#app .left-game-tools{left:10px;gap:6px}#app .left-game-tools .game-tool>b{font-size:5px}#app .left-game-tools .game-tool>span{height:23px;width:24px}#app .left-game-tools .game-art{height:24px;width:24px}#app .bottom-dock-game.has-token-rewards{bottom:12px;padding:5px;left:10px;right:10px}#app .bottom-dock-game.has-token-rewards>.dock-game-item{height:47px;gap:3px}#app .bottom-dock-game.has-token-rewards .game-art{width:24px;height:24px}#app .bottom-dock-game.has-token-rewards>.dock-game-item>b{font-size:6px}#app .right-game-tools{right:10px;bottom:88px;gap:6px;grid-template-columns:31px 31px}#app .zoom-tools{display:none}#app .modal-backdrop{padding:8px}#app .modal,#app .modal.narrow,#app .modal.wide{max-height:calc(100dvh - 16px);width:calc(100vw - 16px)}#app .life-panel{top:183px;bottom:80px;max-height:calc(100dvh - 270px)}}
#app button:focus-visible,#app a:focus-visible{outline:3px solid #ffe2a0;outline-offset:3px}
@media(max-width:760px){#app .left-game-tools .game-tool>b{font-size:8px}#app .hud-counter small{font-size:6px}#app .resource-track>small{font-size:7px}#app .bottom-dock-game.has-token-rewards>.dock-game-item>b{font-size:8px}}
@media(max-width:370px){#app .left-game-tools .game-tool>b{font-size:7px}#app .bottom-dock-game.has-token-rewards>.dock-game-item>b{font-size:7px}#app .resource-track>small{font-size:6px}}

#app:has(.building-actions:not(.hidden)) .bottom-village-name,#app:has(.move-actions:not(.hidden)) .bottom-village-name{display:none}

/* Parchment panels use solid ink. Keep map outlines on the map itself. */
#app .building-actions,#app .move-actions{
 width:min(382px,calc(100% - 108px));max-width:none;box-sizing:border-box;
 padding:14px;background:linear-gradient(135deg,#fff5dd,#ecd8b1);
 color:#453321;border:1px solid #e2c184;border-bottom:3px solid #9b7140;
 border-radius:13px;box-shadow:0 7px 24px #26201540;
}
#app .building-actions>h2{
 display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px 9px;
 margin:0 0 11px;color:#453321;font:700 clamp(17px,2.4vw,23px)/1.16 Georgia,serif;
 text-shadow:none;overflow-wrap:anywhere;
}
#app .building-actions>h2 small{
 flex:none;padding:3px 7px;border:1px solid #c9a977;border-radius:20px;
 color:#5d432b;background:#f4e3bd;font:700 11px/1.25 system-ui,sans-serif;
}
#app .building-action-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.45fr);gap:8px}
#app .building-action{
 width:100%;min-width:0;height:auto;min-height:72px;padding:7px 4px;gap:4px;
 color:#4d3521;text-shadow:none;box-shadow:0 2px 4px #3c2b2225;
}
#app .building-action.upgrade{color:#fff4dd}
#app .building-action.upgrade small{color:#ffebcc}
#app .building-action:disabled{
 opacity:1;color:#5c4634;background:#e8d5b7;border-color:#cdb28c;box-shadow:none;
}
#app .building-action:disabled small{color:#5c4634}
#app .building-action:disabled .game-art{opacity:.65}
#app .building-action>b{font-size:12px;line-height:1.2}
#app .building-action>small{font-size:10px;line-height:1.25;overflow-wrap:anywhere}
#app .building-action .game-art,#app .building-action>svg{width:27px;height:27px;flex:none}
#app .move-actions>strong{
 margin:0 0 4px;color:#453321;font:700 19px/1.2 Georgia,serif;text-shadow:none;overflow-wrap:anywhere;
}
#app .move-actions>span{color:#5c4634;font-size:12px;line-height:1.45;text-shadow:none}
#app .move-actions>div{margin-top:8px;gap:10px}
#app .game-confirm{height:44px;border-bottom-width:3px}
#app .game-confirm svg{width:22px;height:22px}
#app .modal-header{padding-right:62px}
#app .modal-header>div:nth-child(2){min-width:0;overflow-wrap:anywhere}
#app .modal-header h2{color:#59352c;text-shadow:none;letter-spacing:-.02em}
#app .modal-close{width:36px;height:36px;right:14px;top:14px}
#app .modal .btn:disabled{opacity:1;background:#ebdec5;color:#5c4634;border-color:#cdb28c;text-shadow:none;box-shadow:none}
#app :is(.building-action,.game-confirm,.modal button):focus-visible{outline:2px solid #723a2e;outline-offset:2px}
#app .latest-story{bottom:196px;color:#493824;text-shadow:none}
#app .latest-story p{color:#594831;text-shadow:none}
#app:is(.selecting,.moving) .save-alert{visibility:hidden}
@media(max-width:760px){
 #app .building-actions,#app .move-actions{padding:9px;bottom:calc(106px + env(safe-area-inset-bottom))}
 #app .building-actions>h2{margin-bottom:7px}
 #app .building-action-row{gap:5px}
 #app .building-action{min-height:62px}
 #app .building-action .game-art,#app .building-action>svg{width:22px;height:22px}
 #app .building-action>b{font-size:11px}
 #app .move-actions>strong{font-size:16px}
 #app .modal-header{padding-right:53px}
 #app .modal-close{right:10px;top:10px}
}
@media(max-height:620px){
 #app .building-actions,#app .move-actions{bottom:calc(100px + env(safe-area-inset-bottom))}
}
