@font-face{font-family:DosStory;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2304-2@1.0/DOSIyagiMedium.woff2) format("woff2");font-weight:400;font-display:swap}*,*:before,*:after{box-sizing:border-box}:root{--ink: #3d2413;--ink-soft: #6b4726;--wood-dark: #3a1f0e;--wood-mid: #6e3f1c;--paper: #f8e7bd;--paper-light: #fff3cd;--paper-deep: #e8c982;--leaf: #74b85a;--leaf-dark: #3f762f;--gold: #e3a92e;--gold-dark: #8a5618;--danger: #d46b45;--panel-shadow: 0 3px 0 rgba(47, 25, 11, .72), 0 9px 20px rgba(42, 22, 10, .16);--control-shadow: inset 0 1px 0 rgba(255, 248, 218, .82), inset 0 -2px 0 rgba(92, 51, 20, .18), 0 2px 0 rgba(55, 30, 13, .34);--paper-fill: linear-gradient(rgba(255, 242, 202, .82), rgba(248, 224, 168, .78)), url(/assets/ui/paper-tile.webp);--paper-frame: linear-gradient(rgba(255, 242, 202, .82), rgba(248, 224, 168, .78)), url(/assets/ui/paper-tile.webp), url(/assets/ui/wood-tile.webp);--button-fill: linear-gradient(180deg, rgba(255, 238, 178, .92), rgba(224, 176, 87, .9)), url(/assets/ui/paper-tile.webp);--green-fill: linear-gradient(180deg, rgba(171, 220, 116, .94), rgba(113, 178, 75, .92)), url(/assets/ui/paper-tile.webp);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}html,body,#root{width:100%;height:100%;min-width:0;min-height:0;margin:0;overflow:hidden;font-family:DosStory,Malgun Gothic,Apple SD Gothic Neo,sans-serif;color:var(--ink);word-break:keep-all;overflow-wrap:break-word;line-break:strict}body,#root{height:100dvh}button{font:inherit}.game-shell,.start-screen{width:100%;height:100dvh;min-width:0;min-height:0;position:relative;overflow:hidden}.phaser-host{position:absolute;inset:0;min-width:0;min-height:0;image-rendering:pixelated}.route-mode .phaser-host{left:380px;width:calc(100% - 380px)}.phaser-host canvas{display:block;image-rendering:pixelated}.start-screen{display:grid;place-items:center;padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left));background:linear-gradient(#56371924,#301f0f47),url(/assets/rural-region-v1.webp) center / cover}.start-panel,.modal,.hud,.mission-guide,.building-panel,.notice-board,.action-bar,.visit-banner,.route-sidebar{border:8px solid transparent;border-radius:16px;background-color:var(--paper);background-image:var(--paper-frame);background-origin:padding-box,padding-box,border-box;background-clip:padding-box,padding-box,border-box;box-shadow:var(--panel-shadow);image-rendering:pixelated}.start-panel{width:min(900px,100%);max-height:100%;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px;text-align:center}.eyebrow{display:inline-block;font-weight:900;color:#7c4b20;margin-bottom:8px}h1,h2,p{margin-top:0}h1{font-size:clamp(32px,5vw,54px);margin-bottom:12px;letter-spacing:0}.start-panel p{max-width:610px;margin:0 auto 22px;font-weight:700;color:var(--ink-soft);line-height:1.55}.region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.region-card{min-height:172px;border:4px solid var(--wood-dark);border-radius:8px;padding:16px 12px;background:linear-gradient(180deg,#fff7cd57,#e0ab4b33),var(--point);color:#28170c;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:8px;box-shadow:inset 0 -4px #41210c2e,0 3px #482711b8}.region-card:hover{transform:translateY(-2px);filter:brightness(1.05)}.region-card strong{font-size:22px;color:#fff8dd;text-shadow:0 2px 0 #442511}.region-card span,.region-card small{font-weight:900;color:#24150b}.hud{position:absolute;top:calc(14px + var(--safe-top));left:calc(14px + var(--safe-left));z-index:5;width:min(500px,calc(100% - var(--safe-left) - var(--safe-right) - 28px));padding:12px}.restart-button{position:absolute;z-index:8;top:calc(14px + var(--safe-top));right:calc(14px + var(--safe-right));padding:7px 11px;border:3px solid var(--wood-dark);border-radius:8px;background:var(--button-fill);color:var(--ink);font:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:var(--control-shadow)}.restart-button:hover{filter:brightness(1.06)}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.hud-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.hud strong{min-width:0;margin:0;font-size:20px}.resource-row{display:flex;flex-wrap:wrap;gap:6px}.resource-badge,.hud-development,.status,.choice,.stepper span,.route-notice,.point-list li,.zone-row,.result-grid span{border:2px solid #7c5128;border-radius:6px;background-color:var(--paper-light);background-image:var(--paper-fill);background-size:auto,128px 128px;color:var(--ink);font-weight:900;box-shadow:inset 0 1px #fff8dab8,inset 0 -1px #5c33141f;image-rendering:pixelated}.resource-badge{padding:5px 7px;font-size:14px}.hud-development{flex:0 0 auto;padding:4px 7px;font-size:13px;background-color:var(--paper-deep)}.primary-resources .resource-badge{padding:6px 9px;font-size:15px}.resource-badge.home-resource{border-color:var(--gold-dark);outline:2px solid rgba(227,169,46,.55);background-color:#ffe8a3}.product-mini-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:7px;color:var(--ink-soft);font-size:13px;font-weight:900}.product-mini-badge{border:2px solid #7c5128;border-radius:999px;padding:3px 7px;background-color:var(--paper-light);background-image:var(--paper-fill);color:var(--ink);box-shadow:inset 0 1px #fff8dab8,inset 0 -1px #5c33141f}.mission-guide{position:absolute;z-index:6;top:calc(14px + var(--safe-top) + var(--hud-height, 140px) + 12px);left:calc(14px + var(--safe-left));width:min(360px,calc(100% - var(--safe-left) - var(--safe-right) - 28px));padding:10px 12px}.mission-guide-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.mission-guide .eyebrow{margin-bottom:0;font-size:13px}.mission-guide>strong{display:block;font-size:19px;margin-bottom:3px}.mission-guide p{margin:0;color:var(--ink-soft);font-size:14px;font-weight:900;line-height:1.35}.mission-badge{flex:0 0 auto;border:2px solid var(--gold-dark);border-radius:999px;padding:3px 8px;background:#ffe08a;color:#4b2b12;font-size:12px;font-weight:900}.mission-dialog-backdrop{position:absolute;z-index:25;inset:0;width:100%;height:100%;height:100dvh;min-width:0;min-height:0;display:grid;place-items:center;padding:calc(18px + var(--safe-top)) calc(18px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(18px + var(--safe-left));background:#23140a6b}.mission-dialog{position:relative;width:min(420px,100%);max-height:100%;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:26px 24px 22px;text-align:center;border:8px solid transparent;border-radius:18px;background-color:var(--paper);background-image:var(--paper-frame);background-origin:padding-box,padding-box,border-box;box-shadow:0 12px #311b0c57}.mission-dialog .eyebrow{display:block;margin-bottom:8px}.mission-dialog .mission-badge{position:absolute;top:16px;right:16px}.mission-dialog h2{margin:0 32px 10px;color:var(--ink);font-size:27px}.mission-dialog p{margin:0 auto 20px;max-width:340px;color:var(--ink-soft);font-weight:900;line-height:1.5}.mission-dialog-confirm{min-width:132px}.notice-board{position:absolute;z-index:6;left:50%;bottom:calc(92px + var(--safe-bottom));transform:translate(-50%);width:min(620px,calc(100% - var(--safe-left) - var(--safe-right) - 28px));min-height:46px;display:grid;place-items:center;padding:8px 14px;text-align:center;font-weight:900}.action-bar{position:absolute;z-index:6;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translate(-50%);display:flex;gap:10px;padding:10px}.visit-banner{position:absolute;z-index:8;top:calc(16px + var(--safe-top));left:50%;transform:translate(-50%);width:min(640px,calc(100% - var(--safe-left) - var(--safe-right) - 28px));padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center;font-weight:900}.visit-banner strong{font-size:19px}.scene-blocker{position:absolute;inset:0;width:100%;height:100%;height:100dvh;min-width:0;min-height:0;z-index:30;display:grid;place-items:center;background:#2a180c38;color:#fff7d8;font-size:24px;font-weight:900;text-shadow:0 3px 0 #2b170c;pointer-events:all}.loading-overlay{position:absolute;inset:0;width:100%;height:100%;height:100dvh;min-width:0;min-height:0;z-index:80;display:grid;place-items:center;padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left));background:linear-gradient(#2b1d0f94,#2b1d0fb8);pointer-events:all}.loading-card{width:min(380px,86vw);padding:26px 28px 22px;text-align:center;border:7px solid #643b1b;border-radius:16px;background:var(--paper-fill);box-shadow:0 5px #2c190c,0 14px 30px #0000004d}.loading-card strong,.loading-card span,.loading-card b{display:block}.loading-card strong{font-size:25px}.loading-card span{margin:8px 0 17px;color:var(--ink-soft)}.loading-track{height:20px;overflow:hidden;border:3px solid var(--wood-dark);border-radius:999px;background:#7d552e;box-shadow:inset 0 2px #341b0c6b}.loading-fill{height:100%;border-radius:inherit;background:repeating-linear-gradient(90deg,#ffda64 0 14px,#f3b93c 14px 28px);transition:width .16s ease-out}.loading-card b{margin-top:10px;color:#81501f}.game-button,.small-button,.round-button,.close-button,.choice,.stepper button{cursor:pointer;transition:transform .08s ease,filter .08s ease,background-color .12s ease}.game-button,.small-button,.round-button,.close-button,.stepper button{border:3px solid var(--wood-dark);border-radius:7px;background-color:var(--gold);background-image:var(--button-fill);background-size:auto,128px 128px;color:#33200e;font-weight:900;box-shadow:var(--control-shadow);image-rendering:pixelated}.game-button{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.game-button:hover,.small-button:hover,.round-button:hover,.close-button:hover,.stepper button:hover,.choice:hover{filter:brightness(1.06)}.game-button:active,.small-button:active,.round-button:active,.close-button:active,.choice:active,.stepper button:active{transform:translateY(2px);box-shadow:inset 0 2px #43240e3d}.game-button:disabled,.small-button:disabled,.choice:disabled{filter:grayscale(.35);opacity:.58;cursor:default}.game-button.full{width:100%}.game-button.mission-pulse{position:relative;isolation:isolate;animation:mission-button-pulse 1.05s ease-in-out infinite}.game-button.mission-pulse:after{content:"여기!";position:absolute;top:-24px;right:-10px;z-index:1;border:2px solid var(--gold-dark);border-radius:999px;padding:2px 7px;background:#ffe08a;color:#3a210d;font-size:12px;font-weight:900;box-shadow:0 2px #371e0d57}@keyframes mission-button-pulse{0%,to{filter:brightness(1);transform:translateY(0)}50%{filter:brightness(1.18);transform:translateY(-2px)}}.round-button,.close-button{width:50px;height:50px;display:grid;place-items:center;background-color:#f0cf78}.close-button{width:40px;height:40px;border-width:2px}.building-panel{position:absolute;z-index:7;top:calc(110px + var(--safe-top));right:calc(16px + var(--safe-right));width:min(280px,calc(100% - var(--safe-left) - var(--safe-right) - 32px));padding:14px;display:flex;flex-direction:column;gap:9px}.building-panel .close-button{position:absolute;right:8px;top:8px}.building-panel img{width:96px;height:96px;object-fit:contain;image-rendering:pixelated}.building-panel strong{font-size:21px}.building-panel span,.building-panel p{font-weight:800;color:var(--ink-soft)}.small-button{min-height:40px;padding:6px 12px;background-color:var(--leaf);background-image:var(--green-fill);display:inline-flex;align-items:center;justify-content:center;gap:6px}.modal-backdrop{position:absolute;z-index:20;inset:0;width:100%;height:100%;height:100dvh;min-width:0;min-height:0;display:grid;place-items:center;padding:calc(18px + var(--safe-top)) calc(18px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(18px + var(--safe-left));background:#23140a7a}.modal-backdrop.non-blocking{pointer-events:none;place-items:start end;background:transparent}.modal-backdrop.non-blocking .modal{pointer-events:auto;width:min(760px,100%);margin-top:92px;margin-right:0}.modal{width:min(560px,100%);max-height:100%;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px}.modal.wide{width:min(980px,100%)}.modal header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modal h2{margin:0;font-size:28px}.build-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feature-build-section{margin-top:18px}.feature-build-section>header{display:grid;gap:4px;margin-bottom:10px}.feature-build-section>header strong{font-size:20px}.feature-build-section>header span{color:var(--ink-soft);font-weight:900}.build-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px;border:3px solid #7c5128;border-radius:8px;background-color:var(--paper-light);background-image:var(--paper-fill);background-size:auto,128px 128px;box-shadow:inset 0 1px #fff8dab8,0 2px #3d210e24}.build-toolbar>div{display:grid;gap:8px;min-width:0}.build-toolbar strong{font-size:18px}.build-toolbar span{color:var(--ink-soft);font-weight:800}.build-cost-row{display:flex;flex-wrap:wrap;gap:6px}.build-cost{min-height:30px;display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border:2px solid #7c5128;border-radius:6px;background-color:var(--paper-deep);background-image:var(--paper-fill);background-size:auto,128px 128px;color:var(--ink);font-weight:900;box-shadow:inset 0 1px #fff8dab8,inset 0 -1px #5c33141f}.build-cost.ready{border-color:var(--leaf-dark);background-color:#dff1b7}.build-cost.missing{border-color:#9c3f27;background-color:#f4b08d;color:#5b1f10}.build-card,.route-card{border:3px solid #7c5128;border-radius:8px;background-color:var(--paper-light);background-image:var(--paper-fill);background-size:auto,128px 128px;box-shadow:inset 0 1px #fff8dab8,0 2px #3d210e29;image-rendering:pixelated}.build-card{padding:0;min-height:238px;display:grid;grid-template-rows:minmax(130px,1fr) auto;gap:0;width:100%;color:var(--ink);cursor:pointer;font:inherit;text-align:left;overflow:hidden;transition:transform .08s ease,filter .08s ease,border-color .08s ease,box-shadow .08s ease}.build-card:hover{transform:translateY(-2px);filter:brightness(1.04)}.build-card.selected{border-width:6px;border-color:var(--wood-dark);box-shadow:inset 0 1px #fff8dab8,0 0 0 2px #ffe68feb,0 4px #3d210e47}.build-card.locked{filter:grayscale(1) saturate(.25);opacity:.72}.build-card.locked:hover,.build-card.locked.selected{opacity:.9}.build-card.available{filter:saturate(1.08)}.build-card-image{min-height:130px;display:grid;place-items:center;background:radial-gradient(circle at 50% 36%,#fff7cdad,#79451c29 72%),url(/assets/ui/wood-tile.webp);border-bottom:3px solid #7c5128}.build-card-image img{width:min(128px,72%);height:min(128px,72%);object-fit:contain;image-rendering:pixelated}.build-card-body{display:grid;gap:7px;padding:10px}.build-card strong{display:block;font-size:17px}.build-card p{margin:0;font-weight:800;color:var(--ink-soft)}.status{display:inline-block;margin-top:5px;padding:3px 7px;font-size:12px;background-color:var(--paper-deep)}.choice.selected{background-color:var(--leaf);background-image:var(--green-fill);border-color:var(--leaf-dark);color:#172a12}.trade-section{margin-bottom:16px}.trade-section strong{display:block;margin-bottom:8px}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.merchant-choice-row{gap:12px}.merchant-choice{min-width:104px;min-height:116px;display:grid;justify-items:center;align-content:center;gap:3px;padding:8px 10px;border-width:3px}.merchant-choice.selected{border-color:var(--leaf-dark);box-shadow:0 0 0 3px #d6b137b8,var(--control-shadow)}.merchant-choice:disabled{opacity:.72;filter:none}.merchant-portrait{width:64px;height:64px;display:block;background-position:0 0;background-repeat:no-repeat;background-size:256px 256px;image-rendering:pixelated}.merchant-choice.traveling .merchant-portrait{filter:grayscale(1);opacity:.58}.merchant-choice small{color:var(--ink-soft);font-size:11px;font-weight:900}.trade-limit-note{margin:5px 0 8px;color:var(--ink-soft);font-size:13px;font-weight:900}.choice{min-height:42px;padding:7px 12px;border-width:2px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.product-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{min-height:190px;padding:10px;border:3px solid #7c5128;border-radius:8px;background-color:var(--paper-light);background-image:var(--paper-fill);background-size:auto,128px 128px;color:var(--ink);cursor:pointer;display:grid;justify-items:center;align-content:start;gap:6px;text-align:center;font:inherit;font-weight:900;box-shadow:inset 0 1px #fff8dab8,0 2px #3d210e29;image-rendering:pixelated}.product-grid.compact .product-card{min-height:152px}.product-card:hover{filter:brightness(1.05);transform:translateY(-1px)}.product-card.selected{border-color:var(--leaf-dark);background-color:#dff1b7;background-image:var(--green-fill)}.product-card:disabled{filter:grayscale(.45);opacity:.58;cursor:default}.product-card img{width:72px;height:72px;object-fit:contain;image-rendering:pixelated}.product-card strong{font-size:16px}.product-card span,.product-card small,.product-card em{color:var(--ink-soft);font-size:13px;line-height:1.25}.product-card small{font-weight:800}.product-card em{font-style:normal;padding:4px 6px;border:2px solid #7c5128;border-radius:6px;background:#fff7cdb8}.product-card em.ready{border-color:var(--leaf-dark);color:#274419}.product-card em.missing{border-color:#9c3f27;color:#8a2d18}.empty-text{font-weight:900;color:#744b25}.stepper{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center}.stepper button{height:42px;font-weight:900}.stepper span{min-height:42px;display:grid;place-items:center;text-align:center;padding:4px}.craft-amount-section{margin-top:16px}.craft-result-card{display:grid;justify-items:center;gap:12px;margin-bottom:18px;text-align:center}.craft-result-card img{width:112px;height:112px;object-fit:contain;image-rendering:pixelated}.craft-result-card strong{font-size:19px}.route-editor{display:grid;grid-template-columns:1fr;gap:12px}.route-sidebar{position:absolute;z-index:25;inset:0 auto 0 0;width:380px;height:100%;min-width:0;min-height:0;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));overflow:auto;overscroll-behavior:contain}.route-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.route-sidebar-header h2{margin:0 0 3px;font-size:28px}.route-sidebar-header span,.route-help,.route-notice{font-weight:900;color:var(--ink-soft)}.route-help{margin:0 0 10px;line-height:1.45}.route-notice{padding:8px;margin-bottom:12px}.route-save-button{margin-bottom:12px}.route-card{padding:10px;min-height:132px}.route-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.route-card strong{font-size:17px}.route-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.point-list{list-style:none;display:grid;gap:6px;padding:0;margin:0;max-height:150px;overflow:auto}.point-list li{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:6px;padding:5px 5px 5px 8px}.point-list .close-button{width:30px;height:30px;border-width:2px}.zone-list{display:grid;gap:6px}.zone-row{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:6px;padding:5px 5px 5px 8px;font-weight:900}.zone-row.draft{grid-template-columns:1fr;background-color:#dff1b7;border-color:var(--leaf-dark)}.zone-row small{color:var(--ink-soft);font-weight:900}.zone-row .close-button{width:30px;height:30px;border-width:2px}.success-backdrop{z-index:30}.success-modal{text-align:center}.success-modal p{font-weight:800;line-height:1.5}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.result-grid span{padding:8px}@media(min-width:761px)and (max-width:1180px),(pointer:coarse)and (min-width:761px)and (max-width:1366px){.start-panel{width:min(820px,100%);padding:22px}.start-panel h1{font-size:clamp(30px,4.2vw,44px)}.start-panel p{margin-bottom:16px;font-size:14px}.region-card{min-height:145px;padding:12px 9px}.region-card strong{font-size:19px}.hud,.mission-guide,.building-panel,.notice-board,.action-bar,.visit-banner,.route-sidebar{border-width:6px;border-radius:13px}.hud{width:min(410px,calc(100% - var(--safe-left) - var(--safe-right) - 24px));top:calc(10px + var(--safe-top));left:calc(10px + var(--safe-left));padding:9px}.hud strong{font-size:17px}.resource-row,.product-mini-row{gap:4px}.resource-badge{padding:4px 6px;font-size:12px}.primary-resources .resource-badge{padding:5px 7px;font-size:13px}.hud-development{padding:3px 6px;font-size:11px}.product-mini-row{margin-top:5px;font-size:11px}.product-mini-badge{padding:2px 6px}.mission-guide{top:calc(10px + var(--safe-top) + var(--hud-height, 120px) + 8px);left:calc(10px + var(--safe-left));width:min(305px,calc(100% - var(--safe-left) - var(--safe-right) - 20px));padding:8px 10px}.mission-guide-header{gap:6px;margin-bottom:2px}.mission-guide .eyebrow{font-size:11px}.mission-guide>strong{margin-bottom:2px;font-size:16px}.mission-guide p{font-size:12px;line-height:1.3}.mission-badge{padding:2px 6px;font-size:10px}.restart-button{top:calc(10px + var(--safe-top));right:calc(10px + var(--safe-right));padding:6px 9px;font-size:12px}.building-panel{top:calc(94px + var(--safe-top));right:calc(10px + var(--safe-right));width:min(240px,calc(100% - var(--safe-left) - var(--safe-right) - 20px));padding:10px;gap:6px}.building-panel img{width:78px;height:78px}.building-panel strong{font-size:18px}.building-panel span,.building-panel p{margin-bottom:7px;font-size:13px}.notice-board{bottom:calc(78px + var(--safe-bottom));width:min(520px,calc(100% - var(--safe-left) - var(--safe-right) - 24px));min-height:40px;padding:6px 10px;font-size:14px}.action-bar{bottom:calc(12px + var(--safe-bottom));gap:7px;padding:7px}.action-bar .game-button{min-height:42px;padding:0 12px;gap:6px;font-size:14px}.visit-banner{top:calc(10px + var(--safe-top));padding:7px 10px;font-size:14px}.visit-banner strong{font-size:17px}.route-mode .phaser-host{left:320px;width:calc(100% - 320px)}.route-sidebar{width:320px;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left))}.route-sidebar-header h2{font-size:23px}.route-help,.route-notice,.route-card{font-size:13px}}@media(max-width:760px){.region-grid,.build-grid,.product-grid,.product-grid.compact,.result-grid{grid-template-columns:1fr}.route-mode .phaser-host{left:0;top:46dvh;width:100%;height:54dvh}.route-sidebar{width:100%;height:46dvh;right:0;bottom:auto}.start-panel{padding:18px}.region-card{min-height:118px}.hud{top:calc(8px + var(--safe-top));left:calc(8px + var(--safe-left));width:calc(100% - var(--safe-left) - var(--safe-right) - 16px);padding:9px}.mission-guide{top:auto;left:calc(8px + var(--safe-left));bottom:calc(150px + var(--safe-bottom));width:min(360px,calc(100% - var(--safe-left) - var(--safe-right) - 16px));padding:9px 10px}.mission-guide>strong{font-size:17px}.mission-guide p{font-size:13px}.resource-badge,.hud-development{font-size:12px}.building-panel{top:calc(138px + var(--safe-top));right:calc(8px + var(--safe-right))}.notice-board{bottom:calc(88px + var(--safe-bottom));font-size:14px}.action-bar{width:calc(100% - var(--safe-left) - var(--safe-right) - 16px);justify-content:center}.game-button{padding:0 10px;font-size:14px}}
