:root{--brand:#477960;--ink:#293d34;--muted:#728078;--paper:#f7f5ed;--card:#fffdf7;--line:#e3e5d9;--soft:#edf0e5;--danger:#a15845;--radius:17px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c5b878;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1{font-size:44px;line-height:1.17;letter-spacing:-1.7px;white-space:pre-line}h2{font-size:24px;line-height:1.3;letter-spacing:-.5px}h3{font-size:17px;line-height:1.4;margin-bottom:16px}h4{font-size:13px;margin:14px 0 6px}p{line-height:1.65;overflow-wrap:anywhere}small{font-size:11px;line-height:1.5}a{color:var(--brand)}.muted,.field small{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand)}.lead{font-size:16px;max-width:460px}.positive{color:#387359}.negative,.error,.inline-error{color:var(--danger)}.inline-error{padding:12px;background:#faeee7;border-radius:8px}.hidden{display:none}.button{border:1px solid #d6decf;border-radius:10px;background:var(--soft);color:var(--ink);padding:12px 16px;font-weight:650;line-height:1.35;min-height:44px;transition:background .15s,transform .1s;max-width:100%;overflow-wrap:anywhere}.button:hover:not(:disabled){background:#e2e8d7}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.button.primary:hover:not(:disabled){filter:brightness(.95)}.button.secondary{background:#f4eee0;border-color:#e5ddc9}.button.ghost{background:transparent;border-color:transparent;color:var(--brand)}.button.text{min-height:28px;padding:0;border:0;background:transparent;font-weight:500}.button.small{padding:8px 11px;min-height:36px;font-size:12px}.button.icon{width:38px;height:38px;min-height:38px;padding:0;flex:none;font-size:19px}.button.full{display:block;width:100%;margin-top:14px}.button-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:0 3px 12px #33483003;margin-bottom:20px;min-width:0}.card>p+p{margin-top:8px}.card p+.button-row{margin-top:12px}.data-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:8px 0;font-size:12px;border-bottom:1px solid #eceee4;min-width:0}.data-row span{color:var(--muted);flex:1}.data-row strong{text-align:right;max-width:65%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.data-row.total{font-size:14px;border-top:1px solid var(--line);border-bottom:0;margin-top:7px;padding:14px 0}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;margin:0 0 16px;min-width:0}.field>small{font-weight:400}.field input[type=checkbox]{width:22px;height:22px;align-self:flex-start}.field input[type=color]{padding:5px;min-height:43px;cursor:pointer}input,select,textarea{border:1px solid #dce1d4;border-radius:9px;padding:11px 12px;color:var(--ink);background:#fff;min-width:0;max-width:100%;width:100%}textarea{resize:vertical;line-height:1.55}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:23px;align-items:start}.two-columns>.card{height:auto}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.section-title p{margin-top:8px}.section-title>select{width:auto;max-width:250px;flex:none}.game-shell{max-width:1440px;padding:0 36px;margin:auto}.topbar{display:flex;align-items:center;gap:22px;min-height:94px;border-bottom:1px solid var(--line)}.brand-title{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.brand-title strong{font-size:20px;display:block;max-width:430px;line-height:1.3;overflow-wrap:anywhere}.brand-title small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.brand-icon{font-size:26px;color:var(--brand);background:#e6ecdf;border-radius:14px;width:46px;height:46px;text-align:center;line-height:44px;flex:none}.day-pill{display:flex;flex-direction:column;gap:4px;border-radius:30px;background:var(--soft);padding:12px 20px;text-align:center;flex:none}.day-pill small{color:var(--muted)}.hud{display:grid;grid-template-columns:1fr 1.25fr 1fr .75fr;gap:20px;padding:24px 0}.metric{display:flex;flex-direction:column;gap:7px;min-width:0}.metric small{color:var(--muted);font-size:10px}.metric strong{font-size:22px;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:26px}.tabs .button{border:0;background:transparent;border-radius:8px 8px 0 0;padding:11px 17px;color:var(--muted);font-size:12px;white-space:nowrap}.tabs .button.active{background:#e9edde;color:var(--brand);border-bottom:2px solid var(--brand)}.workspace{min-height:520px}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}.scene-card{border:1px solid var(--line);border-radius:20px;background:#e7eadf;overflow:hidden;min-width:0}.scene-top{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:25px 28px 6px}.scene-top h2{font-size:21px;max-width:350px;overflow-wrap:anywhere;margin-top:7px}.scene-top select{width:175px;font-size:12px;flex-shrink:0}.shop-canvas{display:block;width:100%;aspect-ratio:800/520;touch-action:manipulation;cursor:pointer}.scene-bottom{display:flex;gap:22px;padding:3px 26px 18px}.scene-bottom .data-row{flex:1;border-bottom:0;gap:8px}.play-controls{padding:0 25px}.play-controls:not(:empty){padding-bottom:20px}progress{width:100%;height:8px;border-radius:8px;accent-color:var(--brand);display:block;margin:5px 0 14px}.play-controls select{width:65px;padding:8px}.play-controls .small{margin-top:9px}.planning-panel .card{padding:22px}.planning-panel h3{font-size:16px}.planning-panel .card p{font-size:12px}.alert{display:flex;gap:15px;align-items:center;justify-content:space-between;border-radius:12px;padding:13px 17px;margin:15px 0;background:#eef2e6;border:1px solid #dce3cf}.alert p{font-size:12px}.alert.error{background:#faede5;border-color:#ead2c7}.alert.warning{background:#faf1dd;border-color:#e9dcbb}.alert.info{background:#eef2ec}.notice{font-size:12px;color:#8a7353;background:#f8f0df;padding:12px;border-radius:9px;margin-top:15px}.footnote{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#819087;padding:27px 0 24px;border-top:1px solid var(--line);margin-top:32px}.footnote p{max-width:75%}.product-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 93px;gap:12px;align-items:center;border-top:1px solid var(--line);padding:13px 0;min-width:0}.product-row strong,.price-row strong{font-size:12px;display:block}.product-row small,.price-row small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.product-row.highlight{background:#eef0df;border-radius:9px;padding:13px 9px}.stepper{display:flex;gap:5px;align-items:center}.stepper .button{height:33px;width:29px;min-height:33px;font-size:16px}.stepper input{width:66px;text-align:center;padding:8px 3px}.line-total{font-size:11px;text-align:right;font-weight:650}.order-preview{margin-top:15px;background:#f2f3e8;padding:10px 16px;border-radius:11px}.price-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:15px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.price-row input{text-align:right;font-variant-numeric:tabular-nums}.policy-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 70px;gap:10px;align-items:center;padding:6px 0;font-size:12px}.policy-row input{padding:7px}.setup-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:25px}.setup-row{grid-template-columns:16px minmax(0,1fr) 82px}.product-dot{width:13px;height:13px;border-radius:4px;display:block}.compact-table{width:100%;border-collapse:collapse;font-size:10px;font-variant-numeric:tabular-nums}.compact-table th{text-align:left;color:var(--muted);padding:8px 0}.compact-table td{padding:8px 0;border-bottom:1px solid var(--line);white-space:nowrap}.compact-table td:not(:first-child),.compact-table th:not(:first-child){text-align:right}.gate{background:#f2f4eb;padding:14px;border-radius:11px;margin-bottom:20px}.gate-title{font-weight:750;font-size:12px;margin-bottom:13px}.requirement{display:flex;gap:9px;align-items:flex-start;margin:9px 0;font-size:11px;color:#8a7768}.requirement.met{color:#477960}.requirement>span{font-size:15px;line-height:20px}.requirement strong{font-weight:550;display:block}.requirement small{display:block;color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.gate p{font-size:10px;margin-top:4px}.option-card{padding:15px;border:1px solid var(--line);border-radius:11px;margin-bottom:13px}.option-card>strong{font-size:13px;display:block;margin-bottom:8px;overflow-wrap:anywhere}.option-card p{font-size:11px;margin-top:10px}.upgrade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.upgrade-grid .option-card{margin-bottom:0;display:flex;flex-direction:column}.upgrade-grid .button{margin-top:auto}.upgrade-grid .data-row{font-size:10px}.upgrade-grid p{padding-bottom:15px}.upgrade-picture{font-size:46px;line-height:80px;height:85px;text-align:center;color:#ad8b62;background:#f1eadb;border-radius:9px;display:block;margin-bottom:15px}.upgrade-picture.fridge{color:#9bb6ae;background:#e5eee8}.upgrade-picture.counter{color:#8d775e;background:#ece6dc}.upgrade-picture.sign{color:#598165;background:#e7eddc}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:14px}.result-grid .metric strong{font-size:18px}.journal-entry{padding:12px 0;border-bottom:1px solid var(--line)}.journal-entry>strong{display:block;font-size:11px}.journal-entry>small{font-size:9px;color:var(--muted);display:block;margin-top:5px;overflow-wrap:anywhere}.journal-entry .data-row{font-size:10px;padding:5px 0;border-bottom:0}.obligation{border:1px solid var(--line);padding:13px;border-radius:9px;margin-bottom:13px}.obligation.overdue{background:#fcf0e8;border-color:#ead0c3}.obligation strong{font-size:12px}.obligation input{padding:9px;margin-top:9px}.obligation .button{margin-top:9px}.store-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding:22px;background:#e9edde;border-radius:17px;margin-bottom:25px}.map-store{min-width:0}.map-store>strong{font-size:13px;display:block;overflow-wrap:anywhere}.map-store>p{font-size:10px}.map-store.closed{opacity:.6}.map-store .data-row{font-size:10px}.map-store-picture{width:105px;height:85px;background:#e6d1ab;border-radius:8px;position:relative;margin:20px auto 20px;border:8px solid #beaa8d;border-bottom:0;box-shadow:0 9px 0 #d0ba97}.map-store-picture:before{content:'';position:absolute;left:-13px;top:-16px;right:-13px;height:25px;background:repeating-linear-gradient(90deg,var(--brand) 0,var(--brand) 20px,#fff5df 20px,#fff5df 40px);border-radius:7px 7px 5px 5px}.map-store-picture>span{position:absolute;top:25px;left:27px;font-size:22px;color:var(--brand);font-weight:700}.map-store .button{font-size:10px;width:100%;margin-top:6px}.share-row{margin-bottom:15px}.share-bar{height:6px;background:#ebeee3;border-radius:5px;overflow:hidden;margin-top:8px}.share-bar span{display:block;height:100%;background:var(--brand);border-radius:5px}.listing-mark{font-size:60px;line-height:1;color:#b59855;text-align:center;background:#f6efdc;padding:25px;border-radius:15px;margin-bottom:18px}.lesson{border-bottom:1px solid var(--line);padding:10px 0}.lesson>summary{font-size:12px;font-weight:650;padding:7px 0;color:var(--ink)}.lesson>small{font-size:10px;color:var(--muted);display:block;margin:8px 0}.lesson p{font-size:12px}.source-link{font-size:11px;display:block;margin-top:10px;overflow-wrap:anywhere}.event-card{border:1px solid #dfd9c3;border-radius:10px;background:#fbf5e7;padding:15px;margin-top:14px}.event-card>strong{font-size:13px}.event-card p{margin-top:9px}.event-card .button{font-size:11px}.event-card>small{color:var(--muted);display:block;margin-top:9px}details{margin-top:12px}summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--brand);line-height:1.6}pre{background:#f0f2e8;padding:15px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;line-height:1.6;max-height:350px;overflow:auto}.dialog{background:var(--card);color:var(--ink);border:1px solid #d7decd;border-radius:19px;width:min(640px,calc(100% - 30px));max-height:90vh;padding:0;box-shadow:0 20px 90px #1f302a33}.dialog::backdrop{background:#263e3655;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 25px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:21px}.dialog-head .button{background:transparent;border:0;font-size:26px;color:var(--muted)}.dialog-body{padding:25px;overflow-y:auto;max-height:65vh}.dialog-body>p+p{margin-top:13px}.dialog-body h3{margin-top:22px}.dialog-actions{padding:16px 25px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f2f3e9;border-top:1px solid var(--line)}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);z-index:1000;max-width:calc(100vw - 40px);width:max-content;padding:14px 21px;background:#263e34;color:#fff;border-radius:12px;box-shadow:0 5px 18px #182c2b25;font-size:12px;opacity:0;pointer-events:none;transition:.2s;line-height:1.6}#toast.visible{opacity:1;transform:translate(-50%,0)}.is-busy{cursor:progress}.is-busy .topbar:after{content:'Đang xác nhận và lưu…';position:fixed;top:0;left:0;right:0;background:var(--brand);color:#fff;font-size:10px;z-index:1200;text-align:center;padding:5px}.landing{max-width:1190px;margin:auto;padding:0 36px}.landing-header{display:flex;align-items:center;justify-content:space-between;min-height:95px;border-bottom:1px solid var(--line)}.landing-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:85px;padding:65px 0 35px;align-items:center}.welcome h1{margin:30px 0 20px}.welcome-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.welcome-tags span{font-size:10px;padding:7px 10px;border-radius:30px;background:#e8eddf;border:1px solid #dfe4d6;color:#637663}.new-game{padding:28px;margin:0}.new-game h2{font-size:23px;margin-bottom:25px}.new-game p{font-size:11px;margin-top:20px}.sign-preview{color:#fff;background:var(--brand);border:5px solid #e9d8b7;padding:17px 20px;text-align:center;border-radius:10px;font-weight:750;font-size:18px;overflow-wrap:anywhere;margin:10px 0 21px;min-height:67px;line-height:1.5}.new-game .button{width:100%}.save-area{border-top:1px solid var(--line);padding:27px 0}.save-area h2{font-size:19px;margin-bottom:20px}.save-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.save-card{padding:20px;border:1px solid var(--line);background:var(--card);border-radius:13px}.save-card>strong{display:block;font-size:15px;overflow-wrap:anywhere}.save-card p{font-size:11px;margin-top:7px}.save-card .button{margin-top:14px;width:100%}.tiny-shop{width:260px;height:170px;border:10px solid #cfbd9e;border-bottom:0;border-radius:8px;background:#eddbb8;position:relative;margin-top:24px;box-shadow:0 14px 0 #b89c72,0 21px 0 #dfceb1}.awning{position:absolute;top:-26px;left:-23px;right:-23px;height:34px;background:repeating-linear-gradient(90deg,var(--brand) 0,var(--brand) 37px,#fcf1d6 37px,#fcf1d6 74px);border-radius:13px 13px 9px 9px;box-shadow:0 7px 0 #00000007}.tiny-sign{background:var(--brand);color:#fff;text-align:center;position:absolute;left:22px;right:22px;top:26px;border-radius:6px;padding:10px;font-weight:700;font-size:15px;box-shadow:0 0 0 4px #dbc7a7}.tiny-window{position:absolute;left:21px;bottom:20px;width:93px;height:52px;background:#a8c5bb;border:5px solid #b89c73;border-radius:3px;box-shadow:inset 0 -16px #89b0a2}.tiny-door{position:absolute;right:25px;bottom:0;width:64px;height:82px;background:#b8c9bd;border:5px solid #b89c73;border-radius:5px 5px 0 0}.loading{max-width:640px;margin:12vh auto;padding:30px}.loading h1{font-size:28px;margin:17px 0}.loading p{margin:12px 0}
@media(min-width:1440px){.shop-canvas{min-height:470px}.game-shell{padding:0 48px}}
@media(max-width:1100px){.game-shell{padding:0 23px}.topbar{gap:12px}.brand-title strong{font-size:17px}.shop-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.planning-panel .card{padding:18px}.metric strong{font-size:19px}.tabs .button{padding:12px 13px}.scene-top{padding:20px 20px 5px}.scene-top select{width:145px}.scene-top h2{font-size:18px}.scene-bottom{padding:3px 20px 17px;gap:10px}.scene-bottom .data-row{font-size:10px}.upgrade-grid{grid-template-columns:1fr 1fr}.setup-layout{grid-template-columns:minmax(0,1fr) 310px}.store-map{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-grid{gap:45px;grid-template-columns:minmax(0,1fr) 365px}h1{font-size:36px}.product-row{grid-template-columns:minmax(0,1fr) 130px;gap:8px}.product-row .line-total{grid-column:1/-1;text-align:right;margin-top:-7px}.setup-row{grid-template-columns:16px minmax(0,1fr) 82px}}
@media(max-width:820px){.shop-layout{grid-template-columns:1fr}.planning-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}.planning-panel .card:last-child{grid-column:1/-1}.scene-top h2{max-width:70vw}.scene-top select{width:180px}.shop-canvas{max-height:530px;object-fit:contain}.hud{gap:12px;grid-template-columns:1fr 1.2fr 1fr .7fr}.metric strong{font-size:17px}.topbar>.button:first-child{font-size:10px;padding:5px}.day-pill{padding:10px 15px}.day-pill small{font-size:10px}.brand-title small{font-size:9px}.brand-icon{width:38px;height:38px;line-height:36px}.tabs{justify-content:space-between;gap:0}.tabs .button{font-size:10px;padding:12px 9px}.two-columns{gap:17px}.card{padding:19px}.landing-grid{grid-template-columns:minmax(0,1fr) 340px;gap:30px;padding:45px 0}.landing{padding:0 23px}.welcome h1{font-size:30px}.tiny-shop{width:225px}.lead{font-size:14px}.welcome-tags{display:none}.setup-layout{grid-template-columns:1fr 1fr;gap:18px}.result-grid .metric strong{font-size:15px}.save-grid{grid-template-columns:1fr 1fr}.price-row{grid-template-columns:minmax(0,1fr) 105px}}
@media(max-width:600px){:root{font-size:13px}.game-shell,.landing{padding:0 14px}.topbar{min-height:84px;gap:9px;flex-wrap:wrap;padding:14px 0}.topbar>.button:first-child{order:3;padding:4px 0;min-height:24px}.topbar>.button:last-child{order:4;margin-left:auto;padding:4px 8px;min-height:24px}.brand-title{flex:1;max-width:calc(100% - 105px);gap:8px}.brand-title strong{font-size:15px}.brand-title small{font-size:8px}.brand-icon{width:34px;height:34px;line-height:32px;font-size:21px;border-radius:10px}.day-pill{padding:7px 9px;max-width:104px;border-radius:11px;gap:2px}.day-pill strong{font-size:12px}.day-pill small{font-size:8px}.hud{grid-template-columns:1fr 1fr;padding:19px 0 13px;gap:15px}.hud .metric{padding:0 8px 0 0}.hud .metric strong{font-size:17px}.hud .metric small{font-size:9px}.hud .metric:nth-child(3) strong,.hud .metric:nth-child(4) strong{font-size:14px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-bottom:20px;padding-bottom:10px;position:sticky;top:0;background:var(--paper);z-index:10}.tabs .button{border-radius:8px;font-size:9px;padding:8px 3px;min-height:32px;white-space:normal}.tabs .button.active{border-bottom:0;box-shadow:inset 0 0 0 1px #d6dec9}.section-title{gap:14px;flex-wrap:wrap;margin-bottom:18px}.section-title h2{font-size:21px}.section-title p{font-size:11px;margin-top:6px}.section-title>select{width:100%;max-width:none}.two-columns,.setup-layout{display:block}.card{padding:18px;border-radius:14px;margin-bottom:17px}.card h3{font-size:16px;margin-bottom:13px}.shop-layout{gap:17px}.scene-card{border-radius:15px}.scene-top{padding:17px 17px 7px;gap:9px;align-items:flex-start}.scene-top .eyebrow{font-size:8px;letter-spacing:1px}.scene-top h2{font-size:16px;max-width:180px;margin-top:4px}.scene-top select{width:126px;padding:8px 7px;font-size:10px;flex:none}.shop-canvas{min-height:220px}.scene-bottom{padding:0 15px 13px;display:block}.scene-bottom .data-row{font-size:10px;padding:4px 0;display:flex}.scene-bottom .data-row strong{max-width:55%}.planning-panel{display:block}.planning-panel .card{padding:19px}.planning-panel .card p{font-size:12px}.play-controls{padding:0 15px}.play-controls .button-row{gap:5px}.play-controls .button.small{padding:8px;font-size:10px}.play-controls .muted.small{font-size:9px}.alert{align-items:flex-start;gap:10px;padding:12px;flex-wrap:wrap}.alert p{font-size:11px}.result-grid{gap:18px}.result-grid .metric strong{font-size:17px}.product-row{grid-template-columns:minmax(0,1fr) 124px;gap:8px}.product-row small{font-size:9px}.product-row strong{font-size:11px}.stepper{gap:4px}.stepper input{width:60px}.stepper .button{width:28px;min-width:28px}.setup-row{grid-template-columns:12px minmax(0,1fr) 70px}.setup-row input{padding:9px}.price-row{grid-template-columns:minmax(0,1fr) 100px}.price-row small{font-size:9px}.price-row strong{font-size:11px}.price-row input{padding:9px;font-size:12px}.upgrade-grid{grid-template-columns:1fr 1fr;gap:11px}.upgrade-grid .option-card{padding:12px}.upgrade-grid .data-row{font-size:9px}.upgrade-grid .option-card>strong{font-size:11px}.upgrade-grid p{font-size:10px}.upgrade-grid .button{padding:10px 6px;font-size:10px}.upgrade-picture{height:62px;line-height:62px;font-size:33px}.store-map{grid-template-columns:1fr 1fr;gap:17px;padding:15px}.map-store-picture{width:85px;height:68px;margin:15px auto 15px}.map-store-picture>span{font-size:18px;left:20px;top:20px}.map-store>strong{font-size:11px}.map-store .data-row{font-size:9px}.map-store .data-row strong{max-width:62%}.form-grid{gap:11px}.policy-row{grid-template-columns:minmax(0,1fr) 60px 60px;gap:8px;font-size:10px}.compact-table{font-size:9px}.compact-table td{padding:7px 0}.footnote{font-size:8px;align-items:flex-start;gap:10px;margin-top:22px;padding:20px 0}.footnote p{max-width:70%}.footnote .button.text{font-size:9px}.landing-header{min-height:70px}.landing-header .eyebrow{font-size:8px;letter-spacing:1px}.landing-grid{display:flex;flex-direction:column;gap:30px;padding:28px 0}.welcome{width:100%;display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:17px;align-items:center}.tiny-shop{width:132px;height:94px;border:6px solid #cfbd9e;border-bottom:0;margin-top:15px;box-shadow:0 8px 0 #b89c72,0 12px 0 #dfceb1}.awning{left:-13px;right:-13px;top:-15px;height:20px;background:repeating-linear-gradient(90deg,var(--brand) 0,var(--brand) 20px,#fcf1d6 20px,#fcf1d6 40px);border-radius:6px}.tiny-sign{top:15px;left:11px;right:11px;padding:5px;font-size:9px;box-shadow:0 0 0 2px #dbc7a7}.tiny-window{width:46px;height:27px;border-width:3px;left:10px;bottom:11px;box-shadow:inset 0 -9px #89b0a2}.tiny-door{width:32px;height:40px;border-width:3px;right:12px}.welcome h1{font-size:22px;margin:9px 0;letter-spacing:-.5px}.welcome .lead{grid-column:1/-1;font-size:12px;margin-top:27px}.new-game{width:100%;padding:22px}.new-game h2{font-size:21px;margin-bottom:20px}.sign-preview{font-size:16px;padding:12px;margin-top:0;min-height:55px}.save-grid{grid-template-columns:1fr}.save-area{padding:23px 0}.save-card{padding:17px}.dialog{width:calc(100% - 22px);max-height:93vh;border-radius:15px}.dialog-head{padding:18px}.dialog-head h2{font-size:19px}.dialog-body{padding:18px;max-height:67vh}.dialog-actions{padding:13px 18px}.dialog-actions .button{font-size:11px}.dialog-body .data-row{font-size:11px}.dialog .form-grid{display:block}.loading{margin:10vh 15px;padding:23px}.loading h1{font-size:24px}.loading p{font-size:12px}#toast{font-size:11px;bottom:15px;max-width:calc(100vw - 24px);padding:12px 17px}.button.full{margin-top:12px}.workspace{min-height:420px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.dialog::backdrop{backdrop-filter:none}}
/* Two clear rows keep long Vietnamese branding readable on narrow screens. */
@media(max-width:600px){.topbar{padding:14px 0 10px;gap:10px;min-height:110px}.brand-title{order:0;flex:1 0 100%;max-width:100%;width:100%;align-items:flex-start}.brand-title strong{max-width:none;font-size:16px;line-height:1.35}.brand-title>div{flex:1;min-width:0}.brand-title small{margin-top:4px;font-size:8px}.brand-icon{margin-top:2px}.day-pill{order:1;margin-right:auto;max-width:none;flex:none;padding:7px 13px}.day-pill small{font-size:9px}.topbar>.button:first-child{order:2;min-height:32px;padding:5px 6px}.topbar>.button:last-child{order:3;min-height:32px;padding:5px 8px;margin-left:0}.hud{padding-top:17px}}

