@font-face{font-family:Be;src:url('../assets/nhan-dien-trong-game-viet-v1/fonts/BeVietnamPro-Regular.ttf');font-display:swap}@font-face{font-family:Be;src:url('../assets/nhan-dien-trong-game-viet-v1/fonts/BeVietnamPro-SemiBold.ttf');font-weight:600;font-display:swap}@font-face{font-family:Lora;src:url('../assets/nhan-dien-trong-game-viet-v1/fonts/Lora[wght].ttf');font-weight:400 700;font-display:swap}
:root{color-scheme:light;--paper:#f5ecd7;--surface:#ebd8b0;--surface2:#dfc698;--wood:#382013;--wood2:#4d2d1b;--ink:#231c15;--text:#231c15;--muted:#655035;--gold:#e5bd71;--red:#a62d22;--line:#8b633a;--head:60px;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}body{margin:0;background:#dfc698;color:var(--ink);font:14px/1.55 Be,system-ui;height:100dvh;overflow:hidden}body.contrast{--ink:#160d05;--text:#160d05;--muted:#382013;--line:#382013}button,input,select{font:inherit}[hidden]{display:none!important}button{min-height:46px;border:2px solid #8d673b;border-radius:8px;padding:9px 13px;color:var(--ink);background:linear-gradient(90deg,#c89a5f22,transparent 12%,#fff4dd33 85%,#b7895133),linear-gradient(#f5e5ba,#dfc698);box-shadow:inset 0 1px #fff8e6,0 3px 0 #684525,0 4px 9px #28160c24;cursor:pointer;touch-action:manipulation;transition:transform .1s,box-shadow .1s}button:hover{border-color:#b67925}button:active{transform:translateY(2px);box-shadow:inset 0 1px 5px #38201355,0 1px 0 #684525}button.primary,button.active{color:#fff3d0;background:linear-gradient(#c0392b,#a62d22);border-color:#6b2118;box-shadow:inset 0 1px #e67b5a,0 3px 0 #572018}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,canvas:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #a62d22;outline-offset:3px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--red)}input[type=number],select{min-height:44px;max-width:100%;border:1px solid var(--line);background:var(--paper);padding:8px;border-radius:5px;color:var(--ink)}input[type=number]{width:76px}label{display:flex;align-items:center;gap:8px;min-height:42px}a{color:var(--red)}h1,h2,h3{font-family:Lora,serif;line-height:1.3;margin:0 0 12px}h1{font-size:clamp(24px,3vw,34px)}h2{font-size:22px}h3{font-size:19px}p{margin:8px 0 14px}small,.muted{color:var(--muted)}#game-shell{height:100dvh;width:100%;position:relative;overflow:hidden;isolation:isolate}#game-shell>header{position:absolute;z-index:20;inset:0 0 auto;height:var(--head);background:linear-gradient(#4d2d1b,#28160c);border-bottom:3px solid #d49e38;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px max(12px,env(safe-area-inset-left));color:#f5ecd7;box-shadow:0 4px 12px #28160c55}.brand{display:flex;align-items:center;gap:10px}.brand b{font-family:Lora;font-size:13px}.brand small{display:block;color:#e5bd71;font-size:10px}.brand-mark{font-size:30px;color:#e5bd71}#hud{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;white-space:nowrap}#hud b{color:#f6d184}#hud>button{min-height:38px;font-size:11px;padding:5px 9px}.hud-speed{display:flex;gap:3px}.hud-speed button{min-height:34px;padding:4px 7px;font-size:11px}.sun-clock{width:40px;height:40px;display:grid;place-items:center;background:conic-gradient(#d49e38 var(--turn),#6b4829 0);border:2px solid #e5bd71;border-radius:50%;flex:none}.sun-clock i{font-style:normal;width:28px;height:28px;display:grid;place-items:center;background:#f5ecd7;color:#a62d22;border-radius:50%;font-size:18px}main,#play-screen,.world{position:absolute;inset:0}.world{background:#baaa81}#world{display:block;width:100%;height:100%;touch-action:none}#menu-screen{position:absolute;inset:var(--head) 0 0;overflow:auto;z-index:19}.hero{min-height:100%;display:flex;align-items:center;padding:30px;background:linear-gradient(#38201344,#382013bb),url('../assets/nhan-dien-trong-game-viet-v1/menu_background.png') center/cover}.hero-content{width:min(560px,100%);margin:auto;background:#f5ecd7ef;padding:28px;border:9px solid #4d2d1b;box-shadow:0 0 0 2px #d49e38,0 15px 40px #28160c66;border-radius:12px;text-align:center}.hero-logo{display:block;width:100%;max-height:180px;margin-bottom:20px}.hero .actions{display:grid;gap:12px}.hero-options{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.tag{display:inline-block;padding:3px 8px;border:1px solid #ad8550;border-radius:5px;font-size:11px;background:#e5bd712b}.footer-note{font-size:11px;color:var(--muted)}.play-top{position:absolute;z-index:11;top:72px;left:14px;pointer-events:none}.play-top h1{font-size:13px;display:inline-block;padding:5px 10px;background:#f5ecd7e8;border:1px solid #ad8550;border-radius:5px;box-shadow:0 2px 6px #38201333}.eyebrow{display:block;font-size:10px;color:var(--red);letter-spacing:.1em;font-weight:600}.play-top .controls,.shift-track{display:none}.world-toolbar{position:absolute;top:78px;right:10px;z-index:12;display:grid;gap:12px;width:56px}.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.world-toolbar .controls{display:grid;gap:5px}.world-toolbar button{font-size:10px;padding:5px;min-height:44px}#tutorial-hint,#event-banner{position:absolute;z-index:12;top:116px;left:12px;width:min(350px,calc(100% - 92px));pointer-events:none}#event-banner{top:190px}#tutorial-hint:empty,#event-banner:empty{display:none}.hint,.warning{background:#f5ecd7ee;border:1px solid #9f693d;border-left:4px solid #a62d22;border-radius:6px;padding:8px;font-size:11px;line-height:1.4;max-height:64px;overflow:auto;pointer-events:auto}.hint button{font-size:10px;min-height:32px;padding:4px 7px;box-shadow:none}#world-hint{position:absolute;bottom:158px;left:12px;background:#f5ecd7d9;border:1px solid #ad8550;padding:4px 10px;border-radius:12px;font-size:10px;pointer-events:none}.quickbar{position:absolute;z-index:14;bottom:calc(84px + var(--safe));left:8px;right:8px;display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none}.quickbar>*{pointer-events:auto}.outside-controls{display:flex;align-items:center;gap:8px}.outside-controls .primary{min-height:52px}.in-shift .outside-controls{display:none}.in-shift .quickbar{bottom:calc(8px + var(--safe));display:grid;justify-items:center}.service-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.service-actions button{border:3px solid #4d2d1b;border-radius:24px;min-width:70px;min-height:68px;padding:6px;font-size:11px;box-shadow:inset 0 0 0 1px #d49e38,0 3px 0 #28160c}.service-actions button>span{display:block;font-size:23px;line-height:1.2}.service-actions small{display:block;font-size:8px;white-space:nowrap}.service-toggles{display:flex;justify-content:center;gap:12px;background:#f5ecd7ed;border:1px solid #ad8550;border-radius:8px;margin-top:8px;padding:0 9px}.service-toggles label{font-size:10px;min-height:34px;gap:5px}.in-shift #world-hint{bottom:142px}.in-shift .play-top{display:none}.in-shift .world-toolbar{top:74px}.in-shift #tutorial-hint{top:72px}.in-shift #event-banner{top:145px}.in-shift .brand{display:none}.in-shift #hud{width:100%;justify-content:center}.in-shift #dock{display:none}.in-shift #smart-action{position:absolute;bottom:128px;right:0}.play-bottom{display:none;position:absolute;z-index:15;top:125px;right:76px;width:min(260px,calc(100% - 96px));max-height:25dvh;overflow:auto;background:#f5ecd7ee;border:3px solid #4d2d1b;border-radius:8px;padding:8px}.show-tasks .play-bottom{display:block}.play-bottom .panel{border:0;padding:0;margin:0;box-shadow:none;background:none}.play-bottom>section:last-child{display:none}.play-bottom h2{font-size:14px}.table-list{display:grid;gap:6px}.table-card{border-bottom:1px dashed #ad8550;padding:6px;font-size:11px}.table-card p{margin:2px}.table-card button{min-height:40px;font-size:11px;width:100%}#world-actions{position:absolute;z-index:16;transform:translate(-50%,-100%);width:228px;max-width:calc(100% - 16px);text-align:center;pointer-events:none}#world-actions>small{display:inline-block;font-size:10px;background:#f5ecd7ed;border:1px solid #ad8550;padding:3px 8px;border-radius:10px;margin-bottom:5px;color:#382013}.floating-bubbles{display:flex;gap:7px;align-items:center;justify-content:center}.floating-bubbles button{pointer-events:auto;min-height:48px;border-radius:25px;padding:8px 12px;font-size:11px;border-width:3px;box-shadow:0 3px 0 #382013,0 4px 12px #28160c44}.floating-bubbles [data-action=dismiss-context]{width:44px;min-height:44px;padding:0;background:var(--paper);color:var(--ink)}#build-tools{position:absolute;z-index:16;left:12px;top:124px;width:240px;max-width:calc(100% - 90px);padding:12px;background:#f5ecd7f0;border:3px solid #4d2d1b;border-radius:7px;font-size:11px}#build-tools:empty{display:none}#build-tools p{margin:4px 0}#build-tools button{font-size:10px;min-height:40px;padding:5px;margin:3px}.panel,.card{padding:18px;border:1px solid #ad8550;border-radius:7px;background:linear-gradient(100deg,#dfc69844,transparent 20%,#fff8e644),#f5ecd7;box-shadow:inset 0 0 0 3px #e5bd7133;margin-bottom:12px}.card h3{margin-bottom:8px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:12px}.card .actions{display:grid;gap:8px;margin-top:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.hub-card button{display:block;width:100%;margin-top:9px;text-align:left}.hub-card button span{float:right}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.metrics>div{background:#ebd8b0;padding:12px;border:1px solid #ad8550;border-radius:5px;font-size:12px}.metrics b{display:block;font-family:Lora;font-size:25px;color:#a62d22}.list-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:1px dashed #ba955e;padding:12px 0}.detail strong,.detail small{display:block}.quantity{display:flex;align-items:center;gap:10px}.quantity button{width:44px;padding:5px}.quantity b{min-width:22px;text-align:center}.asset-preview{display:block;width:100%;height:104px;overflow:hidden;filter:drop-shadow(0 4px 4px #38201333)}.game-icon{display:inline-block;width:20px;height:20px;vertical-align:middle;margin-right:5px;overflow:hidden;pointer-events:none}.ingredient-preview{float:left;width:56px;height:56px;margin-right:12px;overflow:hidden}.asset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}.asset-card{border:1px solid #ad8550;border-radius:7px;padding:10px;background:#ebd8b0}.asset-card strong,.asset-card small{display:block;font-size:11px;overflow-wrap:anywhere}.collection-filters{display:flex;gap:6px;overflow:auto;margin-bottom:16px}.collection-filters button{white-space:nowrap;font-size:10px;padding:5px 8px}#dock{position:absolute;z-index:24;inset:auto 0 0;display:flex;justify-content:center;gap:5px;min-height:76px;padding:8px 8px calc(8px + var(--safe));background:linear-gradient(#4d2d1b,#28160c);border-top:3px solid #d49e38}#dock button{flex:1;max-width:150px;font-size:11px;min-height:52px;padding:4px}#dock button>span{display:block;font-size:20px}#panel-screen{position:absolute;z-index:18;top:72px;bottom:calc(88px + var(--safe));left:12px;right:12px;max-width:960px;margin:auto;overflow:auto;overscroll-behavior:contain;border:8px solid #4d2d1b;border-radius:10px;padding:24px;background:repeating-linear-gradient(0deg,#b9934e0a 0 1px,transparent 1px 5px),#f5ecd7;box-shadow:0 0 0 2px #d49e38,0 12px 40px #28160c77}.book-tabs{display:flex;gap:7px;overflow:auto;margin:10px 0 22px;padding-bottom:4px}.book-tabs button{white-space:nowrap;font-size:12px}.book-open{position:sticky;bottom:-24px;background:linear-gradient(transparent,#f5ecd7 20%);padding:22px 0 8px;text-align:center}.book-open button{width:min(430px,100%);min-height:55px;font-family:Lora;font-size:16px;letter-spacing:.03em}dialog{background:#f5ecd7;color:var(--ink);border:7px solid #4d2d1b;border-radius:10px;width:min(520px,calc(100% - 24px));max-height:80dvh;overflow:auto;box-shadow:0 0 0 2px #d49e38,0 15px 60px #28160c88;padding:22px}dialog::backdrop{background:#28160c88}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#toast{display:none;position:absolute;z-index:40;top:68px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);background:#f5ecd7f5;border:2px solid #a62d22;color:#382013;padding:9px 14px;border-radius:7px;box-shadow:0 5px 15px #28160c55;font-size:12px;pointer-events:none}
@media(max-width:700px){.brand{display:none}#hud{width:100%;gap:6px;font-size:10px}#hud>button{font-size:10px;padding:4px 6px}.hud-label{display:none}.hud-speed button{padding:3px 5px;min-height:32px;font-size:10px}.sun-clock{width:32px;height:32px}.sun-clock i{width:22px;height:22px;font-size:16px}.in-shift #hud{justify-content:space-between}.cards{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics b{font-size:22px}#panel-screen{padding:16px 12px;border-width:6px}.book-tabs button{font-size:10px;min-height:42px;padding:5px 8px}.hero{padding:18px}.hero-content{padding:20px 16px}.hero-logo{max-height:140px}.service-actions{gap:6px}.service-actions button{min-width:0;width:76px;font-size:10px}.service-toggles{gap:7px;padding:0 6px}.service-toggles label{font-size:9px}.service-toggles input{width:18px;height:18px}.outside-controls button{font-size:11px;padding:7px 10px}.play-top h1{font-size:11px}.book-open{bottom:-16px}.floating-bubbles button{font-size:10px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

#pause-sheet{position:absolute;z-index:17;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,calc(100% - 32px));padding:22px;background:#f5ecd7f5;border:6px solid #4d2d1b;border-radius:9px;box-shadow:0 0 0 2px #d49e38,0 10px 40px #28160c77;text-align:center}#pause-sheet button{display:block;width:100%;margin-top:10px}.profit-seal{display:inline-block;margin:8px 0 16px;padding:9px 16px;border:3px double #a62d22;color:#a62d22;font-family:Lora;font-weight:700;font-size:24px;transform:rotate(-5deg)}.revenue-lines{border-block:1px dashed #ad8550;padding:8px 0}.revenue-lines>div{display:flex;justify-content:space-between;padding:6px 0}

.floating-bubbles .game-icon{display:none}:root{--head:calc(60px + env(safe-area-inset-top,0px))}#game-shell>header{padding-top:calc(5px + env(safe-area-inset-top,0px))}.play-top,#panel-screen{top:calc(72px + env(safe-area-inset-top,0px))}.world-toolbar{top:calc(78px + env(safe-area-inset-top,0px))}.in-shift .world-toolbar{top:calc(74px + env(safe-area-inset-top,0px))}.in-shift #tutorial-hint{top:calc(72px + env(safe-area-inset-top,0px))}#toast{top:calc(68px + env(safe-area-inset-top,0px))}@media(max-width:700px){.hud-pause-label{display:none}#hud>button{width:34px;padding:4px;flex:none;font-size:16px}}

.world-toolbar,.in-shift .world-toolbar{left:12px;right:auto;top:calc(74px + env(safe-area-inset-top,0px));width:120px;gap:3px}.floor-label{font-size:9px;min-height:0;background:#f5ecd7d9;padding:0 5px;border-radius:3px}.world-toolbar select{font-size:12px;min-height:44px;border:2px solid #8d673b;background:#f5ecd7ee}.play-top{left:145px;right:auto}.in-shift #tutorial-hint,#tutorial-hint{top:calc(135px + env(safe-area-inset-top,0px));width:min(320px,calc(100% - 24px))}#event-banner,.in-shift #event-banner{left:auto;right:12px;top:calc(74px + env(safe-area-inset-top,0px));width:min(230px,calc(100% - 154px))}.main-menu{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px}.book-return{display:flex;justify-content:space-between;gap:8px;margin:0 0 12px}.book-return button{font-size:11px}#build-tools{top:calc(210px + env(safe-area-inset-top,0px))}

/* During service, actions appear on the selected object. */
.in-shift .quickbar{display:none}.in-shift #world-hint{bottom:calc(12px + var(--safe))}

/* Keep management navigation accessible while guests are present. */
.in-shift #dock{display:flex}.in-shift .quickbar{display:flex;bottom:calc(88px + var(--safe))}.in-shift .outside-controls{display:flex}.in-shift .outside-controls #start-controls{display:none}.in-shift #smart-action{display:none}.in-shift #world-hint{bottom:calc(155px + var(--safe))}

.in-shift .quickbar{display:none}.in-shift #world-hint{bottom:calc(88px + var(--safe))}
.popup-close{position:absolute;top:8px;right:8px;z-index:2;width:44px;min-height:44px;padding:0;font-size:28px;line-height:1;color:#fff;background:#a62d22;border:2px solid #6b2118;border-radius:8px}.popup-close:hover{background:#c0392b;border-color:#6b2118}#panel-screen>h1,#dialog-title,#pause-sheet>h2{padding-right:48px}#world-actions{padding-right:52px}#world-actions .popup-close{top:4px;right:4px}

#tutorial-hint,.in-shift #tutorial-hint{position:absolute;z-index:26;width:min(300px,calc(100% - 24px));max-height:none;overflow:visible;pointer-events:auto}.tour-card{position:relative;background:#f5ecd7;border:3px solid #a62d22;border-radius:12px;padding:14px;box-shadow:0 6px 24px #28160c66;overflow:visible}.tour-card>small:first-of-type{display:block;padding-right:40px;font-size:10px;color:#a62d22}.tour-card p{margin:12px 0;font-size:14px;line-height:1.5}.tour-card>small:last-child{font-size:11px}.tour-card .popup-close{width:34px;min-height:34px;font-size:24px;top:6px;right:6px}#tour-focus{position:absolute;z-index:25;pointer-events:none;border:3px solid #e5bd71;border-radius:14px;box-shadow:0 0 0 4px #a62d2299,0 0 20px #e5bd71;animation:tour-pulse 1.4s ease-in-out infinite}@keyframes tour-pulse{50%{box-shadow:0 0 0 7px #a62d2255,0 0 28px #e5bd71}}@media(prefers-reduced-motion:reduce){#tour-focus{animation:none}}

#world-actions{transform:none;width:228px;padding:12px;background:#f5ecd7;border:2px solid #8d673b;border-radius:12px;box-shadow:0 5px 18px #28160c66;pointer-events:auto;text-align:left}#world-actions>small{display:block;background:none;border:0;border-radius:0;margin:0 34px 10px 0;padding:0;font-size:12px;font-weight:bold}.floating-bubbles{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.floating-bubbles button:not(.popup-close){width:100%;border-radius:8px}.floating-bubbles .popup-close{position:absolute;top:5px;right:5px;width:32px;min-height:32px;border-radius:7px;background:#a62d22;color:white;border:2px solid #6b2118;font-size:24px;box-shadow:none;padding:0}#world-actions::after{content:"";position:absolute;left:var(--arrow-x,50%);width:12px;height:12px;background:#f5ecd7;transform:translateX(-50%) rotate(45deg)}#world-actions[data-side="above"]::after{bottom:-8px;border-right:2px solid #8d673b;border-bottom:2px solid #8d673b}#world-actions[data-side="below"]::after{top:-8px;border-left:2px solid #8d673b;border-top:2px solid #8d673b}

/* Compact object actions leave the table and customers visible. */
#world-actions{width:176px;padding:8px;border-radius:9px}
#world-actions>small{font-size:11px;margin:0 26px 6px 0;line-height:1.3}
#world-actions .floating-bubbles{gap:5px}
#world-actions .floating-bubbles button:not(.popup-close){min-height:34px;padding:5px 8px;font-size:10px;border-width:2px;border-radius:6px}
#world-actions .floating-bubbles .popup-close{width:26px;min-height:26px;top:4px;right:4px;font-size:20px;border-radius:6px}

/* Compact guide stays above the dock; the target alone follows the world. */
#tutorial-hint,.in-shift #tutorial-hint{width:min(340px,calc(100% - 24px));transform:translateX(-50%);pointer-events:none}
.tour-card{padding:7px 38px 7px 10px;border-width:2px;border-radius:8px;box-shadow:0 2px 8px #28160c44;pointer-events:auto}
.tour-card>small:first-of-type{padding-right:0;font-size:9px}
.tour-card p{margin:3px 0 0;font-size:12px;line-height:1.35}
.tour-card .popup-close{width:26px;height:26px;min-height:26px;font-size:19px;top:6px;right:6px}
.tour-card>button:not(.popup-close){min-height:28px;padding:3px 8px;font-size:11px;margin-top:5px}
#pause-sheet>button.popup-close{display:grid;place-items:center;width:32px;height:32px;min-height:32px;margin:0;padding:0;top:6px;right:6px;font-size:22px}
