:root{--radius: 18px;--radius-lg: 28px;--radius-xl: 36px;--radius-pill: 999px;--font-title: ui-rounded, "SF Pro Rounded", "Baloo 2", "Fredoka", "Nunito", "Quicksand", system-ui, sans-serif;--font-body: ui-rounded, "SF Pro Rounded", "Nunito", "Quicksand", system-ui, -apple-system, sans-serif;--font-ui: var(--font-body);--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--sp-2xl: 48px;--text-xs: clamp(12px, .78rem, 13px);--text-sm: clamp(14px, .9rem, 16px);--text-base: clamp(16px, 1.05rem, 19px);--text-lg: clamp(19px, 1.3rem, 23px);--text-xl: clamp(23px, 1.7rem, 30px);--text-2xl: clamp(30px, 3.2vw, 40px);--text-3xl: clamp(38px, 5.4vw, 58px);--safe-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--safe-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--safe-left: var(--safe-area-inset-left, env(safe-area-inset-left, 0px));--safe-right: var(--safe-area-inset-right, env(safe-area-inset-right, 0px));--content-max: 1080px;--content-max-narrow: 720px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.8, .5, 1);--duration-fast: .14s;--duration-normal: .26s;--duration-slow: .45s}:root,html.bs-theme-light{color-scheme:light;--bg: #fff6e5;--surface: #fffdf8;--surface2: #ffefd2;--border: #f0d3a6;--border-bright: #e0a95f;--text: #43301c;--text-muted: #7d6544;--text-dim: #a58e6c;--text-inverse: #ffffff;--accent: #ff7a3d;--accent-soft: #ffb488;--accent-glow: rgba(255, 122, 61, .32);--sunny: #ffc93c;--sky: #4ec9f5;--grape: #a55cff;--mint: #3ddc97;--bubblegum: #ff5fa2;--danger: #ef4b6b;--success: #2bb673;--page-gradient: radial-gradient(ellipse at 50% 0%, #fff7e0 0%, #ffe9c4 55%, var(--bg) 100%);--page-gradient-play: radial-gradient(ellipse at 50% 100%, #ffe0c2 0%, #fff3dd 70%);--panel-bg: rgba(255, 255, 255, .86);--panel-inset: rgba(255, 240, 214, .9);--panel-inset-border: rgba(240, 190, 130, .55);--modal-bg: linear-gradient(170deg, #fffdf8 0%, #fff1d9 100%);--backdrop: rgba(60, 36, 12, .45);--input-bg: #fffdf8;--input-border: rgba(180, 130, 70, .35);--chip-bg: rgba(255, 201, 60, .18);--chip-border: rgba(224, 169, 95, .5);--scrim: linear-gradient(to bottom, rgba(255, 246, 229, 0) 0%, rgba(255, 240, 214, .9) 78%);--shadow-sm: 0 2px 6px rgba(140, 90, 30, .12);--shadow-md: 0 8px 22px rgba(140, 90, 30, .16);--shadow-lg: 0 18px 44px rgba(140, 90, 30, .2);--shadow-xl: 0 26px 64px rgba(140, 90, 30, .24);--shadow-glow: 0 0 26px var(--accent-glow);--shadow-chunk: 0 6px 0 rgba(196, 118, 44, .45);--shadow-chunk-sm: 0 4px 0 rgba(196, 118, 44, .4)}html.bs-theme-dark{color-scheme:dark;--bg: #1b1440;--surface: #2a2060;--surface2: #221a52;--border: #40348c;--border-bright: #6a56d8;--text: #fdf4e3;--text-muted: #bfb0e8;--text-dim: #8a7bc0;--text-inverse: #241a52;--accent: #ffa15c;--accent-soft: #ffc9a3;--accent-glow: rgba(255, 161, 92, .36);--sunny: #ffd76a;--sky: #6fd8ff;--grape: #c08bff;--mint: #5ce8b0;--bubblegum: #ff7fb8;--danger: #ff6f8c;--success: #4fd39a;--page-gradient: radial-gradient(ellipse at 50% 0%, #322473 0%, #241a56 55%, var(--bg) 100%);--page-gradient-play: radial-gradient(ellipse at 50% 100%, #3a2a80 0%, #1b1440 72%);--panel-bg: rgba(42, 32, 96, .86);--panel-inset: rgba(30, 22, 74, .85);--panel-inset-border: rgba(130, 105, 230, .4);--modal-bg: linear-gradient(170deg, #322473 0%, #221a52 100%);--backdrop: rgba(10, 6, 30, .66);--input-bg: rgba(20, 14, 52, .9);--input-border: rgba(140, 115, 235, .4);--chip-bg: rgba(140, 115, 235, .22);--chip-border: rgba(140, 115, 235, .45);--scrim: linear-gradient(to bottom, rgba(27, 20, 64, 0) 0%, rgba(27, 20, 64, .92) 78%);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .35);--shadow-md: 0 8px 22px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .48);--shadow-xl: 0 26px 64px rgba(0, 0, 0, .55);--shadow-glow: 0 0 26px var(--accent-glow);--shadow-chunk: 0 6px 0 rgba(12, 6, 40, .6);--shadow-chunk-sm: 0 4px 0 rgba(12, 6, 40, .55)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;overflow:hidden}html{background:var(--bg);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#root{display:flex;align-items:center;justify-content:center}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}input,select,textarea{font:inherit;color:inherit;-webkit-user-select:text;user-select:text}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill)}::-webkit-scrollbar-track{background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes bs-fade-in-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes bs-scale-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes bs-pop-in{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes bs-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bs-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes bs-wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes bs-hop{0%,56%,to{transform:translateY(0) rotate(0)}22%{transform:translateY(-17%) rotate(-4deg)}38%{transform:translateY(0) rotate(0)}46%{transform:translateY(-6%) rotate(3deg)}}@keyframes bs-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes bs-spin{to{transform:rotate(360deg)}}@keyframes bs-twinkle{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes bs-shimmer{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes bs-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(14px,-22px,0) scale(1.08)}to{transform:translateZ(0) scale(1)}}html.bs-reduce-motion .bs-float,html.bs-reduce-motion .bs-bob,html.bs-reduce-motion .bs-hop,html.bs-reduce-motion .bs-wiggle,html.bs-reduce-motion .bs-breathe,html.bs-reduce-motion .bs-twinkle,html.bs-reduce-motion .bs-orb,html.bs-reduce-motion .placeholder-blob,html.bs-reduce-motion .boot-glyph,html.bs-reduce-motion .retry-glyph,html.bs-reduce-motion .signin-glyph,html.bs-reduce-motion .home-hero-mark,html.bs-reduce-motion .home-start-glyph,html.bs-reduce-motion .home-rule-glyph,html.bs-reduce-motion .world-new-badge,html.bs-reduce-motion .song-button,html.bs-reduce-motion .song-play-button,html.bs-reduce-motion .song-cover--playing,html.bs-reduce-motion .slider-arrow,html.bs-reduce-motion .slider--dancing .slide-image,html.bs-reduce-motion .listen-button,html.bs-reduce-motion .preset-card-art,html.bs-reduce-motion .bs-shimmer-layer{animation:none!important}@media (prefers-reduced-motion: reduce){.bs-float,.bs-bob,.bs-hop,.bs-wiggle,.bs-breathe,.bs-twinkle,.bs-orb,.placeholder-blob,.boot-glyph,.retry-glyph,.signin-glyph,.home-hero-mark,.home-start-glyph,.home-rule-glyph,.world-new-badge,.song-button,.song-play-button,.song-cover--playing,.slider-arrow,.slider--dancing .slide-image,.listen-button,.preset-card-art,.bs-shimmer-layer{animation:none!important}}.bs-float{animation:bs-float 3.6s ease-in-out infinite}.bs-bob{animation:bs-bob 2.8s ease-in-out infinite}.bs-hop{animation:bs-hop var(--hop-duration, 2.2s) ease-in-out var(--hop-delay, 0s) infinite}.bs-wiggle{animation:bs-wiggle 2.4s ease-in-out infinite}.bs-breathe{animation:bs-breathe 2.6s ease-in-out infinite}.bs-twinkle{animation:bs-twinkle 2s ease-in-out infinite}.bs-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.45em;font-family:var(--font-title);font-size:var(--text-base);font-weight:800;letter-spacing:.01em;line-height:1.15;text-align:center;padding:14px 22px;min-height:48px;border-radius:var(--radius-pill);border:3px solid var(--border-bright);background:linear-gradient(180deg,var(--surface) 0%,var(--surface2) 100%);color:var(--text);cursor:pointer;box-shadow:var(--shadow-chunk-sm),var(--shadow-sm);overflow:hidden;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) ease,border-color var(--duration-fast) ease;transform-origin:center}.bs-btn:after{content:"";position:absolute;top:0;right:0;bottom:55%;left:0;background:linear-gradient(180deg,#ffffff80,#fff0);pointer-events:none;opacity:.7}html.bs-theme-dark .bs-btn:after{opacity:.18}.bs-btn:hover:not(:disabled):not(.bs-btn-unstyled){border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-chunk),var(--shadow-md)}.bs-btn:active:not(:disabled):not(.bs-btn-unstyled){transform:translateY(4px);box-shadow:0 1px #c4762c66,var(--shadow-sm)}.bs-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.bs-btn-unstyled{border:none;background:none;box-shadow:none;padding:0;min-height:0;border-radius:0;overflow:visible;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;gap:0}.bs-btn-unstyled:after{display:none}.bs-btn--primary{background:linear-gradient(180deg,#ffa15c 0%,var(--accent) 100%);border-color:#fff;color:#fff;text-shadow:0 2px 0 rgba(150,60,10,.35);box-shadow:0 6px #d2541c,var(--shadow-md)}.bs-btn--primary:hover:not(:disabled){border-color:#fff;box-shadow:0 8px #d2541c,var(--shadow-lg),var(--shadow-glow)}.bs-btn--primary:active:not(:disabled){box-shadow:0 2px #d2541c,var(--shadow-sm)}.bs-btn--sunny{background:linear-gradient(180deg,#ffe07a 0%,var(--sunny) 100%);border-color:#fff;color:#6b4a00;box-shadow:0 6px #d9a300,var(--shadow-md)}.bs-btn--sunny:active:not(:disabled){box-shadow:0 2px #d9a300,var(--shadow-sm)}.bs-btn--sky{background:linear-gradient(180deg,#8fe2ff 0%,var(--sky) 100%);border-color:#fff;color:#06445c;box-shadow:0 6px #1c96c4,var(--shadow-md)}.bs-btn--sky:active:not(:disabled){box-shadow:0 2px #1c96c4,var(--shadow-sm)}.bs-btn--grape{background:linear-gradient(180deg,#c79cff 0%,var(--grape) 100%);border-color:#fff;color:#fff;text-shadow:0 2px 0 rgba(70,20,130,.4);box-shadow:0 6px #7a34d4,var(--shadow-md)}.bs-btn--grape:active:not(:disabled){box-shadow:0 2px #7a34d4,var(--shadow-sm)}.bs-btn--mint{background:linear-gradient(180deg,#7aefc0 0%,var(--mint) 100%);border-color:#fff;color:#044f33;box-shadow:0 6px #1da571,var(--shadow-md)}.bs-btn--ghost{background:var(--panel-inset);border-color:var(--panel-inset-border);color:var(--text-muted);box-shadow:var(--shadow-sm)}.bs-btn--ghost:active:not(:disabled){transform:translateY(2px)}.bs-btn--danger{background:linear-gradient(180deg,#ff8ba1 0%,var(--danger) 100%);border-color:#fff;color:#fff;box-shadow:0 6px #c22e4c,var(--shadow-md)}.bs-btn--danger:active:not(:disabled){box-shadow:0 2px #c22e4c,var(--shadow-sm)}.bs-btn--block{width:100%}.bs-btn--big{font-size:var(--text-xl);padding:22px 34px;min-height:76px;border-radius:var(--radius-xl)}.bs-btn--chip{font-size:var(--text-sm);padding:8px 16px;min-height:40px;border-width:2px}.bs-btn--icon{width:56px;min-width:56px;height:56px;padding:0;font-size:26px;border-radius:50%}.bs-btn--icon-sm{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:20px;border-radius:50%;border-width:2px}.bs-btn--card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.bs-btn--menu{justify-content:flex-start;width:100%;border-radius:var(--radius);border-width:2px;font-size:var(--text-base);font-weight:700;padding:12px 16px;box-shadow:none;background:transparent;border-color:transparent}.bs-btn--menu:hover:not(:disabled){background:var(--panel-inset);border-color:var(--panel-inset-border);transform:none;box-shadow:none}.bs-btn--menu:active:not(:disabled){transform:scale(.98);box-shadow:none}.bs-shimmer-layer{position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:bs-shimmer 2.6s ease-in-out infinite;pointer-events:none}.app-viewport{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bg)}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:calc(var(--safe-top) + 12px) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 12px) calc(var(--safe-left) + 16px);background:var(--page-gradient);overflow:hidden;animation:bs-fade-in-up var(--duration-slow) var(--ease-out) both}.bs-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;pointer-events:none;animation:bs-drift 14s ease-in-out infinite}.bs-orb--1{width:190px;height:190px;top:-60px;left:-50px;background:radial-gradient(circle at 35% 35%,var(--sunny),transparent 70%)}.bs-orb--2{width:220px;height:220px;bottom:-70px;right:-60px;background:radial-gradient(circle at 60% 40%,var(--sky),transparent 70%);animation-delay:-5s}.bs-orb--3{width:150px;height:150px;top:38%;right:-50px;background:radial-gradient(circle at 50% 50%,var(--bubblegum),transparent 70%);animation-delay:-9s}.bs-scroll{position:relative;z-index:2;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-xl)}.bs-panel{background:var(--panel-bg);border:3px solid var(--panel-inset-border);border-radius:var(--radius-lg);padding:var(--sp-lg);box-shadow:var(--shadow-md);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.bs-hint{font-size:var(--text-sm);color:var(--text-muted);line-height:1.45}.bs-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--chip-bg);border:2px solid var(--chip-border);font-size:var(--text-xs);font-weight:700;color:var(--text-muted)}.screen--boot{align-items:center;justify-content:center;gap:var(--sp-md)}.boot-glyph{font-size:76px;animation:bs-bob 2.4s ease-in-out infinite}.boot-label{font-family:var(--font-title);font-size:var(--text-lg);font-weight:800;color:var(--text-muted)}.retry-card{margin:auto;display:flex;flex-direction:column;align-items:center;gap:var(--sp-md);text-align:center;background:var(--panel-bg);border:3px solid var(--panel-inset-border);border-radius:var(--radius-lg);padding:var(--sp-xl);box-shadow:var(--shadow-md)}.retry-glyph{font-size:64px;animation:bs-wiggle 2.4s ease-in-out infinite}.retry-body{font-size:var(--text-base);color:var(--text-muted)}.retry-button{font-family:var(--font-title);font-size:var(--text-base);font-weight:800;padding:14px 28px;border-radius:var(--radius-pill);border:3px solid #fff;color:#fff;background:linear-gradient(180deg,#ffa15c,var(--accent));box-shadow:0 6px #d2541c,var(--shadow-md)}.retry-button:active{transform:translateY(4px);box-shadow:0 2px #d2541c}.retry-button--wide{width:100%}.screen--signin{justify-content:center;align-items:center;overflow-y:auto}.signin-shell{position:relative;z-index:2;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:var(--sp-md);margin:auto;animation:bs-fade-in-up .6s var(--ease-out) both}.signin-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.signin-glyph{font-size:68px;animation:bs-bob 3s ease-in-out infinite}.signin-title{font-family:var(--font-title);font-size:var(--text-2xl);font-weight:900;letter-spacing:.02em;color:var(--accent);text-shadow:0 3px 0 rgba(255,255,255,.8)}html.bs-theme-dark .signin-title{text-shadow:0 3px 12px rgba(0,0,0,.5)}.signin-body{font-size:var(--text-sm);color:var(--text-muted)}.signin-card{width:100%;background:var(--modal-bg);border:4px solid var(--panel-inset-border);border-radius:var(--radius-xl);padding:var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-md);box-shadow:var(--shadow-lg);animation:bs-scale-in .5s var(--ease-out) .1s both}.signin-tabs{display:flex;gap:var(--sp-xs);padding:5px;background:var(--panel-inset);border:2px solid var(--panel-inset-border);border-radius:var(--radius-pill)}.signin-tab{flex:1;padding:11px 8px;border-radius:var(--radius-pill);font-family:var(--font-title);font-size:var(--text-sm);font-weight:800;color:var(--text-muted);transition:all var(--duration-fast) ease}.signin-tab.is-active{background:linear-gradient(180deg,#ffa15c,var(--accent));color:#fff;box-shadow:var(--shadow-sm)}.signin-oauth-row{display:flex;gap:var(--sp-sm)}.signin-button,.signin-oauth{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:60px;padding:0 12px;border-radius:var(--radius);border:3px solid var(--input-border);background:var(--surface);font-family:var(--font-title);font-weight:800;font-size:var(--text-sm);color:var(--text);box-shadow:var(--shadow-chunk-sm);transition:transform var(--duration-fast) var(--ease-spring)}.signin-button:active:not(:disabled),.signin-oauth:active:not(:disabled){transform:translateY(3px);box-shadow:none}.signin-button:disabled,.signin-oauth:disabled{opacity:.5}.signin-button-glyph{font-size:20px}.signin-divider{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:var(--text-sm)}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:2px;border-radius:2px;background:var(--panel-inset-border)}.signin-form{display:flex;flex-direction:column;gap:var(--sp-sm)}.signin-label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);font-weight:700;color:var(--text-muted)}.signin-label input,.bs-input{width:100%;padding:14px 16px;background:var(--input-bg);border:3px solid var(--input-border);border-radius:var(--radius);color:var(--text);font-family:var(--font-body);font-size:16px;outline:none;transition:border-color var(--duration-fast) ease}.signin-label input:focus,.bs-input:focus{border-color:var(--accent)}.signin-link{align-self:center;background:none;border:none;color:var(--text-muted);font-size:var(--text-sm);font-weight:700;text-decoration:underline;padding:8px}.signin-notice,.signin-error{font-size:var(--text-sm);text-align:center;padding:10px 12px;border-radius:var(--radius);font-weight:700}.signin-notice{background:#3ddc9729;color:var(--success)}.signin-error{background:#ef4b6b24;color:var(--danger)}.signin-legal{display:flex;justify-content:center;gap:var(--sp-md);font-size:var(--text-xs)}.signin-legal a{color:var(--text-dim);text-decoration:underline}.screen--preset{justify-content:center;gap:var(--sp-lg)}.preset-title{position:relative;z-index:2;font-family:var(--font-title);font-size:var(--text-2xl);font-weight:900;text-align:center;color:var(--text)}.preset-cards{position:relative;z-index:2;display:flex;gap:var(--sp-md);justify-content:center;align-items:stretch;width:100%;max-width:480px;margin:0 auto}.preset-card{flex:1;min-width:0;min-height:clamp(240px,46vh,420px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-sm);padding:var(--sp-lg) var(--sp-sm);border-radius:var(--radius-xl);border:5px solid #fff;color:#fff;font-family:var(--font-title);font-weight:900;box-shadow:0 8px #783c1447,var(--shadow-lg);transition:transform var(--duration-fast) var(--ease-spring)}.preset-card:active{transform:translateY(6px)!important;box-shadow:0 2px #783c1447,var(--shadow-sm)}.preset-card-art{font-size:clamp(64px,20vw,96px);line-height:1;filter:drop-shadow(0 6px 10px rgba(0,0,0,.22));animation:bs-bob 3s ease-in-out infinite}.preset-card-label{font-family:var(--font-title);font-size:var(--text-xl);font-weight:900;color:#fff;text-shadow:0 2px 0 rgba(120,60,20,.35)}.preset-card-hint{font-size:18px;letter-spacing:2px;opacity:.85}@media (min-width: 640px){.preset-card{min-height:clamp(300px,44vh,460px)}}.screen--home{gap:var(--sp-sm)}.home-header{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);flex-shrink:0}.home-hero{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-xs);padding:var(--sp-md) 0 var(--sp-sm);flex-shrink:0}.home-hero-mark{font-size:62px;animation:bs-bob 3.2s ease-in-out infinite;filter:drop-shadow(0 8px 12px rgba(140,90,30,.25))}.home-title{font-family:var(--font-title);font-size:var(--text-2xl);font-weight:900;letter-spacing:.01em;color:var(--accent);text-shadow:0 3px 0 rgba(255,255,255,.85)}html.bs-theme-dark .home-title{text-shadow:0 3px 14px rgba(0,0,0,.55)}.home-tagline{font-size:var(--text-sm);color:var(--text-muted)}.home-rule{display:flex;align-items:center;justify-content:center;gap:10px;padding:var(--sp-xs) 0 var(--sp-sm);flex-shrink:0}.home-rule:before,.home-rule:after{content:"";height:4px;width:58px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--border-bright))}.home-rule:after{background:linear-gradient(90deg,var(--border-bright),transparent)}.home-rule-glyph{font-size:20px;animation:bs-twinkle 2.2s ease-in-out infinite}.home-start-button{position:relative;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;min-height:92px;border-radius:var(--radius-xl);border:4px solid #fff;background:linear-gradient(180deg,#ffb877 0%,var(--accent) 60%,#f0632a 100%);color:#fff;font-family:var(--font-title);font-size:var(--text-xl);font-weight:900;text-shadow:0 2px 0 rgba(150,60,10,.4);box-shadow:0 8px #d2541c,var(--shadow-lg);overflow:hidden;flex-shrink:0;transition:transform var(--duration-fast) var(--ease-spring)}.home-start-button:active:not(:disabled){transform:translateY(6px);box-shadow:0 2px #d2541c,var(--shadow-sm)}.home-start-button:disabled{opacity:.6}.home-start-glyph{font-size:34px;animation:bs-wiggle 1.8s ease-in-out infinite}.home-slots{display:flex;flex-direction:column;gap:var(--sp-md);padding-top:var(--sp-md)}.home-slots-title{font-family:var(--font-title);font-size:var(--text-lg);font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}.home-slots-empty{text-align:center;color:var(--text-muted);font-size:var(--text-sm);padding:var(--sp-lg);border:3px dashed var(--panel-inset-border);border-radius:var(--radius-lg)}.slot-card{position:relative;display:block;width:100%;aspect-ratio:16 / 9;padding:0;background:var(--surface2);border:4px solid var(--panel-inset-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-chunk),var(--shadow-md);overflow:hidden;text-align:left;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) ease;animation:bs-pop-in .4s var(--ease-spring) both}.slot-card:active:not(:disabled){transform:translateY(3px);box-shadow:var(--shadow-chunk-sm),var(--shadow-sm)}.slot-art{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--surface2) center/cover no-repeat}.slot-art-glyph{font-size:72px;line-height:1;filter:drop-shadow(0 3px 0 rgba(0,0,0,.18))}.slot-name{position:absolute;inset:auto 0 0 0;padding:34px 16px 14px;background:linear-gradient(180deg,#0000,#000000b8 62%);font-family:var(--font-title);font-size:var(--text-xl);font-weight:900;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-header-end{display:flex;align-items:center;gap:var(--sp-sm)}.home-songs-button{width:56px;height:56px;border-radius:50%;font-size:26px;line-height:1;background:var(--surface);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-chunk-sm);color:var(--text-muted)}.home-songs-button:active{transform:translateY(3px);box-shadow:none}.home-menu-wrap{position:relative}.home-menu-button{width:56px;height:56px;border-radius:50%;font-size:26px;line-height:1;background:var(--surface);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-chunk-sm);color:var(--text-muted)}.home-menu-button:active{transform:translateY(3px);box-shadow:none}.home-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:transparent;border:none}.home-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:41;min-width:232px;display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--modal-bg);border:3px solid var(--panel-inset-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:bs-scale-in .2s var(--ease-spring) both;transform-origin:top right}.home-menu-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:var(--radius);font-size:var(--text-base);font-weight:700;color:var(--text);text-align:left}.home-menu-item:hover{background:var(--panel-inset)}.home-menu-item:active{transform:scale(.98)}.home-menu-item--danger{color:var(--danger)}.home-menu-glyph{font-size:20px;width:26px;text-align:center}.stars{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-pill);background:var(--surface);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-chunk-sm);font-size:19px;line-height:1}.star-count{font-family:var(--font-title);font-size:var(--text-lg);font-weight:900;color:var(--text);font-variant-numeric:tabular-nums}.screen--worlds{gap:var(--sp-sm)}.worlds-header{position:relative;z-index:4;display:flex;align-items:center;gap:var(--sp-sm);flex-shrink:0;padding-bottom:var(--sp-sm)}.back-button{width:56px;height:56px;flex-shrink:0;border-radius:50%;font-size:30px;line-height:1;background:var(--surface);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-chunk-sm);color:var(--text-muted)}.back-button:active{transform:translateY(3px);box-shadow:none}.signin-back{position:absolute;top:calc(var(--safe-top) + 12px);left:calc(var(--safe-left) + 16px);z-index:1}.worlds-title{flex:1;font-family:var(--font-title);font-size:var(--text-xl);font-weight:900;color:var(--text)}.rotation-countdown{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:var(--radius-pill);background:var(--chip-bg);border:2px solid var(--chip-border);font-size:var(--text-xs);font-weight:800;color:var(--text-muted);white-space:nowrap}.worlds-empty{margin:auto;text-align:center;color:var(--text-muted)}.world-carousel{position:relative;z-index:2;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}.world-track{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-md) 9%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.world-track::-webkit-scrollbar{display:none}.world-track.is-dragging{scroll-snap-type:none;cursor:grabbing}.world-card{position:relative;flex:0 0 82%;scroll-snap-align:center;display:flex;flex-direction:column;border-radius:var(--radius-lg);border:4px solid var(--panel-inset-border);background:var(--surface);box-shadow:var(--shadow-chunk),var(--shadow-md);overflow:hidden;text-align:left;opacity:.55;scale:.94;transition:opacity var(--duration) var(--ease-out),scale var(--duration) var(--ease-spring);animation:bs-pop-in .45s var(--ease-spring) both}.world-card.is-active{opacity:1;scale:1}.world-arrow{position:absolute;top:50%;translate:0 -50%;z-index:3;width:56px;height:56px;border-radius:50%;font-size:34px;line-height:1;background:var(--surface);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-chunk-sm),var(--shadow-md);color:var(--text)}.world-arrow--prev{left:2px}.world-arrow--next{right:2px}.world-arrow:active{scale:.92}.world-dots{display:flex;justify-content:center;gap:8px;padding-top:var(--sp-sm)}.world-dot{width:9px;height:9px;border-radius:50%;background:var(--panel-inset-border);transition:width var(--duration-fast) var(--ease-spring),background var(--duration-fast) ease}.world-dot.is-active{width:26px;border-radius:var(--radius-pill);background:var(--accent)}.world-card-image{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(200px,44vh,440px);background:var(--surface2) center/cover no-repeat;border-bottom:4px solid var(--panel-inset-border)}.world-card-glyph{font-size:64px;line-height:1;filter:drop-shadow(0 3px 0 rgba(0,0,0,.18))}.world-card--skeleton{animation:none;opacity:.6}.world-card--skeleton .world-card-image,.world-skeleton-label{background:linear-gradient(90deg,var(--surface2),var(--surface),var(--surface2));background-size:200% 100%;animation:bs-shimmer 1.4s linear infinite}.world-skeleton-label{width:46%;height:22px;border-radius:var(--radius-pill)}@keyframes bs-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.world-card-text{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 16px 16px}.world-card-label{display:flex;align-items:center;gap:8px;font-family:var(--font-title);font-size:var(--text-xl);font-weight:900;color:var(--text)}.world-card-description{font-size:var(--text-sm);color:var(--text-muted);line-height:1.45}.world-new-badge{padding:3px 10px;border-radius:var(--radius-pill);background:linear-gradient(180deg,#ffe07a,var(--sunny));border:2px solid #fff;color:#6b4a00;font-size:var(--text-xs);font-weight:900;box-shadow:var(--shadow-sm);animation:bs-wiggle 2s ease-in-out infinite}.screen--songs{gap:var(--sp-sm)}.song-stage{position:relative;z-index:2;display:flex;flex-direction:column;gap:var(--sp-sm);flex-shrink:0;padding-bottom:var(--sp-sm)}.song-cover{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,210px);margin-inline:auto;aspect-ratio:1;border-radius:var(--radius-lg);border:4px solid var(--panel-inset-border);background:var(--surface2) center/cover no-repeat;box-shadow:var(--shadow-chunk),var(--shadow-md);overflow:hidden}.song-cover--playing{animation:bs-breathe 2.6s ease-in-out infinite}.song-cover-glyph{font-size:76px;line-height:1;filter:drop-shadow(0 3px 0 rgba(0,0,0,.18))}.song-cover-lyrics{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--sp-md);overflow-y:auto;text-align:center;background:linear-gradient(180deg,#00000057,#0000009e);animation:bs-fade-in-up var(--duration) var(--ease-out) both}.song-lyric-line{font-family:var(--font-title);font-size:var(--text-base);font-weight:800;line-height:1.35;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6)}.song-stage-text{display:flex;flex-direction:column;align-items:center;gap:2px}.song-stage-title{font-family:var(--font-title);font-size:var(--text-xl);font-weight:900;color:var(--text);text-align:center}.song-stage-world{font-size:var(--text-sm);font-weight:700;color:var(--text-muted)}@media (max-height: 720px){.song-cover{width:min(100%,190px)}}.song-world-list{display:flex;flex-direction:column;gap:var(--sp-lg)}.song-world-group{animation:bs-fade-in-up var(--duration-slow) var(--ease-out) both}.song-world-header{display:flex;align-items:center;gap:var(--sp-sm);padding-bottom:var(--sp-xs)}.song-world-thumb{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius);background:var(--surface2) center/cover no-repeat;border:3px solid var(--panel-inset-border);flex-shrink:0}.song-world-thumb-glyph{font-size:22px;line-height:1}.song-world-label{font-family:var(--font-title);font-size:var(--text-lg);font-weight:800;color:var(--text)}.song-track-list{display:flex;flex-direction:column;gap:var(--sp-sm)}.song-track{display:flex;align-items:center;gap:var(--sp-md);padding:12px 16px;text-align:left;background:var(--surface);border:3px solid var(--panel-inset-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-chunk-sm),var(--shadow-sm);animation:bs-pop-in .4s var(--ease-spring) both}.song-track:active:not(:disabled){transform:scale(.98)}.song-track--playing{border-color:var(--accent);box-shadow:0 0 0 3px var(--chip-bg),var(--shadow-chunk-sm),var(--shadow-sm)}.song-track-glyph{font-size:24px;line-height:1;flex-shrink:0}.song-track-thumb{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex-shrink:0;border-radius:var(--radius);border:3px solid var(--panel-inset-border);background:var(--surface2) center/cover no-repeat}.song-track-thumb-glyph{font-size:24px;line-height:1}.song-track-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.song-track-label{font-family:var(--font-title);font-size:var(--text-base);font-weight:800;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-track-date{font-size:var(--text-xs);color:var(--text-muted)}.song-unlock-toast{position:absolute;top:calc(env(safe-area-inset-top,0px) + var(--sp-md));left:50%;z-index:40;transform:translate(-50%);display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:var(--radius-pill);background:linear-gradient(180deg,#ffe07a,var(--sunny));border:3px solid #fff;color:#6b4a00;font-family:var(--font-title);font-weight:800;font-size:var(--text-sm);box-shadow:var(--shadow-chunk-sm),var(--shadow-md);animation:bs-pop-in .5s var(--ease-spring) both;white-space:nowrap}.song-unlock-toast-glyph{font-size:20px;line-height:1}.busy-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.busy-glyph{font-size:68px;animation:bs-spin 1.6s linear infinite}.screen--play{padding:0;background:var(--page-gradient-play)}.slider{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.slider::-webkit-scrollbar{display:none}.slider.is-dragging{scroll-snap-type:none;cursor:grabbing}.slide{position:relative;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;overflow:hidden;display:flex;justify-content:center}.slide-backdrop{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:0;background-size:cover;background-position:center;filter:blur(32px);transform:scale(1.15)}.slide-image{position:relative;z-index:1;width:auto;height:auto;max-width:100%;max-height:70%;object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.slide--fresh .slide-image{animation:bs-slide-in .6s var(--ease-out) both}@keyframes bs-slide-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.slider--dancing .slide-image{animation:bs-dance 1.9s ease-in-out infinite}@keyframes bs-dance{0%,to{transform:scale(1) rotate(-1.4deg) translateY(0)}25%{transform:scale(1.04) rotate(1.2deg) translateY(-1.2%)}50%{transform:scale(1) rotate(1.4deg) translateY(0)}75%{transform:scale(1.04) rotate(-1.2deg) translateY(-1.2%)}}.slider-arrow{position:absolute;top:50%;z-index:11;width:52px;height:52px;margin-top:-26px;border-radius:50%;font-size:34px;line-height:1;padding-bottom:4px;color:#fff;background:#1410286b;border:2px solid rgba(255,255,255,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:var(--shadow-sm);animation:bs-arrow-nudge 2.4s ease-in-out infinite}.slider-arrow--prev{left:calc(var(--safe-left) + 8px)}.slider-arrow--next{right:calc(var(--safe-right) + 8px);animation-direction:reverse}@keyframes bs-arrow-nudge{0%,to{transform:translate(0)}50%{transform:translate(-5px)}}.slide--placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface2)}.placeholder-blob{position:absolute;border-radius:50%;opacity:.55;animation:bs-drift 9s ease-in-out infinite}.placeholder-blob--1{width:190px;height:190px;background:radial-gradient(circle at 40% 40%,var(--sunny),transparent 70%)}.placeholder-blob--2{width:220px;height:220px;background:radial-gradient(circle at 60% 50%,var(--sky),transparent 70%);animation-delay:-4s}.play-scrim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--scrim)}.play-header{position:absolute;top:0;left:0;right:0;z-index:12;display:flex;align-items:center;gap:var(--sp-sm);padding:calc(var(--safe-top) + 10px) calc(var(--safe-right) + 14px) 10px calc(var(--safe-left) + 14px)}.play-header-spacer{flex:1}.song-button{width:60px;height:60px;border-radius:50%;font-size:27px;background:linear-gradient(180deg,#c79cff,var(--grape));border:3px solid #fff;color:#fff;box-shadow:0 5px #7a34d4,var(--shadow-md)}.song-button:active{transform:translateY(4px);box-shadow:0 1px #7a34d4}.song-live{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;border-radius:var(--radius-pill);background:var(--panel-bg);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-sm)}.song-stop{width:40px;height:40px;border-radius:50%;font-size:17px;background:var(--surface2);border:2px solid var(--panel-inset-border)}.song-panel{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;max-width:520px;padding:14px 16px 16px;border-radius:var(--radius-lg);background:var(--panel-bg);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-chunk-sm),var(--shadow-lg);animation:bs-pop-in .45s var(--ease-spring) both}.song-panel--compact{padding:10px 14px 12px;gap:6px}.song-panel--compact .song-play-button{width:60px;height:60px;font-size:27px;border-width:4px}.song-panel--compact .song-transport-button{width:46px;height:46px;font-size:21px}.song-panel-head{display:flex;align-items:center;justify-content:center;gap:12px}.song-panel-title{font-family:var(--font-title);font-weight:800;font-size:var(--text-lg);color:var(--text)}@media (max-height: 620px){.song-panel-head{display:none}}.song-seek-row{display:flex;align-items:center;gap:10px}.song-time{min-width:34px;font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--text-muted)}.song-seek{flex:1;height:22px;margin:0;padding:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.song-seek::-webkit-slider-runnable-track{height:12px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--grape) 0%,var(--bubblegum) var(--song-progress, 0%),var(--surface2) var(--song-progress, 0%));border:2px solid var(--panel-inset-border)}.song-seek::-moz-range-track{height:12px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--grape) 0%,var(--bubblegum) var(--song-progress, 0%),var(--surface2) var(--song-progress, 0%));border:2px solid var(--panel-inset-border)}.song-seek::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;margin-top:-7px;border-radius:50%;background:#fff;border:3px solid var(--grape);box-shadow:var(--shadow-sm)}.song-seek::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--grape);box-shadow:var(--shadow-sm)}.song-seek:disabled{opacity:.6;cursor:default}.song-transport{display:flex;align-items:center;justify-content:center;gap:var(--sp-md)}.song-play-button{width:88px;height:88px;border-radius:50%;font-size:40px;line-height:1;background:linear-gradient(180deg,#c79cff,var(--grape));border:5px solid #fff;color:#fff;box-shadow:0 7px #7a34d4,var(--shadow-lg)}.song-play-button:active{transform:translateY(4px);box-shadow:0 2px #7a34d4}.song-transport-button{width:56px;height:56px;border-radius:50%;font-size:25px;background:var(--surface2);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-sm)}.song-mode-row{display:flex;align-items:center;gap:var(--sp-sm);padding:8px;border-radius:var(--radius-lg);background:var(--panel-inset);border:2px solid var(--panel-inset-border)}.song-mode-option{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;min-height:44px;border-radius:var(--radius);border:2px solid transparent;font-family:var(--font-title);font-size:var(--text-sm);font-weight:800;color:var(--text-muted);transition:all var(--duration-fast) ease}.song-mode-option.is-on{background:var(--surface);border-color:var(--accent);color:var(--text);box-shadow:var(--shadow-sm)}.song-mode-option:active{transform:scale(.98)}.song-mode-glyph{font-size:18px;line-height:1}.song-skip-button{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:var(--radius-pill);font-family:var(--font-title);font-weight:700;font-size:var(--text-xs);color:var(--text-muted);background:var(--surface2);border:2px solid var(--panel-inset-border)}.song-skip-label{line-height:1}.visualizer{display:flex;align-items:flex-end;gap:3px;height:26px}.visualizer-bar{width:5px;border-radius:3px;background:linear-gradient(180deg,var(--bubblegum),var(--grape));transform-origin:bottom}.controls{position:absolute;left:0;right:0;bottom:0;z-index:10;display:flex;flex-direction:column;align-items:center;gap:var(--sp-sm);padding:var(--sp-md) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 20px) calc(var(--safe-left) + 16px)}.option-row{display:flex;align-items:center;justify-content:center;gap:var(--sp-md);width:100%;max-width:520px;transition:opacity var(--duration-normal) ease,transform var(--duration-normal) var(--ease-spring)}.option-row--hidden{opacity:0;transform:translateY(26px) scale(.9);pointer-events:none}.option-button{position:relative;flex:1 1 0;max-width:124px;aspect-ratio:1;border-radius:50%;border:5px solid #fff;background:linear-gradient(180deg,var(--surface) 0%,var(--surface2) 100%);box-shadow:0 7px #c4762c80,var(--shadow-lg);display:flex;align-items:center;justify-content:center;transition:box-shadow var(--duration-fast) ease}.option-button:active:not(:disabled){box-shadow:0 2px #c4762c80,var(--shadow-sm)}.option-button:disabled,.option-button--waiting{opacity:.72}.option-button--waiting .option-emoji{filter:saturate(.7)}.option-button:nth-child(1){background:linear-gradient(180deg,#fff2c9,#ffe08a)}.option-button:nth-child(2){background:linear-gradient(180deg,#d6f4ff,#a9e6fb)}.option-button:nth-child(3){background:linear-gradient(180deg,#ffd9ea,#ffb3d4)}.option-emoji{font-size:clamp(44px,13vw,62px);line-height:1;pointer-events:none}.option-gate-ring{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:50%;border:5px solid var(--accent);opacity:.75;pointer-events:none}.narration{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .34em;width:100%;max-width:640px;max-height:30vh;overflow-y:auto;padding:12px 18px;border-radius:var(--radius-lg);background:var(--panel-bg);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-md);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--font-body);font-size:var(--text-lg);font-weight:700;line-height:1.5;text-align:center;color:var(--text);animation:bs-fade-in-up var(--duration-normal) var(--ease-out) both}.narration.narration--no-entrance{animation:none}.narration-word{transition:transform var(--duration-fast) var(--ease-spring),color var(--duration-fast) ease,opacity var(--duration-fast) ease;transform-origin:center bottom;will-change:transform}.narration-word.is-idle{opacity:1}.narration-word.is-said{opacity:.55}.narration-word.is-now{color:var(--accent);transform:scale(1.16);text-shadow:0 2px 0 rgba(255,255,255,.7)}html.bs-theme-dark .narration-word.is-now{text-shadow:0 2px 10px var(--accent-glow)}.narration-word.is-next{opacity:.4}html.bs-reduce-motion .narration-word,html.bs-reduce-motion .narration{animation:none!important;transition:color var(--duration-fast) ease,opacity var(--duration-fast) ease}html.bs-reduce-motion .narration-word.is-now{transform:none}@media (prefers-reduced-motion: reduce){.narration-word.is-now{transform:none}.narration,.narration-word{animation:none}}.waiting-label{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:var(--radius-pill);background:var(--panel-bg);border:3px solid var(--panel-inset-border);font-size:var(--text-sm);font-weight:700;color:var(--text-muted);box-shadow:var(--shadow-sm)}.listen-button{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:var(--radius-pill);border:3px solid #fff;background:linear-gradient(180deg,#8fe2ff,var(--sky));color:#06445c;font-family:var(--font-title);font-weight:800;font-size:var(--text-base);box-shadow:0 5px #1c96c4,var(--shadow-md);animation:bs-breathe 2s ease-in-out infinite}.listen-button:active{transform:translateY(4px);box-shadow:0 1px #1c96c4}.play-icon-button{width:52px;height:52px;flex-shrink:0;border-radius:50%;font-size:23px;line-height:1;background:var(--panel-bg);border:3px solid var(--panel-inset-border);box-shadow:var(--shadow-chunk-sm);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.play-icon-button:active{transform:translateY(3px);box-shadow:none}.play-icon-button--replay{width:68px;height:68px;font-size:30px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:var(--backdrop);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:bs-fade-in-up .22s ease both;padding:var(--sp-md)}.sheet{width:100%;max-width:460px;max-height:88%;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-sm);padding:var(--sp-lg);padding-bottom:calc(var(--safe-bottom) + var(--sp-lg));background:var(--modal-bg);border:4px solid var(--panel-inset-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:bs-scale-in .28s var(--ease-spring) both}.sheet-title{font-family:var(--font-title);font-size:var(--text-xl);font-weight:900;text-align:center;color:var(--text)}.sheet-body{font-size:var(--text-sm);color:var(--text-muted);text-align:center;line-height:1.5}.sheet-balance{text-align:center;font-size:24px;letter-spacing:2px}.sheet-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;min-height:60px;border-radius:var(--radius-lg);border:3px solid var(--panel-inset-border);background:var(--surface);font-family:var(--font-title);font-size:var(--text-base);font-weight:800;color:var(--text);box-shadow:var(--shadow-chunk-sm);transition:transform var(--duration-fast) var(--ease-spring)}.sheet-action:active:not(:disabled){transform:translateY(3px);box-shadow:none}.sheet-action:disabled{opacity:.5}.sheet-action--buy{background:linear-gradient(180deg,#ffe07a,var(--sunny));border-color:#fff;color:#6b4a00;box-shadow:0 5px #d9a300}.sheet-action--buy-ribboned{margin-top:12px}.sheet-value-ribbon{position:absolute;top:-12px;right:10px;padding:3px 10px;border-radius:999px;background:var(--success);color:#fff;font-family:var(--font-title);font-size:12px;font-weight:800;letter-spacing:.3px;white-space:nowrap;box-shadow:0 2px 6px #00000040}.sheet-action--best-value{border-color:var(--accent);box-shadow:0 5px #d9a300,0 0 0 3px var(--accent-glow)}.sheet-best-value-badge{position:absolute;top:-12px;left:10px;padding:3px 10px;border-radius:999px;background:var(--accent);color:#fff;font-family:var(--font-title);font-size:12px;font-weight:800;letter-spacing:.3px;white-space:nowrap;box-shadow:0 2px 6px #00000040}.sheet-action--danger{background:linear-gradient(180deg,#ff8ba1,var(--danger));border-color:#fff;color:#fff;box-shadow:0 5px #c22e4c}.sheet-close{align-self:center;padding:12px 24px;border-radius:var(--radius-pill);font-weight:800;color:var(--text-muted);background:var(--panel-inset);border:2px solid var(--panel-inset-border)}.sheet-link{align-self:center;color:var(--text-dim);font-size:var(--text-xs);text-decoration:underline;padding:6px}.sheet-error{text-align:center;color:var(--danger);font-size:var(--text-sm);font-weight:700}.mixer-row,.theme-row{display:flex;align-items:center;gap:var(--sp-sm);padding:10px;border-radius:var(--radius-lg);background:var(--panel-inset);border:2px solid var(--panel-inset-border)}.mixer-glyph,.theme-glyph{font-size:26px;width:34px;text-align:center;flex-shrink:0}.mixer-label{flex-shrink:0;min-width:64px;font-family:var(--font-title);font-size:var(--text-sm);font-weight:800;color:var(--text)}.mixer-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent);height:34px}.theme-option{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;min-height:56px;border-radius:var(--radius);border:2px solid transparent;font-family:var(--font-title);font-size:var(--text-base);font-weight:800;color:var(--text-muted);transition:all var(--duration-fast) ease}.theme-option.is-on{background:var(--surface);border-color:var(--accent);color:var(--text);box-shadow:var(--shadow-sm)}.theme-option:active{transform:scale(.98)}.bs-switch{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;min-height:64px;border-radius:var(--radius-lg);border:3px solid var(--panel-inset-border);background:var(--surface);font-family:var(--font-title);font-size:var(--text-base);font-weight:800;color:var(--text);text-align:left;box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease}.bs-switch.is-on{border-color:var(--accent);background:var(--panel-inset)}.bs-switch:active{transform:scale(.99)}.bs-switch-glyph{font-size:26px;width:32px;text-align:center;flex-shrink:0}.bs-switch-label{flex:1;min-width:0}.bs-switch-track{position:relative;flex-shrink:0;width:62px;height:34px;border-radius:var(--radius-pill);background:var(--surface2);border:2px solid var(--panel-inset-border);transition:background-color var(--duration-normal) ease}.bs-switch.is-on .bs-switch-track{background:linear-gradient(180deg,#7aefc0,var(--mint));border-color:var(--mint)}.bs-switch-knob{position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-spring)}.bs-switch.is-on .bs-switch-knob{transform:translate(28px)}html.bs-reduce-motion .bs-switch-knob{transition:none}.burst-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:55;pointer-events:none}.screen--admin{background:var(--surface2);gap:var(--sp-sm)}.admin-header{display:flex;align-items:center;gap:var(--sp-sm);flex-shrink:0}.admin-title{flex:1;font-family:var(--font-title);font-size:var(--text-lg);font-weight:900}.admin-tabs{display:flex;gap:6px;padding:5px;margin:var(--sp-sm) 0;background:var(--panel-inset);border:2px solid var(--panel-inset-border);border-radius:var(--radius-pill);flex-shrink:0}.admin-tab{flex:1;padding:10px 6px;border-radius:var(--radius-pill);font-family:var(--font-title);font-size:var(--text-sm);font-weight:800;color:var(--text-muted)}.admin-tab.is-active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.admin-body{display:flex;flex-direction:column;gap:var(--sp-sm)}.admin-card{display:flex;flex-direction:column;gap:10px;padding:var(--sp-md);background:var(--surface);border:3px solid var(--panel-inset-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.admin-card-head{display:flex;align-items:center;gap:12px}.admin-card-headtext{flex:1;min-width:0}.admin-card-title{font-family:var(--font-title);font-size:var(--text-base);font-weight:800}.admin-key{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-xs);color:var(--text-dim)}.admin-thumb{width:60px;height:60px;border-radius:var(--radius);background:var(--surface2) center/cover no-repeat;border:2px solid var(--panel-inset-border);flex-shrink:0}.admin-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:150px;font-size:var(--text-xs);font-weight:700;color:var(--text-muted)}.admin-field input,.admin-field select,.admin-field textarea{padding:10px 12px;border-radius:var(--radius);border:2px solid var(--input-border);background:var(--input-bg);font-size:16px;font-family:var(--font-body)}.admin-field textarea{min-height:76px;resize:vertical}.admin-field--narrow{flex:0 0 90px;min-width:0}.admin-generator{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:2px dashed var(--panel-inset-border)}.admin-emoji-picker{display:flex;align-items:center;gap:8px}input.admin-emoji-input{width:64px;text-align:center;font-size:26px;line-height:1;padding:8px}.admin-emoji-clear{font-size:var(--text-xs)}.admin-button{padding:10px 16px;min-height:44px;border-radius:var(--radius-pill);border:2px solid var(--panel-inset-border);background:var(--surface2);font-family:var(--font-title);font-size:var(--text-sm);font-weight:800;color:var(--text)}.admin-button:active:not(:disabled){transform:scale(.97)}.admin-button:disabled{opacity:.5}.admin-button--ghost{background:transparent;color:var(--text-muted)}.admin-button--on{background:#3ddc972e;border-color:var(--success);color:var(--success)}.admin-button--danger{background:transparent;border-color:var(--danger);color:var(--danger)}.admin-badge{padding:3px 10px;border-radius:var(--radius-pill);background:var(--chip-bg);border:2px solid var(--chip-border);font-size:var(--text-xs);font-weight:800;color:var(--text-muted)}.admin-badge--live{background:#3ddc9733;border-color:var(--success);color:var(--success)}.admin-hint,.admin-note{font-size:var(--text-xs);color:var(--text-dim);line-height:1.45}.admin-error{padding:10px 12px;border-radius:var(--radius);background:#ef4b6b24;color:var(--danger);font-size:var(--text-sm);font-weight:700}.admin-audio{width:100%;height:38px}@media (min-width: 640px){.screen:not(.screen--play){padding:calc(var(--safe-top) + 20px) calc(var(--safe-right) + 32px) calc(var(--safe-bottom) + 20px) calc(var(--safe-left) + 32px)}.home-header,.home-hero,.home-rule,.home-start-button,.worlds-header,.admin-header,.admin-tabs{width:100%;max-width:var(--content-max);margin-inline:auto}.home-start-button{max-width:560px}.bs-scroll>*{width:100%;max-width:var(--content-max);margin-inline:auto}.home-hero-mark{font-size:78px}.home-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-md);align-items:start}.home-slots-title,.home-slots-empty{grid-column:1 / -1}.world-track{padding-inline:16%;gap:var(--sp-md)}.world-card{flex-basis:68%}.overlay{align-items:center;padding:var(--sp-lg)}.sheet{max-width:520px;max-height:min(84%,720px)}.slide{display:flex;align-items:center;justify-content:center;padding:16px 16px 232px;background:var(--page-gradient-play)}.slide-image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border:6px solid var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);transform:none}.slide-backdrop,.play-scrim{display:none}.play-header,.controls{max-width:calc(var(--content-max) + 64px);margin-inline:auto}.option-button{max-width:136px}.option-row{gap:var(--sp-lg)}.admin-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--sp-md);align-items:start}.admin-body>.admin-note,.admin-body>.admin-error{grid-column:1 / -1}}@media (min-width: 1024px){.screen:not(.screen--play){padding:calc(var(--safe-top) + 28px) calc(var(--safe-right) + 40px) calc(var(--safe-bottom) + 24px) calc(var(--safe-left) + 40px)}.world-card:hover:not(:disabled),.slot-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-chunk),var(--shadow-lg)}.world-card,.slot-card{transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) ease}.home-title{font-size:var(--text-3xl)}.bs-orb--1{width:320px;height:320px}.bs-orb--2{width:380px;height:380px}.bs-orb--3{width:260px;height:260px}.option-button{max-width:148px}.slide{padding:24px 24px 256px}}@media (min-width: 1024px) and (max-height: 720px){.option-button{max-width:104px}.option-emoji{font-size:46px}}
