*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body,html{color:#1e293b;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)}.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:30;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{background:#0284c70f;border:3px dashed #0284c780;border-radius:16px;flex:1;justify-content:center;align-items:center;transition:all .18s cubic-bezier(.16,1,.3,1);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-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;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;transition:all .15s;display:inline-flex}.brand-about-btn:hover{color:#0369a1;background:#bae6fd;border-color:#7dd3fc;transform:translateY(-1px)}.brand-about-btn:active{transform:scale(.96)}.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-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;touch-action:manipulation;border:2px solid #0000;border-radius:9999px;outline:none;align-items:center;gap:6px;min-height:44px;padding:10px 18px;font-family:inherit;font-size:14.5px;font-weight:900;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;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(.94);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}.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;text-shadow:0 1px 2px #0003;touch-action:manipulation;background:#0284c7;border:2px solid #0369a1;border-radius:9999px;outline:none;align-items:center;min-height:44px;padding:9px 34px 9px 16px;font-family:inherit;font-size:14.5px;font-weight:900;line-height:1.2;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .15s,background .15s,border-color .15s;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(.96)}.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;touch-action:manipulation;background:#fff;border:2.5px solid #cbd5e1;border-radius:14px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;font-size:21px;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .15s,border-color .15s;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(.92);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}@media (width<=960px){.icon-btn.nav-btn-labeled .btn-label-full{display:none}.icon-btn.nav-btn-labeled .btn-label-short{display:inline}.icon-btn.nav-btn-labeled{gap:4px;padding:0 8px}}.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:all .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}.quiz-opt-btn{color:#0369a1;cursor:pointer;touch-action:manipulation;text-align:center;background:#f0f9ff;border:2.5px solid #7dd3fc;border-radius:16px;flex:1;justify-content:center;align-items:center;min-width:140px;min-height:54px;padding:12px 18px;font-family:inherit;font-size:16px;font-weight:900;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .15s,border-color .15s,box-shadow .15s;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(.95)}.quiz-opt-btn.wrong{color:#b91c1c;background:#fee2e2;border-color:#ef4444;animation:.4s shake}@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;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.gauge-side{flex-direction:column;align-items:center;display:flex}.side-label{color:#94a3b8;font-size:11px;font-weight:800}.side-mass{color:#1e293b;font-size:16px;font-weight:900}.gauge-needle-bubble{align-items:center;gap:6px;font-size:14px;font-weight:800;display:flex}.status-balanced{color:#16a34a}.status-tilted{color:#ea580c}.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;background:0 0;border:none;border-radius:0;flex-direction:column;flex-shrink:0;transition:all .25s;display:flex;overflow:hidden}.bottom-dock.collapsed .dock-content{display:none}.dock-handle-btn{color:#854d0e;cursor:pointer;touch-action:manipulation;background:#fef9c3;border:none;border-bottom:1.5px solid #fde047;border-radius:0 0 8px 8px;justify-content:center;align-items:center;min-height:26px;margin:0 auto;padding:3px 18px;font-family:inherit;font-size:11.5px;font-weight:900;transition:background .15s,transform .1s;display:flex}.dock-handle-btn:hover{background:#fef08a}.dock-handle-btn:active{background:#fde047}.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{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:thin;gap:10px;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}.toy-item-card{background:#fff;border:2px solid #e2e8f0;border-radius:14px;flex-direction:column;flex:none;align-items:center;gap:4px;width:122px;padding:6px 6px 8px;transition:transform .15s,border-color .15s,box-shadow .15s;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)}30%{transform:scale(.92)}65%{transform:scale(1.08)}to{transform:scale(1)}}.toy-item-card.just-placed{border-color:#0284c7;animation:.36s cubic-bezier(.34,1.56,.64,1) cardPlaceBounce;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-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;touch-action:manipulation;border:2px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:36px;padding:6px 2px;font-family:inherit;font-size:12px;font-weight:900;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .15s,border-color .15s;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(.92)}.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;touch-action:manipulation;background:#f8fafc;border:2px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;gap:4px;width:100%;min-height:40px;padding:6px 8px;font-family:inherit;font-size:12.5px;font-weight:900;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .15s,border-color .15s,box-shadow .15s;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(.94)}.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.hidden{display:none}.modal-card{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;touch-action:manipulation;background:#f8fafc;border:2px solid #cbd5e1;border-radius:9999px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;font-size:26px;line-height:1;transition:all .15s;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(.92)}.levels-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:14px;display:grid}.level-select-card{cursor:pointer;touch-action:manipulation;background:#f8fafc;border:2.5px solid #cbd5e1;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:104px;padding:14px 10px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .15s,box-shadow .15s;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(.94)}.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{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;max-width:100%;overflow-x:auto}.nav-controls::-webkit-scrollbar{display:none}.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-actions{flex-shrink:0;gap:5px}.icon-btn{border-width:2px;border-radius:12px;width:42px;min-width:42px;height:42px;min-height:42px;font-size:20px}.icon-btn.nav-btn-labeled{border-radius:12px;gap:3px;width:auto;min-width:38px;height:42px;min-height:42px;padding:0 7px}.icon-btn.nav-btn-labeled .btn-icon{font-size:16px}.icon-btn.nav-btn-labeled .btn-label-short{font-size:11.5px;font-weight:800}.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-handle-btn{min-height:46px;padding:10px 16px;font-size:14px}.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-actions{gap:4px}.icon-btn{border-radius:10px;width:38px;min-width:38px;height:38px;min-height:38px;font-size:18px}.icon-btn.nav-btn-labeled{border-radius:10px;gap:2px;width:auto;min-width:34px;height:38px;min-height:38px;padding:0 5px}.icon-btn.nav-btn-labeled .btn-icon{font-size:14px}.icon-btn.nav-btn-labeled .btn-label-short{font-size:10px;font-weight:800}.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 .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 .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-handle-btn{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}
