*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,#2a3c5c,#0d1422 60%),#0d1422;color:#1d2433;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;user-select:none}#app{position:fixed;inset:0}.stage{position:absolute;left:50%;top:50%;width:1280px;height:800px;transform-origin:center center;overflow:hidden;background:#a8cbe8;box-shadow:0 30px 90px #0000008c}.screen{position:absolute;inset:0;overflow:hidden}img{-webkit-user-drag:none;user-select:none}.menu-screen{background:#b7d7ee}.menu-content{position:absolute;left:50%;top:50%;width:1280px;height:800px;transform:translate(-50%,-50%)}.menu-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.menu-title{position:absolute;transform:translate(-50%,-50%);height:auto;pointer-events:none;width:817px;filter:drop-shadow(0 8px 18px rgba(70,42,0,.18))}.menu-button{position:absolute;transform:translate(-50%,-50%);border:0;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s ease;pointer-events:auto}.menu-button img{display:block;pointer-events:none}.menu-play img{width:642px;height:auto;filter:drop-shadow(0 12px 20px rgba(80,35,10,.3))}.menu-mode-bg{width:411px;height:auto;filter:drop-shadow(0 8px 16px rgba(80,35,10,.22))}.menu-mode-label{position:absolute;left:50%;bottom:24px;max-width:70%;height:auto;transform:translate(-50%)}.menu-screen[data-lang=en] .menu-mode-label{top:50%;bottom:auto;transform:translate(-50%,-50%)}.menu-settings-bg{width:411px;height:auto;filter:drop-shadow(0 8px 16px rgba(80,35,10,.22))}.menu-settings-label{position:absolute;left:50%;top:50%;height:auto;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 2px 2px rgba(70,35,0,.28))}@media(hover:hover){.menu-button:hover{transform:translate(-50%,-50%) scale(1.035)}}.menu-button:active{transform:translate(-50%,-50%) scale(.97)}.pill-button{position:absolute;z-index:20;padding:8px 14px;border-radius:999px;border:1px solid rgba(35,50,70,.12);background:#ffffffc7;color:#243044;font:inherit;font-size:16px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 4px 12px #23324629;backdrop-filter:blur(6px);transition:transform .15s ease,background .15s ease}.pill-button:hover{background:#fff;transform:translateY(-1px)}.pill-button:active{transform:translateY(0) scale(.97)}.menu-lang{top:18px;left:18px;display:grid;place-items:center;width:calc(48px * var(--menu-boost, 1));height:calc(48px * var(--menu-boost, 1));padding:0;border-radius:50%;font-size:calc(14px * var(--menu-boost, 1));font-weight:800;letter-spacing:.02em}.sound-toggle{position:absolute;top:18px;right:18px;z-index:20;display:grid;place-items:center;width:calc(48px * var(--menu-boost, 1));height:calc(48px * var(--menu-boost, 1));padding:0;border:1px solid rgba(35,50,70,.12);border-radius:50%;background:#ffffffc7;color:#243044;cursor:pointer;box-shadow:0 4px 12px #23324629;backdrop-filter:blur(6px);transition:transform .15s ease,background .15s ease,color .15s ease}.sound-toggle svg{display:block;width:calc(28px * var(--menu-boost, 1));height:calc(28px * var(--menu-boost, 1))}.sound-toggle:hover{background:#fff;transform:translateY(-1px)}.sound-toggle:active{transform:scale(.96)}.sound-toggle.off{color:#b03a2e;background:#ffffff9e}.fullscreen-toggle{position:absolute;z-index:25;display:grid;place-items:center;width:calc(48px * var(--menu-boost, 1));height:calc(48px * var(--menu-boost, 1));padding:0;border:1px solid rgba(35,50,70,.12);border-radius:50%;background:#ffffffc7;color:#243044;cursor:pointer;box-shadow:0 4px 12px #23324629;backdrop-filter:blur(6px);transition:transform .15s ease,background .15s ease,color .15s ease}.fullscreen-toggle[hidden]{display:none}.fullscreen-toggle svg{display:block;width:calc(28px * var(--menu-boost, 1));height:calc(28px * var(--menu-boost, 1))}.fullscreen-toggle:hover{background:#fff;transform:translateY(-1px)}.fullscreen-toggle:active{transform:scale(.96)}.fullscreen-toggle.active{color:#1d6fae}.fullscreen-toggle.menu-fullscreen{top:calc(18px + 48px * var(--menu-boost, 1) + 10px);right:18px}.fullscreen-toggle.hud-fullscreen{top:calc(18px + 72px * var(--hud-boost, 1) + 10px);right:18px}.settings-overlay{position:absolute;inset:0;z-index:60;display:none;align-items:center;justify-content:center;background:#0f172673;backdrop-filter:blur(3px)}.settings-overlay.show{display:flex}.settings-panel{position:relative;width:600px;max-width:88%;padding:26px 32px 24px;border:4px solid #d99a2b;border-radius:26px;background:linear-gradient(180deg,#fff8d7,#ffe28a);box-shadow:0 30px 80px #00000073,inset 0 2px #ffffffb3;color:#4a3214}.settings-title{margin:0 0 12px;text-align:center;font-size:34px;font-weight:900;color:#c0471e;text-shadow:0 2px 0 #fff}.settings-close{position:absolute;top:8px;right:14px;padding:0 6px;border:0;background:none;color:#a05a1a;font:inherit;font-size:38px;line-height:1;cursor:pointer}.settings-row{display:flex;align-items:center;gap:16px;min-height:56px;border-bottom:1px dashed rgba(150,90,20,.25)}.settings-row:last-of-type{border-bottom:0}.settings-label{flex:0 0 190px;font-size:19px;font-weight:800}.settings-row input[type=range]{flex:1;height:26px;accent-color:#e8871e;cursor:pointer}.settings-value{flex:0 0 54px;text-align:right;font-weight:800;color:#8a5a1a}.settings-row-disabled{opacity:.45}.sound-switch{position:relative;display:flex;align-items:center;justify-content:flex-end;width:96px;height:40px;padding:0 12px;border:2px solid rgba(120,70,20,.25);border-radius:999px;background:#d7cdb5;color:#6b5a3a;cursor:pointer;transition:background .2s ease}.sound-switch.on{justify-content:flex-start;background:#79c34a;color:#fff}.sound-switch-knob{position:absolute;left:4px;top:4px;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000040;transition:transform .22s ease}.sound-switch.on .sound-switch-knob{transform:translate(54px)}.sound-switch-text{position:relative;z-index:1;font-size:13px;font-weight:800}.settings-done{display:block;margin:18px auto 0;padding:12px 42px;border:2px solid #b9741e;border-radius:999px;background:linear-gradient(#ffcf5a,#f0a51e);color:#5a2b08;font:inherit;font-size:20px;font-weight:900;cursor:pointer;box-shadow:0 4px #b9741e}.settings-done:active{transform:translateY(2px);box-shadow:0 2px #b9741e}.game-screen{background:#a8cbe8}.game-screen.transitioning{pointer-events:none}.board-host{position:absolute;left:50%;top:50%;width:1280px;height:800px;transform:translate(-50%,-50%)}.board-host canvas{display:block}.hud{position:absolute;inset:0;z-index:10;pointer-events:none}.hud-button{position:absolute;pointer-events:auto;border:0;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s ease;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}.hud-button img{display:block;width:100%;height:100%;pointer-events:none}.hud-button:hover{transform:scale(1.07)}.hud-button:active{transform:scale(.94)}.hud-home{left:20px;bottom:18px;width:calc(92px * var(--hud-boost, 1));height:calc(92px * var(--hud-boost, 1))}.hud-prev{left:18px;top:18px;width:calc(72px * var(--hud-boost, 1));height:calc(72px * var(--hud-boost, 1))}.hud-next{right:18px;top:18px;width:calc(72px * var(--hud-boost, 1));height:calc(72px * var(--hud-boost, 1))}.hud-progress{position:absolute;top:24px;left:50%;transform:translate(-50%);padding:calc(7px * var(--hud-text-boost, 1)) calc(16px * var(--hud-text-boost, 1));border-radius:999px;background:#ffffff6b;color:#1d3550;font-size:calc(20px * var(--hud-text-boost, 1));font-weight:800;letter-spacing:.04em;text-shadow:0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(4px)}.task-list{position:absolute;left:0;right:0;bottom:0;height:296px;z-index:9;pointer-events:none;will-change:transform}.task-list.open{pointer-events:auto}.task-list-bar{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.task-tab{position:absolute;top:3px;right:5.3125%;z-index:2;width:6.875%;height:55px;padding:0;border:0;border-radius:16px 16px 0 0;background:transparent;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}.task-tab:before{content:"";position:absolute;inset:2px 2px 0;border-radius:12px 12px 0 0;background:transparent;pointer-events:none;transition:background .15s ease}.task-tab:hover:before{background:#ffffff2e}.task-tab:active:before{background:#ffffff47}.task-list-scroll{position:absolute;inset:56px 20px 0;display:flex;align-items:center;gap:5px;padding:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:none;scroll-behavior:smooth;cursor:grab;user-select:none}.task-list-scroll.dragging{cursor:grabbing;scroll-behavior:auto}.task-list-scroll::-webkit-scrollbar{display:none}.task-item{position:relative;flex:0 0 201px;height:194px;border:0;background:none;padding:0;cursor:pointer;transition:transform .16s ease}.task-sticker{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 4px rgba(90,55,20,.18))}.task-thumb{position:absolute;left:30px;top:50%;width:140px;height:160px;object-fit:contain;object-position:center;transform:translateY(-50%);pointer-events:none;filter:drop-shadow(0 3px 3px rgba(90,55,20,.35))}.task-done{position:absolute;right:0;top:-6px;width:46px;height:46px;opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .2s ease;filter:drop-shadow(0 2px 2px rgba(120,70,0,.3));pointer-events:none}.task-item.completed .task-done{opacity:1;transform:scale(1)}.task-item.active{transform:scale(1.025)}.task-item.active .task-sticker{filter:drop-shadow(0 0 10px #ffd84d)}.toast{position:absolute;left:50%;top:40%;z-index:30;transform:translate(-50%,-50%) scale(.8);padding:14px 32px;border-radius:999px;background:#122036b8;color:#fff;font-size:34px;font-weight:800;letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;text-shadow:0 2px 6px rgba(0,0,0,.35);backdrop-filter:blur(6px)}.toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.rotate-hint{position:fixed;inset:0;z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:radial-gradient(120% 120% at 50% 0%,#223556,#0c1320 70%);color:#fff;text-align:center}.rotate-hint.show{display:flex}.rotate-icon{width:46px;height:76px;border:5px solid #fff;border-radius:12px;position:relative;animation:rotate-device 1.8s ease-in-out infinite}.rotate-icon:after{content:"";position:absolute;left:50%;bottom:7px;width:8px;height:8px;border-radius:50%;background:#fff;transform:translate(-50%)}.rotate-text{font-size:18px;font-weight:700;letter-spacing:.02em}@keyframes rotate-device{0%,35%{transform:rotate(0)}65%,to{transform:rotate(90deg)}}button:focus-visible{outline:3px solid #ffd84d;outline-offset:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
