*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0;padding:0}body,html{color:#1e293b;touch-action:manipulation;-webkit-text-size-adjust:100%;-webkit-touch-callout:none;background:#0f172a;width:100%;height:100%;font-family:Be Vietnam Pro,Nunito,system-ui,-apple-system,sans-serif;overflow:hidden}:root{--nav-height:52px;--stage-height:clamp(260px, 42vh, 420px);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}.app-layout{background:#0f172a;flex-direction:column;width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.top-nav{height:var(--nav-height);z-index:90;background:#fffffff5;border-bottom:2px solid #fde047;flex:none;justify-content:space-between;align-items:center;padding:0 16px;display:flex;box-shadow:0 2px 10px #0000000d}.main-workspace{flex-direction:row;flex:auto;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.side-panel{scrollbar-width:thin;z-index:10;background:#fffdf5;flex-direction:column;flex:0 0 clamp(280px,23vw,350px);gap:12px;height:100%;padding:12px 14px;display:flex;overflow:hidden auto}.left-panel{border-right:2px solid #fde047;box-shadow:2px 0 10px #00000008}.right-panel{border-left:2px solid #fde047;box-shadow:-2px 0 10px #00000008}.stage-container{background:#0f172a;flex:auto;min-width:0;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #0006}#canvas-container{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0}#canvas-container:active{cursor:grabbing}.stage-touch-hint{backdrop-filter:blur(4px);color:#64748b;pointer-events:none;z-index:10;background:#ffffffe0;border:1px solid #00000014;border-radius:9999px;padding:4px 10px;font-size:11px;font-weight:800;position:absolute;top:10px;right:12px;box-shadow:0 2px 6px #0000000d}.drop-zones-overlay{pointer-events:none;z-index:20;gap:10px;padding:10px;transition:opacity .15s;display:flex;position:absolute;inset:0}.drop-zones-overlay.hidden{display:none}.drop-zone{transition:transform .18s var(--ease-out), background-color .18s ease, border-color .18s ease;background:#0284c70f;border:3px dashed #0284c780;border-radius:16px;flex:1;justify-content:center;align-items:center;display:flex}.drop-zone.right{background:#d977060f;border-color:#d9770680}.drop-zone.left.active{background:#bae6fd73;border-color:#0284c7;transform:scale(1.02);box-shadow:0 0 20px #0284c759}.drop-zone.right.active{background:#fed7aa73;border-color:#d97706;transform:scale(1.02);box-shadow:0 0 20px #d9770659}.drop-zone-bubble{color:#1e293b;background:#fffffff2;border:2px solid #e2e8f0;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:900;transition:transform .15s;display:flex;box-shadow:0 4px 14px #0000001f}.drop-zone.active .drop-zone-bubble{border-color:currentColor;transform:scale(1.1)}.drop-zone-icon{font-size:18px}.drag-ghost{pointer-events:none;z-index:9999;user-select:none;background:#fffffffa;border:3px solid #f59e0b;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;transition:transform 80ms ease-out;display:flex;position:fixed;transform:translate(-50%,-50%)scale(1.08);box-shadow:0 12px 28px #0000003d}.drag-ghost.touch-active{transform:translate(-50%,-130%)scale(1.15)}.drag-ghost.touch-active:after{content:"";border-top:8px solid #f59e0b;border-left:8px solid #0000;border-right:8px solid #0000;position:absolute;top:100%;left:50%;transform:translate(-50%)}.drag-ghost.hidden{display:none}.ghost-emoji{font-size:34px;line-height:1}.ghost-icon-img{object-fit:contain;filter:drop-shadow(0 4px 8px #00000040);pointer-events:none;vertical-align:middle;width:36px;height:36px;display:inline-block}.ghost-label{color:#b45309;white-space:nowrap;font-size:12px;font-weight:800}.bottom-dock-wrapper{backdrop-filter:blur(8px);z-index:20;background:#fffffff5;border-top:2px solid #fde047;flex-shrink:0;width:100%;box-shadow:0 -4px 16px #0000000f}.brand{align-items:center;gap:10px;display:flex}.brand-icon{filter:drop-shadow(0 2px 4px #00000026);font-size:28px}.brand-text{flex-direction:column;display:flex}.brand-title{letter-spacing:-.5px;color:#0f172a;font-size:18px;font-weight:900}.brand-title-short{display:none}.brand-title-full,.nav-btn-text{display:inline}.slot-text-short{display:none}.slot-text-full{display:inline}.brand-sub-row{align-items:center;gap:6px;margin-top:1px;display:flex}.brand-badge{color:#b45309;background:#fef3c7;border-radius:6px;width:fit-content;padding:2px 7px;font-size:11.5px;font-weight:800}.brand-about-btn{color:#0284c7;transition:transform .14s var(--ease-out), background-color .15s ease, border-color .15s ease, color .15s ease;cursor:pointer;background:#e0f2fe;border:1.5px solid #bae6fd;border-radius:6px;align-items:center;gap:3px;padding:2px 8px;font-family:inherit;font-size:11px;font-weight:800;line-height:1.3;text-decoration:none;display:inline-flex}.brand-about-btn:hover{color:#0369a1;background:#bae6fd;border-color:#7dd3fc;transform:translateY(-1px)}.brand-about-btn:active{transform:scale(.97)}.dock-about-btn{color:#0284c7;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-items:center;gap:3px;padding:0 4px;font-family:inherit;font-size:12px;font-weight:800;text-decoration:underline;transition:color .15s;display:inline-flex}.dock-about-btn:hover{color:#0369a1}.about-card{text-align:center;border-radius:20px;width:min(440px,92%);max-width:440px;padding:22px 20px}.about-content{flex-direction:column;align-items:center;gap:14px;padding:12px 0 6px;display:flex}.about-logo-badge{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:30px;display:flex;box-shadow:0 4px 14px #0284c729}.about-info{flex-direction:column;gap:8px;display:flex}.about-creator{color:#1e293b;margin:0;font-size:16px;font-weight:800}.about-link{color:#0284c7;text-underline-offset:3px;font-weight:900;text-decoration:underline;transition:color .15s}.about-link:hover{color:#0369a1}.about-description{color:#475569;margin:0;font-size:15px;font-weight:700}.about-version-tag{justify-content:center;margin-top:4px;display:flex}.version-badge{letter-spacing:.5px;color:#0284c7;background:#f0f9ff;border:1px solid #bae6fd;border-radius:9999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 1px 3px #0284c714}.about-modal-actions{justify-content:center;margin-top:10px;display:flex}.about-modal-actions .pill-btn{min-width:100px}.dock-creator-bar{color:#64748b;text-align:center;border-top:1px dashed #e2e8f0;justify-content:center;align-items:center;margin-top:4px;padding-top:8px;font-size:12px;font-weight:800;display:flex}.creator-link{color:#0284c7;text-underline-offset:3px;font-weight:900;text-decoration:underline;transition:color .15s}.creator-link:hover{color:#0369a1}.modal-footer-credit{color:#64748b;text-align:center;border-top:1px solid #e2e8f0;justify-content:center;align-items:center;margin-top:8px;padding-top:12px;font-size:13px;font-weight:800;display:flex}.modal-footer-credit a{color:#0284c7;text-underline-offset:3px;font-weight:900;text-decoration:underline}.nav-controls{align-items:center;gap:8px;display:flex}.pill-btn{cursor:pointer;min-height:44px;transition:transform .14s var(--ease-out), box-shadow .15s ease, background .15s ease, border-color .15s ease;touch-action:manipulation;border:2px solid #0000;border-radius:9999px;outline:none;align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:14.5px;font-weight:900;display:flex;box-shadow:0 4px 10px #0000001f}.pill-btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px #00000029}.pill-btn:active{transform:scale(.97);box-shadow:0 2px 4px #0000001a}.pill-btn.primary{color:#fff;text-shadow:0 1px 2px #0003;background:#f59e0b;border-color:#d97706}.pill-btn.secondary{color:#fff;text-shadow:0 1px 2px #0003;background:#0284c7;border-color:#0369a1}.pill-btn.big{min-height:52px;padding:14px 28px;font-size:17px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden,[hidden],#btn-levels-modal.hidden{display:none!important}.mode-select-wrapper{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.mode-select-box{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#fff;cursor:pointer;min-height:44px;transition:transform .14s var(--ease-out), box-shadow .15s ease, background .15s ease, border-color .15s ease;text-shadow:0 1px 2px #0003;touch-action:manipulation;background:#0284c7;border:2px solid #0369a1;border-radius:9999px;outline:none;align-items:center;padding:9px 34px 9px 16px;font-family:inherit;font-size:14.5px;font-weight:900;line-height:1.2;display:flex;box-shadow:0 4px 10px #0000001f}.mode-select-box:hover{background:#0369a1;transform:translateY(-2px);box-shadow:0 6px 14px #00000029}.mode-select-box:active{transform:scale(.97)}.mode-select-box:focus-visible{box-shadow:0 0 0 3px #38bdf880,0 4px 10px #00000029}.mode-select-box[data-mode=sandbox]{background:#0284c7;border-color:#0369a1}.mode-select-box[data-mode=questions]{background:#0ea5e9;border-color:#0284c7}.mode-select-box option{color:#0f172a;background:#fff;padding:8px 12px;font-size:14px;font-weight:800}.mode-select-arrow{pointer-events:none;color:#fff;font-size:12px;font-weight:900;line-height:1;transition:transform .15s;position:absolute;right:13px}.mode-select-wrapper:hover .mode-select-arrow{transform:translateY(1px)}.icon-actions{align-items:center;gap:7px;display:flex}.icon-btn{cursor:pointer;width:44px;min-width:44px;height:44px;min-height:44px;transition:transform .14s var(--ease-out), background-color .15s ease, border-color .15s ease, box-shadow .15s ease;touch-action:manipulation;background:#fff;border:2.5px solid #cbd5e1;border-radius:14px;justify-content:center;align-items:center;font-size:21px;display:flex;box-shadow:0 3px 8px #00000014}.icon-btn:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-2px);box-shadow:0 5px 12px #0000001f}.icon-btn:active{transform:scale(.97);box-shadow:0 1px 3px #0000001a}.icon-btn.danger{background:#fff1f2;border-color:#fca5a5}.icon-btn.danger:hover{background:#fee2e2;border-color:#f87171}.icon-btn.lang-btn{color:#0284c7;letter-spacing:.3px;background:#f0f9ff;border-color:#7dd3fc;width:auto;min-width:54px;padding:0 8px;font-size:13.5px;font-weight:900}.icon-btn.lang-btn:hover{background:#e0f2fe;border-color:#0284c7}.icon-btn.nav-btn-labeled{color:#334155;justify-content:center;align-items:center;gap:6px;width:auto;min-width:44px;padding:0 11px;font-family:inherit;font-weight:800;display:inline-flex}.icon-btn.nav-btn-labeled .btn-icon{justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.icon-btn.nav-btn-labeled .btn-label-full,.icon-btn.nav-btn-labeled .btn-label-short{white-space:nowrap;letter-spacing:-.2px;color:#334155;font-size:12.5px;font-weight:800}.icon-btn.danger.nav-btn-labeled .btn-label-full,.icon-btn.danger.nav-btn-labeled .btn-label-short{color:#dc2626}.icon-btn.nav-btn-labeled .btn-label-short{display:none}.icon-btn.nav-btn-labeled .btn-label-full{display:inline}.top-menu-btn{transition:transform .14s var(--ease-out), background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;justify-content:center;align-items:center;display:none;position:relative}.top-menu-icon{display:block}.top-menu-btn .menu-bar{transform-origin:12px 12px;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .15s,stroke .15s}.top-menu-btn.menu-open{color:#0284c7;background:#e0f2fe;border-color:#0284c7;box-shadow:0 4px 12px #0284c740}.top-menu-btn.menu-open .menu-bar-1{transform:translateY(6px)rotate(45deg)}.top-menu-btn.menu-open .menu-bar-2{opacity:0;transform:scaleX(0)}.top-menu-btn.menu-open .menu-bar-3{transform:translateY(-6px)rotate(-45deg)}html.dark-theme .top-menu-btn.menu-open{color:#fff;background:#0369a1;border-color:#38bdf8}@media (width<=1299px){.nav-controls{position:relative;overflow:visible}.top-menu-btn{display:inline-flex}.icon-actions{z-index:120;-webkit-backdrop-filter:blur(20px);transform-origin:100% 0;background:#fffffffa;border:2px solid #cbd5e1;border-radius:18px;flex-direction:column;align-items:stretch;gap:6px;width:max-content;min-width:210px;max-width:calc(100vw - 20px);padding:8px;transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),visibility .18s;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 36px #0f172a29,0 4px 12px #0f172a14}.icon-actions:not(.open){opacity:0;visibility:hidden;pointer-events:none;transform:scale(.95)translateY(-8px)}.icon-actions.open{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)translateY(0)}.icon-actions .icon-btn{width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;box-shadow:none!important;border-width:1.5px!important;border-radius:12px!important;justify-content:flex-start!important;gap:10px!important;padding:0 14px!important;font-size:14px!important}.icon-actions .icon-btn:hover{background:#f1f5f9;border-color:#94a3b8;transform:translateY(0)!important}.icon-actions .icon-btn:active{transform:scale(.98)!important}.icon-actions .icon-btn.lang-btn{justify-content:flex-start!important;width:100%!important;min-width:0!important;padding:0 14px!important;font-size:13.5px!important}.icon-actions .icon-btn.nav-btn-labeled{width:100%!important;min-width:0!important}.icon-actions .icon-btn.nav-btn-labeled .btn-label-full{font-size:13.5px!important;font-weight:800!important;display:inline!important}.icon-actions .icon-btn.nav-btn-labeled .btn-label-short{display:none!important}html.dark-theme .icon-actions{background:#0f172af5;border-color:#334155;box-shadow:0 16px 36px #00000080,0 4px 12px #0000004d}html.dark-theme .icon-actions .icon-btn{background:#1e293bb3;border-color:#334155}html.dark-theme .icon-actions .icon-btn:hover{background:#334155!important;border-color:#64748b!important}}@media (width>=1300px){.top-menu-btn{display:none!important}.icon-actions{opacity:1!important;visibility:visible!important;pointer-events:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;flex-direction:row!important;gap:7px!important;width:auto!important;max-width:none!important;padding:0!important;display:flex!important;position:static!important;transform:none!important}}.icon-btn.music-active{background:#f0f9ff;border-color:#38bdf8;box-shadow:0 0 10px #38bdf866}.icon-btn.music-active #bgm-icon{animation:2.4s ease-in-out infinite gentle-note-float;display:inline-block}@keyframes gentle-note-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(6deg)scale(1.08)}}.mission-card{background:#fff;border:2px solid #38bdf8;border-radius:14px;flex-direction:column;flex-shrink:0;gap:10px;width:100%;padding:12px 14px;display:flex;box-shadow:0 3px 8px #0ea5e914}.mission-header{flex-direction:column;gap:8px;width:100%;display:flex}.mission-header-top{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.mission-header-controls{justify-content:flex-start;align-items:center;width:100%;display:flex}.mission-tag{letter-spacing:.5px;color:#0284c7;text-overflow:ellipsis;white-space:nowrap;background:#e0f2fe;border-radius:8px;flex:1;min-width:0;padding:4px 10px;font-size:13px;font-weight:900;overflow:hidden}.speak-btn{cursor:pointer;color:#1e293b;touch-action:manipulation;background:#f8fafc;border:2px solid #cbd5e1;border-radius:10px;flex-shrink:0;align-items:center;gap:5px;min-height:38px;padding:6px 14px;font-family:inherit;font-size:13.5px;font-weight:800;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .15s,border-color .15s;display:inline-flex;box-shadow:0 2px 6px #0000000d}.speak-btn:hover{background:#e2e8f0;border-color:#94a3b8;transform:translateY(-1px)}.speak-btn:active{transform:scale(.95)}.mass-toggle-wrapper{cursor:pointer;user-select:none;background:#0284c70f;border:1px solid #0284c726;border-radius:8px;flex-shrink:0;align-items:center;gap:10px;padding:4px 10px;transition:background-color .15s,border-color .15s;display:inline-flex}.mass-toggle-wrapper:hover{background:#0284c71f;border-color:#0284c74d}.toggle-switch{flex-shrink:0;width:44px;min-width:44px;max-width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.slider{cursor:pointer;box-sizing:border-box;background-color:#cbd5e1;border:1.5px solid #94a3b8;border-radius:9999px;transition:background-color .22s,border-color .22s,box-shadow .22s;position:absolute;inset:0;box-shadow:inset 0 1px 3px #0000001f}.slider:before{content:"";box-sizing:border-box;background-color:#fff;border-radius:50%;width:18px;height:18px;transition:transform .22s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:1.5px;left:1.5px;box-shadow:0 2px 5px #00000040,0 0 1px #0003}.toggle-switch input:checked+.slider{background-color:#16a34a;border-color:#15803d;box-shadow:inset 0 1px 2px #0000001a,0 0 8px #16a34a4d}.toggle-switch input:checked+.slider:before{transform:translate(19px)}.toggle-switch input:focus-visible+.slider{outline-offset:2px;outline:2px solid #0284c7}.toggle-label{color:#334155;white-space:nowrap;letter-spacing:-.2px;user-select:none;font-size:13px;font-weight:800}.question-text{color:#0f172a;font-size:17px;font-weight:800;line-height:1.35}.quiz-options{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}@keyframes quizOptionEnter{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.quiz-options .quiz-opt-btn{animation:quizOptionEnter .2s var(--ease-out) both}.quiz-options .quiz-opt-btn:first-child{animation-delay:0s}.quiz-options .quiz-opt-btn:nth-child(2){animation-delay:40ms}.quiz-options .quiz-opt-btn:nth-child(3){animation-delay:80ms}.quiz-opt-btn{color:#0369a1;cursor:pointer;min-width:140px;min-height:54px;transition:transform .14s var(--ease-out), background-color .15s ease, border-color .15s ease, box-shadow .15s ease;touch-action:manipulation;text-align:center;background:#f0f9ff;border:2.5px solid #7dd3fc;border-radius:16px;flex:1;justify-content:center;align-items:center;padding:12px 18px;font-family:inherit;font-size:16px;font-weight:900;display:flex;box-shadow:0 4px 10px #0284c71a}.quiz-opt-btn:hover{background:#e0f2fe;border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 6px 16px #0284c72e}.quiz-opt-btn:active{transform:scale(.97)}.quiz-opt-btn.wrong{color:#b91c1c;animation:shake .28s var(--ease-out);background:#fee2e2;border-color:#ef4444}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.balance-gauge{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:8px;padding:8px 12px 10px;display:flex}.gauge-status-row{justify-content:center;align-items:center;width:100%;display:flex}.gauge-needle-bubble{white-space:nowrap;background:#f1f5f9f2;border:1px solid #e2e8f0;border-radius:9999px;justify-content:center;align-items:center;gap:7px;max-width:100%;padding:5px 14px;font-size:13.5px;font-weight:800;line-height:1.2;transition:all .25s;display:inline-flex;box-shadow:0 1px 3px #0000000a}#status-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:transform .25s;display:inline-flex}#status-text{letter-spacing:.2px;font-weight:800}.status-balanced{color:#15803d;text-shadow:0 0 10px #22c55e4d;font-weight:800}.gauge-card.is-balanced{transition:border-color .3s,box-shadow .3s;border-color:#22c55e99!important;box-shadow:0 0 0 2px #22c55e4d,0 8px 24px -4px #22c55e40!important}.gauge-needle-bubble.is-balanced{background:#22c55e1f;border-color:#22c55e59;animation:.65s cubic-bezier(.34,1.56,.64,1) scaleBalancedBounce;box-shadow:0 0 12px #22c55e29}.gauge-needle-bubble.is-balanced #status-icon{filter:drop-shadow(0 0 4px #eab30899);animation:1.8s ease-in-out infinite sparklePulse}@keyframes sparklePulse{0%,to{filter:drop-shadow(0 0 3px #eab30880);transform:scale(1)}50%{filter:drop-shadow(0 0 8px #eab308e6);transform:scale(1.18)}}@keyframes scaleBalancedBounce{0%{transform:scale(.92)}45%{transform:scale(1.1)}to{transform:scale(1)}}.status-tilted{color:#ea580c;font-weight:800}.gauge-needle-bubble.is-tilted-left,.gauge-needle-bubble.is-tilted-right{background:#f9731614;border-color:#f9731640}.gauge-sides-row{border-top:1px solid #e2e8f0;justify-content:space-around;align-items:center;padding-top:6px;display:flex}.gauge-side{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.gauge-side-divider{background:#e2e8f0;width:1px;height:24px}.side-label{color:#94a3b8;letter-spacing:.5px;white-space:nowrap;font-size:11px;font-weight:800}.side-mass{color:#1e293b;font-size:17px;font-weight:900;line-height:1.1}.hint-box{color:#854d0e;background:#fefce8;border:1px dashed #facc15;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:700;display:flex}.hint-box.hidden{display:none}.bottom-dock{width:100%;max-width:100%;box-shadow:none;transition:transform .22s var(--ease-out), box-shadow .22s ease;background:0 0;border:none;border-radius:0;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.dock-scroller-bar{-webkit-user-select:none;user-select:none;background:#fefce8;border-bottom:1.5px solid #fde047;justify-content:center;align-items:center;gap:16px;min-height:38px;padding:6px 14px;display:flex}.dock-scroller-controls{flex:1;align-items:center;gap:8px;max-width:520px;display:flex}.dock-scroller-btn{color:#854d0e;cursor:pointer;width:28px;height:28px;transition:background .15s ease, transform .14s var(--ease-out), opacity .15s ease, box-shadow .15s ease;touch-action:manipulation;background:#fff;border:1.5px solid #fde047;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 1px 3px #0000000f}.dock-scroller-btn:hover:not(.disabled){background:#fef08a;transform:translateY(-1px);box-shadow:0 2px 6px #eab30833}.dock-scroller-btn:active:not(.disabled){transform:scale(.96)}.dock-scroller-btn.disabled{opacity:.35;cursor:not-allowed;pointer-events:none;color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}.dock-scroller-track{cursor:pointer;touch-action:none;background:#00000014;border-radius:9999px;flex:1;height:9px;transition:height .15s,background .15s;position:relative;overflow:hidden}.dock-scroller-track:hover{background:#0000001f;height:12px}.dock-scroller-track.no-overflow{opacity:.5;cursor:default}.dock-scroller-thumb{will-change:transform;cursor:grab;background:linear-gradient(90deg,#f59e0b,#d97706);border-radius:9999px;min-width:28px;height:100%;transition:width .1s;position:absolute;top:0;left:0;box-shadow:0 1px 3px #0003}.dock-scroller-thumb:active{cursor:grabbing;background:#b45309}.dock-scroller-hint{color:#a16207;flex-shrink:0;align-items:center;gap:4px;font-size:11.5px;font-weight:700;display:flex}@media (width<=640px){.dock-scroller-hint{display:none}}.dock-content{flex-direction:column;gap:4px;padding:4px 14px 6px;display:flex}.right-panel-controls{flex-direction:column;gap:10px;width:100%;display:flex}.panel-section-card{background:#fff;border:2px solid #fde047;border-radius:14px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;box-shadow:0 3px 8px #eab30814}.panel-section-card.gauge-card{border-color:#38bdf8;padding:8px 10px;box-shadow:0 3px 8px #0ea5e914}.theme-section-title,.actions-section-title{color:#64748b;font-size:12px;font-weight:800;display:block}.world-theme-wrap{border-top:1.5px solid #f1f5f9;flex-direction:column;gap:6px;padding-top:8px;display:flex}.dock-creator-bar{text-align:center;color:#94a3b8;padding:2px 0 0;font-size:11px;font-weight:700}.creator-link{color:#0284c7;text-underline-offset:2px;font-weight:800;text-decoration:underline}.dock-section-title{color:#334155;font-size:13px;font-weight:900}.slot-selector{align-items:center;gap:8px;display:flex}.slot-title{color:#64748b;font-size:12px;font-weight:800}.slot-pills,.world-pills{flex-wrap:wrap;gap:6px;display:flex}.slot-pill,.world-pill{cursor:pointer;color:#475569;touch-action:manipulation;background:#fff;border:2px solid #cbd5e1;border-radius:12px;justify-content:center;align-items:center;min-height:40px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:800;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .15s,border-color .15s;display:inline-flex;box-shadow:0 2px 4px #0000000a}.slot-pill:hover,.world-pill:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-2px)}.slot-pill:active,.world-pill:active{transform:scale(.94)}.slot-pill.active,.world-pill.active{color:#fff;background:#0284c7;border-color:#0369a1;font-weight:900;box-shadow:0 3px 8px #0284c74d}.items-tray-wrapper{align-items:center;width:100%;display:flex;position:relative}.tray-nav-btn{z-index:5;backdrop-filter:blur(6px);color:#0284c7;cursor:pointer;width:32px;height:48px;transition:transform .14s var(--ease-out), background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;touch-action:manipulation;background:#fffffff0;border:1.5px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;font-size:24px;font-weight:900;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #00000024}.tray-nav-btn.left{left:2px}.tray-nav-btn.right{right:2px}.tray-nav-btn:hover:not(.disabled){color:#fff;background:#0284c7;border-color:#0369a1;transform:translateY(-50%)scale(1.08);box-shadow:0 6px 16px #0284c74d}.tray-nav-btn:active:not(.disabled){transform:translateY(-50%)scale(.96)}.tray-nav-btn.disabled,.tray-nav-btn.hidden{opacity:0;pointer-events:none;visibility:hidden}@media (width<=480px){.tray-nav-btn{display:none}}.items-tray{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:thin;gap:10px;width:100%;padding:4px 4px 6px;display:flex;overflow:auto hidden}.empty-tray-msg{color:#64748b;text-align:center;width:100%;padding:12px;font-size:14px;font-weight:800}@keyframes toyCardEnter{0%{opacity:0;transform:scale(.95)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.items-tray .toy-item-card{animation:toyCardEnter .2s var(--ease-out) both}.items-tray .toy-item-card:first-child{animation-delay:0s}.items-tray .toy-item-card:nth-child(2){animation-delay:30ms}.items-tray .toy-item-card:nth-child(3){animation-delay:60ms}.items-tray .toy-item-card:nth-child(4){animation-delay:90ms}.items-tray .toy-item-card:nth-child(5){animation-delay:.12s}.items-tray .toy-item-card:nth-child(6){animation-delay:.15s}.items-tray .toy-item-card:nth-child(7){animation-delay:.18s}.items-tray .toy-item-card:nth-child(8){animation-delay:.21s}.items-tray .toy-item-card:nth-child(9){animation-delay:.24s}.items-tray .toy-item-card:nth-child(10){animation-delay:.27s}.toy-item-card{width:122px;transition:transform .14s var(--ease-out), border-color .15s ease, box-shadow .15s ease;background:#fff;border:2px solid #e2e8f0;border-radius:14px;flex-direction:column;flex:none;align-items:center;gap:4px;padding:6px 6px 8px;display:flex;box-shadow:0 3px 6px #0000000a}.toy-item-card:hover{border-color:#f59e0b;transform:translateY(-2px);box-shadow:0 6px 12px #f59e0b1f}@keyframes cardPlaceBounce{0%{transform:scale(1)}35%{transform:scale(.95)}65%{transform:scale(1.04)}to{transform:scale(1)}}.toy-item-card.just-placed{animation:cardPlaceBounce .24s var(--ease-spring);border-color:#0284c7;box-shadow:0 0 16px #0284c759}.toy-card-handle{cursor:grab;touch-action:none;user-select:none;border-radius:10px;flex-direction:column;align-items:center;gap:3px;width:100%;padding:4px 2px;transition:background .15s;display:flex}.toy-card-handle:active{cursor:grabbing;background:#fef3c7}.drag-hint-badge{color:#0284c7;background:#e0f2fe;border-radius:6px;align-items:center;gap:3px;margin-top:1px;padding:2px 6px;font-size:10px;font-weight:800;display:flex}.toy-emoji{filter:drop-shadow(0 2px 4px #0000001a);font-size:32px;line-height:1}.toy-icon-img{object-fit:contain;filter:drop-shadow(0 2px 4px #00000026);pointer-events:none;user-select:none;width:36px;height:36px;display:block}.toy-name{color:#0f172a;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:110px;font-size:12px;font-weight:900;overflow:hidden}.toy-weight{color:#b45309;background:#fef3c7;border-radius:6px;padding:1px 6px;font-size:11.5px;font-weight:900}.toy-place-actions{gap:4px;width:100%;margin-top:2px;display:flex}.place-btn{cursor:pointer;min-height:36px;transition:transform .12s var(--ease-out), background-color .15s ease, border-color .15s ease, box-shadow .15s ease;touch-action:manipulation;border:2px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:6px 2px;font-family:inherit;font-size:12px;font-weight:900;display:flex;box-shadow:0 2px 5px #0000000d}.place-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.place-btn:active{transform:scale(.96)}.place-btn.left{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.place-btn.left:hover{background:#bfdbfe;border-color:#60a5fa}.place-btn.right{color:#c2410c;background:#ffedd5;border-color:#fdba74}.place-btn.right:hover{background:#fed7aa;border-color:#fb923c}.pan-actions-footer{border-top:1.5px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.pan-hint{color:#64748b;font-size:12px;font-weight:700}.pan-action-btns{grid-template-columns:repeat(2,1fr);gap:6px;width:100%;display:grid}.action-btn{cursor:pointer;color:#334155;width:100%;min-height:40px;transition:transform .14s var(--ease-out), background-color .15s ease, border-color .15s ease, box-shadow .15s ease;touch-action:manipulation;background:#f8fafc;border:2px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:6px 8px;font-family:inherit;font-size:12.5px;font-weight:900;display:inline-flex;box-shadow:0 2px 6px #0000000d}.action-btn:hover{background:#f1f5f9;border-color:#94a3b8;transform:translateY(-2px);box-shadow:0 4px 10px #00000014}.action-btn:active{transform:scale(.97)}.action-btn.guide-btn{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.action-btn.guide-btn:hover{background:#dbeafe;border-color:#60a5fa}.action-btn.hint{color:#854d0e;background:#fef08a;border-color:#facc15}.action-btn.hint:hover{background:#fde047;border-color:#eab308}.modal-backdrop{backdrop-filter:blur(4px);z-index:100;pointer-events:auto;background:#0f172aa6;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.modal-backdrop:not(.hidden){animation:backdropFadeIn .2s var(--ease-out) forwards}.modal-backdrop:not(.hidden) .modal-card{animation:modalEnter .22s var(--ease-out) forwards}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalEnter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-backdrop.hidden{display:none!important}.modal-card{transform-origin:50%;background:#fff;border-radius:18px;flex-direction:column;gap:14px;width:min(640px,94%);max-height:92%;padding:20px;display:flex;overflow-y:auto;box-shadow:0 16px 36px #00000040}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:18px;font-weight:900}.close-btn{cursor:pointer;color:#64748b;width:44px;min-width:44px;height:44px;min-height:44px;transition:transform .14s var(--ease-out), background-color .15s ease, border-color .15s ease, color .15s ease;touch-action:manipulation;background:#f8fafc;border:2px solid #cbd5e1;border-radius:9999px;justify-content:center;align-items:center;font-size:26px;line-height:1;display:flex;box-shadow:0 2px 6px #0000000f}.close-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5;transform:scale(1.08)}.close-btn:active{transform:scale(.96)}.levels-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:14px;display:grid}@keyframes cardStaggerFade{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.levels-grid .level-select-card{animation:cardStaggerFade .24s var(--ease-out) both}.levels-grid .level-select-card:first-child{animation-delay:0s}.levels-grid .level-select-card:nth-child(2){animation-delay:35ms}.levels-grid .level-select-card:nth-child(3){animation-delay:70ms}.levels-grid .level-select-card:nth-child(4){animation-delay:.105s}.levels-grid .level-select-card:nth-child(5){animation-delay:.14s}.levels-grid .level-select-card:nth-child(6){animation-delay:.175s}.levels-grid .level-select-card:nth-child(7){animation-delay:.21s}.levels-grid .level-select-card:nth-child(8){animation-delay:.245s}.levels-grid .level-select-card:nth-child(9){animation-delay:.28s}.levels-grid .level-select-card:nth-child(10){animation-delay:.315s}.level-select-card{cursor:pointer;min-height:104px;transition:transform .14s var(--ease-out), border-color .15s ease, background-color .15s ease, box-shadow .15s ease;touch-action:manipulation;background:#f8fafc;border:2.5px solid #cbd5e1;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px 10px;display:flex;box-shadow:0 3px 8px #0000000d}.level-select-card:hover{background:#fffbeb;border-color:#f59e0b;transform:translateY(-3px);box-shadow:0 6px 14px #f59e0b26}.level-select-card:active{transform:scale(.97)}.level-select-card.current{background:#fef3c7;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b40}.level-icon{filter:drop-shadow(0 2px 4px #0000001a);font-size:34px}.level-badge{color:#0284c7;font-size:13px;font-weight:900}.level-name{text-align:center;color:#1e293b;font-size:12.5px;font-weight:800}.level-rank{color:#64748b;font-size:11px;font-weight:700}.celebration-card{text-align:center;border:4px solid #facc15;align-items:center;padding:28px 20px}.celebration-stars{font-size:48px}.celebration-title{color:#ca8a04;font-size:28px;font-weight:900}.celebration-message{color:#334155;font-size:17px;font-weight:700;line-height:1.5}.celebration-actions{flex-wrap:wrap;justify-content:center;gap:14px;width:100%;margin-top:14px;display:flex}.drag-guide-indicator{pointer-events:none;z-index:85;width:100vw;height:100vh;transition:opacity .25s,visibility .25s;position:fixed;inset:0;overflow:hidden}.drag-guide-indicator.hidden{opacity:0;visibility:hidden;pointer-events:none}.drag-guide-svg-path{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.guide-dash-path{animation:1.2s linear infinite dashFlow}@keyframes dashFlow{to{stroke-dashoffset:-28px}}.drag-guide-hand{will-change:transform, opacity;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:0;left:0}.guide-hand-content{justify-content:center;align-items:center;display:flex;position:relative}.guide-hand-icon{filter:drop-shadow(0 6px 14px #0000004d);transform-origin:19px 10px}.guide-ripple{opacity:0;pointer-events:none;background:#0284c747;border:3px solid #0284c7;border-radius:9999px;width:54px;height:54px;animation:1.4s cubic-bezier(.1,.8,.3,1) infinite guideRipplePulse;position:absolute;top:10px;left:19px;transform:translate(-50%,-50%)scale(.2)}@keyframes guideRipplePulse{0%{opacity:.95;transform:translate(-50%,-50%)scale(.3)}60%{opacity:.2;transform:translate(-50%,-50%)scale(1.65)}to{opacity:0;transform:translate(-50%,-50%)scale(2)}}.guide-hand-item{pointer-events:none;background:#fffffff5;border:2px solid #f59e0b;border-radius:12px;padding:2px 6px;font-size:26px;transition:opacity .15s,transform .15s;animation:2.8s ease-in-out infinite guideItemBounce;position:absolute;top:-26px;right:-12px;box-shadow:0 4px 14px #0003}@keyframes guideItemBounce{0%,15%{opacity:0;transform:scale(.5)translateY(8px)}24%,72%{opacity:1;transform:scale(1)translateY(-14px)}80%{opacity:1;transform:scale(1.1)translateY(6px)}88%,to{opacity:0;transform:scale(.6)translateY(12px)}}.guide-speech-bubble{backdrop-filter:blur(8px);color:#fff;pointer-events:auto;white-space:nowrap;background:#0f172af0;border:2px solid #fde047;border-radius:14px;align-items:center;gap:12px;padding:8px 14px;animation:2.2s ease-in-out infinite bubbleFloat;display:flex;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);box-shadow:0 10px 28px #00000059}.guide-speech-bubble:after{content:"";border:7px solid #0000;border-top-color:#0f172af0;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes bubbleFloat{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-5px)}}.guide-bubble-text{flex-direction:column;gap:2px;display:flex}.guide-bubble-title{color:#fde047;font-size:13.5px;font-weight:900}.guide-bubble-sub{color:#cbd5e1;font-size:11px;font-weight:700}.guide-dismiss-btn{color:#fff;cursor:pointer;touch-action:manipulation;background:#ffffff47;border:2px solid #ffffff73;border-radius:9999px;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;min-height:38px;font-size:16px;font-weight:900;transition:background .15s,transform .12s;display:flex}.guide-dismiss-btn:hover{background:#ffffff80;transform:scale(1.08)}.guide-dismiss-btn:active{transform:scale(.92)}@media (width<=640px){:root{--nav-height:56px;--stage-height:clamp(210px, 36vh, 290px)}.brand-title{font-size:14px;font-weight:900}.brand-title-full{display:none}.brand-title-short{display:inline}.brand-badge,.nav-btn-text,.slot-text-full{display:none}.slot-text-short{display:inline}.top-nav{padding:0 10px}.nav-controls{gap:6px;max-width:100%;position:relative;overflow:visible}.pill-btn,.mode-select-box{flex-shrink:0;min-height:42px;padding:8px 12px;font-size:13px}.mode-select-box{padding-right:28px}.mode-select-arrow{font-size:11px;right:10px}.icon-btn{border-width:2px;border-radius:12px;width:42px;min-width:42px;height:42px;min-height:42px;font-size:20px}.main-workspace{flex-direction:column;overflow-y:auto}.stage-container{border-bottom:3px solid #0284c7;flex:0 0 clamp(220px,34vh,280px);height:clamp(220px,34vh,280px)}.side-panel{flex:none;width:100%;height:auto;padding:8px 10px;overflow:visible}.left-panel{border-bottom:2px solid #fde047;border-right:none}.right-panel{border-bottom:2px solid #fde047;border-left:none}.mission-card{border-radius:14px;padding:10px 12px}.question-text{font-size:15px}.speak-btn{border-radius:12px;min-height:42px;padding:8px 14px;font-size:13.5px}.quiz-opt-btn{border-radius:14px;min-height:52px;padding:12px 14px;font-size:15.5px}.balance-gauge{gap:6px;padding:6px 10px}.side-label{font-size:10px}.side-mass{font-size:14px}.gauge-needle-bubble{font-size:12.5px}.dock-scroller-bar{min-height:40px;padding:6px 10px}.dock-scroller-btn{width:32px;height:32px}.slot-selector{justify-content:space-between;width:100%}.slot-pill,.world-pill{border-radius:10px;min-height:38px;padding:6px 12px;font-size:12.5px}.world-pills{justify-content:space-between;width:100%}.toy-item-card{border-width:2px;border-radius:16px;width:126px;padding:8px 6px 10px}.toy-emoji{font-size:34px}.toy-name{max-width:110px;font-size:12px}.toy-weight{font-size:11.5px}.place-btn{border-radius:10px;min-height:44px;padding:8px 4px;font-size:13px;font-weight:900}.action-btn{border-radius:12px;min-height:44px;padding:8px 14px;font-size:13px}.levels-grid{grid-template-columns:repeat(2,1fr);gap:10px}.level-select-card{border-radius:16px;min-height:96px;padding:12px 8px}.level-icon{font-size:30px}.modal-card{border-radius:16px;padding:16px}.guide-speech-bubble{padding:8px 12px}.guide-bubble-title{font-size:12.5px}.guide-bubble-sub{font-size:10.5px}}@media (width<=380px){:root{--nav-height:54px;--stage-height:clamp(190px, 34vh, 260px)}.brand-title{font-size:13px}.top-nav{padding:0 6px}.nav-controls{gap:4px}.pill-btn,.mode-select-box{min-height:38px;padding:6px 10px;font-size:12px}.mode-select-box{padding-right:24px}.mode-select-arrow{font-size:10px;right:8px}.icon-btn{border-radius:10px;width:38px;min-width:38px;height:38px;min-height:38px;font-size:18px}.toy-item-card{width:118px;padding:6px 4px 8px}.toy-emoji{font-size:30px}.place-btn{min-height:42px;padding:6px 3px;font-size:12px}.action-btn{min-height:42px;padding:6px 10px;font-size:12px}}@media (orientation:landscape) and (height<=580px){:root{--nav-height:48px}.brand-title-full{display:none}.brand-title-short{display:inline}.brand-badge,.nav-btn-text{display:none}.main-workspace{height:calc(100dvh - var(--nav-height) - 95px);flex-direction:row}.side-panel{flex:0 0 clamp(200px,24vw,250px);gap:6px;padding:6px 8px}.stage-container{border-bottom:none;flex:auto;height:100%;box-shadow:inset 0 0 16px #0006}.icon-btn{width:40px;min-width:40px;height:40px;min-height:40px;font-size:18px}.icon-btn.nav-btn-labeled{gap:3px;width:auto;min-width:36px;height:40px;min-height:40px;padding:0 6px;font-size:11.5px}.icon-btn.nav-btn-labeled .btn-label-full{display:none}.icon-btn.nav-btn-labeled .btn-label-short{font-size:11px;font-weight:800;display:inline}.pill-btn,.mode-select-box{min-height:40px;padding:6px 12px;font-size:12.5px}.mode-select-box{padding-right:26px}}@media (width>=641px) and (width<=1024px) and (orientation:portrait){:root{--nav-height:60px;--stage-height:clamp(330px, 43vh, 470px)}.brand-title{font-size:18px}.main-workspace{flex-direction:column;overflow-y:auto}.stage-container{border-bottom:3px solid #0284c7;flex:0 0 clamp(300px,40vh,420px);height:clamp(300px,40vh,420px)}.side-panel{flex:none;width:100%;height:auto;overflow:visible}.left-panel{border-bottom:2px solid #fde047;border-right:none}.right-panel{border-bottom:2px solid #fde047;border-left:none}.icon-btn{width:46px;min-width:46px;height:46px;min-height:46px;font-size:22px}.pill-btn,.mode-select-box{min-height:46px;padding:10px 18px;font-size:15px}.mode-select-box{padding-right:32px}.mode-select-arrow{right:13px}.toy-item-card{width:138px;padding:10px 8px 12px}.toy-emoji{font-size:40px}.place-btn{min-height:46px;font-size:13.5px}.action-btn{min-height:46px;padding:10px 18px;font-size:14px}.levels-grid{grid-template-columns:repeat(4,1fr);gap:14px}.level-select-card{min-height:108px}}@media (width>=1025px){:root{--nav-height:58px;--stage-height:clamp(280px, 44vh, 460px)}.mission-card,.bottom-dock{width:100%;max-width:100%}.levels-grid{grid-template-columns:repeat(5,1fr);gap:14px}}html.dark-theme,html.dark-theme body{color:#f1f5f9;background:#090d16}html.dark-theme .app-layout{background:#090d16}html.dark-theme .top-nav{background:#0f172af0;border-bottom:2px solid #0284c7;box-shadow:0 4px 20px #0006}html.dark-theme .brand-title-full,html.dark-theme .brand-title-short{color:#f8fafc}html.dark-theme .brand-badge{color:#fde047;background:#1e293b;border-color:#475569}html.dark-theme .brand-about-btn{color:#7dd3fc;background:#0284c733;border-color:#38bdf84d}html.dark-theme .brand-about-btn:hover{color:#bae6fd;background:#0284c759;border-color:#38bdf880}html.dark-theme .dock-about-btn{color:#38bdf8}html.dark-theme .dock-about-btn:hover{color:#7dd3fc}html.dark-theme .about-logo-badge{background:linear-gradient(135deg,#0284c759,#0369a18c);box-shadow:0 4px 14px #0000004d}html.dark-theme .about-creator{color:#f1f5f9}html.dark-theme .about-link{color:#38bdf8}html.dark-theme .about-link:hover{color:#7dd3fc}html.dark-theme .about-description{color:#94a3b8}html.dark-theme .version-badge{color:#38bdf8;background:#0ea5e926;border-color:#38bdf84d;box-shadow:0 1px 4px #0000004d}html.dark-theme .pill-btn.primary{color:#fff;background:linear-gradient(135deg,#d97706,#b45309)}html.dark-theme .pill-btn.secondary{color:#fff;background:linear-gradient(135deg,#0284c7,#0369a1)}html.dark-theme .mode-select-box{color:#fff;background:linear-gradient(135deg,#0284c7,#0369a1);border-color:#38bdf8}html.dark-theme .mode-select-box:hover{background:linear-gradient(135deg,#0369a1,#075985)}html.dark-theme .mode-select-box option{color:#f8fafc;background:#1e293b}html.dark-theme .mode-select-arrow{color:#fff}html.dark-theme .icon-btn{color:#f1f5f9;background:#1e293b;border-color:#334155;box-shadow:0 3px 10px #0000004d}html.dark-theme .icon-btn:hover{background:#273549;border-color:#64748b}html.dark-theme .icon-btn.nav-btn-labeled .btn-label-full,html.dark-theme .icon-btn.nav-btn-labeled .btn-label-short{color:#e2e8f0}html.dark-theme .icon-btn.danger{color:#fca5a5;background:#450a0a;border-color:#991b1b}html.dark-theme .icon-btn.danger:hover{background:#7f1d1d;border-color:#dc2626}html.dark-theme .icon-btn.danger.nav-btn-labeled .btn-label-full,html.dark-theme .icon-btn.danger.nav-btn-labeled .btn-label-short{color:#fca5a5}html.dark-theme .icon-btn.lang-btn{color:#38bdf8;background:#082f49;border-color:#0284c7}html.dark-theme .icon-btn.lang-btn:hover{background:#0c4a6e;border-color:#38bdf8}html.dark-theme .icon-btn.music-active{background:#0c4a6e;border-color:#38bdf8;box-shadow:0 0 14px #38bdf880}html.dark-theme .icon-btn.theme-dark-active{background:#2a2612;border-color:#fde047;box-shadow:0 0 12px #fde04766}html.dark-theme .main-workspace{background:#090d16}html.dark-theme .side-panel{background:#0b1120}html.dark-theme .left-panel{border-right-color:#1e293b;box-shadow:2px 0 12px #0000004d}html.dark-theme .right-panel{border-left-color:#1e293b;box-shadow:-2px 0 12px #0000004d}html.dark-theme .panel-section-card{background:#0f172a;border-color:#1e293b;box-shadow:0 3px 8px #0000004d}html.dark-theme .panel-section-card.gauge-card{border-color:#0284c7}html.dark-theme .balance-gauge{background:#131d31;border-color:#1e293b}html.dark-theme .gauge-needle-bubble{color:#cbd5e1;background:#1e293bb3;border-color:#94a3b833}html.dark-theme .gauge-needle-bubble.is-balanced{background:#22c55e2e;border-color:#4ade8073;box-shadow:0 0 16px #22c55e47}html.dark-theme .status-balanced{color:#4ade80;text-shadow:0 0 12px #4ade8099}html.dark-theme .gauge-card.is-balanced{border-color:#22c55e!important;box-shadow:0 0 0 2px #22c55e59,0 8px 24px -4px #22c55e4d!important}html.dark-theme .gauge-needle-bubble.is-tilted-left,html.dark-theme .gauge-needle-bubble.is-tilted-right{background:#f9731626;border-color:#fb923c66}html.dark-theme .status-tilted{color:#fb923c;text-shadow:0 0 10px #fb923c73}html.dark-theme .gauge-sides-row{border-top-color:#ffffff14}html.dark-theme .gauge-side-divider{background:#ffffff14}html.dark-theme .side-mass{color:#f1f5f9}html.dark-theme .theme-section-title,html.dark-theme .actions-section-title{color:#94a3b8}html.dark-theme .stage-touch-hint{color:#94a3b8;background:#0f172ae0;border-color:#ffffff1f}html.dark-theme .mission-card{background:#0f172a;border:2px solid #0284c7;box-shadow:0 8px 30px #00000080}html.dark-theme .mission-tag{color:#38bdf8;background:#1e293b;border-color:#0284c7}html.dark-theme .question-text{color:#f8fafc}html.dark-theme .speak-btn{color:#e2e8f0;background:#1e293b;border-color:#334155}html.dark-theme .speak-btn:hover{background:#273549;border-color:#64748b}html.dark-theme .mass-toggle-wrapper{background:#1e293bcc;border:1px solid #38bdf833}html.dark-theme .mass-toggle-wrapper:hover{background:#273549e6;border-color:#38bdf866}html.dark-theme .toggle-switch input+.slider{background-color:#334155;border-color:#475569}html.dark-theme .toggle-switch input:checked+.slider{background-color:#16a34a;border-color:#22c55e;box-shadow:inset 0 1px 2px #0003,0 0 10px #22c55e59}html.dark-theme .toggle-label{color:#e2e8f0}html.dark-theme .quiz-opt-btn{color:#f8fafc;background:#1e293b;border-color:#334155;box-shadow:0 4px 12px #00000040}html.dark-theme .quiz-opt-btn:hover{background:#273549;border-color:#38bdf8}html.dark-theme .quiz-opt-btn.correct{color:#a7f3d0;background:#064e3b;border-color:#10b981}html.dark-theme .quiz-opt-btn.incorrect{color:#fca5a5;background:#450a0a;border-color:#ef4444}html.dark-theme .mass-meter-card{background:#131d31;border-color:#1e293b}html.dark-theme .meter-label{color:#94a3b8}html.dark-theme .meter-bar{background:#090d16;border-color:#1e293b}html.dark-theme .meter-val{color:#f1f5f9}html.dark-theme .status-banner{color:#fde047;background:#131d31;border-color:#334155}html.dark-theme .status-text{color:#fde047}html.dark-theme .hint-box{color:#fef08a;background:#2a2012;border-color:#d97706}html.dark-theme .explanation-box{color:#a7f3d0;background:#064e3b;border-color:#10b981}html.dark-theme .bottom-dock-wrapper{background:#0f172a;border-top:2px solid #1e293b;box-shadow:0 -4px 16px #0006}html.dark-theme .bottom-dock{box-shadow:none;background:0 0;border:none}html.dark-theme .dock-scroller-bar{background:#1e293b;border-bottom-color:#334155}html.dark-theme .dock-scroller-btn{color:#f1f5f9;background:#334155;border-color:#475569;box-shadow:0 1px 3px #0000004d}html.dark-theme .dock-scroller-btn:hover:not(.disabled){background:#475569}html.dark-theme .dock-scroller-btn.disabled{color:#475569;background:#1e293b;border-color:#334155}html.dark-theme .dock-scroller-track{background:#ffffff1f}html.dark-theme .dock-scroller-track:hover{background:#ffffff2e}html.dark-theme .dock-scroller-thumb{background:linear-gradient(90deg,#38bdf8,#0284c7);box-shadow:0 1px 4px #0006}html.dark-theme .dock-scroller-thumb:active{background:#0284c7}html.dark-theme .dock-scroller-hint{color:#94a3b8}html.dark-theme .tray-nav-btn{color:#38bdf8;background:#1e293bf0;border-color:#475569;box-shadow:0 4px 12px #00000059}html.dark-theme .tray-nav-btn:hover:not(.disabled){color:#fff;background:#0284c7;border-color:#0369a1}html.dark-theme .dock-creator-bar{color:#64748b}html.dark-theme .creator-link{color:#38bdf8}html.dark-theme .dock-section-title,html.dark-theme .slot-title,html.dark-theme .pan-hint,html.dark-theme .dock-sub-hint{color:#94a3b8}html.dark-theme .slot-pill{color:#cbd5e1;background:#1e293b;border-color:#334155}html.dark-theme .slot-pill:hover{background:#273549;border-color:#64748b}html.dark-theme .slot-pill.active{color:#fff;background:#0284c7;border-color:#38bdf8}html.dark-theme .world-pill{color:#cbd5e1;background:#1e293b;border-color:#334155}html.dark-theme .world-pill:hover{background:#273549;border-color:#64748b}html.dark-theme .world-pill.active{color:#fff;background:#7c3aed;border-color:#a78bfa}html.dark-theme .toy-item-card{color:#f1f5f9;background:#1e293b;border-color:#334155;box-shadow:0 4px 14px #00000059}html.dark-theme .toy-item-card:hover{background:#243248;border-color:#38bdf8;box-shadow:0 6px 18px #00000073}html.dark-theme .toy-name{color:#f1f5f9}html.dark-theme .toy-weight{color:#93c5fd;background:#090d16;border-color:#1e293b}html.dark-theme .drag-hint-badge{color:#7dd3fc;background:#0284c740;border-color:#0284c7}html.dark-theme .place-btn.left{color:#7dd3fc;background:#0c4a6e;border-color:#0284c7}html.dark-theme .place-btn.left:hover{color:#fff;background:#0369a1}html.dark-theme .place-btn.right{color:#fde047;background:#451a03;border-color:#d97706}html.dark-theme .place-btn.right:hover{color:#fff;background:#78350f}html.dark-theme .action-btn{color:#e2e8f0;background:#1e293b;border-color:#334155}html.dark-theme .action-btn:hover{background:#273549;border-color:#64748b}html.dark-theme .action-btn.hint{color:#fde047;background:#451a03;border-color:#d97706}html.dark-theme .action-btn.guide-btn{color:#a5b4fc;background:#1e1b4b;border-color:#6366f1}html.dark-theme .dock-creator-bar{color:#94a3b8;border-top-color:#1e293b}html.dark-theme .modal-card{color:#f8fafc;background:#0f172a;border-color:#0284c7;box-shadow:0 12px 40px #000000b3}html.dark-theme .modal-header h3{color:#f8fafc}html.dark-theme .modal-close-btn{color:#94a3b8;background:#1e293b;border-color:#334155}html.dark-theme .modal-close-btn:hover{color:#f8fafc;background:#334155}html.dark-theme .level-select-card{color:#f1f5f9;background:#1e293b;border-color:#334155}html.dark-theme .level-select-card:hover{background:#243248;border-color:#38bdf8}html.dark-theme .level-select-card.current{background:#262413;border-color:#fde047;box-shadow:0 0 16px #fde04740}html.dark-theme .level-badge{color:#7dd3fc;background:#0284c740;border-color:#0284c7}html.dark-theme .level-rank{color:#94a3b8}html.dark-theme .modal-footer-credit{color:#94a3b8;border-top-color:#1e293b}html.dark-theme .drag-ghost{color:#f8fafc;background:#0f172af2;border-color:#0284c7;box-shadow:0 10px 30px #0009}html.dark-theme .ghost-label{color:#e2e8f0}html.dark-theme .drop-zone-bubble{color:#f8fafc;background:#0f172af2;border-color:#334155;box-shadow:0 4px 18px #0006}.loading-screen{z-index:99999;box-sizing:border-box;opacity:1;will-change:opacity, transform;background:radial-gradient(circle at 50% 40%,#1e293b 0%,#0f172a 65%,#070d19 100%);justify-content:center;align-items:center;width:100vw;height:100dvh;padding:20px;transition:opacity .42s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1),visibility .42s;display:flex;position:fixed;inset:0;overflow:hidden;transform:scale(1)}.loading-screen.fade-out{opacity:0;pointer-events:none;transform:scale(1.03)}.loading-screen.hidden{display:none!important}.loading-backdrop-glow{filter:blur(50px);pointer-events:none;background:radial-gradient(circle,#38bdf824 0%,#f59e0b14 50%,#0000 70%);border-radius:50%;width:min(600px,90vw);height:min(600px,90vw);animation:4s ease-in-out infinite alternate loadingAuraPulse;position:absolute}@keyframes loadingAuraPulse{0%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1.15)}}.loading-modal-card{z-index:1;-webkit-backdrop-filter:blur(18px);text-align:center;background:#0f172ae0;border:1px solid #ffffff24;border-radius:28px;flex-direction:column;align-items:center;gap:16px;width:min(430px,92vw);padding:34px 28px 26px;animation:.5s cubic-bezier(.16,1,.3,1) loadingCardEnter;display:flex;position:relative;box-shadow:0 25px 60px #0009,0 0 35px #38bdf82e}@keyframes loadingCardEnter{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.loading-visual{justify-content:center;align-items:center;width:100%;max-width:200px;height:120px;display:flex}.loading-scale-svg{width:100%;height:100%;overflow:visible}.loading-beam-group{transform-origin:100px 40px;animation:2.6s ease-in-out infinite loadingBeamRock}@keyframes loadingBeamRock{0%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}to{transform:rotate(-7deg)}}.loading-pan-left-group{transform-origin:34px 40px;animation:2.6s ease-in-out infinite loadingPanCounter}.loading-pan-right-group{transform-origin:166px 40px;animation:2.6s ease-in-out infinite loadingPanCounter}@keyframes loadingPanCounter{0%{transform:rotate(7deg)}50%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}.loading-glow-pulse{animation:2s ease-in-out infinite alternate loadingPivotPulse}@keyframes loadingPivotPulse{0%{opacity:.4;transform-origin:100px 40px;transform:scale(.9)}to{opacity:.9;transform-origin:100px 40px;transform:scale(1.15)}}.loading-brand-header{flex-direction:column;gap:4px;display:flex}.loading-brand-title{letter-spacing:.05em;background:linear-gradient(135deg,#fde047 0%,#f59e0b 50%,#38bdf8 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px #f59e0b4d);-webkit-background-clip:text;margin:0;font-family:Be Vietnam Pro,Nunito,sans-serif;font-size:clamp(20px,5.2vw,24px);font-weight:900}.loading-brand-sub{color:#94a3b8;margin:0;font-size:13px;font-weight:700}.loading-progress-container{flex-direction:column;gap:8px;width:100%;margin-top:4px;display:flex}.loading-progress-track{background:#1e293bd9;border:1px solid #ffffff1f;border-radius:9999px;width:100%;height:10px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0006}.loading-progress-bar{background:linear-gradient(90deg,#f59e0b 0%,#06b6d4 55%,#10b981 100%);border-radius:9999px;height:100%;transition:width .22s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:0 0 12px #06b6d48c}.loading-progress-shimmer{background:linear-gradient(90deg,#0000 0%,#ffffff80 50%,#0000 100%);animation:1.5s infinite loadingShimmer;position:absolute;inset:0}@keyframes loadingShimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.loading-progress-info{color:#cbd5e1;justify-content:space-between;align-items:center;padding:0 2px;font-size:12px;font-weight:800;display:flex}.loading-status-text{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.loading-percent-text{font-variant-numeric:tabular-nums;color:#38bdf8;margin-left:8px;font-weight:900}.loading-tip-badge{color:#fde047;text-align:left;background:#1e293ba6;border:1px solid #fde04738;border-radius:14px;align-items:center;gap:8px;padding:8px 12px;font-size:11.5px;font-weight:700;line-height:1.4;display:flex;box-shadow:0 2px 8px #0003}.loading-tip-icon{flex-shrink:0;font-size:14px}.loading-tip-text{color:#fde047}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
