:root{--app-height: 100vh}@supports (height: 100dvh){:root{--app-height: 100dvh}}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff59}body{font-family:"Noto Serif SC",-apple-system,BlinkMacSystemFont,serif;background:#0a0a0f;color:#e5e5e5;overflow:hidden;height:100vh;height:100dvh;overscroll-behavior:none;touch-action:manipulation}html{overflow:hidden;height:100vh;height:100dvh;background:#0a0a0f;overscroll-behavior:none;touch-action:manipulation}.fp-wrapper{position:fixed;inset:0;will-change:transform;transition:transform .8s cubic-bezier(.25,.46,.45,.94);background:#0a0a0f}.fp-wrapper.no-transition{transition:none}.fp-section{position:relative;width:100%;height:calc(var(--app-height) + 1px);margin-bottom:-1px;overflow:hidden;overflow:clip;flex-shrink:0;contain:paint;background:#0a0a0f}.top-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;padding:env(safe-area-inset-top,0px) 24px 0;display:flex;align-items:center;justify-content:space-between;transition:background .35s ease,opacity .4s ease;background:transparent}.top-nav.solid{background:linear-gradient(to bottom,rgba(10,10,15,.9) 0%,rgba(10,10,15,.5) 60%,transparent 100%)}.top-nav .nav-brand{display:flex;align-items:center;gap:4px}.top-nav .nav-logo{width:32px;height:32px}.top-nav .nav-name{font-size:22px;font-weight:600;font-family:MiSans,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;letter-spacing:.04em}.hero-player{position:relative;width:100%;height:var(--app-height);overflow:hidden;background:#0a0a0f;flex-shrink:0;cursor:pointer}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:opacity 1.5s ease,transform 2.5s cubic-bezier(.25,.46,.45,.94),filter 2s ease;opacity:0;transform:scale(1.08)}.hero-bg.active{opacity:1}.hero-scroll-hint{position:absolute;bottom:3%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;font-size:0;animation:heroFloat 2s ease-in-out infinite;z-index:5}.hero-scroll-hint:after{content:"";display:block;width:11px;height:11px;border-right:2px solid rgba(255,255,255,.35);border-bottom:2px solid rgba(255,255,255,.35);transform:rotate(45deg)}@keyframes heroFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(4px)}}.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,transparent 0%,transparent 35%,rgba(10,10,15,.2) 55%,rgba(10,10,15,.5) 70%,rgba(10,10,15,.8) 90%);pointer-events:none;z-index:3}.hero-bottom-fade{position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,#0a0a0f 0%,rgba(10,10,15,.95) 8%,rgba(10,10,15,.85) 18%,rgba(10,10,15,.65) 30%,rgba(10,10,15,.4) 45%,rgba(10,10,15,.2) 60%,rgba(10,10,15,.08) 75%,transparent 100%);pointer-events:none;z-index:3}.hero-video-overlay{position:absolute;inset:0;z-index:5;display:none;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.hero-video-overlay.visible{display:flex}.hero-video-overlay.fade-out .main-title span{opacity:0!important;transition:opacity .4s ease!important}.hero-video-overlay .main-title{font-size:clamp(28px,8vw,60px);font-weight:600;font-family:MiSans,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;letter-spacing:.12em;line-height:1.2}.main-subtitle{font-size:clamp(13px,2.5vw,17px);color:#ffffff73;letter-spacing:.08em;margin-bottom:12px;font-weight:300}.hero-video-overlay.fade-out .main-subtitle{opacity:0!important;transition:opacity .4s ease!important}.home-page{min-height:var(--app-height);padding:0;transition:opacity .5s ease}.home-page.hidden{visibility:hidden;pointer-events:none;opacity:0}.site-footer{position:absolute;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;align-items:center;gap:24px;padding:24px 40px calc(24px + env(safe-area-inset-bottom,0px)) 40px;font-family:"Noto Serif SC",serif;font-size:13px;font-weight:400;color:#ffffff40;line-height:1.1}.site-footer a{color:#ffffff40;text-decoration:none}.site-footer a:hover{color:#fff6}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:40px;height:40px;border:2px solid rgba(255,255,255,.1);border-top-color:#ffffff80;border-radius:50%;animation:spin .8s linear infinite}.mobile-br{display:none}@media(max-width:768px){.mobile-br{display:block}.hero-video-overlay{transform:translateY(0)}.hero-video-overlay .main-title{font-size:clamp(34px,9.6vw,72px);letter-spacing:normal;line-height:1.3}.site-footer{flex-direction:column;align-items:center;gap:8px;padding:20px 24px;text-align:center}.character-slot img,.character-slot.item-slot img{filter:none!important}.character-slot.dimmed{filter:none!important;opacity:.5}.character-slot.dimmed-soft{filter:none!important;opacity:.7}.character-slot.item-slot,.character-slot.chibi-slot{left:50%!important;transform:translate(-50%,-50%)!important}.character-slot.item-slot.visible,.character-slot.chibi-slot.visible{transform:translate(-50%,-50%)!important}}.player-page{position:fixed;inset:0;z-index:200;background:#000;opacity:0;visibility:hidden;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;transition:opacity .45s ease,visibility .45s ease}.player-page.active{opacity:1;visibility:visible}.cinematic-bar{position:fixed;left:0;width:100%;background:#000;z-index:50;transition:height .8s ease}.bar-top{top:0;height:0}.bar-bottom{bottom:0;height:0}.camera-layer{position:fixed;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;z-index:1;transition:opacity 1.5s ease,transform 2.5s cubic-bezier(.25,.46,.45,.94),filter 2s ease;transform:scale(1.05)}.cam-active{opacity:1}.cam-default{transform:scale(1.1)}.zoom-in-slow{transform:scale(1.15)}.zoom-in{transform:scale(1.25)}.zoom-out{transform:scale(1)}.look-up{transform:scale(1.2) translateY(18%)}.zoom-in-extreme{transform:scale(1.4) translateY(12%)}.pan-right{transform:scale(1.1) translate(-2%)}.pan-left{transform:scale(1.1) translate(2%)}.camera-layer video,.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.vignette{position:fixed;inset:0;pointer-events:none;z-index:10;transition:opacity 2s ease;background:radial-gradient(ellipse 80% 60% at 50% 50%,transparent 0%,transparent 35%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.8) 90%)}.dark-vignette{opacity:1}.player-bottom-fade{position:fixed;bottom:0;left:0;right:0;height:25%;background:linear-gradient(to top,#000 0%,rgba(0,0,0,.5) 50%,transparent 100%);pointer-events:none;z-index:10}.effects-canvas{position:fixed;inset:0;z-index:12;pointer-events:none;display:none;width:100%;height:100%}.noise-overlay{position:fixed;inset:0;z-index:11;pointer-events:none;opacity:.04;background-image:url('data:image/svg+xml;utf8,%3Csvg viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="n"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="4" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23n)"/%3E%3C/svg%3E')}.scene-content{position:fixed;z-index:20;bottom:calc(14vh + env(safe-area-inset-bottom,0px));bottom:calc(14dvh + env(safe-area-inset-bottom,0px));left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 8%;pointer-events:none}.scene-content.centered{top:0;bottom:0;justify-content:center;transition:all .6s ease}.characters-layer{pointer-events:none;overflow:hidden;position:fixed;z-index:5;bottom:0;left:0;right:0;height:var(--app-height)}.character-slot{position:absolute;top:15vh;top:15dvh;transition:opacity .25s ease,transform .25s ease,filter .6s ease,left .8s cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateY(20px)}.character-slot.visible{opacity:1;transform:translateY(0)}.character-slot.exit{transition:opacity .25s ease;opacity:0}.character-slot.dimmed{filter:brightness(.5)}.character-slot.dimmed-soft{filter:brightness(.7)}.character-slot img{height:160vh;height:160dvh;max-height:1800px;width:auto;object-fit:contain;animation:charBreath 5s ease-in-out infinite;transform-origin:center bottom;filter:drop-shadow(0 8px 30px rgba(0,0,0,.6)) contrast(1.05) url(#edgeFeather)}.character-slot.chibi-slot{top:50%;transform:translate(-50%,-50%)!important}.character-slot.chibi-slot.visible{transform:translate(-50%,-50%)!important}.character-slot.chibi-slot img{height:80vh;height:80dvh;max-height:800px}.character-slot.item-slot{left:50%;top:50%;transform:translate(-50%,-50%)!important;width:min(70vh,85vw);height:min(70vh,85vw);width:min(70dvh,85vw);height:min(70dvh,85vw);display:flex;justify-content:center;align-items:center;overflow:hidden}.character-slot.item-slot.visible{transform:translate(-50%,-50%)!important}.character-slot.item-slot img{width:auto;height:100%;max-width:none;object-fit:cover;object-position:center;animation:itemFloat 4s ease-in-out infinite;filter:contrast(1.05);-webkit-mask-image:radial-gradient(circle,#000 40%,transparent 70%);mask-image:radial-gradient(circle,#000 40%,transparent 70%)}.character-slot.char-foreground{z-index:2;transition:opacity .8s ease,transform .6s cubic-bezier(.25,.46,.45,.94),filter .6s ease}.character-slot.char-foreground img{scale:1.15}.character-slot.char-background{z-index:1;filter:brightness(.55);transition:opacity .8s ease,transform .6s cubic-bezier(.25,.46,.45,.94),filter .6s ease}.character-slot.char-background img{scale:.85}.character-slot.char-oppressor{z-index:2;top:-15vh;top:-15dvh;transition:opacity .8s ease,transform .6s cubic-bezier(.25,.46,.45,.94),filter .6s ease,top .6s ease}.character-slot.char-oppressor img{scale:1.15}.character-slot.char-oppressed{z-index:1;top:45vh;top:45dvh;filter:brightness(.55);transition:opacity .8s ease,transform .6s cubic-bezier(.25,.46,.45,.94),filter .6s ease,top .6s ease}.character-slot.char-oppressed img{scale:.85}.character-slot.char-zoom-in img{animation:charZoomIn 2s ease forwards}.character-slot.char-step-forward img{animation:charStepFwd .8s ease forwards}@keyframes charZoomIn{0%{translate:0 0}to{translate:0 -2%}}@keyframes charStepFwd{0%{translate:0 0}to{translate:0 -1%}}@keyframes itemFloat{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.02) translateY(-5px)}}@keyframes charBreath{0%,to{translate:0 0;transform:scale(1)}50%{translate:0 -3px;transform:scale(1.01)}}.scene-content>*{pointer-events:auto}.role-name{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#ffffff80;margin-bottom:12px;opacity:0;transition:opacity .6s ease}.role-name.visible{opacity:1}.role-name.narrator{font-style:italic;color:#ffffff59}.scene-text{font-size:18px;line-height:2;text-align:center;color:#ffffffd9;font-weight:300;letter-spacing:.05em;max-width:680px;text-shadow:0 2px 20px rgba(0,0,0,.8);white-space:pre-line;opacity:0;transition:opacity .5s ease}.scene-text.visible{opacity:1}.scene-text .cursor{display:inline-block;width:2px;height:1em;background:#fff9;margin-left:2px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{50%{opacity:0}}.speed-toggle{position:fixed;z-index:21;bottom:calc(6vh + env(safe-area-inset-bottom,0px));bottom:calc(6dvh + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:6px 14px;border:none;border-radius:20px;background:#ffffff1a;color:#ffffff73;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .25s ease,color .25s ease,transform .15s ease,opacity .4s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap;opacity:0;pointer-events:none}.speed-toggle.visible{opacity:1;pointer-events:auto}.speed-toggle svg{opacity:.6}.speed-toggle:hover{background:#ffffff2e;color:#ffffffb3}.speed-toggle:active{transform:translate(-50%) scale(.95)}.speed-toggle.boosted{background:#ffffff38;color:#fffc}.speed-toggle.boosted svg{opacity:.9}.action-btn{margin-top:32px;padding:12px 40px;border:1px solid rgba(255,255,255,.15);border-radius:30px;background:#ffffff08;color:#fff9;font-size:13px;letter-spacing:.2em;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transform:translateY(10px);animation:fadeInUp .8s ease .5s forwards}.action-btn:hover{background:#ffffff14;color:#ffffffe6;border-color:#ffffff4d}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.hold-ring{margin-top:32px;display:flex;flex-direction:column;align-items:center;opacity:0;animation:fadeInUp .8s ease .5s forwards}.hold-ring svg{width:80px;height:80px;cursor:pointer}.hold-ring .hint{font-size:11px;color:#ffffff59;letter-spacing:.2em;margin-top:12px}.heartbeat-btn{margin-top:32px;width:56px;height:56px;border-radius:50%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease;opacity:0;animation:fadeInUp .8s ease .5s forwards}.heartbeat-btn:active{transform:scale(.85)}.heartbeat-btn .dot{width:6px;height:6px;background:#ffffff80;border-radius:50%}.heartbeat-hint{font-size:11px;color:#ffffff4d;letter-spacing:.2em;margin-top:12px;opacity:0;animation:fadeInUp .8s ease .6s forwards}.close-btn{position:fixed;top:max(20px,env(safe-area-inset-top,20px));right:20px;z-index:60;width:44px;height:44px;border-radius:50%;background:#0006;border:1px solid rgba(255,255,255,.1);color:#fff9;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;opacity:0;animation:fadeInUp .5s ease 1s forwards}.close-btn:hover{background:#ffffff1a;color:#fff}.player-title{position:fixed;top:24px;left:0;right:0;z-index:58;font-size:18px;font-weight:700;color:#fffc;letter-spacing:.05em;text-shadow:0 2px 16px rgba(0,0,0,.8);pointer-events:none;text-align:center;padding:0 64px;opacity:0;animation:fadeInUp .5s ease 1s forwards}.loading-overlay{position:fixed;inset:0;z-index:300;background:#0a0a0f;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .8s ease}.loading-overlay.fade-out{opacity:0;pointer-events:none}.loading-overlay .spinner{margin-bottom:20px}.end-screen{position:fixed;inset:0;z-index:30;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity 1s ease;pointer-events:none}.end-screen.visible{opacity:1;pointer-events:auto}.end-screen h2{font-size:24px;font-weight:300;letter-spacing:.2em;margin-bottom:12px;color:#fffc}.end-screen p{font-size:14px;color:#ffffff59;margin-bottom:40px}.end-screen button{padding:12px 36px;border:1px solid rgba(255,255,255,.2);border-radius:30px;background:transparent;color:#ffffffb3;font-size:14px;letter-spacing:.15em;cursor:pointer;transition:all .3s}.end-screen button:hover{background:#ffffff14;color:#fff}.role-selection-overlay{position:fixed;inset:0;z-index:56;background:#0009;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .6s ease}.role-selection-overlay.visible{opacity:1;pointer-events:auto}.role-selection-subtitle{position:absolute;top:56px;left:0;right:0;text-align:center;font-size:14px;color:#ffffff73;letter-spacing:.12em;font-weight:300}.role-cards-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100vw;padding:80px 0 56px}.role-cards-scroll::-webkit-scrollbar{display:none}.role-cards{display:inline-flex;gap:24px;flex-wrap:nowrap;padding:0 40px}.role-card{width:240px;border-radius:20px;overflow:visible;cursor:pointer;transition:all .3s ease;opacity:0;transform:translateY(20px);animation:fadeInUp .5s ease forwards;flex-shrink:0;position:relative;background:#ffffff1a;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.15)}.role-card:hover{transform:translateY(-4px);background:#ffffff29;border-color:#ffffff4d;box-shadow:0 12px 40px #0006}.role-card-img-wrap{position:relative;z-index:1;margin-top:-60px;pointer-events:none}.role-card-img{width:100%;height:360px;background-size:cover;background-position:center top;opacity:0;transition:opacity .4s ease}.role-card-img.loaded{opacity:1}.role-card-placeholder{display:flex;align-items:center;justify-content:center;background:#ffffff0a;color:#ffffff26;font-size:48px;height:360px}.role-card-info{position:relative;z-index:2;padding:16px 18px 22px;text-align:center}.role-card-name{font-size:20px;color:#ffffffeb;font-weight:500;margin-bottom:10px}.role-card-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.role-tag{font-size:11px;padding:3px 10px;border-radius:10px;background:#ffffff1a;color:#ffffff80}.role-card-add{cursor:pointer;display:flex;align-items:center;justify-content:center;border-style:dashed;border-color:#ffffff1f;background:#ffffff0a}.role-card-add:hover{border-color:#ffffff40;background:#ffffff14}.role-card-add-inner{display:flex;align-items:center;justify-content:center;height:360px;margin-top:-60px}.role-god-btn{margin-top:40px;padding:14px 48px;border:1px solid rgba(255,255,255,.15);border-radius:30px;background:#ffffff1a;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#ffffffa6;font-size:14px;letter-spacing:.15em;cursor:pointer;transition:all .3s ease;opacity:0;animation:fadeInUp .5s ease .3s forwards}.role-god-btn:hover{background:#ffffff29;color:#ffffffe6;border-color:#ffffff4d}.role-error{color:#ffffff80;cursor:pointer;padding:20px;text-align:center}.role-selection-loading{display:flex;flex-direction:column;align-items:center;gap:12px}.eye-close-overlay{position:fixed;inset:0;z-index:45;display:none}.eye-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 10%;opacity:0;transition:opacity .8s ease}.eye-content.visible{opacity:1}.eye-wait-label{font-size:13px;color:#ffffff59;letter-spacing:.2em;margin-bottom:12px}.eye-wait-avatar{width:108px;height:108px;border-radius:50%;background-color:#ffffff1a;background-size:cover;background-position:center;margin-bottom:28px;border:1px solid rgba(255,255,255,.15);flex-shrink:0}.eye-wait-text{font-size:18px;color:#ffffffbf;line-height:1.8;text-align:center;letter-spacing:.06em;font-weight:300;max-width:680px;width:80%;min-height:60px;transition:opacity .5s ease}.eye-wait-roles{display:flex;flex-direction:column;gap:64px;max-width:680px;width:80%;max-height:60vh;max-height:60dvh;overflow-y:auto;padding:8px 0}.eye-wait-role-item{display:flex;align-items:flex-start;gap:16px}.eye-wait-avatar-sm{width:60px;height:60px;border-radius:50%;background-color:#ffffff1a;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.15);flex-shrink:0}.eye-wait-role-text{font-size:15px;color:#ffffffa6;line-height:1.7;letter-spacing:.04em;font-weight:300}.eye-wait-hint{margin-top:64px;font-size:12px;letter-spacing:.25em;background:linear-gradient(90deg,#ffffff26,#ffffff80,#ffffff26);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textShimmer 2.5s linear infinite}@keyframes textShimmer{0%{background-position:200% center}to{background-position:-200% center}}.interaction-dock{position:fixed;bottom:calc(14vh + env(safe-area-inset-bottom,0px));bottom:calc(14dvh + env(safe-area-inset-bottom,0px));left:0;right:0;z-index:22;display:flex;flex-direction:column;align-items:center;padding:12px 6% 0;pointer-events:none}.interaction-dock>*{pointer-events:auto}.choice-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;align-items:stretch;width:100%;max-width:780px}.choice-btn{flex:1;padding:13px 14px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#ffffff0f;color:#fffc;font-size:14px;letter-spacing:.03em;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);text-align:center;opacity:0;transform:translateY(10px);animation:fadeInUp .5s ease forwards;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice-btn:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-2px)}.choice-btn.selected{background:#ffffff26;border-color:#fff6;color:#fff}.choice-btn.dimmed{opacity:.25;transform:scale(.98)}.action-choice-btn{display:flex;align-items:center;justify-content:center;gap:4px;text-align:center}.choice-emotion{font-size:20px;flex-shrink:0}.user-input-row{display:flex;gap:0;margin-top:10px;margin-bottom:8px;width:100%;max-width:780px;opacity:0;animation:fadeInUp .5s ease .5s forwards;position:relative;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:12px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:border-color .3s}.user-input-row:focus-within{border-color:#ffffff59}.user-input{-webkit-appearance:none;appearance:none;flex:1;padding:13px 60px 13px 16px;border:none;border-radius:12px;background:transparent;color:#ffffffd9;font-size:14px;line-height:1.2;font-family:inherit;letter-spacing:.03em;outline:none;box-sizing:border-box}.user-input::placeholder{color:#fff3}.user-input-send{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:6px;border:none;border-radius:8px;background:transparent;color:#ffffff73;cursor:pointer;transition:color .3s;display:flex;align-items:center;justify-content:center}.user-input-send:hover{color:#fff}.rhythm-tap-wrapper{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:24px;opacity:0;animation:fadeInUp .5s ease .3s forwards}.rhythm-action{font-size:16px;color:#ffffffb3;letter-spacing:.1em}.rhythm-progress{width:200px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.rhythm-progress-fill{height:100%;background:linear-gradient(90deg,#4facfe,#00f2fe);width:0%;transition:width .15s ease;border-radius:2px}.rhythm-tap-btn{width:100px;height:100px;border-radius:50%;border:2px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .1s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-tap-highlight-color:transparent}.rhythm-tap-btn:active,.rhythm-tap-btn.tapped{transform:scale(.9);background:#ffffff26;border-color:#fff6}.rhythm-tap-btn.success{background:#4facfe4d;border-color:#4facfe}.tap-count{font-size:18px;font-weight:500}.tap-hint{font-size:11px;color:#fff6;margin-top:4px}.rhythm-timer{font-size:14px;color:#ffffff80;font-variant-numeric:tabular-nums}.generating-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:25;opacity:0;pointer-events:none;transition:opacity .5s ease;display:flex;flex-direction:column;align-items:center;gap:12px}.generating-indicator.visible{opacity:1}.generating-indicator .spinner{width:32px;height:32px;margin:0}.generating-text{color:#ffffff80;font-size:13px;letter-spacing:.1em;white-space:nowrap}.pause-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);z-index:20;width:56px;height:56px;border-radius:50%;background:#00000073;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}.pause-indicator:after{content:"❚❚";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffffd9;font-size:16px;letter-spacing:3px}.pause-indicator.paused{opacity:1;transform:translate(-50%,-50%) scale(1)}.char-intro-overlay{position:fixed;z-index:8;top:18vh;top:18dvh;left:6%;pointer-events:none;opacity:0;transition:opacity .5s ease}.char-intro-overlay.visible{opacity:1}.char-intro-overlay.fade-out{opacity:0;transition:opacity .6s ease}.char-intro-right{left:auto!important;right:6%}.char-intro-right .char-intro-card{flex-direction:row-reverse}.char-intro-card{display:flex;align-items:flex-start}.char-intro-name{writing-mode:vertical-rl;text-orientation:upright;font-size:40px;font-weight:700;color:#fff;letter-spacing:.12em;line-height:1.3;text-shadow:0 2px 12px rgba(0,0,0,.7),0 0 4px rgba(0,0,0,.4);font-family:"Noto Serif SC",serif}.char-intro-divider{width:1px;margin:0 8px;border-radius:1px;background:linear-gradient(to bottom,rgba(255,255,255,.45),transparent)}.char-intro-identity{writing-mode:vertical-rl;text-orientation:upright;font-size:20px;font-weight:300;color:#fff9;letter-spacing:.2em;line-height:1.6;text-shadow:0 1px 8px rgba(0,0,0,.6)}@media(max-width:768px){.char-intro-overlay{left:4%;top:16vh;top:16dvh}.char-intro-right{left:auto!important;right:4%}.char-intro-name{font-size:36px}.char-intro-identity{font-size:18px}.char-intro-divider{margin:0 6px}}@media(max-width:768px){.bar-top,.bar-bottom{height:0!important}.vignette{background:radial-gradient(ellipse 80% 60% at 50% 50%,transparent 0%,transparent 35%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.8) 90%)}.close-btn{top:max(16px,env(safe-area-inset-top,16px));right:16px;width:44px;height:44px;font-size:16px}.player-title{padding:0 56px 0 16px;font-size:16px;top:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-selection-subtitle{font-size:12px;top:52px}.role-cards-scroll{padding:80px 0 44px}.role-cards{padding:0 20px;gap:18px}.role-card{width:210px;min-width:210px}.role-card-img,.role-card-add-inner{height:320px}.choice-wrapper{flex-direction:column;max-width:90vw}.choice-btn{text-align:center;white-space:normal}.user-input-row{max-width:90vw}.character-slot.item-slot{width:min(60vh,90vw);height:min(60vh,90vw);width:min(60dvh,90vw);height:min(60dvh,90vw)}.interaction-dock{bottom:env(safe-area-inset-bottom,12px);padding:0 env(safe-area-inset-right,5%) 12px env(safe-area-inset-left,5%)}}.screen-section{max-width:1400px;margin:0 auto;padding:60px 24px 40px}.screen-header{text-align:center;margin-bottom:40px}.screen-title{font-size:28px;font-weight:600;color:#fff;letter-spacing:.04em;line-height:1.2;margin-bottom:0}.screen-desc{font-size:15px;color:#fff6;line-height:1.6}.screen-subtitle{display:block;font-size:clamp(13px,2.5vw,17px);color:#ffffff73;letter-spacing:.08em;margin-top:16px;font-weight:300}@media(max-width:768px){.screen-section{padding:40px 12px 24px}.screen-title{font-size:22px}.screen-desc{font-size:13px}.screen-subtitle{margin-top:8px}}.games-screen .screen-title{font-size:clamp(28px,6vw,52px);font-family:MiSans,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.12em;text-shadow:0 2px 24px rgba(0,0,0,.7),0 0 60px rgba(255,255,255,.08);line-height:1.2}.games-screen.screen-section{max-width:none;padding:0;display:flex;flex-direction:column;box-sizing:border-box;background:#0a0a0f}.games-screen .screen-header{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:1400px;width:100%;margin:0 auto;padding:14vh 24px 0}.games-carousel{position:relative;width:100%;overflow:hidden;padding:20px 0;transform:translateY(5%);flex-shrink:0}.carousel-track{display:flex;align-items:center;transition:transform .5s cubic-bezier(.25,.46,.45,.94);will-change:transform;cursor:grab}.carousel-track.dragging{transition:none;cursor:grabbing}.carousel-track.dragging .carousel-card{transition:none}.carousel-card{flex-shrink:0;position:relative;border-radius:48px;overflow:hidden;transition:transform .5s ease,opacity .5s ease,box-shadow .5s ease;will-change:transform,opacity;cursor:pointer;background:#111}.carousel-card.active{box-shadow:none;z-index:2}.carousel-card:not(.active){z-index:1}.carousel-card-media{position:relative;width:100%;aspect-ratio:16/9;background:#111}.carousel-card-media img,.carousel-card-media video{width:100%;height:100%;object-fit:cover;display:block}.carousel-card-media video{position:absolute;inset:0}.carousel-card-media:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 50%,transparent 100%);z-index:2;pointer-events:none}.carousel-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:60px 36px 36px;z-index:3;pointer-events:none}.carousel-card-title{font-size:30px;font-weight:700;color:#fff;margin:0;padding:0;line-height:1.2;letter-spacing:.03em;text-shadow:0 2px 8px rgba(0,0,0,.5)}.carousel-card-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.carousel-tag{font-size:16px;padding:6px 14px;border-radius:999px;background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ffffffd9;letter-spacing:.02em}.carousel-card-badge{position:absolute;top:16px;left:16px;z-index:4;padding:4px 12px;border-radius:6px;font-size:11px;font-weight:600;background:#ff5050d9;color:#fff;letter-spacing:.05em}.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:24px}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;z-index:10}.carousel-nav:hover{background:#ffffff26;color:#fff;border-color:#ffffff40}.carousel-nav--prev{left:max(16px,calc(50% - 520px))}.carousel-nav--next{right:max(16px,calc(50% - 520px))}.carousel-dot{width:24px;height:1.5px;border-radius:1px;background:#ffffff40;transition:all .4s ease;cursor:pointer}.carousel-dot.active{background:#ffffffe6}.carousel-card{width:900px;margin:0 4px}@media(max-width:768px){.games-screen .screen-header{padding-top:19vh}.carousel-card{width:75vw;margin:0 1px;border-radius:24px;transition:none;transform:scale(.92)}.carousel-card.active{transform:scale(1)}.carousel-card-media{aspect-ratio:1/1}.carousel-card-media:after{opacity:0}.carousel-card.active .carousel-card-media:after{opacity:1}.carousel-card-overlay{padding:40px 16px 16px;opacity:0}.carousel-card.active .carousel-card-overlay{opacity:1}.carousel-card-title{font-size:18px}.carousel-tag{font-size:12px;padding:4px 10px}.carousel-nav{display:none}}.reserve-widget-float{position:fixed;z-index:200;top:14px;right:24px;left:auto;width:auto;transition:opacity .35s ease}.reserve-widget{pointer-events:auto;position:relative;display:inline-block}.reserve-widget-float{position:fixed!important;display:block}.reserve-btn{display:inline-flex;align-items:center;gap:4px;padding:0 20px;height:44px;border-radius:100px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.02em;font-family:inherit;transition:background .25s ease;overflow:hidden;white-space:nowrap}.reserve-btn:hover{background:#ffffff2e;border-color:#ffffff59}.reserve-btn:active{transform:scale(.97)}.reserve-btn .reserve-btn-input,.reserve-btn .reserve-btn-submit{display:none}.reserve-btn .reserve-btn-arrow{stroke:currentColor;fill:none;flex-shrink:0}.reserve-btn.open{padding:0 4px 0 16px;cursor:default;gap:0}.reserve-btn.open .reserve-btn-label,.reserve-btn.open .reserve-btn-arrow{display:none}.reserve-btn.open .reserve-btn-input{display:block;flex:1;min-width:140px;height:100%;border:none;background:transparent;color:#fff;font-size:14px;font-family:inherit;outline:none;letter-spacing:.02em}.reserve-btn.open .reserve-btn-input::placeholder{color:#ffffff59}.reserve-btn.open .reserve-btn-submit{display:flex;align-items:center;flex-shrink:0;height:34px;padding:0 16px;border-radius:100px;border:none;background:#ffffff1f;color:#fff6;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,color .2s;letter-spacing:.02em;white-space:nowrap}.reserve-btn.open.has-value .reserve-btn-submit{background:#ffffffe6;color:#0a0a0f}.reserve-btn.done{pointer-events:none;opacity:.5;cursor:default}.reserve-btn.done .reserve-btn-label{display:inline}.reserve-btn.done .reserve-btn-arrow,.reserve-btn.done .reserve-btn-input,.reserve-btn.done .reserve-btn-submit{display:none}.reserve-btn-error{display:none;position:absolute;bottom:-20px;left:16px;font-size:12px;color:#ff5050;letter-spacing:.02em;white-space:nowrap}.reserve-widget.has-error .reserve-btn-error{display:block}.reserve-widget.has-error .reserve-btn{border:1px solid rgba(255,80,80,.4)}.reserve-btn-hero{margin-top:48px;padding:0 48px;height:52px;font-size:16px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;letter-spacing:.06em}.reserve-btn-hero:hover{background:#ffffff2e;border-color:#ffffff59;box-shadow:0 8px 32px #ffffff1a}.reserve-btn-hero.open{padding:0 6px 0 20px}.reserve-btn-hero.open .reserve-btn-submit{height:40px;padding:0 20px;font-size:14px}.reserve-widget-hero{pointer-events:auto}.nav-cta-placeholder{width:110px;height:44px;flex-shrink:0}@media(max-width:768px){.reserve-widget-float{top:10px;right:12px}.reserve-btn-input{min-width:100px!important;font-size:13px}.reserve-btn-hero{padding:0 36px;font-size:15px;height:48px}.reserve-btn-hero.open{padding:0 4px 0 14px;height:48px}.reserve-btn.open{max-width:calc(100vw - 32px);box-sizing:border-box}.reserve-btn-hero.done{opacity:.5}}.universe-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#0a0a0f}.universe-video-tint{position:absolute;inset:0;background:#0a0a0f33;z-index:0;pointer-events:none}.universe-top-fade{position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(to bottom,#0a0a0f 0%,rgba(10,10,15,.95) 8%,rgba(10,10,15,.85) 18%,rgba(10,10,15,.65) 30%,rgba(10,10,15,.4) 45%,rgba(10,10,15,.2) 60%,rgba(10,10,15,.08) 75%,transparent 100%);z-index:0;pointer-events:none}.universe-section{position:relative;margin:0;padding:0;background:#0a0a0f;overflow:hidden;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center}.universe-canvas-wrap{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0}.universe-canvas-wrap canvas{display:block;width:100%!important;height:100%!important;pointer-events:auto;touch-action:none}.universe-labels{position:absolute;inset:0;z-index:2;pointer-events:none;display:none}.galaxy-label{position:absolute;top:0;left:0;pointer-events:auto;cursor:pointer;transition:transform .1s linear;will-change:transform}.galaxy-label-name{display:inline-block;padding:6px 16px;font-size:14px;font-weight:500;font-family:MiSans,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff9;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .3s ease;white-space:nowrap}.galaxy-label.hovered .galaxy-label-name{color:#fff;background:#ffffff1a;border-color:#ffffff40;box-shadow:0 0 20px #ffffff1a}.universe-overlay-ui{position:relative;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:100%;min-height:0}.universe-title{position:relative;z-index:1;font-size:clamp(28px,6vw,52px);font-weight:600;font-family:MiSans,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;letter-spacing:.15em;margin-bottom:0;line-height:1.2}.universe-subtitle{position:relative;z-index:1;font-size:clamp(13px,2.5vw,17px);color:#ffffff73;letter-spacing:.08em;font-weight:300;margin-top:16px}.galaxy-overlay{position:fixed;inset:0;z-index:6;background:#03030840;backdrop-filter:none;-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .6s cubic-bezier(.16,1,.3,1)}.universe-back-btn{position:fixed;top:20px;right:20px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff9;font-size:20px;cursor:pointer;opacity:0;transition:all .3s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.universe-back-btn:hover{background:#ffffff26;color:#fff;border-color:#ffffff40}.galaxy-title-overlay{position:fixed;top:24px;left:28px;z-index:2;color:#fff;font-size:20px;font-weight:700;letter-spacing:1.5px;line-height:44px;opacity:0;transition:opacity .4s ease;pointer-events:none}.theme-view{position:fixed;inset:0;z-index:1;background:#03030a;opacity:0;transition:opacity .5s ease;display:flex;flex-direction:column;pointer-events:none;user-select:none;-webkit-user-select:none;overflow:hidden}.theme-view.active{opacity:1;pointer-events:auto}.theme-view-topbar{position:absolute;top:0;left:0;right:84px;z-index:10;display:flex;align-items:flex-start;padding:24px 0 0 28px;pointer-events:none}.theme-view-topbar>*{pointer-events:auto}.theme-view-title-group{display:flex;align-items:flex-start;gap:10px}.theme-view-name{color:#fff;font-size:20px;font-weight:700;letter-spacing:1.5px;line-height:44px}.galaxy-music-btn{position:fixed;bottom:28px;right:28px;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:color .3s,border-color .3s,background .3s;opacity:0;animation:galaxy-music-fadein .6s ease forwards}.galaxy-music-btn:hover{background:#ffffff1f;color:#fff;border-color:#ffffff40}.galaxy-music-btn.playing{color:#fff;border-color:#ffffff4d}.galaxy-music-btn.playing svg{animation:galaxy-music-spin 4s linear infinite}@keyframes galaxy-music-fadein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes galaxy-music-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-view-title-text{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}.theme-view-title-text .theme-view-stats{width:100%}.theme-view-stats{color:#fff6;font-size:12px;margin-top:-4px;letter-spacing:.3px}.theme-view-canvas{flex:1;position:relative;overflow:visible;pointer-events:auto;transform-origin:center center;cursor:grab;touch-action:none}.theme-particle{position:absolute;width:48px;height:48px;border-radius:50%;transform:translate(-50%,-50%);border:none;background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-size:cover;background-position:center;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease;box-shadow:0 2px 12px #00000040}.theme-particle:hover{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 4px 20px #fff3}.theme-particle-add{width:56px;height:56px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:5}.theme-particle-add:hover{background:#ffffff2e;border-color:#ffffff59}.theme-particle-plus{font-size:26px;color:#fff9;font-weight:300;line-height:1;transition:transform .3s ease}.theme-particle-add.menu-open .theme-particle-plus{transform:rotate(45deg)}.theme-content-particle{display:flex;align-items:center;justify-content:center;background:#ffffff14}.theme-content-particle:hover{box-shadow:0 4px 24px #ffffff40}.theme-particle--child{width:36px;height:36px;opacity:.8}.theme-particle--child.theme-particle--has-img{width:48px;height:48px}.theme-particle--has-img{width:96px;height:96px;background-size:cover;background-position:center}.theme-particle-type-icon{font-size:20px;line-height:1}.theme-particle-logo-icon{width:20px;height:20px;object-fit:contain;opacity:.5;filter:brightness(0) invert(1);pointer-events:none}.theme-particle-name{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:11px;color:#ffffff80;max-width:100px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;letter-spacing:.3px}.theme-particle--character{border-radius:50%}.theme-particle--character.theme-particle--has-img{width:48px;height:48px;background-position:top}.theme-particle--story{width:140px;height:auto;border-radius:10px;background:#14141ebf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:hidden;padding:0}.theme-particle--story.theme-particle--has-img{width:140px;height:auto;background-size:initial;background-image:none!important}.theme-particle-story-img{width:100%;height:56px;background-size:cover;background-position:top;flex-shrink:0}.theme-particle-story-text{padding:6px 8px}.theme-particle-story-name{font-size:11px;color:#ffffffd9;font-weight:500;line-height:1.3;display:flex;align-items:center;white-space:nowrap}.theme-particle-story-desc{font-size:10px;color:#ffffff73;line-height:1.3;margin-top:2px;max-height:2.6em;overflow:hidden;word-break:break-all}.theme-particle--story.theme-particle--child{width:110px}.theme-particle--story.theme-particle--child .theme-particle-story-img{height:44px}.theme-particle-story-hot{font-size:10px;line-height:1;margin-right:2px;flex-shrink:0}.theme-particle--location{width:auto;height:auto;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:none;display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:0}.theme-particle--location:hover{box-shadow:none;background:transparent}.theme-particle--location.theme-particle--has-img{width:auto;height:auto;background-image:none!important;background-size:initial}.theme-particle-loc-pill{background:#ffffff1f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fffc;font-size:11px;line-height:1;padding:4px 10px;border-radius:100px;white-space:nowrap;pointer-events:none}.theme-particle-loc-emoji{font-size:40px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}.theme-add-wheel{position:absolute;width:220px;height:220px;transform:translate(-50%,-50%) scale(0);opacity:0;visibility:hidden;z-index:4;pointer-events:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease,visibility 0s .3s;border-radius:50%;overflow:hidden;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#00000059}.theme-add-wheel.active{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible;pointer-events:auto;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease,visibility 0s 0s}.theme-wheel-svg{width:100%;height:100%}.theme-wheel-sector{fill:#ffffff0f;stroke:#ffffff0f;stroke-width:1;cursor:pointer;transition:fill .2s ease}.theme-wheel-sector:hover{fill:#ffffff29}.theme-wheel-label{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:auto;cursor:pointer}.theme-wheel-label-icon{font-size:20px;line-height:1}.theme-wheel-label-text{font-size:10px;color:#ffffff8c;letter-spacing:.5px}.theme-wiki-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;padding:0}.theme-wiki-btn:hover{background:#ffffff26;color:#fff;border-color:#ffffff40}.theme-wiki-btn svg{flex-shrink:0}.theme-zoom-controls{position:absolute;bottom:82px;right:28px;z-index:10;display:flex;flex-direction:column;gap:6px;pointer-events:auto}.theme-zoom-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff9;font-size:18px;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:0}.theme-zoom-btn:hover{background:#ffffff26;color:#fff;border-color:#ffffff40}.theme-zoom-btn:active{transform:scale(.92)}.theme-zoom-btn-reset{margin-top:4px}.theme-content-form{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease}.theme-content-form.active{opacity:1}.theme-form-backdrop{position:absolute;inset:0;background:#00000080}.theme-form-inner{position:relative;width:380px;max-width:90vw;max-height:85vh;background:#0e0e16f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:24px;overflow:hidden;overflow-y:auto;box-shadow:0 12px 48px #0009}.theme-form-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.theme-form-type-icon{font-size:22px;user-select:none;-webkit-user-select:none}.theme-form-title{flex:1;color:#fff;font-size:18px;font-weight:600;margin:0}.theme-form-close{background:none;border:none;color:#fff6;font-size:18px;cursor:pointer;padding:4px;transition:color .2s}.theme-form-close:hover{color:#fff}.theme-form-body{display:flex;flex-direction:column;gap:16px}.theme-form-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:120px;border:1px dashed rgba(255,255,255,.15);border-radius:14px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.theme-form-upload span{color:#ffffff4d;font-size:12px}.theme-form-upload:hover{border-color:#ffffff4d;background:#ffffff08}.theme-form-upload.has-image{border-style:solid;border-color:#ffffff4d}.theme-form-upload.has-image span,.theme-form-upload.has-image svg{display:none}.theme-form-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:14px}.theme-form-input{display:block;width:100%;padding:12px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-size:15px;outline:none;transition:border-color .2s;box-sizing:border-box}.theme-form-input::placeholder{color:#ffffff40}.theme-form-input:focus{border-color:#fff6}.theme-form-textarea{display:block;width:100%;padding:12px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-size:14px;outline:none;resize:vertical;min-height:80px;font-family:inherit;line-height:1.6;transition:border-color .2s;box-sizing:border-box}.theme-form-textarea::placeholder{color:#ffffff40}.theme-form-textarea:focus{border-color:#fff6}.theme-form-submit{width:100%;margin-top:0;padding:13px 0;background:#fff;border:none;border-radius:14px;color:#111;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s}.theme-form-submit:disabled{opacity:.35;cursor:not-allowed}.theme-form-submit:not(:disabled):hover{opacity:.85}.theme-form-parent-banner{position:relative;width:calc(100% + 48px);margin:-24px -24px 0;min-height:180px;background:#ffffff0a;background-size:cover;background-position:center top;overflow:hidden}.theme-form-parent-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:20px 24px;background:linear-gradient(to top,rgba(10,10,18,.92) 0%,transparent 60%)}.theme-form-parent-name{color:#fff;font-size:18px;font-weight:700;margin:0 0 4px;line-height:1.3}.theme-form-parent-sub{color:#ffffff73;font-size:13px;user-select:none;-webkit-user-select:none}.theme-form-close--banner{position:absolute;top:12px;right:12px;z-index:2;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;color:#fffc;font-size:14px;cursor:pointer;transition:all .2s;padding:0}.theme-form-close--banner:hover{background:#0009;color:#fff}.theme-form-inner:has(.theme-form-parent-banner) .theme-form-body{margin-top:20px}.theme-detail-related{padding:0;margin-top:4px;margin-bottom:24px}.theme-detail-children{display:flex;flex-direction:column;gap:8px}.theme-child-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:12px;cursor:pointer;transition:all .2s}.theme-child-card:hover{background:#ffffff14;border-color:#ffffff1f}.theme-child-card-img{width:44px;height:44px;min-width:44px;border-radius:8px;background-size:cover;background-position:center;background-color:#ffffff0f}.theme-child-card-img--empty{display:flex;align-items:center;justify-content:center;font-size:20px}.theme-child-card-info{display:flex;flex-direction:column;gap:3px;min-width:0}.theme-child-card-name{color:#fff;font-size:14px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-child-card-type{color:#ffffff59;font-size:12px;line-height:1.3;user-select:none;-webkit-user-select:none}.theme-detail-panel{position:fixed;top:0;right:0;bottom:0;width:360px;max-width:85vw;z-index:4;background:#0a0a12f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-left:1px solid rgba(255,255,255,.08);transform:translate(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column}.theme-detail-panel.active{transform:translate(0)}.theme-detail-close{position:absolute;top:16px;right:16px;z-index:2;background:none;border:none;color:#fff6;font-size:20px;cursor:pointer;padding:6px;transition:color .2s}.theme-detail-close:hover{color:#fff}.theme-detail-delete{position:absolute;top:16px;right:48px;z-index:2;background:none;border:none;color:#ff646480;font-size:18px;cursor:pointer;padding:6px;transition:color .2s}.theme-detail-delete:hover{color:#ff6464e6}.theme-detail-author{display:block;color:#ffffff59;font-size:12px;margin-top:4px}.theme-detail-authors{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-top:6px}.theme-detail-author-name{color:#ffffff59;font-size:12px;max-width:8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-detail-author-sep{color:#fff3;font-size:12px;flex-shrink:0}.theme-detail-scroll{flex:1;overflow-y:auto;padding:50px 24px 0;min-height:0}.theme-detail-header{margin-bottom:16px}.theme-detail-type{font-size:12px;letter-spacing:.5px;display:inline-block;padding:3px 10px;background:#ffffff0f;border-radius:10px;margin-bottom:10px;user-select:none;-webkit-user-select:none}.theme-detail-name{color:#fff;font-size:22px;font-weight:700;margin:0;line-height:1.3}.theme-detail-image{width:100%;min-height:260px;border-radius:14px;background-size:cover;background-position:top center;margin-bottom:16px}.theme-detail-image--upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);cursor:pointer;transition:all .2s;min-height:160px}.theme-detail-image--upload:hover{background:#ffffff0f;border-color:#fff3}.theme-detail-image--editable{position:relative;cursor:pointer}.theme-detail-image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;background:#0000008c;color:#ffffffbf;font-size:13px;border-radius:14px;opacity:0;transition:opacity .2s}.theme-detail-image--editable:hover .theme-detail-image-overlay{opacity:1}.theme-detail-upload-text{color:#ffffff40;font-size:12px}.theme-detail-desc{color:#fff9;font-size:14px;line-height:1.7;margin:0 0 24px;min-height:60px}.theme-detail-desc--empty{color:#ffffff4d}.theme-detail-desc-input{display:block;width:100%;padding:12px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#fff;font-size:14px;font-family:inherit;line-height:1.7;outline:none;resize:vertical;min-height:60px;margin:0 0 24px;box-sizing:border-box;transition:border-color .2s}.theme-detail-desc-input::placeholder{color:#ffffff40}.theme-detail-desc-input:focus{border-color:#ffffff4d}.theme-detail-comments{padding-bottom:16px}.theme-detail-section-title{color:#ffffff73;font-size:13px;font-weight:600;letter-spacing:1px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.theme-comments-empty{color:#fff3;font-size:13px;text-align:center;padding:48px 0}.theme-comment-item{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.04)}.theme-comment-item:last-child{border-bottom:none}.theme-comment-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.theme-comment-author{color:#ffffff80;font-size:12px;font-weight:500}.theme-comment-time{color:#fff3;font-size:11px;margin-right:auto}.theme-comment-delete{background:none;border:none;color:#ff646459;font-size:11px;cursor:pointer;padding:0 2px;transition:color .2s;flex-shrink:0}.theme-comment-delete:hover{color:#ff6464cc}.theme-comment-text{color:#ffffffbf;font-size:13px;line-height:1.5;margin:0}.theme-comment-compose{display:flex;gap:8px;padding:14px 24px;padding-bottom:max(14px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.06);background:#0a0a12fa;flex-shrink:0}.theme-comment-input{flex:1;padding:10px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#fff;font-size:13px;outline:none;transition:border-color .2s}.theme-comment-input::placeholder{color:#fff3}.theme-comment-input:focus{border-color:#ffffff59}.theme-comment-send{padding:8px 16px;background:#ffffffe6;border:none;border-radius:20px;color:#111;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.theme-comment-send:hover{background:#fff}.theme-comment-add-row{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:0;flex-wrap:wrap}.theme-comment-add-label{color:#ffffff59;font-size:11px;margin-right:4px}.theme-comment-add-type{padding:6px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff9;font-size:12px;cursor:pointer;transition:all .2s;user-select:none;-webkit-user-select:none}.theme-comment-add-type:hover{background:#ffffff1f;color:#fff;border-color:#fff3}.theme-comment-image{width:100%;max-height:160px;border-radius:10px;object-fit:cover;margin-top:8px}.theme-comment-emoji{position:absolute;font-size:7px;line-height:1;transform:translate(-50%,-50%);pointer-events:none;user-select:none;-webkit-user-select:none;opacity:.7;filter:drop-shadow(0 0 3px rgba(255,255,255,.15))}.theme-wiki-panel{position:fixed;top:0;left:0;bottom:0;width:360px;max-width:85vw;z-index:4;background:#0a0a12f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid rgba(255,255,255,.08);transform:translate(-100%);transition:transform .35s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column}.theme-wiki-panel.active{transform:translate(0)}.theme-wiki-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 14px}.theme-wiki-header h3{color:#fff;font-size:18px;font-weight:700;margin:0}.theme-wiki-close{background:none;border:none;color:#fff6;font-size:18px;cursor:pointer;padding:4px;transition:color .2s}.theme-wiki-close:hover{color:#fff}.theme-wiki-tabs{display:flex;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.08)}.theme-wiki-tab{flex:1;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;color:#fff6;font-size:14px;cursor:pointer;transition:all .2s}.theme-wiki-tab.active{color:#fff;border-bottom-color:#fff}.theme-wiki-tab:hover{color:#ffffffb3}.theme-wiki-content{flex:1;overflow-y:auto;padding:16px 20px;min-height:0}.theme-wiki-compose{display:flex;gap:8px;padding:12px 20px;border-top:1px solid rgba(255,255,255,.06);background:#0a0a14f2;flex-shrink:0}.theme-wiki-tab-pane{display:none}.theme-wiki-tab-pane.active{display:block}.theme-wiki-empty{text-align:center;color:#fff3;font-size:13px;padding:30px 0}.theme-wiki-rule{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.05)}.theme-wiki-rule:last-child{border-bottom:none}.theme-wiki-rule-num{width:22px;height:22px;border-radius:50%;background:#ffffff0f;color:#ffffff59;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.theme-wiki-rule-body{flex:1;min-width:0}.theme-wiki-rule-text{color:#fffc;font-size:14px;line-height:1.6;margin:0 0 6px}.theme-wiki-rule-footer{display:flex;align-items:center}.theme-wiki-rule-time{color:#ffffff2e;font-size:11px;margin-right:4px}.theme-wiki-rule-author{color:#ffffff40;font-size:11px}.theme-wiki-rule-votes{margin-left:auto;display:flex;gap:10px;align-items:center}.theme-wiki-vote-btn{background:none;border:none;color:#ffffff4d;font-size:11px;cursor:pointer;padding:2px 4px;transition:color .2s;display:inline-flex;align-items:center;gap:3px}.theme-wiki-vote-btn:hover{color:#ffffffb3}.theme-wiki-vote-btn.active,.theme-wiki-vote-btn.voted{color:#fff}.theme-wiki-rule-delete{background:none;border:none;color:#ffffff26;cursor:pointer;font-size:12px;padding:2px 4px;margin-left:8px}.theme-wiki-rule-delete:hover{color:#e07070}.theme-wiki-score{font-style:normal;color:#ffffff80;font-size:12px;min-width:16px;text-align:center}.theme-wiki-rule-input-wrap{display:none}.theme-wiki-rule-input{flex:1;padding:8px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#fff;font-size:13px;outline:none;transition:border-color .2s}.theme-wiki-rule-input::placeholder{color:#fff3}.theme-wiki-rule-input:focus{border-color:#ffffff40}.theme-wiki-rule-submit{padding:8px 16px;background:#ffffffe6;border:none;border-radius:20px;color:#111;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s}.theme-wiki-rule-submit:hover{background:#fff}.theme-wiki-activity{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.04)}.theme-wiki-activity:last-child{border-bottom:none}.theme-wiki-activity--event{background:#dcb4780f;border-radius:10px;padding:12px;margin-bottom:4px;border-bottom:none}.theme-wiki-activity-bar{width:3px;min-height:20px;align-self:stretch;background:#dcb478;border-radius:2px;flex-shrink:0}.theme-wiki-activity-icon{font-size:16px;flex-shrink:0;line-height:20px;height:20px}.theme-wiki-activity-body{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:3px;align-items:baseline}.theme-wiki-activity-tag{font-size:10px;color:#dcb478;background:#dcb47826;padding:1px 6px;border-radius:6px;font-weight:600;margin-right:4px}.theme-wiki-activity-actor{color:#fff9;font-size:13px;line-height:20px;font-weight:500}.theme-wiki-activity-verb{color:#ffffff59;font-size:13px;line-height:20px}.theme-wiki-activity-label{color:#ffffffb3;font-size:13px;line-height:20px}.theme-wiki-activity-time{color:#fff3;font-size:11px;line-height:20px;flex-shrink:0;margin-left:auto}.site-footer{transition:opacity .4s ease}.galaxy-email-overlay{position:fixed;inset:0;z-index:10000;background:#0009;display:flex;align-items:center;justify-content:center}.galaxy-email-card{background:#0e0e16f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px;width:340px;text-align:center;box-shadow:0 12px 48px #0009}.galaxy-email-card h4{color:#fff;font-size:18px;margin:0 0 8px}.galaxy-email-card p{color:#fff6;font-size:14px;margin:0 0 20px}.galaxy-email-input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fff;font-size:15px;padding:12px 16px;border-radius:12px;outline:none;transition:border-color .2s}.galaxy-email-input:focus{border-color:#ffffff59}.galaxy-email-error{color:#ff6b6b;font-size:12px;margin-top:8px}.galaxy-email-actions{display:flex;gap:12px;margin-top:20px}.galaxy-email-cancel,.galaxy-email-submit{flex:1;border:none;padding:10px;border-radius:12px;font-size:14px;cursor:pointer;transition:background .2s}.galaxy-email-cancel{background:#ffffff0f;color:#ffffff80}.galaxy-email-cancel:hover{background:#ffffff1a}.galaxy-email-submit{background:#ffffff1f;color:#ffffffd9}.galaxy-email-submit:hover{background:#fff3}.galaxy-email-card .galaxy-email-input+.galaxy-email-input,#userIdentityNameStep{margin-top:12px}.user-identity-welcome-name{color:#fffffff2;font-size:16px;font-weight:600;padding:14px 0 4px}.galaxy-email-card.welcome .galaxy-email-actions{margin-top:12px}.galaxy-email-card.welcome .galaxy-email-submit{flex:2}.confirm-overlay{position:fixed;inset:0;z-index:10000;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease}.confirm-overlay.visible{opacity:1}.confirm-card{background:#0e0e16f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 32px 24px;width:340px;text-align:center;transform:scale(.92);transition:transform .25s ease;box-shadow:0 12px 48px #0009}.confirm-overlay.visible .confirm-card{transform:scale(1)}.confirm-title{color:#fff;font-size:17px;font-weight:600;margin:0 0 10px;line-height:1.4}.confirm-msg{color:#ffffff73;font-size:13px;line-height:1.6;margin:0 0 24px}.confirm-title+.confirm-actions{margin-top:14px}.confirm-actions{display:flex;gap:12px}.confirm-btn{flex:1;padding:10px 0;border:none;border-radius:12px;font-size:14px;cursor:pointer;transition:background .2s}.confirm-btn--cancel{background:#ffffff0f;color:#ffffff80}.confirm-btn--cancel:hover{background:#ffffff1a}.confirm-btn--ok{background:#ffffff1f;color:#ffffffd9}.confirm-btn--ok:hover{background:#fff3}@media(max-width:768px){.universe-section{min-height:100vh;min-height:100dvh}.universe-title{letter-spacing:.08em}.galaxy-email-overlay{align-items:flex-start;padding-top:15vh;overflow-y:auto}.galaxy-email-card{width:290px;padding:24px}.confirm-card{width:290px;padding:24px 20px 20px}.theme-detail-panel,.theme-wiki-panel{width:100%;max-width:100%}.theme-wiki-btn{width:36px;height:36px}.galaxy-music-btn{width:36px;height:36px;bottom:16px;right:16px}.theme-view-topbar{padding:16px 16px 0;right:60px}.universe-back-btn{width:36px;height:36px;top:16px;right:16px}.theme-view-name{font-size:16px;line-height:36px}.theme-particle--has-img{width:120px;height:120px}.theme-zoom-controls{bottom:62px;right:16px}.theme-zoom-btn{width:36px;height:36px;font-size:16px}.galaxy-title-overlay{font-size:16px;left:16px;top:16px}.theme-form-inner{width:92vw;padding:20px}.theme-add-wheel{width:180px;height:180px}.theme-wheel-label-icon{font-size:16px}}.games-carousel{perspective:1200px}.carousel-track{transform-style:preserve-3d}@media(max-width:768px){.games-carousel{perspective:none}.carousel-track{transform-style:flat}}.stories-screen{position:relative;background:#0a0a0f;user-select:none;-webkit-user-select:none}.stories-depth{position:absolute;inset:0;perspective:1000px;perspective-origin:50% 50%;z-index:1}.stories-world{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}.scatter-card{position:absolute;width:155px;height:210px;border-radius:24px;overflow:hidden;cursor:pointer;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);box-shadow:0 6px 28px #00000080;transition:box-shadow .5s ease,border-color .5s ease,opacity .3s ease;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform,opacity;contain:layout style paint}.scatter-card.blur-1{filter:blur(8px)}.scatter-card.blur-2{filter:blur(25px)}.scatter-card.blur-3{filter:blur(50px)}.scatter-card:hover{box-shadow:0 8px 40px #a078ff4d,0 4px 24px #0009;border-color:#a078ff66}@media(hover:hover){.scatter-card{transition:box-shadow .5s ease,border-color .5s ease,transform .3s ease,opacity .3s ease}}.scatter-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.scatter-overlay{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .15s ease}.stories-fade{position:absolute;left:0;right:0;height:25%;pointer-events:none;z-index:8}.stories-fade--top{top:0;background:linear-gradient(to bottom,#0a0a0f 0%,rgba(10,10,15,.6) 40%,transparent 100%)}.stories-fade--bottom{bottom:0;background:linear-gradient(to top,#0a0a0f 0%,rgba(10,10,15,.6) 40%,transparent 100%)}.stories-center-title{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;transition:opacity .15s ease}.stories-subtitle{font-size:clamp(13px,2.5vw,17px);color:#ffffff73;letter-spacing:.08em;margin-top:16px;font-weight:300;opacity:0;transform:translateY(10px);transition:opacity .8s ease .4s,transform .8s ease .4s;text-shadow:0 0 40px rgba(10,10,15,.9),0 0 80px rgba(10,10,15,.7)}.scroll-float-text.visible~.stories-subtitle,.stories-subtitle.visible{opacity:1;transform:translateY(0)}.scroll-float-text{font-size:clamp(28px,6vw,52px);font-weight:700;font-family:MiSans,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;letter-spacing:.15em;line-height:1.2;margin:0;text-shadow:0 0 60px rgba(10,10,15,.95),0 0 120px rgba(10,10,15,.8),0 4px 40px rgba(10,10,15,.9)}.sf-char{display:inline-block;opacity:0;transform:translateY(100%) scaleY(2.3) scaleX(.7);transform-origin:50% 0%;transition:opacity .6s ease,transform .7s cubic-bezier(.34,1.56,.64,1)}.scroll-float-text.visible .sf-char{opacity:1;transform:translateY(0) scaleY(1) scaleX(1)}@media(max-width:768px){.stories-depth{perspective:600px}.scroll-float-text{letter-spacing:.08em}}.stories-world{opacity:0;transition:opacity .12s ease-out}.stories-screen.fp-active:not(.entering) .stories-world{opacity:1}.stories-screen.entering .scatter-card{transition:none!important}.immerse-screen{position:relative;background:#0a0a0f;overflow:hidden}.immerse-video-wrap{position:absolute;inset:0;will-change:transform;transform-origin:center center;z-index:2}@media(orientation:portrait){.immerse-video-wrap{width:100vh;height:100vh;inset:50% auto auto 50%;margin-left:-50vh;margin-top:-50vh}}.immerse-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#immerseVideo2{opacity:0}.immerse-loading{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#0a0a0f;transition:opacity .5s ease;pointer-events:none}.immerse-loading.hidden{opacity:0}.immerse-loading .brand-loader{width:80px;height:80px}.immerse-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,transparent 0%,transparent 35%,rgba(10,10,15,.2) 55%,rgba(10,10,15,.5) 70%,rgba(10,10,15,.8) 90%);pointer-events:none;z-index:2}.immerse-fade{position:absolute;left:0;right:0;pointer-events:none;z-index:2}.immerse-fade--top{top:0;height:30%;background:linear-gradient(to bottom,#0a0a0f 0%,rgba(10,10,15,.6) 40%,transparent 100%)}.immerse-fade--bottom{bottom:0;height:40%;background:linear-gradient(to top,#0a0a0f 0%,rgba(10,10,15,.8) 40%,transparent 100%)}.immerse-text{position:absolute;bottom:15%;left:0;right:0;text-align:center;font-size:clamp(28px,6vw,52px);font-weight:600;font-family:MiSans,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;letter-spacing:.12em;text-shadow:0 2px 24px rgba(0,0,0,.7),0 0 60px rgba(255,255,255,.08);line-height:1.2;opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;z-index:5;pointer-events:none}.immerse-text.visible{opacity:1;transform:translateY(0)}.immerse-subtitle{position:absolute;top:calc(85% + 16px);left:0;right:0;text-align:center;font-size:clamp(13px,2.5vw,17px);color:#ffffff73;letter-spacing:.08em;font-weight:300;opacity:0;transform:translateY(10px);transition:opacity .8s ease .3s,transform .8s ease .3s;z-index:5;pointer-events:none}.immerse-subtitle.visible{opacity:1;transform:translateY(0)}.immerse-screen.fade-out .immerse-subtitle{opacity:0!important;transition:opacity .25s ease!important}@keyframes bubble-cycle{0%{opacity:0;transform:translate(var(--scroll-dx, 0px)) translate(-50%) translateY(10px) scale(.9)}6.8%{opacity:1;transform:translate(var(--scroll-dx, 0px)) translate(-50%) translateY(-100%) scale(1)}91.5%{opacity:1;transform:translate(var(--scroll-dx, 0px)) translate(-50%) translateY(-100%) scale(1)}to{opacity:0;transform:translate(var(--scroll-dx, 0px)) translate(-50%) translateY(-80%) scale(.95)}}.immerse-bubble{position:absolute;top:calc(50% - 220px);left:50%;transform:translate(var(--scroll-dx, 0px)) translate(-50%) translateY(10px) scale(.9);background:#fff;color:#222;font-size:15px;font-weight:500;letter-spacing:.04em;padding:10px 22px;border-radius:20px;white-space:nowrap;opacity:0;z-index:6;pointer-events:none;box-shadow:0 4px 20px #0000004d}.immerse-bubble:after,.circle-bubble:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #fff}.immerse-bubble.cycling{animation:bubble-cycle 5.9s infinite}.immerse-bubble.force-hide{opacity:0!important;animation:none!important;transition:opacity .1s ease!important}.circle-bubble{position:absolute;top:-20px;left:50%;transform:translate(-50%) translateY(10px) scale(.9);background:#fff;color:#222;font-size:15px;font-weight:500;letter-spacing:.04em;padding:10px 22px;border-radius:20px;white-space:nowrap;opacity:0;z-index:2;pointer-events:none;box-shadow:0 4px 16px #0000004d;animation:bubble-cycle 5.9s infinite}.immerse-circles-row{position:absolute;top:50%;left:0;transform:translateY(-50%);display:flex;gap:48px;align-items:center;z-index:1;opacity:0;transition:opacity .6s ease;pointer-events:none}.immerse-circles-row.visible{opacity:1;pointer-events:auto}.immerse-circle-slot{position:relative;flex-shrink:0}.immerse-circle-item{position:relative;width:400px;height:400px;border-radius:50%;overflow:hidden;background:#0a0a0f}.immerse-circle-overlay{position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.3) 40%,transparent 100%);pointer-events:none;z-index:1}.immerse-circle-item video{width:100%;height:100%;object-fit:cover;display:block}.immerse-screen.fade-out .immerse-video-wrap,.immerse-screen.fade-out .immerse-bubble,.immerse-screen.fade-out .immerse-circles-row,.immerse-screen.fade-out .immerse-text{opacity:0!important;transition:opacity .25s ease!important}.immerse-circle-slot{pointer-events:auto;cursor:pointer}.immerse-circle-slot .circle-hover-bubble{position:absolute;top:-20px;left:50%;transform:translate(-50%) translateY(-100%) scale(.9);background:#fff;color:#222;font-size:15px;font-weight:500;letter-spacing:.04em;padding:10px 22px;border-radius:20px;white-space:nowrap;opacity:0;z-index:20;pointer-events:none;box-shadow:0 4px 16px #0000004d;transition:opacity .15s ease,transform .15s ease}.immerse-circle-slot .circle-hover-bubble:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #fff}.immerse-circle-slot:hover .circle-hover-bubble{opacity:1;transform:translate(-50%) translateY(-100%) scale(1)}.immerse-circle-slot:hover .circle-bubble{opacity:0!important;animation:none!important;transition:opacity .1s ease!important}.immerse-circle-slot:hover .immerse-circle-item{transform:scale(1.08);transition:transform .3s ease}.immerse-circle-item{transition:transform .3s ease,box-shadow .3s ease}.circle-char-name{position:absolute;bottom:10%;left:50%;transform:translate(-50%);font-size:18px;font-weight:600;letter-spacing:.08em;white-space:nowrap;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.8),0 0 4px rgba(0,0,0,.6);z-index:2;pointer-events:none}.wrap-char-name{position:absolute;left:50%;bottom:calc(50% - 160px);transform:translate(var(--scroll-dx, 0px)) translate(-50%);font-size:18px;font-weight:600;letter-spacing:.08em;white-space:nowrap;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.8),0 0 4px rgba(0,0,0,.6);z-index:2;pointer-events:none;opacity:0;transition:opacity .3s ease}.wrap-hover-bubble{position:absolute;top:calc(50% - 220px);left:50%;transform:translate(var(--scroll-dx, 0px)) translate(-50%) translateY(10px) scale(.9);background:#fff;color:#222;font-size:15px;font-weight:500;letter-spacing:.04em;padding:10px 22px;border-radius:20px;white-space:nowrap;opacity:0;z-index:20;pointer-events:none;box-shadow:0 4px 16px #0000004d;transition:opacity .15s ease,transform .15s ease}.wrap-hover-bubble:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #fff}.wrap-hover-bubble.visible{opacity:1;transform:translate(var(--scroll-dx, 0px)) translate(-50%) translateY(-100%) scale(1)}.circle-expand-overlay{position:fixed;inset:0;z-index:500;background:#000;display:none;opacity:0;transition:opacity .4s ease;overflow:hidden}.circle-expand-overlay.active{display:block;opacity:1}.circle-expand-overlay.expanding .circle-expand-video{clip-path:circle(0% at var(--cx, 50%) var(--cy, 50%));animation:circleExpandIn .6s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes circleExpandIn{0%{clip-path:circle(0% at var(--cx, 50%) var(--cy, 50%))}to{clip-path:circle(150% at var(--cx, 50%) var(--cy, 50%))}}.circle-expand-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.circle-expand-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,transparent 0%,transparent 35%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.8) 90%);pointer-events:none;z-index:1}.circle-expand-close{position:fixed;top:max(20px,env(safe-area-inset-top,20px));right:20px;z-index:510;width:44px;height:44px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff9;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0;animation:fadeInUp .5s ease .3s forwards}.circle-expand-close:hover{background:#ffffff26;color:#fff;border-color:#ffffff40}.expand-char-header{position:fixed;top:max(28px,env(safe-area-inset-top,28px));left:32px;z-index:505;opacity:0;animation:fadeInUp .6s ease .3s forwards}.expand-char-name{font-size:clamp(28px,5vw,48px);font-weight:800;color:#fff;letter-spacing:.02em;line-height:1.1}.expand-char-identity{font-size:11px;color:#fff6;letter-spacing:.2em;text-transform:uppercase;margin-top:6px}.expand-slot-info{position:fixed;bottom:calc(16vh + env(safe-area-inset-bottom,0px));left:32px;z-index:505;max-width:50%;opacity:0;animation:fadeInUp .6s ease .4s forwards}.expand-live-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.expand-live-dot{width:6px;height:6px;border-radius:50%;background:#e53e3e;box-shadow:0 0 8px #e53e3e;animation:livePulse 2s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.expand-live-label{font-size:9px;color:#fff6;letter-spacing:.3em;font-weight:600}.expand-time-range{font-size:10px;color:#ffffff40;font-family:monospace;letter-spacing:.1em}.expand-slot-desc{font-size:clamp(16px,2.5vw,22px);color:#ffffffbf;font-weight:400;line-height:1.5;font-style:italic}.expand-greet-btn{position:fixed;bottom:max(20px,env(safe-area-inset-bottom,20px));left:0;right:0;width:fit-content;margin:0 auto;z-index:505;padding:12px 36px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#0006;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff9;font-size:13px;font-weight:500;letter-spacing:.1em;cursor:pointer;transition:all .3s ease;opacity:0;animation:fadeInUp .5s ease .5s forwards}.expand-greet-btn:hover{background:#ffffff1a;color:#fff}.expand-timeline{position:fixed;right:20px;top:max(20px,env(safe-area-inset-top,20px));bottom:max(20px,env(safe-area-inset-bottom,20px));z-index:505;width:220px;display:flex;flex-direction:column;justify-content:center;pointer-events:none}.expand-timeline-card{background:#0006;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;max-height:55vh;display:flex;flex-direction:column;pointer-events:auto;opacity:0;animation:fadeInUp .5s ease .35s forwards}.expand-timeline-header{padding:14px 18px 10px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.expand-timeline-label{font-size:9px;color:#ffffff40;letter-spacing:.3em;font-weight:600}.expand-timeline-list{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;padding:10px 16px 14px;scrollbar-width:none;overscroll-behavior:contain}.expand-timeline-list::-webkit-scrollbar{display:none}.expand-tl-track{position:relative;padding-left:16px;border-left:1px solid rgba(255,255,255,.08)}.expand-tl-item{position:relative;padding:8px 0 8px 10px;cursor:pointer;opacity:.25;transition:opacity .3s ease}.expand-tl-item:hover{opacity:.7}.expand-tl-item.active{opacity:1}.expand-tl-item.past{opacity:.15}.expand-tl-item.past:hover{opacity:.5}.expand-tl-dot{position:absolute;left:-20px;top:12px;width:7px;height:7px;border-radius:50%;background:#ffffff80;box-shadow:0 0 0 3px #0a0a0f;transition:all .3s ease}.expand-tl-time{font-size:9px;font-family:monospace;color:#fff6;letter-spacing:.15em;margin-bottom:2px}.expand-tl-title{font-size:12px;color:#ffffffb3;line-height:1.3}.expand-tl-item.active .expand-tl-title{color:#fff;font-weight:600}.expand-tl-item.active .expand-tl-dot{background:#fff;box-shadow:0 0 0 3px #0a0a0f,0 0 8px #ffffff80}.expand-tl-toggle{display:none;position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:506;width:44px;height:44px;border-radius:50%;background:#0006;border:1px solid rgba(255,255,255,.1);color:#fff9;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:all .3s ease;opacity:0;animation:fadeInUp .5s ease .4s forwards}.expand-tl-toggle:hover{background:#ffffff1a;color:#fff}.circle-expand-reserve{position:fixed;inset:0;z-index:520;background:#0009;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:center;padding:0 16px;opacity:0;pointer-events:none;transition:opacity .4s ease}.game-reserve-panel{display:flex;flex-direction:column;align-items:center;gap:12px}.game-reserve-subtitle{color:#fff;font-size:36px;font-weight:600;letter-spacing:.5px;margin:0 0 4px;text-align:center}.game-reserve-exit{background:none;border:none;color:#ffffff73;font-size:14px;cursor:pointer;padding:8px 24px;margin-top:20px;letter-spacing:1px;transition:color .25s ease}.game-reserve-exit:hover{color:#fffc}@media(max-width:768px){.game-reserve-subtitle{font-size:22px}}.circle-expand-reserve.visible{opacity:1;pointer-events:auto}@media(max-width:768px){.immerse-circles-row{gap:12px}.immerse-circle-item{width:220px;height:220px}.immerse-bubble{top:calc(50% - 130px);font-size:14px;padding:8px 18px}.wrap-hover-bubble{top:calc(50% - 130px)}.circle-bubble,.circle-hover-bubble{font-size:13px;padding:6px 14px}.circle-char-name{font-size:13px}.wrap-char-name{font-size:13px;bottom:calc(50% - 88px)}.role-selection-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.role-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.expand-char-header{left:20px}.expand-char-name{font-size:28px}.expand-slot-info{left:20px;max-width:60%;bottom:calc(20vh - 40px)}.expand-timeline{display:none}.expand-timeline.mobile-open{display:flex;position:fixed;right:10px;bottom:calc(80px + env(safe-area-inset-bottom,0px));top:auto;width:180px;max-height:45vh;justify-content:flex-end}.expand-greet-btn{left:20px;right:auto;width:auto;margin:0;bottom:calc(20px + env(safe-area-inset-bottom,0px));padding:0 28px;height:44px;line-height:44px;font-size:12px}.expand-tl-toggle{display:flex}}.universe-galaxy-scatter{position:absolute;inset:0;pointer-events:none;z-index:0}.universe-enter-btn{position:relative;z-index:1;display:inline-block;margin-top:32px;background:none;border:none;color:#ffffff80;font-family:"Noto Serif SC",STSong,SimSun,serif;font-size:17px;font-weight:300;letter-spacing:.4em;animation:enter-float 3s ease-in-out infinite;cursor:pointer;transition:color .3s,letter-spacing .3s}@keyframes enter-float{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-8px);opacity:.85}}.universe-enter-btn:hover{color:#fff;letter-spacing:.5em;animation-play-state:paused}.universe-loading-spinner{display:none;flex-direction:column;align-items:center;gap:18px;margin-top:32px}.universe-loading-spinner.visible{display:flex}.universe-loading-spinner .spinner{border-top-color:#ffffffb3}.spinner-text{color:#fff6;font-size:14px;letter-spacing:.15em;font-weight:300}.quadrant-page{position:fixed;inset:0;z-index:10000;background:#03030a;display:none;flex-direction:column}.quadrant-page.active{display:flex}.galaxy-detail-view{position:absolute;inset:0;z-index:5;background:#03030a;display:none;overflow:hidden;isolation:isolate}.galaxy-detail-view.active{display:block}.galaxy-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;transition:opacity .4s ease}.galaxy-loading.hidden{opacity:0;pointer-events:none}.galaxy-loading-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:#ffffff80;border-radius:50%;animation:spin .8s linear infinite}.quadrant-close{position:fixed;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff9;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.quadrant-close:hover{background:#ffffff26;color:#fff;border-color:#ffffff40}.quadrant-viewport{flex:1;overflow:hidden;position:relative;cursor:grab;touch-action:none;background:#03030a}.quadrant-viewport:active{cursor:grabbing}.quadrant-viewport canvas{position:absolute;left:0;top:0;width:100%!important;height:100%!important}.quadrant-canvas{display:none}.quadrant-label{position:fixed;color:#ffffff1a;font-size:11px;letter-spacing:.2em;white-space:nowrap;user-select:none;z-index:10001;pointer-events:none}.quadrant-label-top{top:16px;left:50%;transform:translate(-50%)}.quadrant-label-bottom{bottom:16px;left:50%;transform:translate(-50%)}.quadrant-label-left{left:20px;top:50%;transform:translateY(-50%)}.quadrant-label-right{right:20px;top:50%;transform:translateY(-50%)}.quadrant-depth-label{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffff1f;font-family:"Noto Serif SC",serif;font-size:14px;letter-spacing:.3em;transition:opacity .6s ease;z-index:10001;pointer-events:none}.quadrant-galaxy-label{position:absolute;pointer-events:auto;cursor:pointer;text-align:center;transform:translate(-50%,-100%);transition:opacity .3s;display:flex;flex-direction:column;align-items:center;gap:3px}.quadrant-galaxy-label:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:90px;height:90px;border-radius:50%}.quadrant-galaxy-name{color:#ffffffbf;font-size:16px;font-weight:500;letter-spacing:.06em;white-space:nowrap;text-shadow:0 1px 12px rgba(0,0,0,.9);transition:color .2s}.quadrant-galaxy-count{color:#ffffff40;font-size:11px;font-weight:300;letter-spacing:.04em;white-space:nowrap}.quadrant-galaxy-label:hover .quadrant-galaxy-name{color:#fff}.quadrant-galaxy-label:hover .quadrant-galaxy-count{color:#ffffff80}@media(max-width:768px){.quadrant-close{width:36px;height:36px;font-size:16px;top:16px;right:16px}.quadrant-galaxy-name,.universe-enter-btn{font-size:14px}}.toast-container{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:99999;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px}.toast-item{background:#0e0e16f5;border:none;color:#fffc;padding:12px 24px;border-radius:14px;font-size:14px;line-height:1.5;letter-spacing:.02em;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);opacity:0;transform:translateY(-8px);transition:opacity .35s ease,transform .35s ease;pointer-events:none;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}.toast-item.visible{opacity:1;transform:translateY(0)}.toast-item.toast-warn,.toast-item.toast-error{color:#ff5050}.crash-fallback{position:fixed;inset:0;z-index:100000;background:#0a0a0f;display:none;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center;padding:32px}.crash-fallback.visible{display:flex}.crash-fallback-icon{width:120px;height:auto;opacity:.7}.crash-fallback-title{color:#fffc;font-size:18px;font-weight:500;letter-spacing:.04em}.crash-fallback-desc{color:#ffffff59;font-size:14px;letter-spacing:.02em;max-width:280px}.crash-fallback-btn{display:inline-flex;align-items:center;gap:4px;padding:0 32px;height:48px;border-radius:100px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:15px;font-weight:600;cursor:pointer;letter-spacing:.04em;transition:background .2s,border-color .2s,box-shadow .2s;margin-top:8px}.crash-fallback-btn:hover{background:#ffffff2e;border-color:#ffffff59;box-shadow:0 8px 32px #ffffff1a}.crash-fallback-btn:active{transform:scale(.97)}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:99998;background:#0e0e16f5;border-bottom:1px solid rgba(255,80,80,.15);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#ff7878e6;font-size:13px;text-align:center;padding:10px 16px;letter-spacing:.03em;transform:translateY(-100%);transition:transform .4s cubic-bezier(.16,1,.3,1)}.offline-banner.visible{transform:translateY(0)}
