:root{--font-display: "Fredoka", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--accent: #ff5fa2;--accent-2: #7c5cff;--accent-soft: color-mix(in oklab, var(--accent) 18%, transparent);--accent-glow: color-mix(in oklab, var(--accent) 45%, transparent);--radius-xl: 26px;--radius-lg: 18px;--radius-md: 13px;--radius-sm: 9px;--pad: 22px;--gap: 18px;--rail: 248px}[data-density=compact]{--pad: 15px;--gap: 12px}[data-density=comfy]{--pad: 30px;--gap: 26px}[data-theme=dark]{--bg: oklch(.155 .022 288);--bg-grad-a: oklch(.2 .045 300);--bg-grad-b: oklch(.16 .03 265);--surface: oklch(.205 .028 288);--surface-2: oklch(.245 .032 288);--surface-3: oklch(.285 .036 288);--border: oklch(.42 .035 288 / .5);--border-soft: oklch(.42 .035 288 / .28);--text: oklch(.965 .008 288);--text-dim: oklch(.76 .022 288);--text-faint:oklch(.58 .025 288);--shadow: 0 18px 50px -12px rgba(0,0,0,.65);--on-accent: #ffffff;--grain-op: .05}[data-theme=light]{--bg: oklch(.975 .012 310);--bg-grad-a: oklch(.95 .03 320);--bg-grad-b: oklch(.96 .025 270);--surface: oklch(1 0 0);--surface-2: oklch(.975 .012 300);--surface-3: oklch(.95 .018 300);--border: oklch(.55 .03 300 / .22);--border-soft: oklch(.55 .03 300 / .12);--text: oklch(.24 .03 300);--text-dim: oklch(.46 .03 300);--text-faint:oklch(.62 .03 300);--shadow: 0 18px 44px -16px rgba(80,40,120,.22);--on-accent: #fff;--grain-op: .025}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}#root{height:100vh}button{font-family:inherit;cursor:pointer}::selection{background:var(--accent-glow);color:var(--text)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:99px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}.app{height:100vh;display:grid;grid-template-columns:var(--rail) 1fr;background:radial-gradient(120% 80% at 0% 0%,var(--bg-grad-a) 0%,transparent 55%),radial-gradient(110% 90% at 100% 100%,var(--bg-grad-b) 0%,transparent 50%),var(--bg);position:relative}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:var(--grain-op);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.rail{display:flex;flex-direction:column;gap:6px;padding:20px 16px;border-right:1px solid var(--border-soft);background:color-mix(in oklab,var(--surface) 55%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:6px 10px 22px}.brand-mark{width:38px;height:38px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 6px 18px -4px var(--accent-glow);color:var(--on-accent);font-family:var(--font-display);font-weight:700;font-size:21px}.brand-name{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.01em;color:var(--text)}.brand-name b{font-weight:700}.nav-item{display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:var(--radius-md);color:var(--text-dim);border:0;background:transparent;font-size:15px;font-weight:500;text-align:left;width:100%;transition:background .16s,color .16s}.nav-item svg{width:21px;height:21px;flex-shrink:0}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item.cta{margin-top:4px;color:var(--on-accent);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 8px 22px -8px var(--accent-glow);font-weight:600}.nav-item.cta:hover{filter:brightness(1.06)}.rail-spacer{flex:1}.rail-foot{border-top:1px solid var(--border-soft);padding-top:12px}.profile-row{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--radius-md);width:100%;text-align:left;border:0;background:transparent;color:inherit}.profile-row:hover{background:var(--surface-2)}.profile-row .pa{width:34px;height:34px;border-radius:50%;flex-shrink:0;position:relative;overflow:hidden}.profile-row .pmeta{min-width:0}.profile-row .pn{font-weight:600;font-size:14px}.profile-row .ps{font-size:12px;color:var(--text-faint)}.profile-row .pn,.profile-row .ps{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:6px;z-index:100}.profile-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;font-size:14px;text-align:left;cursor:pointer;border:0;border-radius:var(--radius);background:transparent;color:var(--text)}.profile-menu-item:hover{background:var(--surface-2)}.profile-menu-item svg{width:16px;height:16px;flex-shrink:0}.main{overflow:hidden;position:relative;z-index:1;min-width:0}.home{height:100vh;overflow-y:auto;overflow-x:hidden}.home-inner{max-width:1180px;margin:0 auto;padding:var(--pad) clamp(20px,4vw,56px) 80px}.topbar{display:flex;align-items:center;gap:18px;padding:14px 0 26px;position:sticky;top:0;z-index:4;background:linear-gradient(var(--bg) 60%,transparent)}.search{flex:1;display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border-soft);border-radius:99px;padding:12px 20px;max-width:520px;color:var(--text-faint);transition:border-color .16s,box-shadow .16s}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.search svg{width:19px;height:19px}.search input{flex:1;border:0;background:transparent;color:var(--text);font-size:15px;outline:none}.search input::placeholder{color:var(--text-faint)}.topbar-actions{display:flex;gap:10px;margin-left:auto}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-soft);background:var(--surface);color:var(--text-dim);display:grid;place-items:center;transition:background .16s,color .16s,transform .12s}.icon-btn:hover{background:var(--surface-2);color:var(--text);transform:translateY(-1px)}.icon-btn svg{width:20px;height:20px}.greeting{font-family:var(--font-display);font-size:clamp(28px,4vw,42px);font-weight:600;letter-spacing:-.02em;margin:0 0 4px}.greeting .wave{display:inline-block}.greeting-sub{color:var(--text-dim);font-size:16px;margin:0 0 24px}.hero{position:relative;border-radius:var(--radius-xl);overflow:hidden;margin-bottom:38px;min-height:280px;display:flex;align-items:flex-end;box-shadow:var(--shadow);border:1px solid var(--border-soft)}.hero-art{position:absolute;top:0;right:0;bottom:0;left:0}.hero-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 45%,transparent 75%)}.hero-body{position:relative;padding:clamp(24px,4vw,44px);max-width:560px;color:#fff}.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;background:#ffffff29;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 13px;border-radius:99px;margin-bottom:16px}.hero-title{font-family:var(--font-display);font-size:clamp(30px,4.4vw,50px);font-weight:600;line-height:1.02;letter-spacing:-.02em;margin:0 0 12px}.hero-desc{font-size:16px;line-height:1.5;color:#ffffffdb;margin:0 0 22px;max-width:460px}.hero-cta{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:99px;border:0;background:#fff;color:#18141f;font-weight:600;font-size:15px;transition:transform .12s,box-shadow .16s}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px #00000080}.hero-cta svg{width:18px;height:18px}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.chip{padding:9px 18px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:14px;font-weight:500;transition:all .15s;white-space:nowrap}.chip:hover{color:var(--text);border-color:var(--text-faint)}.chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 16px}.section-head h2{font-family:var(--font-display);font-size:24px;font-weight:600;margin:0;letter-spacing:-.01em}.section-head a{color:var(--accent);font-size:14px;font-weight:600;text-decoration:none}.grid{display:grid;gap:var(--gap);margin-bottom:42px}.grid.hero-layout{grid-template-columns:repeat(auto-fill,minmax(216px,1fr))}.grid.compact-layout{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.card{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-soft);background:var(--surface);transition:transform .16s cubic-bezier(.3,.7,.4,1),box-shadow .16s,border-color .16s;text-align:left;padding:0;display:block;color:inherit}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent)}.card-art{position:relative;aspect-ratio:3/4}.compact-layout .card-art{aspect-ratio:1/1}.card-art .scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.1) 48%,transparent 70%)}.card-fav{position:absolute;top:11px;right:11px;width:32px;height:32px;border-radius:50%;background:#00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;color:#fff;display:grid;place-items:center;opacity:0;transition:opacity .16s,transform .12s}.card:hover .card-fav{opacity:1}.card-fav:hover{transform:scale(1.12)}.card-fav svg{width:17px;height:17px}.card-fav.on{color:var(--accent);background:#0000008c}.card-tags{position:absolute;top:11px;left:11px;display:flex;gap:6px}.tag-pill{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;padding:4px 9px;border-radius:99px}.card-info{position:absolute;bottom:0;left:0;right:0;padding:14px 15px;color:#fff}.card-name{font-family:var(--font-display);font-size:18px;font-weight:600;margin:0 0 3px;line-height:1.1}.compact-layout .card-name{font-size:15px}.card-tagline{font-size:12.5px;line-height:1.35;color:#ffffffd1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-layout .card-tagline{-webkit-line-clamp:1}.card-meta{display:flex;align-items:center;gap:5px;font-size:11.5px;color:#ffffffb3;margin-top:7px;font-variant-numeric:tabular-nums}.card-meta svg{width:13px;height:13px}.portrait{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.portrait .glow{position:absolute;width:150%;height:150%;left:-25%;top:-30%;background:radial-gradient(circle at 50% 40%,var(--p2) 0%,transparent 55%)}.portrait .mono{position:absolute;bottom:9px;right:11px;font-family:ui-monospace,SF Mono,monospace;font-size:9.5px;letter-spacing:.03em;color:#ffffff80}.portrait .initial{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:88px;color:#ffffff29;transform:translateY(-8%)}.chatview{display:grid;height:100vh;min-height:0}.chatview.with-panel{grid-template-columns:1fr minmax(340px,420px)}.chatview.no-panel{grid-template-columns:1fr}.convo{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.cinema-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;transition:opacity .6s}.cinema-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,color-mix(in oklab,var(--bg) 55%,transparent) 0%,var(--bg) 78%)}.convo.cinematic .chat-scroll{position:relative;z-index:1}.chat-head{display:flex;align-items:center;gap:14px;padding:15px 22px;border-bottom:1px solid var(--border-soft);position:relative;z-index:3;background:color-mix(in oklab,var(--surface) 50%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chat-head .back{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-soft);background:var(--surface);color:var(--text-dim);display:grid;place-items:center;flex-shrink:0}.chat-head .back:hover{color:var(--text);background:var(--surface-2)}.chat-head .back svg{width:19px;height:19px}.chat-head .ava{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative;border:2px solid var(--accent)}.chat-head .ht{min-width:0;flex:1}.chat-head .hn{font-family:var(--font-display);font-size:17px;font-weight:600;line-height:1.1;display:flex;align-items:center;gap:8px}.chat-head .hs{font-size:12.5px;color:var(--text-faint);display:flex;align-items:center;gap:6px}.dot-live{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px #4ade8033}.chat-head .hbtn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-soft);background:var(--surface);color:var(--text-dim);display:grid;place-items:center}.chat-head .hbtn:hover{color:var(--text);background:var(--surface-2)}.chat-head .hbtn svg{width:19px;height:19px}.chat-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:26px clamp(16px,4vw,60px);min-height:0}.chat-thread{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.msg{display:flex;gap:12px;max-width:86%}.msg.user{align-self:flex-end;flex-direction:row-reverse}.msg-ava{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative;margin-top:2px}.bubble{padding:13px 17px;border-radius:20px;font-size:15.5px;line-height:1.55;position:relative;white-space:pre-wrap}.msg.bot .bubble{background:var(--surface);border:1px solid var(--border-soft);border-bottom-left-radius:6px}.msg.user .bubble{background:linear-gradient(125deg,color-mix(in oklab,var(--accent) 88%,white) 0%,var(--accent) 42%,var(--accent-2) 100%);color:var(--on-accent);border-bottom-right-radius:6px;box-shadow:0 8px 20px -10px var(--accent-glow)}.msg .narr{font-style:italic;color:var(--text-dim)}.msg.user .narr{color:color-mix(in oklab,var(--on-accent) 80%,transparent)}.msg-name{font-size:12px;color:var(--text-faint);margin:0 0 5px 4px;font-weight:600}.scene-inline{align-self:center;width:100%;max-width:520px;margin:4px 0}.scene-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.scene-img{position:relative;aspect-ratio:1/1;overflow:hidden}.scene-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.scene-stripes{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;background-image:repeating-linear-gradient(135deg,#fff 0 2px,transparent 2px 11px)}.scene-vignette{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 120px #0000008c}.scene-label{position:absolute;left:14px;bottom:12px;right:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.scene-prompt{font-family:ui-monospace,SF Mono,monospace;font-size:11.5px;line-height:1.45;color:#ffffffeb;text-shadow:0 1px 4px rgba(0,0,0,.6);max-width:78%}.scene-prompt b{color:#fff}.style-badge{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;padding:5px 10px;border-radius:99px;white-space:nowrap;flex-shrink:0}.scene-bar{display:flex;align-items:center;gap:8px;padding:10px 13px}.scene-bar .meta{font-size:12px;color:var(--text-faint);margin-right:auto;display:flex;align-items:center;gap:7px}.scene-bar .meta svg{width:14px;height:14px;color:var(--accent)}.mini-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:99px;border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-dim);font-size:12.5px;font-weight:600;transition:all .14s}.mini-btn:hover{color:var(--text);background:var(--surface-3)}.mini-btn svg{width:14px;height:14px}.scene-gen{display:grid;place-items:center;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-2)}.scene-gen .ring{width:46px;height:46px;border-radius:50%;border:3px solid var(--surface-3);border-top-color:var(--accent);animation:spin .8s linear infinite}.scene-gen .txt{position:absolute;bottom:18px;font-size:13px;color:var(--text-dim);font-weight:500}.shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);background-size:250% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-60% 0}}.typing{display:inline-flex;gap:4px;padding:4px 2px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--text-faint);animation:bounce 1.1s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}.composer{padding:14px clamp(16px,4vw,60px) 20px;position:relative;z-index:3;background:linear-gradient(transparent,var(--bg) 40%)}.composer-inner{max-width:760px;margin:0 auto}.suggest-row{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.suggest{padding:7px 13px;border-radius:var(--radius-lg);border:1px dashed var(--border);background:transparent;text-align:left;color:var(--text-dim);font-size:13px;line-height:1.4;transition:all .14s}.suggest:hover{border-style:solid;border-color:var(--accent);color:var(--text)}.suggest-loading{display:flex;align-items:center;gap:8px;color:var(--text-faint);font-size:13px;padding:4px 2px}.suggest-spinner{width:13px;height:13px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.suggest-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:var(--radius-lg);border:1px dashed var(--border);background:transparent;color:var(--text-dim);font-size:13px;cursor:pointer;transition:all .14s}.suggest-toggle:hover{border-color:var(--accent);color:var(--text)}.suggest-chev{font-size:11px;transition:transform .18s}.suggest-toggle.open .suggest-chev{transform:rotate(180deg)}@keyframes spin{to{transform:rotate(360deg)}}.composer-box{display:flex;align-items:flex-end;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px 8px 8px 18px;transition:border-color .16s,box-shadow .16s}.composer-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.composer-box textarea{flex:1;border:0;background:transparent;color:var(--text);font-family:inherit;font-size:15.5px;line-height:1.5;resize:none;outline:none;padding:9px 0;max-height:140px}.composer-box textarea::placeholder{color:var(--text-faint)}.scene-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 17px;border-radius:var(--radius-md);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:14px;flex-shrink:0;transition:all .14s;white-space:nowrap}.scene-btn:hover{background:var(--accent);color:var(--on-accent)}.scene-btn:disabled{opacity:.5;cursor:not-allowed}.scene-btn svg{width:18px;height:18px}.send-btn{width:44px;height:44px;border-radius:var(--radius-md);border:0;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent);display:grid;place-items:center;transition:transform .12s,filter .14s}.send-btn:hover{filter:brightness(1.08)}.send-btn:active{transform:scale(.94)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn svg{width:20px;height:20px}.scene-panel{border-left:1px solid var(--border-soft);display:flex;flex-direction:column;background:color-mix(in oklab,var(--surface) 45%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-height:0;position:relative;z-index:2}.panel-head{display:flex;align-items:center;gap:10px;padding:18px 20px 14px}.panel-head h3{font-family:var(--font-display);font-size:16px;font-weight:600;margin:0}.panel-head .sparkle{color:var(--accent);display:grid;place-items:center}.panel-head .sparkle svg{width:18px;height:18px}.panel-head .count{margin-left:auto;font-size:12px;color:var(--text-faint);background:var(--surface-2);padding:4px 11px;border-radius:99px}.panel-body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.panel-static{padding:4px 20px 0;flex-shrink:0;overflow-y:auto}.panel-gallery-scroll{flex:1;overflow-y:auto;padding:0 20px 20px;min-height:0;border-top:1px solid var(--border-soft)}.panel-hero{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);margin-bottom:16px;box-shadow:var(--shadow)}.panel-hero .scene-img{aspect-ratio:1/1}.panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.panel-actions .pa-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-dim);font-size:13px;font-weight:600;transition:all .14s}.panel-actions .pa-btn:hover{color:var(--text);background:var(--surface-3)}.panel-actions .pa-btn svg{width:16px;height:16px}.panel-actions .pa-btn.full{grid-column:1 / -1;color:var(--on-accent);background:linear-gradient(135deg,var(--accent),var(--accent-2));border:0}.panel-actions .pa-btn.full:hover{filter:brightness(1.07)}.gallery-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:4px 0 12px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.thumb{position:relative;aspect-ratio:1/1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-soft);transition:transform .14s,border-color .14s}.thumb:hover{transform:scale(1.03);border-color:var(--accent)}.thumb.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.thumb-wrap{position:relative}.thumb-wrap:hover .thumb-delete{opacity:1!important}.thumb .scene-img{aspect-ratio:1/1}.thumb .tlabel{position:absolute;bottom:5px;left:7px;right:7px;font-size:9.5px;font-family:ui-monospace,monospace;color:#ffffffd9;text-shadow:0 1px 3px rgba(0,0,0,.7);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.scene-panel.floating{position:fixed;top:0;right:0;bottom:0;width:min(420px,90vw);z-index:60;transform:translate(100%);transition:transform .28s cubic-bezier(.3,.7,.4,1);box-shadow:-20px 0 60px #0006;background:var(--surface);border-left:1px solid var(--border-soft)}.scene-panel.floating.open{transform:translate(0)}.scene-panel.floating .panel-close-m{display:grid}.scene-fab{display:none}@media(max-width:1100px){.chatview.with-panel{grid-template-columns:1fr minmax(300px,360px)}}@media(max-width:900px){:root{--rail: 76px}.brand-name,.nav-item span,.profile-row .pmeta{display:none}.brand{justify-content:center;padding:6px 0 22px}.nav-item{justify-content:center;padding:12px}.profile-row{justify-content:center}.chatview.with-panel{grid-template-columns:1fr}.scene-panel{position:fixed;top:0;right:0;bottom:0;width:min(400px,88vw);z-index:60;transform:translate(100%);transition:transform .28s cubic-bezier(.3,.7,.4,1);box-shadow:-20px 0 60px #0006;background:var(--surface)}.scene-panel.open{transform:translate(0)}.scene-fab{display:inline-flex;align-items:center;gap:8px}.panel-close-m{display:grid!important}}.panel-close-m{display:none;position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-dim);place-items:center}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000e0;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.lightbox-img{max-width:min(90vw,90vh);max-height:90vh;border-radius:var(--radius-lg);box-shadow:0 24px 80px #0009;cursor:default}.lightbox-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#00000080;color:#fff;display:grid;place-items:center;cursor:pointer}.lightbox-close svg{width:18px;height:18px}@media(max-width:640px){:root{--rail: 0px}.app{grid-template-columns:1fr}.rail{position:fixed;bottom:0;left:0;right:0;top:auto;flex-direction:row;border-right:0;border-top:1px solid var(--border-soft);padding:8px 10px;z-index:50;justify-content:space-around}.brand,.rail-foot,.rail-spacer{display:none}.nav-item{flex-direction:column;gap:3px;font-size:10px;padding:6px}.nav-item span{display:block}.nav-item.cta{background:transparent;box-shadow:none;color:var(--accent)}.home{padding-bottom:80px}.chatview,.convo{height:100vh}.composer{padding-bottom:84px}.chat-scroll{padding:18px 14px}.scene-btn{width:44px;padding:0;gap:0;justify-content:center}.scene-btn-label{display:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.05ms!important}}.auth{height:100vh;display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden;background:var(--bg)}.auth-art{position:relative;overflow:hidden}.auth-art-bg{position:absolute;top:0;right:0;bottom:0;left:0}.auth-art-bg .scene-img{width:100%;height:100%;aspect-ratio:auto}.auth-art-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0a06128c,#0a0612c7)}.auth-floaters{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-floaters .floater{position:absolute;width:78px;height:78px;border-radius:22px;overflow:hidden;border:2px solid rgba(255,255,255,.18);box-shadow:0 18px 40px -10px #0009;animation:bob 6s ease-in-out infinite}.auth-floaters .floater .portrait .initial{font-size:34px}.floater.f0{top:14%;left:9%;width:96px;height:96px;animation-delay:0s}.floater.f1{top:30%;right:14%;width:70px;height:70px;animation-delay:.8s}.floater.f2{bottom:20%;left:16%;width:64px;height:64px;animation-delay:1.6s}.floater.f3{top:56%;right:22%;width:86px;height:86px;animation-delay:2.2s}.floater.f4{top:8%;right:32%;width:56px;height:56px;animation-delay:1.1s}.floater.f5{bottom:12%;right:9%;width:74px;height:74px;animation-delay:2.8s}@keyframes bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}.auth-art-body{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,6vw,76px);color:#fff;max-width:620px}.auth-brand{padding:0 0 32px}.auth-brand .brand-name{color:#fff;font-size:26px}.auth-brand .brand-name b{color:#fff}.auth-tagline{font-family:var(--font-display);font-size:clamp(34px,4.4vw,56px);font-weight:600;line-height:1.04;letter-spacing:-.02em;margin:0 0 18px}.auth-sub{font-size:17px;line-height:1.55;color:#ffffffd1;margin:0 0 36px;max-width:440px}.auth-stats{display:flex;gap:34px}.auth-stats div{display:flex;flex-direction:column}.auth-stats b{font-family:var(--font-display);font-size:26px;font-weight:600}.auth-stats span{font-size:13px;color:#ffffffa6}.auth-form-wrap{display:grid;place-items:center;padding:24px;overflow-y:auto}.auth-card{width:100%;max-width:392px}.auth-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);border-radius:99px;padding:5px;margin-bottom:26px}.auth-tabs button{position:relative;z-index:1;border:0;background:transparent;padding:10px;border-radius:99px;font-weight:600;font-size:14px;color:var(--text-dim);transition:color .2s}.auth-tabs button.on{color:var(--on-accent)}.auth-tab-pill{position:absolute;z-index:0;top:5px;left:5px;width:calc(50% - 5px);height:calc(100% - 10px);border-radius:99px;background:linear-gradient(135deg,var(--accent),var(--accent-2));transition:transform .26s cubic-bezier(.3,.7,.4,1);box-shadow:0 6px 16px -6px var(--accent-glow)}.auth-h{font-family:var(--font-display);font-size:28px;font-weight:600;margin:0 0 6px;letter-spacing:-.01em}.auth-p{color:var(--text-dim);font-size:14.5px;margin:0 0 22px}.auth-social{display:grid;gap:10px;margin-bottom:20px}.social-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;font-size:14px;transition:background .14s,border-color .14s}.social-btn:hover{background:var(--surface-2);border-color:var(--text-faint)}.social-btn .g{font-family:var(--font-display);font-weight:700;color:#ea4335}.social-btn .d{color:#5865f2;font-size:16px}.auth-divider{text-align:center;position:relative;margin:4px 0 20px}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-soft)}.auth-divider span{position:relative;background:var(--bg);padding:0 12px;font-size:12.5px;color:var(--text-faint)}.field{display:block;margin-bottom:15px}.field>span{display:block;font-size:12.5px;font-weight:600;color:var(--text-dim);margin-bottom:7px}.field input{width:100%;padding:12px 15px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:14.5px;outline:none;transition:border-color .14s,box-shadow .14s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.field input::placeholder{color:var(--text-faint)}.pw-wrap{position:relative}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--text-faint);font-size:12.5px;font-weight:600;padding:6px 10px}.pw-toggle:hover{color:var(--text)}.check{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--text-dim);line-height:1.45;margin:4px 0 18px;cursor:pointer}.check.small{margin:0}.check input{margin-top:1px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.check a{color:var(--accent);text-decoration:none}.auth-row{display:flex;align-items:center;justify-content:space-between;margin:4px 0 18px}.link{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.auth-submit{width:100%;padding:14px;border-radius:var(--radius-md);border:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent);font-family:var(--font-display);font-weight:600;font-size:16px;box-shadow:0 10px 26px -8px var(--accent-glow);transition:transform .12s,filter .14s}.auth-submit:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-guest{width:100%;margin-top:12px;padding:10px;border:0;background:transparent;color:var(--text-dim);font-size:14px;font-weight:600}.auth-guest:hover{color:var(--text)}.settings{height:100vh;overflow-y:auto}.settings-inner{max-width:720px;margin:0 auto;padding:var(--pad) clamp(20px,4vw,48px) 80px}.settings-top{display:flex;align-items:center;gap:14px;padding:18px 0 26px;position:sticky;top:0;z-index:4;background:linear-gradient(var(--bg) 70%,transparent)}.settings-top .back{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-soft);background:var(--surface);color:var(--text-dim);display:grid;place-items:center}.settings-top .back:hover{color:var(--text);background:var(--surface-2)}.settings-top .back svg{width:19px;height:19px}.settings-top h1{font-family:var(--font-display);font-size:28px;font-weight:600;margin:0;letter-spacing:-.01em}.set-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--pad);margin-bottom:16px}.set-head{margin-bottom:16px}.set-head h3{font-family:var(--font-display);font-size:17px;font-weight:600;margin:0}.profile-card{display:flex;align-items:center;gap:18px}.pc-ava{width:72px;height:72px;border-radius:22px;overflow:hidden;position:relative;flex-shrink:0;border:2px solid var(--accent)}.pc-ava .portrait .initial{font-size:30px}.pc-meta{flex:1;min-width:0}.pc-meta h2{font-family:var(--font-display);font-size:21px;font-weight:600;margin:0 0 2px}.pc-meta p{font-size:13.5px;color:var(--text-dim);margin:0 0 4px}.pc-handle{font-size:12px;color:var(--accent);background:var(--accent-soft);padding:3px 10px;border-radius:99px}.set-btn{padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:600;font-size:13.5px;transition:all .14s;white-space:nowrap}.set-btn.ghost:hover{background:var(--surface-3)}.set-btn.cta{border:0;color:var(--on-accent);display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 8px 20px -8px var(--accent-glow)}.set-btn.cta:hover{filter:brightness(1.06)}.set-btn.cta svg{width:16px;height:16px}.plan-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.plan-now{display:flex;align-items:center;gap:13px}.plan-badge{font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);padding:8px 14px;border-radius:var(--radius-md)}.plan-title{font-weight:600;font-size:15px}.plan-sub{font-size:12.5px;color:var(--text-faint)}.credits-head{display:flex;justify-content:space-between;font-size:13.5px;color:var(--text-dim);margin-bottom:9px}.credits-head b{color:var(--text);font-variant-numeric:tabular-nums}.credits-bar{height:9px;border-radius:99px;background:var(--surface-3);overflow:hidden}.credits-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.credits-note{font-size:12.5px;color:var(--text-faint);margin:11px 0 0;line-height:1.5}.set-list{display:flex;flex-direction:column}.set-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--border-soft)}.set-item:first-child{border-top:0;padding-top:0}.si-t{font-weight:600;font-size:14.5px;margin-bottom:2px}.si-s{font-size:12.5px;color:var(--text-faint);line-height:1.4}.seg{display:flex;background:var(--surface-2);border-radius:99px;padding:4px;flex-shrink:0}.seg button{border:0;background:transparent;padding:7px 14px;border-radius:99px;font-size:12.5px;font-weight:600;color:var(--text-dim);transition:all .14s}.seg button.on{background:var(--surface);color:var(--accent);box-shadow:0 2px 8px -2px #0000004d}.sw{width:46px;height:27px;border-radius:99px;border:0;background:var(--surface-3);position:relative;flex-shrink:0;transition:background .18s}.sw.on{background:linear-gradient(135deg,var(--accent),var(--accent-2))}.sw-knob{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform .18s cubic-bezier(.3,.7,.4,1);box-shadow:0 2px 6px #0000004d}.sw.on .sw-knob{transform:translate(19px)}.set-card.danger{border-color:color-mix(in oklab,#ff5f6d 24%,var(--border-soft))}.set-line{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;border:0;border-top:1px solid var(--border-soft);background:transparent;color:var(--text);font-size:14.5px;font-weight:600}.set-line:first-child{border-top:0;padding-top:0}.set-line svg{width:17px;height:17px;color:var(--text-faint);transform:rotate(180deg)}.set-line:hover{color:var(--accent)}.set-line.warn{color:#ff6b78}.set-line.warn:hover{color:#ff4757}.set-foot{text-align:center;font-size:12px;color:var(--text-faint);margin-top:22px}.ap-grid{display:flex;flex-direction:column}.ap-row{display:grid;grid-template-columns:100px 1fr;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border-soft)}.ap-row:last-child{border-bottom:0}.ap-label{font-size:12px;font-weight:600;color:var(--text-dim);padding-top:6px}.ap-chips{display:flex;gap:6px;flex-wrap:wrap}.ap-chip{border:1px solid var(--border-soft);background:transparent;padding:5px 11px;border-radius:99px;font-size:12px;font-weight:600;color:var(--text-dim);cursor:pointer;transition:all .14s}.ap-chip:hover{border-color:var(--accent);color:var(--text)}.ap-chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.ap-swatches{display:flex;gap:8px;flex-wrap:wrap;padding:2px 0}.ap-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .14s,box-shadow .14s;box-shadow:0 0 0 1.5px var(--border-soft)}.ap-swatch:hover{transform:scale(1.15)}.ap-swatch.on{transform:scale(1.15);box-shadow:0 0 0 2.5px var(--accent)}.ap-slider-wrap{display:flex;flex-direction:column;gap:6px;padding-top:4px}.ap-slider-wrap input[type=range]{width:100%;accent-color:var(--accent)}.ap-slider-labels{display:flex;justify-content:space-between}.ap-slider-labels span{font-size:10.5px;color:var(--text-faint)}.ap-summary{font-size:12px;color:var(--text-dim);font-style:italic;margin:12px 0 0}@media(max-width:560px){.ap-row{grid-template-columns:1fr;gap:6px;padding:14px 0}.ap-label{padding-top:0}}.notif-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70}.notif-pop{position:fixed;top:78px;right:clamp(16px,4vw,56px);z-index:71;width:min(380px,92vw);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;animation:popin .18s cubic-bezier(.3,.7,.4,1);transform-origin:top right}@keyframes popin{0%{opacity:0;transform:scale(.96) translateY(-6px)}to{opacity:1;transform:none}}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-soft)}.notif-head h3{font-family:var(--font-display);font-size:16px;font-weight:600;margin:0;display:flex;align-items:center;gap:9px}.notif-badge{font-size:11px;font-weight:700;color:var(--on-accent);background:var(--accent);min-width:19px;height:19px;padding:0 6px;border-radius:99px;display:grid;place-items:center}.notif-clear{border:0;background:transparent;color:var(--accent);font-size:12.5px;font-weight:600}.notif-clear:disabled{color:var(--text-faint);cursor:default}.notif-list{max-height:min(440px,60vh);overflow-y:auto}.notif-item{display:flex;gap:12px;width:100%;text-align:left;padding:14px 18px;border:0;background:transparent;border-bottom:1px solid var(--border-soft);position:relative;transition:background .14s}.notif-item:hover{background:var(--surface-2)}.notif-item.unread{background:var(--accent-soft)}.notif-item.unread:hover{background:color-mix(in oklab,var(--accent) 14%,var(--surface-2))}.ni-ava{width:42px;height:42px;border-radius:13px;overflow:hidden;flex-shrink:0;position:relative}.ni-icon{width:100%;height:100%;display:grid;place-items:center;color:#fff}.ni-icon svg{width:21px;height:21px}.ni-body{flex:1;min-width:0}.ni-body p{font-size:13.5px;line-height:1.45;margin:0 0 4px;color:var(--text-dim)}.ni-body p b{color:var(--text);font-weight:600}.ni-time{font-size:11.5px;color:var(--text-faint)}.ni-dot{position:absolute;top:16px;right:16px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.notif-foot{width:100%;padding:13px;border:0;background:var(--surface-2);color:var(--text-dim);font-size:13.5px;font-weight:600}.notif-foot:hover{color:var(--text);background:var(--surface-3)}.icon-btn{position:relative}.bell-dot{position:absolute;top:9px;right:10px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}@media(max-width:860px){.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-form-wrap{padding:32px 20px}}.listview,.page-content{height:100vh;overflow-y:auto}.listview-inner{max-width:1100px;margin:0 auto;padding:var(--pad) clamp(20px,4vw,52px) 80px}.lv-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 0 24px;flex-wrap:wrap;position:sticky;top:0;z-index:4;background:linear-gradient(var(--bg) 72%,transparent)}.lv-top h1{font-family:var(--font-display);font-size:clamp(28px,3.6vw,38px);font-weight:600;letter-spacing:-.02em;margin:0 0 4px}.lv-sub{color:var(--text-dim);font-size:15px;margin:0}.search.compact{padding:10px 16px;max-width:280px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:70px 24px;gap:12px}.empty-state .es-ic{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:6px}.empty-state .es-ic svg{width:34px;height:34px}.empty-state h3{font-family:var(--font-display);font-size:21px;font-weight:600;margin:0}.empty-state p{color:var(--text-dim);font-size:14.5px;max-width:340px;line-height:1.5;margin:0}.es-cta{margin-top:12px;display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:99px;border:0;color:var(--on-accent);font-weight:600;font-size:14.5px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 10px 24px -8px var(--accent-glow);transition:transform .12s,filter .14s}.es-cta:hover{transform:translateY(-2px);filter:brightness(1.05)}.es-cta svg{width:18px;height:18px}.chat-rows{display:flex;flex-direction:column;gap:10px}.chat-row{display:flex;align-items:center;gap:15px;width:100%;text-align:left;color:var(--text);padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border-soft);background:var(--surface);transition:transform .14s,border-color .14s,box-shadow .14s}.chat-row:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow)}.cr-ava{width:56px;height:56px;border-radius:18px;overflow:hidden;position:relative;flex-shrink:0}.cr-ava .portrait .initial{font-size:26px}.cr-unread{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface)}.cr-body{flex:1;min-width:0}.cr-top{display:flex;align-items:center;gap:8px;margin-bottom:3px}.cr-name{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text)}.cr-pin{color:var(--accent);display:grid;place-items:center}.cr-pin svg{width:13px;height:13px}.cr-time{margin-left:auto;font-size:12px;color:var(--text-faint);flex-shrink:0}.cr-last{font-size:13.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:7px}.cr-tags{display:flex;align-items:center;gap:7px}.cr-chip{font-size:11px;font-weight:600;color:var(--text-dim);background:var(--surface-2);padding:3px 9px;border-radius:99px}.cr-scenes{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--accent);background:var(--accent-soft);padding:3px 9px;border-radius:99px;font-weight:600}.cr-scenes svg{width:12px;height:12px}.cr-go{color:var(--text-faint);flex-shrink:0}.cr-go svg{width:18px;height:18px;transform:rotate(180deg)}.chat-row:hover .cr-go{color:var(--accent)}.cr-badge{font-size:11px;font-weight:700;background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:1px 7px;flex-shrink:0}.chat-row.active{border-color:var(--accent)}.chat-row.active .cr-name{color:var(--accent)}.char-btn{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:none;border:none;cursor:pointer;padding:0;text-align:left;color:inherit}.lib-tabs{display:flex;gap:4px;padding:5px;background:var(--surface-2);border-radius:99px;width:fit-content;margin-bottom:26px}.lib-tab{border:0;background:transparent;padding:10px 20px;border-radius:99px;font-size:14px;font-weight:600;color:var(--text-dim);display:inline-flex;align-items:center;gap:8px;transition:all .15s}.lib-tab.on{background:var(--surface);color:var(--accent);box-shadow:0 2px 10px -3px #0000004d}.lt-count{font-size:11px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--surface-3);color:var(--text-dim);display:grid;place-items:center}.lib-tab.on .lt-count{background:var(--accent);color:var(--on-accent)}.scene-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--gap)}.sg-item{text-align:left;border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);padding:0;transition:transform .15s,border-color .15s,box-shadow .15s}.sg-item:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow)}.sg-item .scene-img{aspect-ratio:16/10}.sg-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px 6px}.sg-char{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;min-width:0}.sg-ava{width:24px;height:24px;border-radius:50%;overflow:hidden;position:relative;flex-shrink:0}.sg-ava .portrait .initial{font-size:13px}.sg-badge{position:static;flex-shrink:0}.sg-prompt{font-family:ui-monospace,SF Mono,monospace;font-size:11.5px;line-height:1.45;color:var(--text-faint);padding:0 13px 13px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.createview{height:100vh;overflow-y:auto;display:grid;grid-template-columns:1fr 380px}.create-form-col{max-width:640px;margin-left:auto;width:100%;padding:var(--pad) clamp(24px,3vw,44px) 80px}.create-head{display:flex;align-items:flex-start;gap:14px;padding:18px 0 24px}.create-head .back{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-soft);background:var(--surface);color:var(--text-dim);display:grid;place-items:center;flex-shrink:0}.create-head .back:hover{color:var(--text);background:var(--surface-2)}.create-head .back svg{width:19px;height:19px}.create-head h1{font-family:var(--font-display);font-size:28px;font-weight:600;margin:0 0 3px;letter-spacing:-.01em}.create-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--pad);margin-bottom:14px}.cc-h{font-family:var(--font-display);font-size:16px;font-weight:600;margin:0 0 14px;display:flex;align-items:center;gap:9px}.cc-hint{font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--text-faint)}.field{position:relative}.field textarea{width:100%;padding:12px 15px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:14.5px;line-height:1.5;resize:vertical;outline:none;transition:border-color .14s,box-shadow .14s}.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.field textarea::placeholder{color:var(--text-faint)}.create-card .field input{background:var(--surface-2)}.counter{position:absolute;right:4px;bottom:-18px;font-size:11px;color:var(--text-faint)}.hue-row{display:flex;gap:11px;flex-wrap:wrap}.hue-dot{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .12s}.hue-dot:hover{transform:scale(1.1)}.hue-dot.on{border-color:var(--text);box-shadow:0 0 0 2px var(--bg) inset;transform:scale(1.08)}.tag-pick{display:flex;flex-wrap:wrap;gap:9px}.tagp{padding:9px 16px;border-radius:99px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:13.5px;font-weight:500;transition:all .14s}.tagp:hover:not(:disabled){color:var(--text);border-color:var(--text-faint)}.tagp.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.tagp:disabled{opacity:.4;cursor:not-allowed}.style-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.stylep{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-2);padding:0;transition:border-color .14s}.stylep.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.stylep .sp-art{aspect-ratio:16/10}.stylep .sp-art .scene-img{width:100%;height:100%;aspect-ratio:auto}.stylep span{display:block;padding:8px;font-size:12.5px;font-weight:600;color:var(--text-dim)}.stylep.on span{color:var(--accent)}.create-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}.create-submit{width:auto;display:inline-flex;align-items:center;gap:9px;padding:13px 26px}.create-submit svg{width:18px;height:18px}.create-preview-col{border-left:1px solid var(--border-soft);padding:var(--pad) clamp(20px,2.5vw,32px)}.preview-sticky{position:sticky;top:var(--pad)}.preview-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:14px}.preview-card{width:100%;max-width:280px}.preview-card:hover{transform:none;border-color:var(--border-soft);box-shadow:none}.preview-greeting{margin-top:22px;max-width:280px}.pg-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px}.pg-h svg{width:14px;height:14px}.pg-bubble{background:var(--surface);border:1px solid var(--border-soft);border-radius:18px 18px 18px 6px;padding:13px 16px;font-size:14px;line-height:1.55;color:var(--text)}.pg-bubble .narr{font-style:italic;color:var(--text-dim)}@media(max-width:980px){.createview{grid-template-columns:1fr}.create-preview-col{border-left:0;border-top:1px solid var(--border-soft)}.preview-sticky{position:static}.preview-card,.preview-greeting{max-width:100%}.create-form-col{margin:0 auto}}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;animation:sheet-fade .18s ease}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-width:560px;max-height:86vh;background:var(--surface-1, var(--surface));border-radius:24px 24px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:sheet-up .22s cubic-bezier(.2,.8,.4,1)}@keyframes sheet-up{0%{transform:translateY(48px);opacity:0}to{transform:none;opacity:1}}.sheet-handle{width:36px;height:4px;border-radius:99px;background:var(--border-soft);margin:10px auto 0;flex-shrink:0}.sheet-hero{position:relative;height:460px;flex-shrink:0;overflow:hidden}.sheet-hero-portrait{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center}.sheet-hero-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.88) 25%,transparent 65%)}.sheet-hero-body{position:absolute;bottom:0;left:0;right:0;padding:16px 20px}.sheet-close{position:absolute;top:10px;right:10px;background:#00000080;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff}.sheet-tags{display:flex;gap:7px;margin-bottom:7px}.sheet-name{font-family:var(--font-display);font-size:clamp(22px,3.5vw,30px);font-weight:600;color:#fff;margin:0 0 4px;letter-spacing:-.02em}.sheet-tagline{font-size:13.5px;color:#ffffffc7;margin:0}.sheet-body{overflow-y:auto;padding:18px 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px}.sheet-desc{font-size:14px;line-height:1.65;color:var(--text-dim);margin:0}.sheet-section-head{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin:0 0 10px}.sheet-cta{width:100%;justify-content:center}
