.home-page{z-index:1;min-height:auto;padding-bottom:var(--space-10);position:relative}.home-banner-zone{z-index:2;margin-block:var(--space-4);position:relative}.home-container{z-index:2;max-width:var(--content-width);padding:var(--space-4) var(--layout-page-padding-x) 0;margin:0 auto;position:relative}.home-container>*{animation:.5s cubic-bezier(.22,1,.36,1) backwards fadeInUp}.home-container>:first-child{animation-delay:0s}.home-container>:nth-child(2){animation-delay:.1s}.home-container>:nth-child(3){animation-delay:.2s}.home-container.is-revisit>*{animation:none}.home-banner{touch-action:pan-y;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#a29bfea6,#6c5ce759 40%,#00cec938 70%,#a29bfe73);border-radius:20px;padding:1.5px;position:relative;overflow:hidden;box-shadow:0 12px 40px #6c5ce733,0 0 0 1px #ffffff0f}.home-banner:before{content:"";border-radius:inherit;pointer-events:none;z-index:2;background:linear-gradient(145deg,#ffffff1f,#0000 42% 58%,#ffffff0f);position:absolute;inset:0}.home-banner-glow{background:radial-gradient(ellipse 80% 70% at 50% 100%, color-mix(in srgb, var(--color-primary) 28%, transparent), transparent 72%);filter:blur(16px);opacity:.6;pointer-events:none;z-index:0;border-radius:16px;position:absolute;inset:8px}.home-banner-carousel{z-index:1;aspect-ratio:16/10;background:#080810bf;border-radius:18px;width:100%;max-height:220px;position:relative;overflow:hidden}@media (width>=640px){.home-banner-carousel{aspect-ratio:16/9;max-height:260px}}.home-banner-track{will-change:transform;height:100%;transition:transform .48s cubic-bezier(.22,1,.36,1);display:flex}.home-banner-track.dragging{transition:none}.home-banner-slide{cursor:pointer;flex:0 0 100%;height:100%;position:relative;overflow:hidden}.home-banner-slide img,.home-banner-placeholder{object-fit:cover;width:100%;height:100%;transition:transform 7s ease-out}.home-banner-slide.is-active img{transform:scale(1.06)}.home-banner-placeholder{background:linear-gradient(135deg,#1a1a2e,#2d2a4a)}.home-banner-scrim{pointer-events:none;background:linear-gradient(#00000059 0%,#0000 28%),linear-gradient(#0000 40%,#00000080 75%,#000000eb 100%);position:absolute;inset:0}.home-banner-content{padding:var(--space-4) var(--space-4) var(--space-3);pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}@media (width>=640px){.home-banner-content{padding:var(--space-5) var(--space-5) var(--space-4)}}.home-banner-top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.home-banner-tag{border-radius:var(--radius-full);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#6c5ce7d9,#5f3dc4bf);padding:5px 12px;font-size:.68rem;font-weight:700;box-shadow:0 4px 16px #6c5ce773}.home-banner-index{font-family:var(--font-mono);color:#ffffff8c;letter-spacing:.12em;font-size:.72rem;font-weight:600}.home-banner-bottom{align-items:flex-start;gap:var(--space-1);padding-bottom:var(--space-2);flex-direction:column;display:flex}.home-banner-title{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;text-shadow:0 4px 24px #00000080;max-width:14ch;font-size:clamp(1.15rem,4vw,1.55rem);font-weight:800;line-height:1.15}.home-banner-desc{color:#ffffffad;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:34ch;margin-bottom:0;font-size:.78rem;line-height:1.5;display:-webkit-box;overflow:hidden}.home-banner-dots{bottom:var(--space-3);border-radius:var(--radius-full);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:3;background:#00000059;border:1px solid #ffffff1a;gap:6px;padding:6px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.home-banner-dot{border-radius:var(--radius-full);cursor:pointer;background:#ffffff59;border:none;width:6px;height:6px;padding:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.home-banner-dot.is-active{background:linear-gradient(90deg,#a29bfe,#6c5ce7);width:20px;box-shadow:0 0 12px #6c5ce7cc}.home-section{margin-bottom:var(--space-10)}.home-section-head{margin-bottom:var(--space-5)}.home-section-title-block{align-items:center;gap:var(--space-3);display:flex}.home-section-icon{background:linear-gradient(135deg,#6c5ce740,#6c5ce714);border:1px solid #6c5ce759;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 8px 24px #6c5ce733,inset 0 1px #ffffff1a}.home-section-icon svg{width:20px;height:20px;color:var(--color-primary-light)}.home-section--latest .home-section-icon{background:linear-gradient(135deg,#00cec933,#00cec90f);border-color:#00cec959;box-shadow:0 8px 24px #00cec926}.home-section--latest .home-section-icon svg{color:var(--color-success)}.home-section-title{font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(135deg, var(--color-text-primary) 30%, var(--color-primary-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.15rem,3.5vw,1.4rem);font-weight:800}.home-section-rail-wrap{min-width:0;max-width:100%;position:relative}.home-section-rail{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;padding:4px 0 8px;display:grid}.home-section-rail::-webkit-scrollbar{display:none}.home-game-card{cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;min-width:0;transition:transform .3s cubic-bezier(.22,1,.36,1)}@media (width>=768px){.home-section-rail-wrap{margin-inline:calc(var(--layout-page-padding-x) * -1);max-width:calc(100% + var(--layout-page-padding-x) * 2)}.home-section-rail{justify-content:flex-start;gap:var(--space-4);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--layout-page-padding-x);padding:4px var(--layout-page-padding-x) 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;display:flex;overflow-x:auto}.home-section-rail:has(.home-game-card:nth-child(2):last-child){justify-content:center}.home-section-rail .home-game-card{flex:0 0 var(--home-card-width);width:var(--home-card-width);scroll-snap-align:center;min-width:148px;max-width:172px}.app-shell-host .home-section-rail-wrap{max-width:100%;margin-inline:0}.app-shell-host .home-section-rail{scroll-snap-type:none;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;padding:4px 0 8px;scroll-padding-inline:0;display:grid;overflow-x:visible}.app-shell-host .home-section-rail .home-game-card{flex:unset;scroll-snap-align:unset;width:100%;min-width:0;max-width:none}.home-page{overflow-x:clip}.home-section{min-width:0}}.home-game-card:active{transform:scale(.97)}@media (hover:hover){.home-game-card:hover{transform:translateY(-8px)}.home-game-card:hover .home-game-card-cover img{transform:scale(1.06)}}.home-game-card-frame{background:linear-gradient(145deg,#a29bfeb3,#6c5ce759 40%,#00cec940 70%,#a29bfe80);border-radius:20px;min-width:0;padding:1.5px;position:relative;overflow:hidden}.home-game-card-frame:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(145deg,#ffffff26,#0000 40% 60%,#ffffff14);position:absolute;inset:0}.home-game-card-cover{aspect-ratio:3/4;background:#0c0c16cc;border-radius:18px 18px 0 0;position:relative;overflow:hidden}.home-game-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1);display:block}.home-game-card-cover-shade{pointer-events:none;background:linear-gradient(#0000 55%,#00000059 100%);position:absolute;inset:0}.home-game-card-badges{z-index:2;flex-wrap:wrap;gap:4px;display:flex;position:absolute;top:10px;left:10px}.home-game-card-badge{border-radius:var(--radius-full);letter-spacing:.04em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:3px 8px;font-size:.6rem;font-weight:800}.home-game-card-badge.hot{color:#fff;background:#6c5ce7d9;box-shadow:0 2px 10px #6c5ce780}.home-game-card-badge.new{color:#fff;background:#00cec9d9}.home-game-card-body{padding:var(--space-3);backdrop-filter:blur(20px)saturate(1.3);-webkit-backdrop-filter:blur(20px)saturate(1.3);background:#0c0c16a2;border-radius:0 0 18px 18px}[data-theme=light] .home-game-card-body{background:#ffffffa6}.home-game-card-title{font-family:var(--font-display);color:var(--color-text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.35em;font-size:.86rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.home-game-card-meta{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid #ffffff14;display:flex}.home-game-card-creator{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.home-game-card-creator img{border-radius:var(--radius-full);object-fit:cover;width:20px;height:20px;box-shadow:0 0 0 1.5px #6c5ce766}.home-game-card-creator span{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.home-game-card-stats{flex-shrink:0;gap:8px;display:flex}.home-game-card-stats span{color:var(--color-text-tertiary);align-items:center;gap:3px;font-size:.62rem;font-weight:600;display:inline-flex}.home-game-card-stats svg{opacity:.8;width:10px;height:10px}.home-page--skeleton .home-container>*{animation:none}.home-banner--skeleton{overflow:hidden}.home-banner--skeleton .skeleton-banner{aspect-ratio:16/10;background:#ffffff1f;border:1px solid #ffffff1a;border-radius:18px;width:100%;max-height:220px}@media (width>=640px){.home-banner--skeleton .skeleton-banner{aspect-ratio:16/9;max-height:260px}}.home-section--skeleton{margin-bottom:var(--space-10)}.skeleton-block,.skeleton-line{background:#ffffff1f;border:1px solid #ffffff1a;position:relative;overflow:hidden}.skeleton-block:after,.skeleton-line:after{content:"";background:linear-gradient(90deg,#0000,#ffffff14,#0000);animation:1.4s ease-in-out infinite homeSkeletonShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes homeSkeletonShimmer{to{transform:translate(100%)}}.skeleton-section-title{border-radius:var(--radius-full);width:140px;height:28px;margin-bottom:var(--space-5)}.skeleton-row{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.skeleton-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;width:100%;min-width:0;max-width:none;overflow:hidden}@media (width>=768px){.skeleton-row{justify-content:flex-start;gap:var(--space-4);display:flex}.skeleton-row:has(.skeleton-card:nth-child(2):last-child){justify-content:center}.skeleton-card{flex:0 0 var(--home-card-width);width:var(--home-card-width);min-width:148px;max-width:172px}.app-shell-host .skeleton-row{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.app-shell-host .skeleton-card{flex:unset;width:100%;min-width:0;max-width:none}}.skeleton-card-cover{aspect-ratio:3/4}.skeleton-card-body{padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.skeleton-line{border-radius:var(--radius-full);height:10px}.skeleton-line.title{width:80%;height:14px}.skeleton-line.short{width:50%}[data-theme=light] .skeleton-block,[data-theme=light] .skeleton-line{background:#0000000f;border-color:#0000000f}[data-theme=light] .skeleton-card{background:#00000008;border-color:#0000000f}.error-state{justify-content:center;align-items:center;gap:var(--space-3);min-height:260px;color:var(--color-text-tertiary);flex-direction:column;display:flex}.retry-btn{border-radius:var(--radius-full);color:#fff;cursor:pointer;background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));border:none;padding:10px 22px;font-size:.85rem;font-weight:700;box-shadow:0 8px 28px #6c5ce773}.retry-btn:active{transform:scale(.96)}.legal-doc{color:var(--color-text-secondary);font-size:.82rem;line-height:1.7}.legal-doc-title{margin:0 0 var(--space-4);font-family:var(--font-display);color:var(--color-text-primary);text-align:center;font-size:1.15rem;font-weight:700}.legal-doc-h{margin:var(--space-4) 0 var(--space-2);color:var(--color-text-primary);font-size:.92rem;font-weight:600}.legal-doc-h4{margin:var(--space-3) 0 var(--space-1);color:var(--color-text-primary);font-size:.85rem;font-weight:600}.legal-doc p{margin:0 0 var(--space-2)}.legal-doc strong{color:var(--color-text-primary);font-weight:700}.legal-doc a{color:var(--color-primary);word-break:break-all}.legal-doc-list{margin:0 0 var(--space-2);padding-left:1.2em}.legal-doc-list li{margin-bottom:var(--space-1)}.legal-doc-placeholder{padding:var(--space-4);border-radius:var(--radius-lg);border:1px dashed var(--color-border);background:var(--color-bg-primary);color:var(--color-text-tertiary);text-align:center}@property --keyboard-inset-bottom{syntax:"<length>";inherits:true;initial-value:0}:root{--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-display:"Outfit", "Plus Jakarta Sans", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--transition-fast:.15s ease;--transition-normal:.25s ease-out;--transition-slow:.4s ease-in-out;--transition-bounce:.4s cubic-bezier(.34, 1.56, .64, 1);--z-background:-1;--z-content:1;--z-sticky:50;--z-header:100;--z-dropdown:150;--z-modal:200;--z-toast:300;--z-tooltip:400;--z-bottom-sheet:9999;--z-overlay-above-sheet:12050;--bottom-tab-height:68px;--toolbar-control-height:36px;--subpage-header-action-height:var(--toolbar-control-height);--subpage-header-height:calc(var(--space-3) * 2 + var(--subpage-header-action-height));--header-height:var(--subpage-header-height);--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--keyboard-inset-bottom:0px;--ai-play-keyboard-lift:0px;--keyboard-input-lift:0px;--viewport-bottom-inset:var(--safe-area-bottom,0px);--keyboard-move-duration:.28s;--keyboard-move-easing:cubic-bezier(.22, 1, .36, 1);--keyboard-move-transition:transform var(--keyboard-move-duration) var(--keyboard-move-easing);transition:--keyboard-inset-bottom var(--keyboard-move-duration) var(--keyboard-move-easing);--layout-header-total:calc(var(--header-height) + var(--safe-area-top));--layout-bottom-total:calc(var(--bottom-tab-height) + var(--safe-area-bottom));--layout-page-padding-x:var(--space-6);--content-width:1200px;--app-shell-width:100dvw;--shell-stage-height:min(calc(var(--app-shell-width) * 16 / 9), 100dvh);--edit-dialogue-panel-height:calc(var(--app-shell-width) * 4 / 9);--shell-dialogue-height:var(--edit-dialogue-panel-height);--shell-ai-dialogue-height:calc(var(--shell-stage-height) * .5);--edit-character-slide-width:calc(var(--app-shell-width) * 2 / 3 - 20px);--edit-character-carousel-padding:calc(var(--app-shell-width) / 6 + 10px);--shell-choice-card-width:calc(var(--app-shell-width) * .8);--shell-portrait-area-height:max(0px, calc(var(--shell-stage-height) - var(--shell-dialogue-height)));--shell-portrait-speak-scale:1.3;--shell-portrait-max-height:calc(var(--shell-stage-height) * .65);--shell-portrait-small-max-height:calc(var(--shell-stage-height) * .325);--shell-portrait-ai-max-height:min(calc(var(--shell-stage-height) * .26), 240px);--shell-overlay-max-height:calc(var(--shell-stage-height) * .85);--home-card-width:clamp(148px, calc(var(--app-shell-width) * .42), 172px)}@media (width>=768px){:root{--app-shell-width:min(100dvw, calc(100dvh * 9 / 16));--app-shell-radius:20px;--content-width:var(--app-shell-width)}}:root,[data-theme=dark]{--color-bg-primary:#0a0a0f;--color-bg-secondary:#12121a;--color-bg-tertiary:#1a1a2e;--color-bg-card:#16161f;--color-primary:#6c5ce7;--color-primary-light:#a29bfe;--color-primary-dark:#5f3dc4;--color-primary-glow:#6c5ce766;--color-text-primary:#f5f5f7;--color-text-secondary:#c8c8da;--color-text-tertiary:#9898b4;--color-text-link:#a29bfe;--color-border:#2a2a3a;--color-border-light:#3a3a4a;--color-success:#00cec9;--color-warning:#fdcb6e;--color-danger:#ff7675;--color-info:#74b9ff;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-xl:0 16px 48px #0009;--shadow-glow:0 0 20px var(--color-primary-glow);--shadow-card:0 2px 8px #00000040;--shadow-card-hover:0 8px 24px #6c5ce733;--color-hero-overlay:linear-gradient(to bottom, #0000 40%, #0a0a0fe6 100%);--color-hero-floating-btn:#0006;--color-hero-floating-btn-active:#0009;--color-hero-floating-btn-text:#fff;--color-scene-top-gradient:linear-gradient(to bottom, #00000080 0%, transparent 100%);--color-glass-surface:#12121af2;--color-glass-surface-hover:#12121a;--color-glass-surface-medium:#12121acc;--color-glass-surface-light:#12121a99;--color-glass-surface-solid:#12121afa;--color-glass-surface-hover-alt:#1e1e2eb3;--color-primary-overlay:#6c5ce726;--color-primary-overlay-hover:#6c5ce74d;--color-control-btn-hover-bg:#6c5ce74d;--color-slider-track:#ffffff1a;--color-switch-off:#ffffff26;--color-divider-subtle:#ffffff0f;--color-edit-top-bar:#0a0a109e;--color-edit-bar-border:#ffffff1a;--color-edit-bar-control-bg:#ffffff0f;--color-edit-bar-control-bg-hover:#ffffff1f;--color-edit-bar-control-border:#ffffff1f;--color-edit-bar-control-text:var(--color-text-secondary);--chrome-bar-blur:blur(20px) saturate(1.25);--color-floating-btn-on-scene:#ffffff26;--color-floating-btn-on-scene-hover:#ffffff40;--color-floating-btn-on-scene-text:#fff;--color-surface-hover-subtle:#ffffff1a;--color-dialogue-role-name:#b4a8ff;--color-dialogue-role-text:#f0efff;--color-dialogue-narration:#f0efffb3;--color-dialogue-action:#fff;--color-dialogue-action-hover:#ffffffb3;--color-dialogue-hint:#fff6;--color-dialogue-divider:#ffffff0d;--color-input-glass:#ffffff0f;--color-input-glass-border:#ffffff1f;--color-input-glass-hover:#ffffff1a;--color-tab-btn-border:#ffffff26;--color-tab-btn-bg:#ffffff0d;--color-tab-btn-text:#ffffff80;--color-scrollbar-track:#ffffff0d;--color-scrollbar-thumb:#fff3;--color-scrollbar-thumb-hover:#ffffff4d;--color-profile-header-glow:linear-gradient(135deg, #6c5ce747 0%, #a29bfe1a 45%, transparent 100%)}[data-theme=light]{--color-bg-primary:#fff;--color-bg-secondary:#f5f5f7;--color-bg-tertiary:#e8e8ed;--color-bg-card:#fafafa;--color-primary:#6c5ce7;--color-primary-light:#a29bfe;--color-primary-dark:#5f3dc4;--color-primary-glow:#6c5ce733;--color-text-primary:#1a1a2e;--color-text-secondary:#6c6c80;--color-text-tertiary:#9e9eb0;--color-text-link:#6c5ce7;--color-border:#e0e0e6;--color-border-light:#d0d0d8;--color-success:#00b894;--color-warning:#f39c12;--color-danger:#e74c3c;--color-info:#0984e3;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-xl:0 16px 48px #0000001f;--shadow-glow:0 0 20px var(--color-primary-glow);--shadow-card:0 2px 8px #0000000f;--shadow-card-hover:0 8px 24px #6c5ce726;--color-hero-overlay:linear-gradient(to bottom, #fff0 40%, #fffffff2 100%);--color-hero-floating-btn:#ffffffbf;--color-hero-floating-btn-active:#fffffff2;--color-hero-floating-btn-text:#1a1a2e;--color-scene-top-gradient:linear-gradient(to bottom, #12121ab8 0%, transparent 100%);--color-glass-surface:#fffffff2;--color-glass-surface-hover:#fff;--color-glass-surface-medium:#ffffffe0;--color-glass-surface-light:#ffffffd1;--color-glass-surface-solid:#fffffffa;--color-glass-surface-hover-alt:#ffffffeb;--color-primary-overlay:#6c5ce71a;--color-primary-overlay-hover:#6c5ce72e;--color-control-btn-hover-bg:var(--color-bg-tertiary);--color-slider-track:#0000001a;--color-switch-off:#0000001f;--color-divider-subtle:#0000000f;--color-edit-top-bar:#f4f5fc85;--color-edit-bar-border:#00000014;--color-edit-bar-control-bg:#ffffffd1;--color-edit-bar-control-bg-hover:#fffffff2;--color-edit-bar-control-border:#00000014;--color-edit-bar-control-text:var(--color-text-secondary);--chrome-bar-blur:blur(20px) saturate(1.25);--color-floating-btn-on-scene:#ffffffd9;--color-floating-btn-on-scene-hover:#fffffff2;--color-floating-btn-on-scene-text:#1a1a2e;--color-surface-hover-subtle:#0000000f;--color-dialogue-role-name:#6c5ce7;--color-dialogue-role-text:#1a1a2e;--color-dialogue-narration:#6c6c80;--color-dialogue-action:#6c6c80;--color-dialogue-action-hover:#1a1a2e;--color-dialogue-hint:#9e9eb0;--color-dialogue-divider:#e0e0e6;--color-input-glass:#f5f5f7;--color-input-glass-border:#e0e0e6;--color-input-glass-hover:#e8e8ed;--color-tab-btn-border:var(--color-border);--color-tab-btn-bg:var(--color-bg-secondary);--color-tab-btn-text:var(--color-text-secondary);--color-scrollbar-track:#0000000a;--color-scrollbar-thumb:#00000026;--color-scrollbar-thumb-hover:#00000040;--color-profile-header-glow:linear-gradient(135deg, #6c5ce71f 0%, #a29bfe0d 45%, transparent 100%)}.ai-edit-form-label{color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:.85rem;font-weight:600;display:block}.ai-edit-form-label .required{color:var(--color-danger)}.ai-edit-input,.ai-edit-textarea,.ai-create-textarea,.form-input{box-sizing:border-box;background:var(--color-input-glass);border:1px solid var(--color-input-glass-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);font-family:inherit}.ai-edit-input,.form-input{padding:var(--space-3) var(--space-4);font-size:.9rem}.form-input{height:44px;padding:0 var(--space-4)}.ai-edit-textarea,.ai-create-textarea{min-height:140px;padding:var(--space-3) var(--space-4);resize:vertical;font-size:.9rem;line-height:1.55}.ai-edit-textarea--large,.ai-create-textarea{min-height:280px;padding:var(--space-4);border-radius:var(--radius-lg);font-size:.95rem;line-height:1.7}.ai-edit-input:focus,.ai-edit-textarea:focus,.ai-create-textarea:focus,.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none}.ai-edit-input::placeholder,.ai-edit-textarea::placeholder,.ai-create-textarea::placeholder,.form-input::placeholder{color:var(--color-text-tertiary)}.ai-edit-form-group{margin-bottom:var(--space-4)}.edit-toggle-row{gap:var(--space-2);display:flex}.edit-toggle-btn{border-radius:var(--radius-md);cursor:pointer;height:36px;transition:all var(--transition-fast);border:1px solid var(--color-input-glass-border);background:var(--color-input-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--color-text-secondary);-webkit-tap-highlight-color:transparent;flex:1;justify-content:center;align-items:center;font-size:.8rem;display:flex}.edit-toggle-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.5}.viewport-safe-area-bottom{pointer-events:none;z-index:calc(var(--z-header,100) + 1);position:fixed;bottom:0;left:0;right:0}body{background-color:var(--color-bg-primary);min-height:100dvh;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;-webkit-user-select:text;user-select:text}.allow-text-select,.allow-text-select *{-webkit-user-select:text;user-select:text}img,svg{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;max-width:100%;display:block}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{transform:translateY(16px)}to{transform:translate(0,0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ripple{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes tapBounce{0%{transform:scale(1)}50%{transform:scale(.92)}to{transform:scale(1)}}@keyframes fadeSlideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeSlideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeSlideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-40px)}}@keyframes fadeSlideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}@keyframes staggerFadeIn{0%{transform:translateY(12px)}to{transform:translate(0,0)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modalSlideDown{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(100%)scale(.95)}}@keyframes iconPop{0%{transform:scale(1)}30%{transform:scale(1.3)}to{transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-normal)}.animate-fade-in-up{animation:fadeInUp var(--transition-slow)}.animate-slide-up{animation:slideUp var(--transition-slow) var(--transition-bounce)}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite rotate}.animate-bounce-in{animation:bounceIn .5s ease var(--transition-bounce)}.animate-tap-bounce{animation:.2s tapBounce}.page-transition-container{position:relative}.route-transition-page{width:100%;min-height:100%}.page-fade-enter-active,.page-fade-exit-active{transition:opacity var(--transition-normal);will-change:opacity}.page-fade-enter,.page-fade-exit-to{opacity:0}@media (prefers-reduced-motion:reduce){.page-fade-enter-active,.page-fade-exit-active{transition:none}.page-fade-enter,.page-fade-exit-to{opacity:1}}.modal-overlay-enter-active{animation:.25s ease-out modalFadeIn}.modal-overlay-exit-active{animation:.2s ease-in reverse modalFadeIn}.modal-content-enter-active{animation:modalSlideUp .3s var(--transition-bounce)}.modal-content-exit-active{animation:.25s ease-in modalSlideDown}.stagger-item{opacity:0;animation:.4s ease-out forwards staggerFadeIn}.stagger-item:first-child{animation-delay:0s}.stagger-item:nth-child(2){animation-delay:40ms}.stagger-item:nth-child(3){animation-delay:80ms}.stagger-item:nth-child(4){animation-delay:.12s}.stagger-item:nth-child(5){animation-delay:.16s}.stagger-item:nth-child(6){animation-delay:.2s}.stagger-item:nth-child(7){animation-delay:.24s}.stagger-item:nth-child(8){animation-delay:.28s}.stagger-item:nth-child(9){animation-delay:.32s}.stagger-item:nth-child(10){animation-delay:.36s}.stagger-item:nth-child(11){animation-delay:.4s}.stagger-item:nth-child(12){animation-delay:.44s}.subpage-header{z-index:var(--z-header);min-height:var(--layout-header-total);box-sizing:border-box;padding-left:var(--layout-page-padding-x);padding-right:var(--layout-page-padding-x);background:var(--color-edit-top-bar);backdrop-filter:var(--chrome-bar-blur);-webkit-backdrop-filter:var(--chrome-bar-blur);border-bottom:1px solid var(--color-edit-bar-border);isolation:isolate;flex-direction:column;align-items:stretch;display:flex;position:fixed;top:0;left:0;right:0}.subpage-header-spacer{height:var(--layout-header-total);pointer-events:none;flex-shrink:0}.subpage-header-inner{align-items:center;gap:var(--space-4);width:100%;max-width:var(--content-width);height:var(--subpage-header-height);min-height:var(--subpage-header-height);flex-shrink:0;margin:0 auto;display:flex}.subpage-header-left{align-items:center;gap:var(--space-4);min-width:0;min-height:var(--subpage-header-action-height);flex:1;display:flex}.subpage-header-title{font-family:var(--font-display);font-size:1.1rem;line-height:var(--subpage-header-action-height);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.subpage-header-back{width:var(--subpage-header-action-height);height:var(--subpage-header-action-height);margin-left:calc((var(--subpage-header-action-height) - 22px) / -2);color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.subpage-header-back:active{color:var(--color-text-primary)}.subpage-header-action{justify-content:center;align-items:center;gap:var(--space-1);height:var(--toolbar-control-height);padding:0 var(--space-3);box-sizing:border-box;border-radius:var(--radius-full);background:var(--color-edit-bar-control-bg);border:1px solid var(--color-edit-bar-control-border);color:var(--color-edit-bar-control-text);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-shrink:0;font-size:.82rem;font-weight:500;line-height:1;display:inline-flex}.subpage-header-action:active{background:var(--color-edit-bar-control-bg-hover);color:var(--color-text-primary);transform:scale(.94)}.subpage-header-action svg{width:16px;height:16px}.header{box-sizing:border-box;min-height:var(--layout-header-total);background:var(--chrome-bar-bg,var(--color-bg-primary));backdrop-filter:var(--chrome-bar-blur,none);-webkit-backdrop-filter:var(--chrome-bar-blur,none);border-bottom:1px solid var(--color-border);z-index:var(--z-header);flex-direction:column;align-items:stretch;display:flex;position:fixed;top:0;left:0;right:0}.header-inner{align-items:center;gap:var(--space-4);width:100%;max-width:var(--content-width);padding:0 var(--layout-page-padding-x);box-sizing:border-box;min-height:var(--header-height);height:var(--header-height);flex-shrink:0;margin:0 auto;display:flex}.header-left{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.header-import-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--toolbar-control-height);padding:0 var(--space-4);box-sizing:border-box;background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;border-radius:var(--radius-full);white-space:nowrap;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;border:none;flex-shrink:0;font-size:.85rem;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:hidden}.header-import-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.header-import-btn:active{transform:scale(.92)translateY(0)}.header-import-btn:after{content:"";opacity:0;pointer-events:none;background:#fff;transition:opacity .15s;position:absolute;inset:0}.header-import-btn:active:after{opacity:.2}.header-import-btn svg{flex-shrink:0;width:16px;height:16px}.header-import-input{display:none}.header-search{flex:1;min-width:0;position:relative}.search-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.search-icon{left:var(--space-3);color:var(--color-text-secondary);pointer-events:none;width:16px;height:16px;transition:color var(--transition-fast);position:absolute}.search-input{width:100%;height:var(--toolbar-control-height);padding:0 var(--space-4) 0 36px;box-sizing:border-box;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-primary);transition:all var(--transition-normal);font-size:.85rem;line-height:1}.search-input:focus{background:var(--color-bg-secondary);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none}.search-input:focus+.search-icon,.search-input-wrapper:focus-within .search-icon{color:var(--color-primary)}.search-input::placeholder{color:var(--color-text-tertiary)}.header-right{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.notification-btn{width:var(--toolbar-control-height);height:var(--toolbar-control-height);box-sizing:border-box;border-radius:var(--radius-full);background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.notification-btn:hover{color:var(--color-text-primary);border-color:var(--color-primary)}.notification-btn:active{transform:scale(.9)}.notification-btn svg{width:18px;height:18px}.notification-badge{background:var(--color-danger);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:1;display:flex;position:absolute;top:4px;right:4px}.login-btn{height:var(--toolbar-control-height);padding:0 var(--space-4);box-sizing:border-box;background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;border-radius:var(--radius-full);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:hidden}.login-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.login-btn:active{transform:scale(.92)translateY(0)}.login-btn:after{content:"";opacity:0;pointer-events:none;background:#fff;transition:opacity .15s;position:absolute;inset:0}.login-btn:active:after{opacity:.2}.bottom-tab{box-sizing:border-box;background:var(--chrome-bar-bg,var(--color-bg-primary));backdrop-filter:var(--chrome-bar-blur,none);-webkit-backdrop-filter:var(--chrome-bar-blur,none);border-top:1px solid var(--color-border);z-index:var(--z-header);flex-direction:column;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab-inner{width:100%;max-width:560px;min-height:var(--bottom-tab-height);height:var(--bottom-tab-height);padding:0 var(--space-4);box-sizing:border-box;background:0 0;border-top:none;border-radius:0;flex-shrink:0;justify-content:space-around;align-items:center;margin:0 auto;display:flex}@media (width>=768px){.bottom-tab-inner{max-width:var(--content-width)}.tab-item{padding:var(--space-2) var(--space-8)}}.tab-item{padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), transform .1s ease;border-radius:var(--radius-md);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}[data-theme=dark] .tab-item{color:#f5f5f7b8}[data-theme=dark] .tab-item .tab-icon{stroke-width:2.1px}.tab-item:before{content:"";opacity:0;background:var(--color-primary);border-radius:0 0 var(--radius-full) var(--radius-full);width:0;height:3px;transition:width .25s var(--transition-bounce), opacity .2s ease;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.tab-item:active{transform:scale(.88)}.tab-item:hover{color:var(--color-text-primary)}[data-theme=dark] .tab-item:hover{color:#f5f5f7eb}.tab-item.active{color:var(--color-primary-light)}[data-theme=dark] .tab-item.active{color:#c8c0ff}.tab-item.active:before{opacity:1;width:24px}.tab-icon{width:24px;height:24px;transition:transform var(--transition-fast), color var(--transition-fast)}.tab-item.active .tab-icon{transform:translateY(-2px)}.tab-label{letter-spacing:.5px;font-size:.72rem;font-weight:600}[data-theme=dark] .tab-label{text-shadow:0 1px 3px #00000073}.tab-center-slot{flex-shrink:0;justify-content:center;align-items:center;display:flex}.tab-create-btn{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;cursor:pointer;width:52px;height:52px;transition:transform var(--transition-fast), box-shadow var(--transition-normal);box-shadow:0 0 0 1px var(--color-border), 0 4px 14px #6c5ce759;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.tab-create-btn:hover{box-shadow:0 0 0 1px var(--color-border), 0 6px 18px #6c5ce773}.tab-create-btn:active{transform:scale(.92)}.tab-create-btn.active{box-shadow:0 0 0 2px var(--color-primary-glow), 0 4px 14px #6c5ce773}.tab-create-icon{width:20px;height:20px}.tab-create-label{letter-spacing:.3px;font-size:.55rem;font-weight:600;line-height:1}@media (width>=768px){.tab-create-btn{width:56px;height:56px}.tab-create-icon{width:21px;height:21px}}:root{--cosmic-chrome-bg:#0a0a109e;--cosmic-chrome-blur:blur(20px) saturate(1.25);--cosmic-glass-surface:#0c0c1661;--cosmic-glass-modal:#0c0c16c7;--chrome-bar-bg:var(--color-bg-primary);--chrome-bar-blur:none}.main-layout--cosmic,.main-layout--cosmic .main-content{background:0 0}.main-layout--cosmic .header,.main-layout--cosmic .bottom-tab{--chrome-bar-bg:var(--cosmic-chrome-bg);--chrome-bar-blur:var(--cosmic-chrome-blur);background:var(--chrome-bar-bg);backdrop-filter:var(--chrome-bar-blur);-webkit-backdrop-filter:var(--chrome-bar-blur);border-color:#ffffff1a;box-shadow:inset 0 -1px #ffffff0f,0 8px 32px #00000040}.main-layout--cosmic .search-icon{color:var(--color-text-secondary)}.main-layout--cosmic .tab-item{color:#f5f5f7b8}.main-layout--cosmic .tab-item .tab-icon{opacity:1;stroke-width:2.1px}.main-layout--cosmic .tab-item .tab-label{text-shadow:0 1px 4px #0000008c;font-weight:600}.main-layout--cosmic .tab-item:hover{color:#f5f5f7eb}.main-layout--cosmic .tab-item.active{color:#c8c0ff}.main-layout--cosmic .tab-item.active .tab-icon{filter:drop-shadow(0 0 8px #a29bfe73)}[data-theme=light] .main-layout--cosmic .header,[data-theme=light] .main-layout--cosmic .bottom-tab{--chrome-bar-bg:#f4f5fc7a}.cosmic-page{background:0 0;min-height:100dvh;position:relative}.cosmic-page-body{z-index:1;min-height:100dvh;position:relative}.cosmic-page .subpage-header{background:var(--cosmic-chrome-bg);backdrop-filter:var(--cosmic-chrome-blur);-webkit-backdrop-filter:var(--cosmic-chrome-blur);border-color:#ffffff1a}.cosmic-page .subpage-header:before{background:var(--cosmic-chrome-bg)}[data-theme=light] .cosmic-page .subpage-header{--cosmic-chrome-bg:#f4f5fc85}[data-theme=light] .cosmic-page .subpage-header:before{background:var(--cosmic-chrome-bg)}.cosmic-page .subpage-header-action{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff0f;border-color:#ffffff1f}.home-starfield{z-index:0;pointer-events:none;background:radial-gradient(130% 90% at 50% -15%,#483ab48c 0%,#0000 58%),radial-gradient(80% 50% at 80% 20%,#00cec91f 0%,#0000 55%),linear-gradient(#050510 0%,#080818 42%,#0a0a18 100%);position:fixed;inset:0;overflow:hidden}[data-theme=light] .home-starfield{background:radial-gradient(100% 70% at 50% -10%,#d8dcf8 0%,#0000 60%),linear-gradient(#e8ebfa 0%,#eef0fb 50%,#f4f6fd 100%)}.home-aurora{filter:blur(50px);opacity:.62;mix-blend-mode:screen;width:140%;height:45%;animation:14s ease-in-out infinite alternate homeAuroraDrift;position:absolute;left:-20%}.home-aurora--a{background:linear-gradient(105deg,#0000 20%,#6c5ce78c 45%,#00cec940 65%,#0000 85%);top:5%}.home-aurora--b{opacity:.42;background:linear-gradient(-75deg,#0000 15%,#a29bfe66 40%,#5f3dc433 60%,#0000 80%);animation-duration:18s;animation-delay:-7s;top:25%}[data-theme=light] .home-aurora{opacity:.28;mix-blend-mode:multiply}@keyframes homeAuroraDrift{0%{transform:translate(-4%)skewY(-2deg)}to{transform:translate(4%)skewY(2deg)}}.home-starfield-nebula--top{width:min(800px, var(--app-shell-width));filter:blur(70px);background:radial-gradient(#6c5ce785,#0000 68%);border-radius:50%;height:340px;position:absolute;top:-5%;left:50%;transform:translate(-50%)}.home-starfield-stars{background-repeat:repeat;position:absolute;inset:0}.home-starfield-stars--far{background-image:radial-gradient(1px 1px at 10% 15%,#ffffffd9,#0000),radial-gradient(1px 1px at 35% 68%,#ffffffb3,#0000),radial-gradient(1px 1px at 62% 28%,#ffffffbf,#0000),radial-gradient(1px 1px at 88% 55%,#ffffffa6,#0000),radial-gradient(1px 1px at 20% 88%,#ffffff8c,#0000),radial-gradient(1px 1px at 52% 8%,#ffffff9e,#0000),radial-gradient(1px 1px at 78% 82%,#c8beff99,#0000);background-size:400px 400px;animation:5s ease-in-out infinite alternate homeStarPulse}.home-starfield-stars--mid{background-image:radial-gradient(1.5px 1.5px at 15% 40%,#fffffff2,#0000),radial-gradient(1.5px 1.5px at 45% 18%,#c8beffe6,#0000),radial-gradient(1.5px 1.5px at 70% 65%,#ffffffe0,#0000),radial-gradient(1.5px 1.5px at 85% 22%,#b4aaffd1,#0000),radial-gradient(1.5px 1.5px at 30% 75%,#fffc,#0000);background-size:300px 300px;animation:3.5s ease-in-out .8s infinite alternate homeStarPulse}.home-starfield-stars--near{background-image:radial-gradient(2px 2px at 25% 32%,#fff,#0000),radial-gradient(2px 2px at 55% 52%,#fffffff2,#0000),radial-gradient(2px 2px at 75% 15%,#c8befff2,#0000),radial-gradient(2px 2px at 40% 70%,#ffffffe6,#0000);background-size:240px 240px;animation:2.5s ease-in-out .4s infinite alternate homeStarPulse}.home-starfield-shooting{opacity:0;background:linear-gradient(90deg,#ffffffe6,#0000);width:80px;height:1px;animation:8s ease-in-out 2s infinite homeShootingStar;position:absolute;top:18%;left:70%;transform:rotate(-35deg)}@keyframes homeStarPulse{0%{opacity:.72}to{opacity:1}}@keyframes homeShootingStar{0%,78%,to{opacity:0;transform:rotate(-35deg)translate(0)}82%{opacity:1}92%{opacity:0;transform:rotate(-35deg)translate(-120px)}}@media (prefers-reduced-motion:reduce){.home-aurora,.home-starfield-stars,.home-starfield-shooting{animation:none}.home-starfield-stars{opacity:.85}}.cosmic-page .auth-page,.cosmic-page .search-page,.cosmic-page .settings-page,.cosmic-page .notifications-page,.cosmic-page .creator-page,.cosmic-page .game-detail-page,.cosmic-page .user-profile-page,.cosmic-page .post-detail-page,.cosmic-page .new-post-page,.cosmic-page .favorites-page,.cosmic-page .likes-page,.cosmic-page .my-works-page,.cosmic-page .drafts-page,.cosmic-page .play-records-page,.cosmic-page .avatar-crop-page,.cosmic-page .about-page,.cosmic-page .privacy-page,.cosmic-page .agreement-page,.cosmic-page .feedback-page,.cosmic-page .fault-report-page,.cosmic-page .notif-settings-page,.cosmic-page .account-security-page,.cosmic-page .parental-control-page,.cosmic-page .data-backup-page,.cosmic-page .settings-hub-page,.cosmic-page .visual-basic-page,.cosmic-page .models-page,.cosmic-page .ai-stats-page,.cosmic-page .unlock-wall-page,.cosmic-page .records-page,.cosmic-page .ai-create-page,.cosmic-page .new-game-page,.cosmic-page .agent-basic-page,.cosmic-page .ai-write-page,.cosmic-page .ai-assets-page,.cosmic-page .edit-play-page,.cosmic-page .game-play-page,.cosmic-page .ai-play-page{background:0 0!important}.cosmic-glass-panel{border-radius:var(--radius-xl);backdrop-filter:blur(16px)saturate(1.2);-webkit-backdrop-filter:blur(16px)saturate(1.2);background:#0c0c16ad;border:1px solid #ffffff1a;overflow:hidden;box-shadow:0 8px 28px #0003,inset 0 1px #ffffff0f}[data-theme=light] .cosmic-glass-panel{background:#ffffffe0;border-color:#00000014}.cosmic-page .settings-card,.cosmic-page .auth-card,.cosmic-page .notification-item,.cosmic-page .about-section,.cosmic-page .privacy-card,.cosmic-page .agreement-card,.cosmic-page .feedback-card,.cosmic-page .fault-report-card,.cosmic-page .post-card-inner,.cosmic-page .user-profile-card,.cosmic-page .profile-list-card,.cosmic-page .game-list-card,.cosmic-page .record-item,.cosmic-page .notif-settings-card,.cosmic-page .account-security-card,.cosmic-page .parental-control-card,.cosmic-page .parental-control-intro,.cosmic-page .data-backup-card,.cosmic-page .data-backup-intro,.cosmic-page .settings-hub-card,.cosmic-page .models-card-wrap,.cosmic-page .ai-stats-card-wrap,.cosmic-page .profile-ai-storage-item,.cosmic-page .cosmic-glass-panel,.cosmic-page .ai-write-plot-ref,.cosmic-page .ai-assets-card,.cosmic-page .ai-assets-done-banner,.cosmic-page .publish-record-item{backdrop-filter:blur(16px)saturate(1.2);-webkit-backdrop-filter:blur(16px)saturate(1.2);background:#0c0c16ad;border-color:#ffffff1a;box-shadow:0 8px 28px #0003,inset 0 1px #ffffff0f}.cosmic-page .creator-page .draft-item-inner{background:var(--cosmic-glass-surface);backdrop-filter:blur(12px)saturate(1.15);-webkit-backdrop-filter:blur(12px)saturate(1.15);border:1px solid #ffffff0f;box-shadow:inset 0 1px #ffffff0a}.cosmic-page .creator-page .creator-actions-card{background:var(--cosmic-glass-surface);backdrop-filter:blur(12px)saturate(1.15);-webkit-backdrop-filter:blur(12px)saturate(1.15);border:1px solid #ffffff0f;box-shadow:0 4px 18px #0000001f,inset 0 1px #ffffff0a}.modal-sheet{background:var(--cosmic-glass-modal);backdrop-filter:blur(24px)saturate(1.25);-webkit-backdrop-filter:blur(24px)saturate(1.25);border-top:1px solid #ffffff1a}[data-theme=light] .modal-sheet{background:#ffffffe0}.cosmic-page .drafts-page .draft-item{backdrop-filter:blur(16px)saturate(1.2);-webkit-backdrop-filter:blur(16px)saturate(1.2);background:#0c0c16ad;border-color:#ffffff1a;box-shadow:0 8px 28px #0003,inset 0 1px #ffffff0f}[data-theme=light] .cosmic-page .settings-card,[data-theme=light] .cosmic-page .auth-card,[data-theme=light] .cosmic-page .notification-item,[data-theme=light] .cosmic-page .about-section{background:#ffffffe0;border-color:#00000014}.cosmic-page .auth-card{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border:none}.cosmic-page .auth-tabs{background:#ffffff0f;border-color:#ffffff1a}.cosmic-page .auth-tab.active{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;box-shadow:0 4px 14px #6c5ce759}.cosmic-page .form-textarea,.cosmic-page .form-select,.cosmic-page .modal-form-input,.cosmic-page .game-basic-form .form-input,.cosmic-page .game-basic-form .form-textarea,.cosmic-page .game-basic-form .tags-input-wrapper,.cosmic-page .settings-modal .form-input,.cosmic-page .search-input,.cosmic-page .comment-input,.cosmic-page .scene-name-input,.cosmic-page .char-state-input,.cosmic-page .ai-assets-name-input,.cosmic-page .add-character-state-input,.cosmic-page .edit-option-text,.cosmic-page .ns-search,.cosmic-page .scene-modal-search,.cosmic-page .city-picker-search,.cosmic-page .ai-play-input-pill,.cosmic-page .chapter-outline-title-input,.cosmic-page .chapter-outline-summary,.cosmic-page .chapter-outline-detail,.cosmic-page .add-character-form-input,.cosmic-page .edit-editor-textarea,.cosmic-page .modal-textarea,.cosmic-page .ai-edit-asset-btn,.cosmic-page .ai-edit-locate-btn,.report-textarea{background:var(--color-input-glass);border-color:var(--color-input-glass-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=light] .cosmic-page .form-textarea,[data-theme=light] .cosmic-page .form-select,[data-theme=light] .cosmic-page .modal-form-input,[data-theme=light] .cosmic-page .game-basic-form .form-input,[data-theme=light] .cosmic-page .game-basic-form .form-textarea,[data-theme=light] .cosmic-page .search-input,[data-theme=light] .cosmic-page .comment-input,[data-theme=light] .cosmic-page .scene-name-input,[data-theme=light] .cosmic-page .char-state-input,[data-theme=light] .cosmic-page .ai-assets-name-input,[data-theme=light] .cosmic-page .add-character-state-input,[data-theme=light] .cosmic-page .edit-option-text,[data-theme=light] .cosmic-page .ns-search,[data-theme=light] .cosmic-page .scene-modal-search,[data-theme=light] .cosmic-page .city-picker-search,[data-theme=light] .cosmic-page .ai-play-input-pill,[data-theme=light] .cosmic-page .chapter-outline-title-input,[data-theme=light] .cosmic-page .chapter-outline-summary,[data-theme=light] .cosmic-page .chapter-outline-detail,[data-theme=light] .cosmic-page .add-character-form-input,[data-theme=light] .cosmic-page .edit-editor-textarea,[data-theme=light] .cosmic-page .modal-textarea,[data-theme=light] .cosmic-page .ai-edit-asset-btn,[data-theme=light] .cosmic-page .ai-edit-locate-btn,[data-theme=light] .report-textarea{background:var(--color-input-glass);border-color:var(--color-input-glass-border)}.cosmic-page .auth-logo-icon{background:#6c5ce72e;border-color:#6c5ce759;box-shadow:0 8px 24px #6c5ce740}.cosmic-page .auth-submit,.cosmic-page .send-code-btn{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));box-shadow:0 4px 16px #6c5ce759}.cosmic-page .settings-item+.settings-item{border-top-color:#ffffff0f}[data-theme=light] .cosmic-page .settings-item+.settings-item{border-top-color:var(--color-border)}.cosmic-page .game-error,.cosmic-page .ai-play-error,.cosmic-page .ai-play-loading{backdrop-filter:blur(20px)saturate(1.2);-webkit-backdrop-filter:blur(20px)saturate(1.2);background:#080810e0!important}.cosmic-page .edit-top-bar{background:var(--cosmic-chrome-bg);backdrop-filter:var(--cosmic-chrome-blur);-webkit-backdrop-filter:var(--cosmic-chrome-blur);border-bottom-color:#ffffff1a}.cosmic-page .edit-top-bar:before{background:var(--cosmic-chrome-bg)}[data-theme=light] .cosmic-page .edit-top-bar,[data-theme=light] .cosmic-page .edit-top-bar:before{--cosmic-chrome-bg:#f4f5fc85}.cosmic-page .edit-exit-btn,.cosmic-page .edit-back-btn,.cosmic-page .edit-undo-btn{color:var(--color-text-secondary);background:#ffffff0f;border-color:#ffffff1f}.cosmic-page .edit-exit-btn:active,.cosmic-page .edit-back-btn:active:not(:disabled),.cosmic-page .edit-undo-btn:active:not(:disabled){color:var(--color-text-primary);background:#ffffff1f}.cosmic-page .edit-undo-btn:active:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}[data-theme=light] .cosmic-page .edit-exit-btn,[data-theme=light] .cosmic-page .edit-back-btn,[data-theme=light] .cosmic-page .edit-undo-btn{background:#ffffffd1;border-color:#00000014}.cosmic-page .game-control-btn,.cosmic-page .game-controls-peek,.cosmic-page .ai-play-dialogue-adjust-btn.game-control-btn,.cosmic-page .ai-voice-output-toggle.game-control-btn{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-text-secondary);background:#ffffff0f;border-color:#ffffff1f}.cosmic-page .game-control-btn:active,.cosmic-page .game-controls-peek:active,.cosmic-page .ai-play-dialogue-adjust-btn.game-control-btn:active,.cosmic-page .ai-voice-output-toggle.game-control-btn:active{border-color:var(--color-primary);color:var(--color-primary);background:#ffffff1f}[data-theme=light] .cosmic-page .game-control-btn,[data-theme=light] .cosmic-page .game-controls-peek,[data-theme=light] .cosmic-page .ai-play-dialogue-adjust-btn.game-control-btn,[data-theme=light] .cosmic-page .ai-voice-output-toggle.game-control-btn{color:var(--color-text-secondary);background:#ffffffe0;border-color:#00000014}.glass-surface,.messages-panel-inner,.profile-menu-inner,.profile-header-inner,.home-game-card-body{backface-visibility:hidden;transform:translate(0,0)}html[data-no-gradient=on] *,html[data-no-gradient=on] :before,html[data-no-gradient=on] :after{background-image:none!important;-webkit-mask-image:none!important;mask-image:none!important}html[data-no-gradient=on] img,html[data-no-gradient=on] video,html[data-no-gradient=on] canvas,html[data-no-gradient=on] svg{background-image:unset!important;-webkit-mask-image:unset!important;mask-image:unset!important;-webkit-mask-image:unset!important}html[data-no-gradient=on] [class*=-title],html[data-no-gradient=on] .profile-name,html[data-no-gradient=on] .messages-title,html[data-no-gradient=on] .section-title,html[data-no-gradient=on] .home-section-title,html[data-no-gradient=on] .category-sort-btn.active{-webkit-text-fill-color:var(--color-text-primary)!important;color:var(--color-text-primary)!important;background:0 0!important;-webkit-background-clip:border-box!important;background-clip:border-box!important}html[data-glass=off] *,html[data-glass=off] :before,html[data-glass=off] :after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}html[data-native-app] :not(:where(.animate-spin,.animate-pulse,[class*=spinner],[class*=-spin],.loading-spinner,.skeleton-block,.skeleton-line,[class*=skeleton],.category-tab-skeleton,.ptr-indicator.spinning svg,.ai-voice-transcribing-bar,.ai-voice-transcribing-ring)),html[data-native-page-transition=on] :not(:where(.animate-spin,.animate-pulse,[class*=spinner],[class*=-spin],.loading-spinner,.skeleton-block,.skeleton-line,[class*=skeleton],.category-tab-skeleton,.ptr-indicator.spinning svg,.ai-voice-transcribing-bar,.ai-voice-transcribing-ring)),html[data-no-fade-in-up=on] .main-content :not(:where(.animate-spin,.animate-pulse,[class*=spinner],[class*=-spin],.loading-spinner,.skeleton-block,.skeleton-line,[class*=skeleton],.category-tab-skeleton,.ptr-indicator.spinning svg,.ai-voice-transcribing-bar,.ai-voice-transcribing-ring)){animation:none!important}html[data-native-app] :is(.animate-spin,[class*=spinner],[class*=-spin],.loading-spinner,.ptr-indicator.spinning svg),html[data-native-page-transition=on] :is(.animate-spin,[class*=spinner],[class*=-spin],.loading-spinner,.ptr-indicator.spinning svg),html[data-no-fade-in-up=on] :is(.animate-spin,[class*=spinner],[class*=-spin],.loading-spinner,.ptr-indicator.spinning svg){animation:1s linear infinite rotate!important}html[data-native-app] .ptr-indicator.spinning svg,html[data-native-page-transition=on] .ptr-indicator.spinning svg,html[data-no-fade-in-up=on] .ptr-indicator.spinning svg{animation:.8s linear infinite rotate!important}html[data-native-app] .animate-pulse,html[data-native-page-transition=on] .animate-pulse,html[data-no-fade-in-up=on] .animate-pulse{animation:2s ease-in-out infinite pulse!important}html[data-native-app] .ai-voice-transcribing-bar,html[data-native-page-transition=on] .ai-voice-transcribing-bar,html[data-no-fade-in-up=on] .ai-voice-transcribing-bar{animation:.9s ease-in-out infinite ai-voice-transcribe-bar!important}html[data-native-app] .ai-voice-transcribing-ring,html[data-native-page-transition=on] .ai-voice-transcribing-ring,html[data-no-fade-in-up=on] .ai-voice-transcribing-ring{animation:1.8s ease-out infinite ai-voice-transcribe-ring!important}html[data-native-app] :is(.skeleton-block,.skeleton-line,[class*=skeleton]):after,html[data-native-page-transition=on] :is(.skeleton-block,.skeleton-line,[class*=skeleton]):after,html[data-no-fade-in-up=on] :is(.skeleton-block,.skeleton-line,[class*=skeleton]):after{animation:1.4s ease-in-out infinite homeSkeletonShimmer!important}.safe-area-fill--top,.safe-area-fill--bottom{pointer-events:none;flex-shrink:0;width:100%}.safe-area-fill--top{height:var(--safe-area-top)}.safe-area-fill--bottom{height:var(--safe-area-bottom)}.header .safe-area-fill--top,.subpage-header .safe-area-fill--top,.bottom-tab .safe-area-fill--bottom{background:0 0}.safe-area-bottom{pointer-events:none;z-index:calc(var(--z-header,100) + 1);flex-direction:column;justify-content:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.safe-area-bottom .safe-area-fill--bottom{background:0 0}body:has(.bottom-tab) .safe-area-bottom{display:none}html[data-standalone-pwa] .bottom-tab .safe-area-fill--bottom,html[data-standalone-pwa] .safe-area-bottom .safe-area-fill--bottom{background:var(--color-bg-primary)}.app-shell-frame{display:none}@media (width>=768px){html,body{height:100dvh;overflow:hidden}#root{height:100%;min-height:0;overflow:hidden}.app-shell-host.main-layout{height:100dvh;min-height:0;overflow:visible}.app-shell-host .main-content{min-height:0;max-width:var(--app-shell-width);overscroll-behavior-y:contain;flex:auto;width:100%;margin-inline:auto;overflow-y:auto}.app-shell-host .main-content>.ptr-root,.app-shell-host .main-content .home-page,.app-shell-host .main-content .category-page,.app-shell-host .main-content .community-page,.app-shell-host .main-content .guide-page,.app-shell-host .main-content .assets-page{min-height:auto}.app-shell-host.cosmic-page,.app-shell-host .cosmic-page{height:100dvh;min-height:0;overflow:hidden}.app-shell-host .app-shell-frame{width:var(--app-shell-width);margin-left:calc(var(--app-shell-width) / -2);z-index:calc(var(--z-header) + 2);pointer-events:none;border-radius:var(--app-shell-radius);background:0 0;display:block;position:fixed;inset:0 auto 0 50%;box-shadow:0 32px 80px #00000080,0 16px 40px #00000052,0 6px 16px #00000038,0 0 48px #6c5ce733}.app-shell-host .app-shell-frame:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(145deg,#a29bfef2 0%,#6c5ce7bf 38%,#00cec98c 72%,#a29bfed9 100%);padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.app-shell-host:has(.ai-play-page) .app-shell-frame{display:none}.app-shell-host .header,.app-shell-host .bottom-tab{width:var(--app-shell-width);margin-left:calc(var(--app-shell-width) / -2);left:50%;right:auto}.app-shell-host .header{border-top-left-radius:var(--app-shell-radius);border-top-right-radius:var(--app-shell-radius)}.app-shell-host .bottom-tab{border-bottom-left-radius:var(--app-shell-radius);border-bottom-right-radius:var(--app-shell-radius)}.app-shell-host .cosmic-page-body{max-width:var(--app-shell-width);overscroll-behavior-y:contain;width:100%;height:100%;min-height:0;max-height:100dvh;margin-inline:auto;position:relative;overflow:clip auto;transform:translateZ(0)}.app-shell-host .cosmic-page{overflow-x:clip}:is(.app-shell-host:has(.game-play-page) .cosmic-page-body,.app-shell-host:has(.ai-play-page) .cosmic-page-body,.app-shell-host:has(.edit-play-page:not(.ai-edit-form-page)) .cosmic-page-body){overflow:hidden}.app-shell-host .cosmic-page-body .subpage-header,.app-shell-host .cosmic-page-body .edit-top-bar{width:100%;margin-left:0;position:sticky;top:0;left:0;right:0}.app-shell-host .cosmic-page-body .subpage-header+.subpage-header-spacer{display:none}.app-shell-host .cosmic-page-body .subpage-header{border-top-left-radius:var(--app-shell-radius);border-top-right-radius:var(--app-shell-radius)}.app-shell-host:has(.ai-play-page) .ai-play-page{--ai-play-stage-gutter:0px;--ai-play-stage-width:100%;--ai-play-stage-height:min(calc(var(--app-shell-width) * 16 / 9), 100dvh);--ai-play-stage-offset-top:max(0px, calc((100dvh - var(--ai-play-stage-height)) / 2));--ai-play-stage-bottom:calc(var(--ai-play-stage-offset-top) + var(--ai-play-stage-height))}.toast-host{width:min(calc(var(--app-shell-width) * .92), 420px)}.bottom-sheet-overlay{width:var(--app-shell-width);margin-left:calc(var(--app-shell-width) / -2);left:50%;right:auto}}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/pwa/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/pwa/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/pwa/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/pwa/assets/outfit-latin-700-normal-Cu9v6i1X.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/pwa/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/pwa/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/pwa/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/pwa/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2)format("woff2")}html,body,#root{background-color:var(--color-bg-primary,#0a0a0f);min-height:100dvh}html{scrollbar-gutter:stable}#root{flex-direction:column;display:flex}html,body{transition:background-color .3s,color .3s}.main-layout{background-color:var(--color-bg-primary,#0a0a0f);flex-direction:column;min-height:100dvh;display:flex}.main-layout--cosmic{background:0 0}.main-content{padding-top:var(--layout-header-total);padding-bottom:var(--layout-bottom-total);flex:1;min-height:100vh;position:relative;overflow-y:auto}.container{max-width:var(--content-width);padding:0 var(--space-6);width:100%;margin:0 auto}.section-title{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:var(--space-6);align-items:center;gap:var(--space-3);font-size:1.5rem;font-weight:600;display:flex}.section-title .icon{color:var(--color-primary)}.skeleton{background:linear-gradient(90deg, var(--color-bg-tertiary) 25%, var(--color-bg-secondary) 50%, var(--color-bg-tertiary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.games-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=640px){.games-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=768px){.home-container,.category-container,.community-container{padding-left:var(--space-6);padding-right:var(--space-6)}}.bottom-sheet-overlay{z-index:var(--z-bottom-sheet,9999);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;background:#0009;justify-content:center;align-items:flex-end;transition:opacity .3s;display:flex;position:fixed;inset:0}.bottom-sheet-overlay--visible{opacity:1}.bottom-sheet{width:100%;max-height:min(85dvh, max(var(--shell-overlay-max-height), 70dvh));background:var(--color-bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-direction:column;transition:transform .3s;display:flex;overflow:hidden;transform:translateY(100%)}.bottom-sheet.visible{transform:translateY(0)}.bottom-sheet--dragging{transition:none!important}.bottom-sheet-handle{background:#ffffff38;border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 0}[data-theme=light] .bottom-sheet-handle{background:#0000002e}.bottom-sheet-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 20px 16px;display:flex}.bottom-sheet-title{color:var(--color-text-primary);font-size:1rem;font-weight:600}.bottom-sheet-close{width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);justify-content:center;align-items:center;display:flex}.bottom-sheet-close:hover{color:var(--color-text-primary)}.bottom-sheet-body{min-height:0;padding:20px;padding-bottom:calc(24px + var(--safe-area-bottom,0px));-webkit-overflow-scrolling:touch;flex:1;overflow:auto}.bottom-sheet:has(.add-character-custom-pane) .bottom-sheet-body{padding-bottom:calc(12px + var(--safe-area-bottom,0px));flex-direction:column;display:flex;overflow:hidden}.bottom-sheet-action-list{flex-direction:column;display:flex}.bottom-sheet-action-list-group{flex-direction:column;gap:2px;display:flex}.bottom-sheet-action-list-group--footer-separated{border-top:1px solid #ffffff1f;margin-top:10px}.bottom-sheet-action-list-group--footer-separated .bottom-sheet-action-item{padding-top:12px;padding-bottom:12px}.bottom-sheet-action-item{width:100%;color:var(--color-text-primary);text-align:center;cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;padding:12px 4px;font-size:1rem;display:block}@media (hover:hover) and (pointer:fine){.bottom-sheet-action-item:hover:not(:disabled){background:var(--color-bg-secondary)}}.bottom-sheet-action-item:focus-visible:not(:disabled){background:var(--color-bg-secondary)}.bottom-sheet-action-item:disabled{opacity:.45;cursor:not-allowed}.bottom-sheet-action-item--danger{color:#ff6b6b}.bottom-sheet-confirm-body{flex-direction:column;align-items:center;padding-top:4px;display:flex}.bottom-sheet-confirm-icon{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:16px;display:flex}.bottom-sheet-confirm-icon--danger{color:#e74c3c;background:#e74c3c1a}.bottom-sheet-confirm-icon--primary{background:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-primary)}.bottom-sheet-confirm-message{color:var(--color-text-secondary);text-align:center;margin:0 0 24px;font-size:.9rem;line-height:1.55}.bottom-sheet-confirm-actions{gap:12px;width:100%;display:flex}.bottom-sheet-confirm-btn{border-radius:var(--radius-md);cursor:pointer;height:48px;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;flex:1;font-size:1rem;font-weight:500}.bottom-sheet-confirm-btn.cancel{background:var(--color-bg-secondary);color:var(--color-text-primary)}.bottom-sheet-confirm-btn.cancel:active{background:var(--color-bg-tertiary)}.bottom-sheet-confirm-btn.confirm.danger{color:#fff;background:#e74c3c}.bottom-sheet-confirm-btn.confirm.danger:active{background:#c0392b}.bottom-sheet-confirm-btn.confirm.primary{background:var(--color-primary);color:#fff}.bottom-sheet-confirm-btn.confirm.primary:active{opacity:.9}.bottom-sheet-confirm-btn:disabled{opacity:.65;cursor:not-allowed;pointer-events:none}@media (width>=768px){.bottom-sheet-overlay{width:var(--app-shell-width);margin-left:calc(var(--app-shell-width) / -2);left:50%;right:auto}}
