@font-face{font-family:AlimamaFangYuanTi;src:url(/assets/fonts/AlimamaFangYuanTiVF-Thin.woff2) format("woff2"),url(/assets/fonts/AlimamaFangYuanTiVF-Thin.woff) format("woff");font-weight:100 900;font-display:swap}:root{font-size:calc(100vw / 390 * 16);--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--header-height: calc(56px + var(--safe-area-inset-top));--content-padding-top: calc(var(--header-height) + 4px)}@media (min-width: 480px){:root{font-size:19.5px}}*{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:300}.font-weight-200{font-weight:200}.font-weight-300{font-weight:300}.font-weight-400{font-weight:400}.font-weight-600{font-weight:600}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:4px}.scrollbar-thin::-webkit-scrollbar-track{background:#0000001a}.scrollbar-thin::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:#ffffff80}body{margin:0;padding:0;box-sizing:border-box;background-color:#000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.finger-slide-slider{position:relative;width:100%;max-width:26.25rem;box-sizing:border-box;margin:0;padding:0;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.finger-slide-range{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:none;margin:0;padding:0;touch-action:none}.finger-slide-slider-disabled{opacity:.35;pointer-events:none}.finger-slide-touchpad{position:relative;width:100%;max-width:26.25rem;height:10rem;min-height:4.375rem;max-height:12.5rem;box-sizing:border-box;margin:0;padding:0;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:crosshair;overflow:hidden;filter:drop-shadow(0 .25rem .25rem color-mix(in srgb,var(--color-accent) 25%,transparent));background-color:color-mix(in srgb,var(--color-text-on-button) 40%,transparent);border:1px solid color-mix(in srgb,var(--color-text-on-button) 30%,transparent);border-radius:.75rem;-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);box-shadow:inset 0 .25rem .325rem color-mix(in srgb,var(--color-text-on-button) 41%,transparent)}.finger-slide-touchpad-close{position:absolute;top:0rem;left:0rem;z-index:25;width:2rem;height:2rem;padding:0;border-radius:9999px;font-size:1rem;border:none;background:transparent;color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.finger-slide-touchpad-close:hover{background:color-mix(in srgb,var(--color-card-bg-alt) 50%,transparent)}.finger-slide-touchpad-close:active{opacity:.75}.finger-slide-touchpad-close:focus,.finger-slide-touchpad-close:focus-visible{outline:none;box-shadow:none}.finger-slide-touchpad-disabled{opacity:.35;pointer-events:none}.finger-slide-touchpad-grid{position:absolute;top:0;right:0;bottom:0;left:0}.finger-slide-touchpad-indicator{position:absolute;width:1.5625rem;height:1.5625rem;border-radius:50%;background-color:color-mix(in srgb,var(--color-settings-button) 75%,transparent);transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 .625rem color-mix(in srgb,var(--color-settings-button) 80%,transparent)}.finger-slide-touchpad-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-label-secondary);pointer-events:none;font-weight:500;font-size:.75rem}.finger-slide-bar-container{position:relative;width:100%;height:2.4375rem;margin:0;background:color-mix(in srgb,var(--color-card-glass-bright) 36%,transparent);box-shadow:inset 0 .25rem .5rem color-mix(in srgb,var(--color-shadow-inner) 25%,transparent);border-radius:1.625rem;overflow:visible;display:flex;align-items:center;padding:0}.finger-slide-bar-bg{display:none}.finger-slide-bar-fill{position:absolute;left:.271875rem;top:.21875rem;height:2rem;background:color-mix(in srgb,var(--color-settings-button) 75%,transparent);box-shadow:0 0 .55625rem color-mix(in srgb,var(--color-shadow-drop) 55%,transparent),inset 0 .25rem .25rem color-mix(in srgb,var(--color-shadow-inner) 25%,transparent);border-radius:1.4375rem;transition:width .2s ease-out;z-index:15;pointer-events:none}.finger-slide-bar-units{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-between;padding:0 .271875rem;align-items:center;pointer-events:none;z-index:10}.finger-slide-unit-mark{width:.0625rem;height:.75rem;background:color-mix(in srgb,var(--color-card-glass-bright) 20%,transparent);border-radius:.03125rem;z-index:1}.finger-slide-unit-mark:first-child,.finger-slide-unit-mark:last-child{opacity:0}@keyframes float-random-1{0%,to{transform:translateZ(0) scale(1)}25%{transform:translate3d(1.5rem,-2rem,0) scale(1.05)}50%{transform:translate3d(-1rem,1.5rem,0) scale(.95)}75%{transform:translate3d(2rem,.5rem,0) scale(1.02)}}@keyframes float-random-2{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(-2rem,-1rem,0) scale(1.03)}66%{transform:translate3d(1.5rem,2rem,0) scale(.97)}}@keyframes float-random-3{0%,to{transform:translateZ(0) scale(1)}20%{transform:translate3d(2.5rem,1rem,0) scale(.98)}40%{transform:translate3d(-.5rem,-1.5rem,0) scale(1.04)}60%{transform:translate3d(1rem,2.5rem,0) scale(1)}80%{transform:translate3d(-1.5rem,.5rem,0) scale(1.02)}}@keyframes float-random-4{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-2.5rem,-2rem,0) scale(1.06)}}@keyframes float-random-5{0%,to{transform:translateZ(0) scale(1)}25%{transform:translate3d(1rem,2rem,0) scale(.96)}50%{transform:translate3d(-1.5rem,-.5rem,0) scale(1.03)}75%{transform:translate3d(.5rem,-1.5rem,0) scale(.99)}}@keyframes float-random-6{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(2rem,-1.5rem,0) scale(1.04)}66%{transform:translate3d(-1rem,1rem,0) scale(.98)}}@keyframes float-random-7{0%,to{transform:translateZ(0) scale(1)}20%{transform:translate3d(-1.5rem,1.5rem,0) scale(1.02)}50%{transform:translate3d(2rem,-.5rem,0) scale(.96)}80%{transform:translate3d(-.5rem,-2rem,0) scale(1.05)}}@keyframes float-random-8{0%,to{transform:translateZ(0) scale(1)}40%{transform:translate3d(1.5rem,1.5rem,0) scale(.97)}80%{transform:translate3d(-2rem,-1rem,0) scale(1.03)}}@keyframes float-random-9{0%,to{transform:translateZ(0) scale(1)}30%{transform:translate3d(-1rem,-2rem,0) scale(1.04)}60%{transform:translate3d(1.5rem,1rem,0) scale(.98)}}@keyframes float-random-10{0%,to{transform:translateZ(0) scale(1)}25%{transform:translate3d(.5rem,2.5rem,0) scale(1.02)}50%{transform:translate3d(-2rem,.5rem,0) scale(.97)}75%{transform:translate3d(1rem,-1.5rem,0) scale(1.05)}}.fluffy-ball-1{animation:float-random-1 4s ease-in-out infinite}.fluffy-ball-2{animation:float-random-2 5s ease-in-out infinite reverse}.fluffy-ball-3{animation:float-random-3 3.5s ease-in-out infinite}.fluffy-ball-4{animation:float-random-4 6s ease-in-out infinite reverse}.fluffy-ball-5{animation:float-random-5 4.5s ease-in-out infinite}.fluffy-ball-6{animation:float-random-6 3.8s ease-in-out infinite reverse}.fluffy-ball-7{animation:float-random-7 5.5s ease-in-out infinite}.fluffy-ball-8{animation:float-random-8 3s ease-in-out infinite reverse}.fluffy-ball-9{animation:float-random-9 5s ease-in-out infinite}.fluffy-ball-10{animation:float-random-10 6.5s ease-in-out infinite reverse}:root{--app-height: 100vh;--control-panel-height: 150px}.play-screen{position:relative;height:var(--app-height, 100vh);min-height:var(--app-height, 100vh);max-height:var(--app-height, 100vh);overflow:hidden;background-color:var(--color-primary-bg)}.play-screen:after{content:"";background-image:var(--bg-image);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;position:fixed;top:0;left:0;right:0;bottom:0;z-index:0}.play-screen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:color-mix(in srgb,var(--color-second-glow) 26%,transparent);box-shadow:inset 0 0 50px 20px var(--color-second-glow-alt);z-index:1}.play-screen-content{display:flex;flex-direction:column;height:100%;max-height:100%;width:100%;position:relative;z-index:2}.story-content{flex:1;overflow-y:auto;padding:20px;padding-bottom:calc(var(--control-panel-height, 100px) + 20px);-webkit-overflow-scrolling:touch}.story-inner{width:100%;max-width:420px;margin:0 auto;padding:0 10px;box-sizing:border-box}.story-content::-webkit-scrollbar{display:none}.story-content{-ms-overflow-style:none;scrollbar-width:none}.scene-title{display:flex;justify-content:center;margin:30px 0 20px;font-size:24px;font-weight:700;color:var(--color-highlight-pink);opacity:.9;letter-spacing:2px}.sentence-item{margin:24px 0;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative}.sentence-text{color:var(--color-input-text);font-size:18px;line-height:1.7;font-weight:500;margin:0;text-align:left}.sentence-current,.sentence-queued{background-color:color-mix(in srgb,var(--color-second-glow-third) 65%,transparent);padding:20px;border-radius:26px}.sentence-current .sentence-text,.sentence-queued .sentence-text{color:var(--color-card-glass-bright);font-size:20px;font-weight:600}.sentence-queued{animation:sentence-flash 1s ease-in-out infinite}@keyframes sentence-flash{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.sentence-loading{background-color:color-mix(in srgb,var(--color-text-on-cancel) 30%,transparent);padding:20px;border-radius:16px;opacity:.7}.sentence-loading .sentence-text{color:color-mix(in srgb,var(--color-card-glass) 60%,transparent)}.sentence-error{background-color:color-mix(in srgb,var(--color-danger) 30%,transparent);padding:20px;border-radius:16px;border:1px solid color-mix(in srgb,var(--color-danger) 50%,transparent)}.sentence-content{position:relative}.sentence-loading-indicator{margin-top:12px;display:flex;align-items:center;gap:12px}.loading-bar{flex:1;height:4px;background-color:color-mix(in srgb,var(--color-card-glass) 20%,transparent);border-radius:2px;overflow:hidden}.loading-progress{height:100%;background:linear-gradient(90deg,var(--color-highlight-pink),color-mix(in srgb,var(--color-highlight-pink) 70%,var(--color-card-glass)));border-radius:2px;transition:width .3s ease;animation:loading-shimmer 2s infinite}@keyframes loading-shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.loading-text{color:color-mix(in srgb,var(--color-card-glass) 80%,transparent);font-size:14px;white-space:nowrap;min-width:80px}.sentence-error-indicator{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.error-text{color:color-mix(in srgb,var(--color-danger) 40%,var(--color-card-glass));font-size:14px;flex:1}.retry-button{background:linear-gradient(135deg,var(--color-danger),var(--color-danger));color:#fff;border:none;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-button:hover{background:linear-gradient(135deg,var(--color-danger),var(--color-danger-text));transform:translateY(-1px)}.retry-button:active{transform:translateY(0)}.control-panel{position:fixed;bottom:0;left:0;right:0;z-index:3;padding:10px 10px max(20px,env(safe-area-inset-bottom,20px)) 10px;display:flex;justify-content:center}.control-panel-stack{width:100%;max-width:420px;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch}.play-top-exit{position:fixed;top:16px;top:calc(16px + env(safe-area-inset-top,0px));left:16px;left:calc(16px + env(safe-area-inset-left,0px));z-index:100;width:30px;height:30px;border-radius:9999px;border:none;background:transparent;filter:blur(0px);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease}.play-top-exit:hover{transform:translateY(-1px)}.play-top-exit:active{transform:translateY(0)}.play-top-settings{position:fixed;top:16px;top:calc(16px + env(safe-area-inset-top,0px));right:16px;right:calc(16px + env(safe-area-inset-right,0px));z-index:100;width:30px;height:30px;border-radius:9999px;border:none;background:transparent;filter:blur(0px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;box-shadow:none}.play-top-settings:hover{transform:translateY(-1px)}.play-top-settings:active{transform:translateY(0)}.play-header-spacer{height:calc(60px + env(safe-area-inset-top,0px));width:100%;flex-shrink:0}.play-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;background-color:var(--color-card-bg);overflow-y:auto}.play-settings-close{position:fixed;top:16px;top:calc(16px + env(safe-area-inset-top,0px));left:16px;left:calc(16px + env(safe-area-inset-left,0px));z-index:210;width:44px;height:44px;border-radius:9999px;border:none;background:transparent;color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease}.play-settings-close:hover{transform:translateY(-1px)}.play-settings-close:active{transform:translateY(0)}.main-controls{position:relative;display:flex;justify-content:space-between;align-items:center;width:100%;max-width:420px;box-sizing:border-box;height:70px;background-color:color-mix(in srgb,var(--color-primary-bg) 100%,transparent);border-radius:35px;border:none;padding:0 8px}.main-controls:not(.main-controls--hidden){justify-content:center;gap:12px}.main-controls--hidden{background-color:transparent;border-color:transparent}.control-button{width:auto;height:44px;border-radius:50%;background-color:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--color-text-darker);text-shadow:0 1px 2px rgba(0,0,0,.1);outline:none}.control-button:focus,.control-button:focus-visible{outline:none;box-shadow:none}.control-button-text{font-size:14px;font-weight:500;letter-spacing:1px}.control-button-pill{width:auto;min-width:auto;padding:0 4px;border-radius:9999px}.sentence-override-reset{position:absolute;top:10px;right:10px;z-index:5;width:32px;height:32px;padding:0;border-radius:9999px;border:1.5px solid color-mix(in srgb,var(--color-highlight-pink) 85%,transparent);background:color-mix(in srgb,var(--color-input-text) 35%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:color-mix(in srgb,var(--color-card-glass) 92%,transparent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-highlight-pink) 20%,transparent) inset,0 8px 20px color-mix(in srgb,var(--color-highlight-pink) 18%,transparent)}.sentence-override-reset:hover{background:color-mix(in srgb,var(--color-input-text) 50%,transparent);transform:translateY(-1px)}.sentence-override-reset:active{transform:translateY(0)}.sentence-mute-button{position:absolute;top:10px;left:10px;z-index:5;width:32px;height:32px;padding:0;border-radius:9999px;border:1.5px solid color-mix(in srgb,var(--color-text-on-cancel) 85%,transparent);background:color-mix(in srgb,var(--color-input-text) 35%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:color-mix(in srgb,var(--color-card-glass) 92%,transparent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text-on-cancel) 20%,transparent) inset,0 8px 20px color-mix(in srgb,var(--color-text-on-cancel) 18%,transparent)}.sentence-mute-button:hover{background:color-mix(in srgb,var(--color-input-text) 50%,transparent);transform:translateY(-1px)}.sentence-mute-button:active{transform:translateY(0)}.sentence-mute-button:disabled{opacity:.5;cursor:default}.sentence-recording-container{margin:24px 0;padding:6px;background:color-mix(in srgb,var(--color-card-glass-bright) 85%,transparent);border:1px solid color-mix(in srgb,var(--color-bg-glass-bright) 90%,transparent);border-radius:28px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 19px 24px color-mix(in srgb,var(--color-second-glow) 35%,transparent)}.sentence-recording-container .sentence-item{margin:0 0 12px}.sentence-vibration-window{margin:12px 0 8px;padding:8px 12px;background:color-mix(in srgb,var(--color-second-glow-third) 25%,transparent);border-radius:16px;border:1px solid color-mix(in srgb,var(--color-second-glow) 40%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;overflow:hidden}.sentence-recording-container .sentence-vibration-window{margin:0}.sentence-intensity-graph{position:relative;width:100%;height:80px;display:block}.sentence-intensity-graph canvas{width:100%;height:100%;display:block}.control-button-enabled{color:var(--color-text-darker);cursor:pointer;font-weight:500;outline:none}.control-button-enabled:focus,.control-button-enabled:focus-visible{outline:none;box-shadow:none}.control-button-enabled:hover{color:var(--color-text-darker);opacity:.85;transform:translateY(-1px)}.control-button-enabled:active{color:var(--color-text-darker);cursor:pointer;font-weight:500}.control-button-disabled{color:color-mix(in srgb,var(--color-highlight-text-bg) 100%,transparent);cursor:not-allowed;font-weight:400;outline:none}.control-button-disabled:focus,.control-button-disabled:focus-visible{outline:none;box-shadow:none}.control-button:hover:not(:disabled){color:var(--color-danger);opacity:.9}.control-button:disabled{opacity:.5;cursor:not-allowed}.play-button-wrapper{position:relative;width:72px;height:72px;padding:6px;border-radius:50%;box-sizing:border-box;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-button-group{display:flex;gap:4px;align-items:center;justify-content:space-evenly;flex:0 1 auto}.nav-button-group--hidden{visibility:hidden;pointer-events:none;opacity:0}.nav-button-group--single{justify-content:center}.play-speed-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:transparent}.play-speed-menu{position:fixed;left:50%;transform:translate(-50%);bottom:calc(max(20px,env(safe-area-inset-bottom,20px)) + 92px);width:min(260px,calc(100vw - 40px));padding:10px;border-radius:18px;background:color-mix(in srgb,var(--color-card-glass-bright) 92%,transparent);border:1px solid color-mix(in srgb,var(--color-card-glass) 30%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 35px #0000002e;display:flex;flex-direction:column;gap:8px}.play-speed-menu-item{height:40px;border-radius:9999px;border:none;background:color-mix(in srgb,var(--color-secondary-bg) 92%,transparent);color:var(--color-text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.play-speed-menu-item:hover{opacity:.9;transform:translateY(-1px)}.play-speed-menu-item:active{transform:translateY(0)}.play-speed-menu-item--active{background:color-mix(in srgb,var(--color-button-primary) 88%,transparent);color:var(--color-text-on-button)}.recording-exit-btn,.recording-delete-btn{white-space:nowrap;transition:opacity .15s ease,color .15s ease,transform .15s ease}.recording-exit-btn:hover,.recording-delete-btn:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.recording-exit-btn:active,.recording-delete-btn:active{transform:translateY(0)}.recording-mute-btn:hover{opacity:1!important}.recording-mute-btn:active{opacity:.7!important}.recording-mode-controls{position:relative;display:flex;align-items:center;justify-content:center;height:70px;width:100%}.recording-mode-loading{position:absolute;left:16px;top:50%;transform:translateY(-50%)}.recording-mode-controls .recording-arm-indicator{left:auto;right:70px}.play-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;padding:0;border-radius:9999px;background:color-mix(in srgb,var(--color-border) 90%,transparent);border:"none";box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-card-glass) 20%,transparent),0 12px 30px color-mix(in srgb,var(--color-shadow-drop) 25%,transparent)}.recording-arm-indicator{position:absolute;left:100%;margin-left:14px;top:50%;transform:translateY(-50%);flex-shrink:0;color:var(--color-danger);font-size:14px;font-weight:700;letter-spacing:.08em;line-height:1;white-space:nowrap;pointer-events:none}.recording-method-switch-btn{height:44px;padding:0 14px;border-radius:9999px;border:1px solid color-mix(in srgb,var(--color-card-glass-bright) 30%,transparent);background:color-mix(in srgb,var(--color-card-bg-alt) 35%,transparent);color:var(--color-text-darker);font-size:12px;font-weight:700;letter-spacing:.06em;font-family:var(--font-primary);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease,transform .15s ease}.recording-method-switch-btn:hover{opacity:.9;transform:translateY(-1px)}.recording-method-switch-btn:active{opacity:.75;transform:translateY(0)}.recording-method-switch-btn:focus,.recording-method-switch-btn:focus-visible{outline:none;box-shadow:none}.play-controls--solo{padding:0;background:transparent;border:none;box-shadow:none;min-width:64px;gap:0;position:relative;justify-content:center}.play-controls--solo .recording-method-switch-btn{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%)}.play-circle-button{width:60px;height:60px;border-radius:50%;border:5px solid color-mix(in srgb,var(--color-card-bg) 45%,transparent);background:var(--color-button-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 30px color-mix(in srgb,var(--color-shadow-drop) 35%,transparent);-webkit-tap-highlight-color:transparent;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.play-circle-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 34px color-mix(in srgb,var(--color-shadow-drop) 45%,transparent)}.play-circle-button:active{transform:translateY(0)}.play-circle-button:disabled{opacity:.6;cursor:not-allowed}.play-circle-button-recording-idle svg{animation:flash-play-icon 1s ease-in-out infinite}@keyframes flash-play-icon{0%,to{opacity:1}50%{opacity:.3}}.play-button-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--color-second-glow) 55%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--color-second-glow) 45%,transparent);opacity:0;transform:scale(.9);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.play-button-wrapper:hover:after,.play-button-wrapper:focus-within:after{opacity:1;transform:scale(1)}.play-button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--color-highlight-pink);box-shadow:0 6px 20px color-mix(in srgb,var(--color-second-glow) 50%,transparent);color:var(--color-card-glass);position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;outline:none;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;clip-path:circle(50% at 50% 50%);isolation:isolate;cursor:pointer}.play-button:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-highlight-pink) 70%,var(--color-card-glass));transform:scale(1.05);box-shadow:0 6px 24px color-mix(in srgb,var(--color-second-glow) 60%,transparent),0 0 0 3px color-mix(in srgb,var(--color-card-glass) 15%,transparent)}.play-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background-color:color-mix(in srgb,var(--color-card-glass) 20%,transparent);opacity:0;transition:opacity .15s ease;pointer-events:none}.play-button:not(:disabled):hover:before,.play-button:not(:disabled):focus-visible:before,.play-button:not(:disabled):active:before{opacity:1}.play-button:focus,.play-button:focus-visible,.play-button:active{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-card-glass) 30%,transparent),0 6px 22px color-mix(in srgb,var(--color-highlight-pink) 50%,transparent)}.play-button:disabled{opacity:.4;cursor:not-allowed}.audio-loading-indicator{display:none}@keyframes audioFlash{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(.8)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.finish-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:color-mix(in srgb,var(--color-input-text) 75%,transparent);display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.finish-modal-content{position:relative;width:240px;background-color:var(--color-primary-bg);border-radius:18px;padding:52px 20px 20px;box-shadow:0 12px 32px color-mix(in srgb,var(--color-input-text) 45%,transparent);border:1px solid color-mix(in srgb,var(--color-text-primary) 20%,transparent);display:flex;flex-direction:column;align-items:stretch;gap:12px}.finish-modal-heart{position:absolute;top:20px;left:0;right:0;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--color-highlight-pink)}.finish-modal-title{color:var(--color-text-primary);font-size:18px;font-weight:600;text-align:center;margin:0}.finish-options{display:flex;flex-direction:column;gap:12px;margin:4px 0 8px}.finish-option{width:100%;padding:14px 16px;background-color:var(--color-secondary-bg);border-radius:12px;border:1px solid color-mix(in srgb,var(--color-text-primary) 20%,transparent);cursor:pointer;transition:all .2s ease;text-align:left;color:var(--color-text-primary);box-shadow:0 4px 8px color-mix(in srgb,var(--color-text-primary) 12%,transparent)}.finish-option:hover{background-color:color-mix(in srgb,var(--color-danger) 20%,var(--color-card-glass));border-color:var(--color-card-glass)fffff;box-shadow:0 8px 18px color-mix(in srgb,var(--color-text-primary) 20%,transparent)}.finish-option-title{color:var(--color-text-primary);font-weight:600;margin-bottom:6px;font-size:15px}.finish-option-description{color:var(--color-text-primary);font-size:13px;opacity:.75;margin:0}.play-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-card-glass);z-index:10}.ble-panel-container{position:fixed;left:10px;bottom:90px;z-index:1000}.ble-panel{width:320px;padding:12px;background:color-mix(in srgb,var(--color-input-text) 70%,transparent);color:var(--color-card-glass);border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ble-panel-status{margin-bottom:8px;font-family:monospace}.ble-panel-controls{display:flex;gap:8px;margin-bottom:8px}.ble-panel-controls button{flex:1}.ble-panel-intensity{margin-bottom:8px}.ble-panel-range{width:100%}.ble-panel-modes{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.ble-panel-mode-button{padding:6px;background:var(--color-text-on-cancel);color:var(--color-card-glass);border-radius:6px;border:none;cursor:pointer;transition:background .2s ease}.ble-panel-mode-button:disabled{opacity:.4;cursor:not-allowed}.ble-panel-mode-button-active{background:var(--color-highlight-pink)}.ble-panel-footer{margin-top:8px;text-align:right}.sentence-status-indicator{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding:4px 8px;font-size:12px;color:var(--color-danger)}.sentence-status-muted,.sentence-status-recorded{display:inline-flex;align-items:center;font-size:12px;font-weight:500}.sentence-status-recorded{color:var(--color-highlight-pink)}.sentence-status-muted{color:var(--color-label-secondary)}.sentence-status-undo,.sentence-status-mute{display:inline-flex;align-items:center;padding:4px 10px;border:none;border-radius:12px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.sentence-status-undo{margin-left:auto;background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.sentence-status-undo:hover{background:color-mix(in srgb,var(--color-danger) 25%,transparent)}.sentence-status-mute{margin-left:auto;background:color-mix(in srgb,var(--color-label-secondary) 15%,transparent);color:var(--color-label-secondary)}.sentence-status-mute:hover{background:color-mix(in srgb,var(--color-label-secondary) 25%,transparent)}.sentence-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border:none;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.sentence-action-mute{background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.sentence-action-mute:hover{background:color-mix(in srgb,var(--color-danger) 25%,transparent)}.sentence-action-restore{background:color-mix(in srgb,var(--color-highlight-pink) 15%,transparent);color:var(--color-highlight-pink)}.sentence-action-restore:hover{background:color-mix(in srgb,var(--color-highlight-pink) 25%,transparent)}.sentence-action-delete{background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.sentence-action-delete:hover{background:color-mix(in srgb,var(--color-danger) 25%,transparent)}.play-dual-play.play-dual-disabled{opacity:.4;cursor:not-allowed}.recording-mode-action{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:16px;background:transparent;color:var(--color-danger);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s ease,opacity .2s ease;white-space:nowrap}.recording-mode-action svg{stroke:var(--color-danger);flex-shrink:0}.recording-mode-action:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 15%,transparent)}.recording-mode-action:disabled{opacity:.4;cursor:not-allowed}.play-recording-slider .finger-slide-bar-container{background:color-mix(in srgb,var(--color-card-bg) 50%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 50%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-danger) 5%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--color-danger) 5%,transparent)}.recording-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 0;width:100%}.recording-controls-modal{justify-content:center}.recording-controls-label{color:var(--color-text-primary);font-size:14px;font-weight:500;font-family:var(--font-primary);margin-right:8px}.recording-controls-btn{background:transparent;border:none;padding:6px 12px;font-size:14px;font-family:var(--font-primary);border-radius:6px;cursor:pointer;transition:opacity .15s ease,color .15s ease}.recording-controls-enabled{color:var(--color-text-darker);font-weight:600}.recording-controls-enabled:hover{opacity:.85}.recording-controls-enabled:active{opacity:.7}.recording-controls-disabled{color:color-mix(in srgb,var(--color-text-on-button) 40%,transparent);cursor:not-allowed;font-weight:400}.recording-btn{width:65px;height:65px;border-radius:50%;border:5px solid color-mix(in srgb,var(--color-text-on-button) 40%,transparent);background:var(--color-text-primary);color:var(--color-text-primary);font-family:var(--font-primary);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.2em;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.recording-btn-rec{border-color:color-mix(in srgb,var(--color-card-bg) 55%,transparent);font-size:.8rem;font-weight:600;line-height:1}.recording-btn-normal{border-color:color-mix(in srgb,var(--color-card-bg) 55%,transparent);color:var(--color-text-primary);background:color-mix(in srgb,var(--color-card-glass-bright) 55%,transparent);box-shadow:none}.recording-btn-active{border-color:var(--color-border);color:var(--color-text-on-button);background:color-mix(in srgb,var(--color-danger) 100%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--color-highlight-pink) 30%,transparent)}.recording-btn-disabled{opacity:.5;cursor:not-allowed}@keyframes flash-rec-bg{0%,to{background:color-mix(in srgb,var(--color-danger) 100%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--color-highlight-pink) 45%,transparent);opacity:1}50%{background:color-mix(in srgb,var(--color-danger) 20%,transparent);box-shadow:0 0 2px color-mix(in srgb,var(--color-highlight-pink) 12%,transparent);opacity:.05}}.recording-btn-active{animation:flash-rec-bg .9s ease-in-out infinite}.moan-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;pointer-events:none;background-color:color-mix(in srgb,var(--color-input-text) 50%,transparent);animation:fadeIn .5s ease-in;display:flex;align-items:center;justify-content:center;overflow:hidden}.moan-overlay-image{animation:slowMove 20s ease-in-out infinite alternate;display:block}@keyframes slowMove{0%{transform:scale(1.05) translate(0)}25%{transform:scale(1.08) translate(-2%,2%)}50%{transform:scale(1.1) translate(2%,-2%)}75%{transform:scale(1.08) translate(-1%,1%)}to{transform:scale(1.05) translate(1%,-1%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes tour-guide-spotlight-flash{0%,to{box-shadow:0 0 0 9999px #000000b8}50%{box-shadow:0 0 0 9999px #000000d1}}@keyframes tour-guide-pointer-jump{0%,to{transform:translate(-50%,-50%) scale(2)}50%{transform:translate(-50%,calc(-50% - 12px)) scale(2.03)}}@keyframes tour-guide-pointer-slide-horizontal{0%,to{transform:translate(-50%,-50%) scale(2)}50%{transform:translate(calc(-50% + 60px),-50%) scale(2)}}.tour-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b8;z-index:20000;overflow:hidden}.tour-guide-backdrop:has(.tour-guide-spotlight-mask){background-color:transparent}.tour-guide-spotlight-mask{position:absolute;border-radius:18px;box-shadow:0 0 0 9999px #0003;background:transparent;pointer-events:none;animation:tour-guide-spotlight-flash 2s ease-in-out infinite;will-change:box-shadow}.tour-guide-pointer{position:absolute;width:2.75rem;height:auto;margin-top:3.125rem;max-height:4.5rem;transform:translate(-50%,-50%);animation:tour-guide-pointer-jump 1.4s ease-in-out infinite;pointer-events:none;z-index:20006;background:transparent;border:none;display:block;filter:drop-shadow(0 1rem 1.875rem rgba(0,0,0,.35))}.tour-guide-pointer--horizontal{animation:tour-guide-pointer-slide-horizontal 1.4s ease-in-out infinite}.tour-guide-overlay{position:absolute;overflow:hidden;border-radius:28px;background:transparent;pointer-events:none;z-index:20005}.tour-guide-overlay img{width:100%;height:100%;object-fit:contain;display:block}.tour-guide-bubble{position:absolute;max-width:20rem;width:90%;margin-top:3.125rem;background:var(--color-card-glass-bright);border-radius:1.5rem;border:none;padding:1rem 1.25rem;box-shadow:0 .625rem 1.75rem #0000002e,0 .25rem .875rem #00000040;z-index:20010}.tour-guide-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.tour-guide-nav-buttons{display:inline-flex;gap:.5rem;align-items:center}.tour-guide-close-inline{width:2rem;height:2rem;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-second-glow-third) 50%,transparent);background:color-mix(in srgb,var(--color-second-glow) 10%,transparent);color:var(--color-second-glow-alt, #333);font-size:1.25rem;line-height:1;cursor:pointer;transition:background .2s ease}.tour-guide-close-inline:hover{background:color-mix(in srgb,var(--color-second-glow-third) 20%,transparent)}.tour-guide-button{padding:.5rem 1.125rem;border-radius:1rem;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:opacity .2s ease,transform .2s ease}.tour-guide-button-primary{background-color:var(--color-second-glow);color:var(--color-text-on-button, #fff)}.tour-guide-button-secondary{background:transparent;border:1px solid color-mix(in srgb,var(--color-second-glow-third) 60%,transparent);color:var(--color-second-glow-third, #000);opacity:.75;transition:opacity .2s ease,border-color .2s ease}.tour-guide-button-secondary:hover:not(:disabled){opacity:1;border-color:color-mix(in srgb,var(--color-second-glow-third) 90%,transparent)}.tour-guide-button-secondary:disabled{opacity:.35;cursor:not-allowed;border-color:color-mix(in srgb,var(--color-second-glow-third) 40%,transparent)}.tour-guide-next-button:hover{transform:translateY(-1px);opacity:.92}.tour-guide-numbered-content{margin:0;color:var(--color-second-glow-alt, #222);font-size:.875rem;line-height:1.6}@media (max-height: 600px){.tour-guide-bubble{padding:.75rem 1rem}.tour-guide-numbered-content{font-size:.8125rem}}.waiting-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;background-color:var(--color-primary-bg);color:var(--color-text-primary);position:relative;overflow:hidden}.waiting-spinner{width:60px;height:60px;border:4px solid color-mix(in srgb,var(--color-highlight-pink) 20%,transparent);border-top:4px solid var(--color-highlight-pink);border-radius:50%;animation:waiting-spin 1s cubic-bezier(.5,0,.5,1) infinite;margin-bottom:24px}@keyframes waiting-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.radar-container{position:relative;width:120px;height:120px;display:flex;justify-content:center;align-items:center;margin-bottom:24px}.radar-icon{font-size:40px;color:var(--color-highlight-pink);z-index:2}.radar-ripple{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-radius:50%;border:2px solid var(--color-highlight-pink);opacity:0;animation:radar-expand 2s linear infinite}.radar-ripple:nth-child(1){animation-delay:0s}.radar-ripple:nth-child(2){animation-delay:.66s}.radar-ripple:nth-child(3){animation-delay:1.33s}@keyframes radar-expand{0%{width:0;height:0;opacity:.8;border-width:4px}to{width:100%;height:100%;opacity:0;border-width:0px}}.waiting-text-primary{font-size:18px;color:var(--color-highlight-pink);letter-spacing:.05em;margin-bottom:8px;text-align:center;font-weight:500}.waiting-text-secondary{font-size:14px;color:var(--color-text-secondary, #888);margin-bottom:32px;text-align:center}.waiting-background{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;animation:pan-background 10s ease-in-out infinite alternate}@keyframes pan-background{0%{transform:scale(1.2) translate(-5%)}to{transform:scale(1.2) translate(5%)}}.skip-button{margin-top:24px;padding:8px 24px;background:#73737373;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#fff;font-size:14px;cursor:pointer;z-index:10;transition:all .2s ease}.skip-button:active{background:#777777bf;transform:scale(.98)}.waiting-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:0}
