*{box-sizing:border-box;margin:0;padding:0}html,body{color:#fdf3e1;touch-action:none;-webkit-user-select:none;user-select:none;background:#2b1d14;width:100%;height:100%;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#env-badge{top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));color:#fff;letter-spacing:1px;z-index:50;pointer-events:none;background:#d62828;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700;position:fixed}#version{right:max(8px, env(safe-area-inset-right));bottom:max(6px, env(safe-area-inset-bottom));opacity:.7;z-index:50;pointer-events:none;font-size:11px;position:fixed}#rotate-overlay{z-index:100;text-align:center;background:#2b1d14;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;font-size:18px;display:flex;position:fixed;inset:0}#rotate-overlay[hidden]{display:none}#rotate-overlay .phone-icon{font-size:56px;animation:1.8s ease-in-out infinite xoay}@keyframes xoay{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}#debug-panel{top:max(40px, calc(env(safe-area-inset-top) + 32px));left:max(8px, env(safe-area-inset-left));color:#9effa0;z-index:50;white-space:pre;background:#0009;border-radius:6px;padding:6px 10px;font:12px/1.5 monospace;position:fixed}#debug-panel .dbg-text{pointer-events:none}#debug-panel .dbg-row{white-space:normal;align-items:center;gap:6px;margin-top:6px;display:flex}#debug-panel input[type=range]{width:150px}#debug-panel button,#debug-panel select{color:#9effa0;background:#1f3a24;border:1px solid #3f7a4a;border-radius:4px;padding:2px 6px;font:12px monospace}#title-screen{z-index:80;background:radial-gradient(#2b1d1459,#2b1d14d9);justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0}#title-screen.hide{opacity:0;pointer-events:none}.title-card{text-align:center;padding:20px 28px}.title-card h1{color:#ffe2a8;letter-spacing:3px;text-shadow:0 3px #7a3f2e,0 6px 18px #00000080;font-size:clamp(40px,11vh,88px)}.tagline{opacity:.95;margin-top:4px;font-size:clamp(14px,3vh,20px)}.loading{background:#ffffff26;border-radius:4px;width:min(320px,60vw);height:8px;margin:18px auto 6px;overflow:hidden}#load-bar{background:#e9b949;width:0%;height:100%;transition:width .2s}#load-text{opacity:.8;min-height:18px;font-size:13px}#btn-start{color:#2b1d14;cursor:pointer;background:#e9b949;border:none;border-radius:30px;margin-top:14px;padding:12px 36px;font-size:clamp(18px,3.6vh,24px);font-weight:700;box-shadow:0 4px #a8741f}#btn-start:disabled{opacity:.5;cursor:default}#btn-start:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px #a8741f}.tip{opacity:.75;margin-top:12px;font-size:13px}#hud{z-index:40;top:max(8px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));align-items:center;gap:8px;display:flex;position:fixed}#hud[hidden]{display:none}#clock{text-shadow:0 1px 2px #0006;text-align:right;background:#2b1d148c;border-radius:16px;padding:5px 12px;font-size:14px;font-weight:600;line-height:1.25}#clock small{opacity:.85;font-size:11px;font-weight:500;display:block}#btn-sound{color:#fff;cursor:pointer;background:#2b1d148c;border:none;border-radius:50%;width:38px;height:38px;font-size:18px}#zone-toast{z-index:40;pointer-events:none;color:#fff3d6;text-shadow:0 2px 6px #0009;opacity:0;font-size:clamp(16px,3.6vh,24px);font-weight:700;transition:opacity .6s;position:fixed;top:14%;left:50%;transform:translate(-50%)}#zone-toast.show{opacity:1}#controls-hint{bottom:max(14px, env(safe-area-inset-bottom));z-index:40;pointer-events:none;opacity:.85;background:#2b1d1480;border-radius:14px;padding:6px 14px;font-size:13px;transition:opacity 1s;position:fixed;left:50%;transform:translate(-50%)}#joy-base{z-index:45;pointer-events:none;background:#ffffff1f;border:2px solid #ffffff59;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;position:fixed}#joy-base[hidden]{display:none}#joy-knob{background:#ffe2a8bf;border-radius:50%;width:50px;height:50px;position:absolute;top:35px;left:35px}#btn-menu{color:#fff;cursor:pointer;background:#2b1d148c;border:none;border-radius:50%;width:38px;height:38px;font-size:18px}#stats{z-index:40;top:max(8px, env(safe-area-inset-top));pointer-events:none;text-align:center;background:#2b1d148c;border-radius:14px;min-width:210px;padding:4px 12px 6px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}#stats[hidden]{display:none}.stat-row{justify-content:center;gap:12px;font-weight:600;display:flex}.stat-cap{opacity:.9;margin-top:2px;font-size:11px}.cap-bar{background:#ffffff26;border-radius:2px;height:4px;margin-top:2px;overflow:hidden}.cap-bar div{background:#e9b949;height:100%}#toasts{z-index:60;right:max(10px, env(safe-area-inset-right));pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;max-width:46vw;display:flex;position:fixed;top:56px}.toast{opacity:0;background:#2b1d14d9;border-left:3px solid #e9b949;border-radius:10px;padding:7px 12px;font-size:13px;transition:all .35s;transform:translate(20px)}.toast.show{opacity:1;transform:none}.toast small{opacity:.75}#action-buttons{z-index:42;right:max(16px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.action-btn{color:#2b1d14;cursor:pointer;background:#e9b949;border:none;border-radius:26px;padding:12px 20px;font-size:17px;font-weight:700;box-shadow:0 4px #a8741f}.action-btn small{background:#00000026;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:11px}.action-btn:active{transform:translateY(3px);box-shadow:0 1px #a8741f}.dlg-wrap{z-index:90;background:#140c088c;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.dlg{color:#2b1d14;background:#f6eddb repeating-linear-gradient(#f6eddb 0 23px,#dfe6f1 23px 24px);border-radius:16px;width:min(440px,94vw);max-height:92vh;padding:16px 20px;overflow:auto;box-shadow:0 10px 30px #0006}.dlg.wide{width:min(620px,96vw)}.dlg h2{color:#7a3f2e;margin-bottom:8px;font-size:19px}.dlg-body{font-size:14px;line-height:1.5}.dlg-body ul{margin:6px 0;padding-left:20px}.dlg-body p{margin:6px 0}.dlg-btns{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.dlg button,.dlg .pick{color:#2b1d14;cursor:pointer;background:#fffaf0;border:1px solid #c9b89a;border-radius:18px;padding:8px 14px;font-size:14px}.dlg button.primary{background:#e9b949;border-color:#a8741f;font-weight:700}.dlg button:disabled{opacity:.4}.muted{opacity:.75;font-size:13px}.err{color:#c0392b;font-size:13px}.fld{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.fld input{border:1px solid #c9b89a;border-radius:8px;width:180px;padding:7px 10px;font-size:15px}.picks{flex-wrap:wrap;gap:6px;display:inline-flex}.pick.on{color:#fff!important;background:#2f5d9a!important;border-color:#2f5d9a!important}.rules li{margin:3px 0}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tab.on{color:#fff!important;background:#7a3f2e!important}ul.nv{list-style:none;padding:0!important}ul.nv li{border-bottom:1px dashed #c9b89a;padding:6px 0}ul.nv li.xong{opacity:.6;text-decoration:line-through}.nk-page{background:#fffaf0;border-radius:8px;margin:6px 0;padding:8px 10px;font-style:italic}.tui div{margin:4px 0;font-size:15px}.dlg textarea{border:1px solid #c9b89a;border-radius:6px;width:100%;margin:4px 0;padding:6px;font:11px monospace}.days{justify-content:center;gap:6px;margin:8px 0;display:flex}.day{text-align:center;background:#fffaf0;border:1px solid #c9b89a;border-radius:10px;width:54px;padding:6px 0;font-size:18px}.day small{font-size:10px;display:block}.day.done{opacity:.5}.day.today{background:#e9b949;border-color:#a8741f;font-weight:700}.task-bar{z-index:85;text-align:center;background:#2b1d14d9;border-radius:12px;width:min(320px,70vw);padding:10px 16px;position:fixed;bottom:22%;left:50%;transform:translate(-50%)}.task-bar .bar{background:#ffffff26;border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.task-bar .bar div{background:#e9b949;width:0;height:100%}#mg-ui[hidden]{display:none}#mg-status{z-index:50;top:max(10px, env(safe-area-inset-top));text-align:center;background:#2b1d14b3;border-radius:14px;max-width:50vw;padding:6px 14px;font-size:13px;position:fixed;left:40%;transform:translate(-50%)}#mg-board{z-index:50;left:max(10px, env(safe-area-inset-left));background:#2b1d1499;border-radius:10px;min-width:150px;padding:6px 10px;font-size:12px;position:fixed;top:50px}.mg-row{padding:2px 0}.mg-row.active{color:#ffe2a8;font-weight:700}.mg-row.out{opacity:.45;text-decoration:line-through}.mg-row small{opacity:.75}#mg-shout{z-index:55;color:#fff3d6;text-align:center;text-shadow:0 2px #7a3f2e,0 4px 12px #0009;opacity:0;pointer-events:none;max-width:80vw;font-size:clamp(18px,4.5vh,30px);font-weight:800;transition:all .25s;position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)scale(.9)}#mg-shout.show{opacity:1;transform:translate(-50%,-50%)scale(1)}#mg-top-btns{z-index:50;top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));gap:6px;display:flex;position:fixed}#mg-top-btns button,#mg-mode{color:#fff;cursor:pointer;background:#2b1d14b3;border:none;border-radius:14px;padding:6px 12px;font-size:13px}#mg-mode{z-index:50;right:max(130px, calc(env(safe-area-inset-right) + 120px));bottom:max(28px, env(safe-area-inset-bottom));padding:10px 14px;font-size:15px;position:fixed}#mg-fire-wrap{z-index:50;right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));align-items:flex-end;gap:10px;display:flex;position:fixed}#mg-fire-wrap[hidden]{display:none}#mg-power{background:#ffffff2e;border:2px solid #ffffff80;border-radius:8px;width:16px;height:120px;position:relative;overflow:hidden}#mg-power-fill{background:linear-gradient(#e74c3c,#e9b949,#27ae60);height:0;position:absolute;bottom:0;left:0;right:0}#mg-power-hint{background:#fff;height:3px;position:absolute;left:-2px;right:-2px;box-shadow:0 0 4px #fff}#mg-fire{color:#fff;touch-action:none;cursor:pointer;background:#e74c3c;border:none;border-radius:50%;width:92px;height:92px;font-size:18px;font-weight:800;box-shadow:0 5px #922b21}#mg-fire:active{transform:translateY(4px);box-shadow:0 1px #922b21}body.in-mg #chore-chip,body.in-mg #hud,body.in-mg #stats,body.in-mg #action-buttons,body.in-mg #zone-toast{display:none!important}#mg-angle-wrap{background:#2b1d148c;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;display:flex}#mg-angle-wrap[hidden]{display:none}#mg-angle-lbl{text-align:center;font-size:11px;line-height:1.2}#mg-angle-lbl b{color:#ffe2a8;font-size:15px}#mg-angle{writing-mode:vertical-lr;accent-color:#e9b949;touch-action:none;direction:rtl;width:34px;height:110px}#mg-look.on{color:#2b1d14;background:#e9b949;font-weight:700}#mg-look-reset[hidden]{display:none}#mg-look-hint{z-index:50;pointer-events:none;background:#2b1d14bf;border-radius:14px;padding:6px 14px;font-size:13px;position:fixed;bottom:22%;left:50%;transform:translate(-50%)}#mg-look-hint[hidden]{display:none}#mg-actions{z-index:50;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}#mg-actions:empty,#mg-bars:empty{display:none}#mg-actions.row{flex-direction:row;align-items:flex-end;gap:14px}#mg-actions.row .mg-act:not(.big){min-width:104px;min-height:76px}.mg-act[disabled]{opacity:.35;filter:grayscale(.6)}.mg-act{color:#fff;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;background:#e67e22;border:none;border-radius:32px;min-width:118px;min-height:64px;padding:8px 16px;font-size:17px;font-weight:800;box-shadow:0 5px #a04f0c}.mg-act.big{border-radius:50%;min-width:120px;min-height:120px;font-size:20px}.mg-act.xanh{background:#27ae60;box-shadow:0 5px #1b7a43}.mg-act.do{background:#e74c3c;box-shadow:0 5px #922b21}.mg-act.xam{background:#7f8c8d;box-shadow:0 5px #4d5656}.mg-act:active,.mg-act.held{transform:translateY(4px);box-shadow:0 1px #0006}.mg-act[disabled]{opacity:.45}.mg-act small{opacity:.85;font-size:11px;font-weight:600;display:block}#mg-bars{z-index:50;left:max(12px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));background:#2b1d14b3;border-radius:12px;width:min(260px,38vw);padding:8px 10px;font-size:12px;position:fixed}.mg-bar{margin:4px 0 8px}.mg-bar-lbl{justify-content:space-between;margin-bottom:3px;display:flex}.mg-bar-track{background:#ffffff2e;border-radius:6px;height:12px;position:relative;overflow:hidden}.mg-bar-zone{background:#2ecc7173;border-left:2px solid #2ecc71;border-right:2px solid #2ecc71;position:absolute;top:0;bottom:0}.mg-bar-fill{background:#e9b949;border-radius:6px;width:0;transition:width 80ms linear;position:absolute;top:0;bottom:0;left:0}#chore-chip{z-index:40;top:calc(max(8px, env(safe-area-inset-top)) + 52px);pointer-events:none;background:#c0392bd9;border-radius:16px;align-items:center;gap:8px;padding:5px 12px;font-size:13px;font-weight:700;animation:1.6s ease-in-out infinite chore-pulse;display:flex;position:fixed;left:50%;transform:translate(-50%)}#chore-chip[hidden]{display:none}#chore-chip.o-nha{background:#27ae60d9;animation:none}#chore-arrow{font-size:16px;transition:transform .15s linear;display:inline-block}#chore-dist{opacity:.9;font-weight:500}@keyframes chore-pulse{50%{box-shadow:0 0 0 4px #e74c3c59}}.quan-list{grid-template-columns:1fr 1fr;gap:6px;display:grid}.quan-mon{text-align:left;cursor:pointer;background:#0000000f;border:1px solid #00000014;border-radius:10px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:flex}.quan-mon b{display:block}.quan-mon .ic{font-size:22px}.quan-mon[disabled]{opacity:.45}.mg-bar-fill.kim{border-radius:3px;transition:none;box-shadow:0 0 6px #fffc;width:6px!important}.mg-bar-track:has(.kim){height:16px}.mg-bar-zone{background:#2ecc7199}#mg-dpad{z-index:50;left:max(18px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));grid-template:repeat(3,1fr)/repeat(3,1fr);gap:4px;width:168px;height:168px;display:grid;position:fixed}#mg-dpad[hidden]{display:none}#mg-dpad button{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;background:#2b1d1499;border:none;border-radius:14px;font-size:22px;box-shadow:0 3px #00000059}#mg-dpad button.held{color:#2b1d14;box-shadow:none;background:#e9b949e6;transform:translateY(2px)}#mg-dpad [data-d=up]{grid-area:1/2}#mg-dpad [data-d=left]{grid-area:2/1}#mg-dpad [data-d=right]{grid-area:2/3}#mg-dpad [data-d=down]{grid-area:3/2}.mg-bar-zone{z-index:1;border-left:3px solid #2ecc71;border-right:3px solid #2ecc71;background:#2ecc7159!important}.mg-bar-fill.kim{z-index:2}
