.characters-page{overscroll-behavior:contain;background:var(--background);height:100dvh;overflow-y:auto}.characters-top{background:color-mix(in srgb, var(--background) 62%, transparent);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.characters-top-row{flex-wrap:wrap;align-items:center;gap:8px;width:min(1180px,100%);margin:0 auto;display:flex}.char-scope{background:var(--glass);border-radius:999px;flex:0 auto;gap:2px;margin-right:auto;padding:3px}.char-scope [data-slot=toggle-group-item]{min-height:30px;color:var(--muted-foreground);white-space:nowrap;border-radius:999px;flex:1 0 auto;padding:0 12px;font-size:12px;font-weight:600}.char-scope [data-slot=toggle-group-item]:hover{color:var(--foreground-2)}.char-scope [data-slot=toggle-group-item][data-state=on]{background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--glass-border);color:#fff}.char-icon-button{border:1px solid var(--glass-border);background:var(--glass);width:36px;height:36px;color:var(--muted-foreground);border-radius:50%;flex:none;place-items:center;padding:0;transition:color .15s,background .15s;display:grid;position:relative}.char-icon-button:hover,.char-icon-button[aria-pressed=true],.char-icon-button[data-state=open]{background:var(--glass-strong);color:#fff}.char-icon-button svg{width:17px}.char-icon-button [data-slot=badge]{min-width:16px;height:16px;padding:0 4px;font-size:9px;position:absolute;top:-4px;right:-4px}.characters-top-row>.mode-banner,.char-seg{flex:150px}.char-seg{border:1px solid var(--border);background:var(--glass);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.char-seg button{min-height:30px;color:var(--muted-foreground);white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:999px;padding:0 10px;font-size:12px;font-weight:600;transition:color .15s,background .2s ease-out,box-shadow .2s ease-out,transform .15s cubic-bezier(.32,.72,0,1)}.char-seg button:active{transition-duration:70ms;transform:scale(.97)}.char-seg button:hover{color:var(--foreground)}@media (max-width:720px){.char-seg-mode{display:none}}.char-seg button[aria-selected=true]{background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--glass-border);color:#fff}.characters-search{flex:auto;min-width:0;height:36px}@media (min-width:720px){.characters-top-row>.mode-banner,.char-seg{flex:none}.characters-search{max-width:420px}}.characters-search>button{width:24px;height:24px;color:var(--muted-foreground);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.characters-search>button:hover{color:#fff}.characters-search>button svg{width:14px}.characters-body{max-width:1180px;padding:12px 12px calc(150px + var(--app-safe-area-bottom,env(safe-area-inset-bottom)));margin:0 auto}.char-filters-pop [data-slot=toggle-group]{background:var(--background);border-radius:12px;grid-template-columns:1fr 1fr;width:100%;padding:3px;display:grid}.char-filters-pop [data-slot=toggle-group-item]{width:100%;min-height:32px;color:var(--muted-foreground);border-radius:9px;padding:0 8px;font-size:12px;font-weight:500}.char-filters-pop [data-slot=toggle-group-item]:hover{color:var(--foreground-2);background:#ffffff0d}.char-filters-pop [data-slot=toggle-group-item][data-state=on]{background:var(--accent);color:#fff}.char-filters-pop{background:var(--popover);color:#fff;border-color:#ffffff1a;gap:16px;width:min(320px,100vw - 32px);padding:14px;display:grid}.char-filter{gap:6px;min-width:0;display:grid}.char-filter>[data-slot=label]{color:var(--muted-foreground);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:600}.char-filter-switches{gap:2px}.char-filter-switches [data-slot=label]{min-height:36px;color:var(--foreground);letter-spacing:normal;text-transform:none;cursor:pointer;font-size:13px;font-weight:500}.char-filters-pop [data-slot=switch][data-state=unchecked]{background:var(--border-strong)}.char-filters-pop [data-slot=select-trigger]{border-color:var(--border);background:var(--background);width:100%;min-height:36px;color:var(--foreground);border-radius:10px;padding-inline:12px 8px;font-size:12px}.char-filters-reset{color:var(--muted-foreground);justify-self:start}.char-filters-reset:hover{color:#fff}.char-active{flex-wrap:wrap;align-items:center;gap:6px;min-height:30px;margin-bottom:10px;display:flex}.char-active-chip{border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);background:color-mix(in srgb, var(--primary) 10%, transparent);min-height:30px;color:var(--primary-soft);border-radius:999px;align-items:center;gap:5px;padding:0 8px 0 11px;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.char-active-chip svg{opacity:.7;width:13px}.char-active-chip:hover{background:color-mix(in srgb, var(--primary) 20%, transparent);color:#fff}.char-count{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:5px;margin-left:auto;font-size:12px;display:inline-flex}.char-count [data-slot=badge]{background:var(--accent);color:#fff;font-variant-numeric:tabular-nums}.char-active>button[data-slot=button]{color:var(--muted-foreground)}.char-active>button[data-slot=button]:hover{color:#fff}.char-chip{min-height:34px;color:var(--muted-foreground);white-space:nowrap;background:0 0;border:0;border-radius:18px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.char-chip svg{width:14px}.char-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.char-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}}.char-cell{opacity:0;min-width:0;animation:.3s cubic-bezier(.32,.72,0,1) both char-card-in;animation-delay:calc(var(--i) * 22ms)}.char-grid[data-returning] .char-cell{opacity:1;animation:none}@keyframes char-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.char-card{aspect-ratio:3/4.2;background:var(--grad-card);text-align:left;border:0;border-radius:18px;width:100%;padding:0;transition:transform .35s cubic-bezier(.32,.72,0,1);display:block;position:relative;overflow:hidden}.char-card:after{box-shadow:inset 0 0 0 1.5px var(--primary);content:"";opacity:0;pointer-events:none;border-radius:18px;transition:opacity .2s;position:absolute;inset:0}.char-card[aria-pressed=true]:after,.char-card:focus-visible:after{opacity:1}.char-card:focus-visible{outline:none}.char-card-img{object-fit:cover;object-position:top center;opacity:0;width:100%;height:100%;transition:opacity .35s ease-out,transform .35s cubic-bezier(.32,.72,0,1);position:absolute;inset:0}.char-card-img[data-loaded]{opacity:1}.char-card-video{object-fit:cover;object-position:top center;opacity:0;visibility:hidden;pointer-events:none;width:100%;height:100%;transition:opacity .35s ease-out,transform .35s cubic-bezier(.32,.72,0,1),visibility 0s .35s;position:absolute;inset:0}.char-card-video[data-playing]{opacity:1;visibility:visible;transition:opacity .35s ease-out,transform .35s cubic-bezier(.32,.72,0,1),visibility}.char-card-initial{color:#ffffffeb;place-items:center;font-size:52px;font-weight:700;display:grid;position:absolute;inset:0}.char-card-scrim{pointer-events:none;background:linear-gradient(#0000,#000000b8);gap:3px;padding:48px 12px 16px;display:grid;position:absolute;bottom:0;left:0;right:0}.char-card-scrim strong{color:#fff;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 4px #00000080;font-size:17px;font-weight:700;overflow:hidden}.char-card-scrim strong span{color:#ffffff8c;font-weight:500}.char-card-likes{color:#ffffff9e;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #00000080;align-items:center;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.char-card-likes svg{width:11px;height:11px}.char-card:active{transform:scale(.985)}@media (hover:hover){.char-card:hover:after{opacity:1}.char-card:hover .char-card-img,.char-card:hover .char-card-video{transform:scale(1.04)}}.char-skeleton{aspect-ratio:3/4.2;background:linear-gradient(90deg,var(--card) 25%,var(--popover) 50%,var(--card) 75%) 0 0/220% 100%;border-radius:18px;animation:1.6s linear infinite settling-shimmer}.char-empty{min-height:320px;color:var(--muted-foreground);text-align:center;align-content:center;justify-items:center;gap:12px;display:grid}.char-empty svg{width:38px;height:38px;color:var(--primary)}.char-empty strong{color:#fff;max-width:460px;font-size:14px}.char-empty span{max-width:300px;font-size:12px;line-height:1.5}.char-create-fab{z-index:20;bottom:calc(max(12px, var(--app-safe-area-bottom,env(safe-area-inset-bottom))) + 70px);background:var(--primary-ink);color:#fff;border:0;border-radius:999px;align-items:center;gap:6px;min-height:42px;padding:0 20px;font-size:14px;font-weight:700;transition:transform .55s cubic-bezier(.32,.72,0,1),opacity .25s,filter .15s;display:inline-flex;position:fixed;left:50%;translate:-50%;box-shadow:0 8px 24px #00000059}.char-create-fab:hover{filter:brightness(1.12)}.char-create-fab:active{transition-duration:80ms;transform:scale(.94)}.char-create-fab[data-hidden]{opacity:0;pointer-events:none;transform:translateY(56px)scale(.6)}.char-create-fab svg{width:17px}.char-admin-error{color:#f27b80;margin:0;font-size:11px;line-height:1.45}.char-admin-check{color:var(--muted-foreground);align-items:center;gap:8px;font-size:11px;display:flex}.char-admin-check input{width:auto;accent-color:var(--primary)}.char-admin-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.char-admin-actions button{width:100%}.char-admin-empty{color:var(--muted-foreground);margin:0;font-size:12px;line-height:1.5}.char-admin-picker{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.char-admin-picker button{outline-offset:-2px;outline:2px solid #0000;transition:transform .4s cubic-bezier(.32,.72,0,1),outline-color .2s ease-out,filter .15s;position:relative}.char-admin-picker button[aria-pressed=true]{outline-color:var(--primary)}.char-admin-picker button:active{transition-duration:.15s;transform:scale(.97)}.char-admin-picker b{color:#fff;background:#e05a67e6;border-radius:6px;padding:1px 5px;font-size:10px;position:absolute;top:4px;left:4px}.char-presets{flex-wrap:wrap;gap:4px;display:flex}.char-presets .char-chip{border:1px solid var(--border);border-radius:14px;min-height:28px;padding:3px 9px;font-size:11px}.char-presets .char-chip:hover{color:var(--foreground-2);background:#ffffff0d}.char-presets .char-chip[aria-pressed=true]{background:var(--accent);color:#fff;border-color:#0000}.char-frame-field{color:var(--muted-foreground);gap:5px;font-size:11px;display:grid}.char-frame-field textarea{border:1px solid var(--input);background:var(--well);color:#fff;resize:vertical;border-radius:9px;width:100%;min-height:66px;padding:8px 10px;font-size:12px;line-height:1.5}.frame-dialog{background:var(--card);color:#fff;border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(560px,100vw - 2rem);max-height:90dvh;padding:18px;display:grid;max-width:none!important}.frame-dialog-body{overscroll-behavior:contain;align-content:start;gap:12px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.frame-dialog [data-slot=dialog-description]{color:var(--foreground-dim);font-size:11px}.frame-dialog .char-frame-field select{border:1px solid var(--border);background:var(--well);color:#fff;border-radius:8px;width:100%;height:34px;padding:0 8px;font-size:12px}.persona-canon-hint{color:var(--foreground-dim);margin:6px 0 0;font-size:11px;line-height:1.5}.tag-studio{background:var(--card);color:#fff;border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(720px,100vw - 2rem);max-height:92dvh;padding:18px;display:grid;max-width:none!important}.tag-studio [data-slot=dialog-description]{color:var(--foreground-dim);font-size:11px;line-height:1.5}.tag-studio-body{overscroll-behavior:contain;align-content:start;gap:18px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.tag-studio-body section{gap:8px;display:grid}.tag-studio-body h4{color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.tag-studio-foot{gap:8px;display:grid}.tag-hint{color:var(--foreground-dim);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:11px;line-height:1.5;display:flex}.tag-saved{color:#6cc07a;margin:0;font-size:11px}.tag-link{color:var(--primary-soft);align-items:center;gap:4px;font-size:11px;display:inline-flex}.tag-link svg{width:12px}.tag-styles{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:8px;display:grid}.tag-style{border:1px solid var(--border);background:var(--well);color:var(--muted-foreground);text-align:left;border-radius:12px;gap:3px;padding:9px 11px;transition:border-color .15s,background .15s;display:grid}.tag-style:hover{background:var(--card-hover)}.tag-style[aria-pressed=true]{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--well))}.tag-style b{color:#fff;font-size:13px}.tag-style code{color:var(--primary-soft);word-break:break-all;font-size:10px}.tag-style span{font-size:10px}.tag-style em{color:#e6b35c;font-size:10px;font-style:normal}.tag-style p{margin:2px 0 0;font-size:10px;line-height:1.45}.tag-chips{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{background:var(--popover);color:var(--foreground-2);border:1px solid #0000;border-radius:12px;align-items:center;gap:5px;padding:4px 6px 4px 10px;font-size:11px;display:inline-flex}.tag-chip.dead{color:#f0a0a3;background:#f27b801f;border-color:#f27b8080;text-decoration:line-through}.tag-chip button{color:var(--foreground-dim);display:inline-flex}.tag-chip button:hover{color:#f27b80}.tag-chip button svg{width:12px}.tag-garment{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;gap:8px;display:grid}.tag-garment>span{color:var(--muted-foreground);font-size:11px;line-height:1.4}.tag-garment>span b{color:var(--foreground-2);font-weight:600}.tag-prompt summary{color:var(--muted-foreground);cursor:pointer;font-size:11px}.tag-prompt p{color:var(--muted-foreground);word-break:break-word;margin:6px 0 0;font-size:10px;line-height:1.55}.tag-prompt h5{color:var(--muted-foreground);text-transform:uppercase;margin:10px 0 0;font-size:10px;font-weight:600}@media (max-width:720px){.tag-garment{grid-template-columns:minmax(0,1fr);gap:4px}}@media (prefers-reduced-motion:reduce){.char-cell,.char-skeleton{opacity:1;animation:none}.char-hero-sk,.char-hero .slider-slide img,.char-hero-cover,.char-view,.char-view>*,.scn-card img,.char-dialog-foot-views>*{transition:none;animation:none}.char-card,.char-card-img,.char-card-video,.char-card:after{transition:none}}.gal-locked{z-index:2;background:color-mix(in srgb, var(--well) 72%, transparent);color:#fff;white-space:nowrap;pointer-events:none;border-radius:18px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:50%;left:50%;translate:-50% -50%}.gal-locked svg{width:14px}button.gal-locked{pointer-events:auto;cursor:pointer;border:0;transition:transform .15s cubic-bezier(.32,.72,0,1),opacity .2s}button.gal-locked:active{transform:scale(.97)}button.gal-locked:disabled{opacity:.7;cursor:progress}.gal-locked .price-tag{align-items:center;gap:3px;font-size:12px;display:inline-flex}.char-create fieldset{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.char-create-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.char-create select{border:1px solid var(--input);background:var(--well);color:#fff;border-radius:9px;width:100%;height:36px;padding:0 10px}.split-start{--half:calc(50% - 6px);height:50px;position:relative}.split-start>svg{position:absolute}.split-blobs{filter:url(#split-goo);position:absolute;inset:0}.split-blobs i{background-color:var(--primary-ink);border-radius:999px;width:100%;transition:background-color .45s .18s;position:absolute;top:0;bottom:0}.split-blobs i:first-child{left:0}.split-blobs i:last-child{right:0}.split-start:not([data-split]) .split-blobs{animation:3.2s ease-in-out infinite split-idle}.split-start[data-split] .split-blobs i{width:var(--half);animation:split-apart .95s var(--spring) both}.split-start[data-split] .split-blobs i:last-child{background-color:#2aabee}.split-start>button{color:#fff;letter-spacing:.01em;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:15px;font-weight:700;transition:transform .15s;display:flex;position:absolute;top:0;bottom:0}.split-start>button svg{width:18px}.split-start>button:active:not(:disabled){transform:scale(.95)}.split-start>button:disabled{opacity:.7}.split-start>.split-one{width:100%;inset:0}.split-start>.split-here,.split-start>.split-tg{width:var(--half);animation:split-label .75s var(--spring) .1s both}.split-start>.split-here{left:0}.split-start>.split-tg{animation-delay:.16s;right:0}@keyframes split-apart{0%{width:100%}}@keyframes split-label{0%{opacity:0;transform:scale(.55)}}@keyframes split-idle{0%,72%,to{transform:none}80%{transform:scale(1.035,.93)}88%{transform:scale(.985,1.03)}94%{transform:scale(1.01,.99)}}@media (prefers-reduced-motion:reduce){.split-start .split-blobs,.split-start .split-blobs i,.split-start>button{animation:none!important}}@media (max-width:420px){.characters-top .mode-banner.compact button svg{display:none}.characters-top .mode-banner.compact button,.char-seg button{padding:0 4px}.characters-top .mode-banner.compact button strong,.char-seg button{font-size:11.5px}}.characters-top-row:first-child{flex-wrap:nowrap;gap:min(8px,1.778vw)}.char-scope [data-slot=toggle-group-item]{min-height:min(30px,6.667vw);padding:0 min(12px,2.667vw);font-size:min(12px,2.667vw)}.characters-top-row:first-child .char-icon-button{width:min(36px,8vw);height:min(36px,8vw)}.characters-top-row:first-child .char-icon-button svg{width:min(17px,3.778vw)}.characters-top .wallet-pill{gap:min(2px,.444vw);height:min(32px,7.111vw);padding-left:min(9px,2vw)}.characters-top .wallet-seg{gap:min(4px,.889vw)}.characters-top .wallet-seg.energy{padding-right:min(7px,1.556vw)}.characters-top .wallet-seg b{font-size:min(13px,2.889vw)}.characters-top .wallet-step{gap:min(6px,1.333vw);padding:0 min(4px,.889vw) 0 min(8px,1.778vw)}.characters-top .wallet-plus{width:min(24px,5.333vw);height:min(24px,5.333vw)}.characters-top .wallet-plus svg{width:min(13px,2.889vw);height:min(13px,2.889vw)}.characters-top :is(.energy-icon,.coin-icon){width:min(16px,3.556vw);height:min(16px,3.556vw)}@media (min-width:900px){.characters-body{padding-top:16px}}.char-dialog{background:var(--card);width:min(1000px,100vw - 2rem);height:min(88dvh,840px);color:var(--foreground);border-radius:22px;grid-template-rows:minmax(0,1fr);gap:0;padding:0;display:grid;overflow:hidden;max-width:none!important}[data-style=real] .char-dialog{border-radius:var(--radius-card)}.char-scroll{grid-template-columns:minmax(0,11fr) minmax(0,14fr);height:100%;min-height:0;display:grid}.char-hero{background:var(--grad-avatar);position:relative;overflow:hidden}.char-hero-sk{background:var(--grad-avatar);transition:opacity .25s ease-out;position:absolute;inset:0}.char-hero.is-loaded .char-hero-sk{opacity:0}.char-hero .slider-slide img{opacity:0;transition:opacity .25s ease-out}.char-hero .slider-slide img[data-loaded]{opacity:1}.char-hero:after{z-index:1;background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--card) 55%, transparent) 45%, var(--card));content:"";pointer-events:none;height:54%;position:absolute;inset:auto 0 0}.char-hero .pf-hero-copy{z-index:2;padding:0 20px 18px}.char-hero-cover{z-index:1;opacity:0;pointer-events:none;transition:opacity .25s ease-out;position:absolute;inset:0}.char-hero-cover img{object-fit:cover;object-position:center 30%}.char-dialog[data-view=scenario] .char-hero-cover{opacity:1}.char-hero-dots{z-index:3;pointer-events:none;justify-content:center;gap:5px;display:flex;position:absolute;top:16px;left:0;right:0}.char-hero-dots i{background:#ffffff6b;border-radius:50%;width:5px;height:5px;transition:background-color .25s,transform .2s cubic-bezier(.32,.72,0,1);box-shadow:0 1px 3px #0006}.char-hero-dots i.on{background:#fff;transform:scale(1.35)}.char-hero-arrow{z-index:3;color:#fff;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000061;border:0;border-radius:50%;place-items:center;width:36px;height:36px;margin-top:-18px;padding:0;transition:opacity .2s,background-color .2s,transform .15s cubic-bezier(.32,.72,0,1);display:grid;position:absolute;top:50%;box-shadow:inset 0 0 0 1px #ffffff29}.char-hero-arrow svg{width:18px}.char-hero-arrow.prev{left:12px}.char-hero-arrow.next{right:12px}.char-hero-arrow:active:not(:disabled){transform:scale(.97)}.char-hero-arrow:disabled,.char-dialog[data-view=scenario] :is(.char-hero-dots,.char-hero-arrow){pointer-events:none;opacity:0!important}@media (hover:hover){.char-hero:hover .char-hero-arrow,.char-hero-arrow:focus-visible{opacity:1}.char-hero-arrow:hover{background:#0000009e}}.char-hero .gal-locked{z-index:3}.char-hero .admin-chip{z-index:3;position:absolute;top:12px;left:12px}.char-body{overscroll-behavior:contain;grid-template-rows:1fr auto;min-height:100%;display:grid;position:relative;overflow:hidden auto}.char-views{overflow-clip-margin:8px;position:relative;overflow-x:clip}.char-view{align-content:start;gap:14px;padding:16px 22px 18px;transition:transform .38s cubic-bezier(.32,.72,0,1),opacity .38s cubic-bezier(.32,.72,0,1),visibility 0s linear .38s;display:grid}.char-view.scenario{z-index:1;background:var(--card);touch-action:pan-y}.char-view.card>*{animation:.45s cubic-bezier(.32,.72,0,1) both pf-rise;animation-delay:calc(var(--i,0) * 35ms)}.char-view.is-active{transition-delay:0s}.char-view:not(.is-active){top:var(--lift,0px);visibility:hidden;pointer-events:none;position:absolute;left:0;right:0}.char-view.card:not(.is-active){opacity:0;transform:translate(-30%)}.char-view.scenario:not(.is-active){transform:translate(100%)}.char-views[data-swipe]{cursor:grabbing;-webkit-user-select:none;user-select:none}.char-views[data-swipe] .char-view{transition:none}.char-views[data-swipe] .char-view.scenario{transform:translateX(var(--swipe,0px))}.char-views[data-swipe] .char-view.card{visibility:visible;opacity:var(--swipe-p,0);transform:translateX(calc(-30% * (1 - var(--swipe-p,0))))}.char-view .pf-tabs b{background:var(--primary-ink);color:#fff;border-radius:999px;margin-left:5px;padding:1px 6px;font-size:10.5px;font-weight:700}.char-view .pf-grid button{position:relative}.char-view .pf-grid button>svg{color:#fff;filter:drop-shadow(0 1px 4px #0009);width:22px;position:absolute;top:50%;left:50%;translate:-50% -50%}.scn-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.scn-card{aspect-ratio:4/3;border-radius:var(--radius-card);background:var(--grad-tile);width:100%;box-shadow:inset 0 0 0 1px var(--glass-border);text-align:left;border:0;padding:0;transition:transform .15s cubic-bezier(.32,.72,0,1),box-shadow .2s;display:block;position:relative;overflow:hidden}.scn-card:only-child{aspect-ratio:16/9;grid-column:1/-1}.scn-card img{object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.scn-card img.portrait{object-position:center 20%}.scn-card:active{filter:brightness(1.08)}.scn-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (hover:hover){.scn-card:hover{box-shadow:inset 0 0 0 1.5px var(--primary)}.scn-card:hover img{transform:scale(1.04)}}.scn-card-mode{z-index:1;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;top:10px;left:10px}.scn-card-mode svg{width:12px}.scn-card-mode[data-mode=rp]{background:#6e50e69e;box-shadow:inset 0 0 0 1px #c7b5ff66}.scn-card-mode[data-mode=texting]{background:#d63c809e;box-shadow:inset 0 0 0 1px #f7a3c766}.scn-card-copy{background:linear-gradient(#0000,#000c);gap:2px;padding:40px 14px 12px;display:grid;position:absolute;bottom:0;left:0;right:0}.scn-card-copy strong{color:#fff;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 4px #00000080;font-size:15px;font-weight:700;overflow:hidden}.scn-card-copy small{color:#ffffffc7;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.scn-back{background:var(--glass);min-height:34px;box-shadow:inset 0 0 0 1px var(--glass-border);color:var(--foreground-2);border:0;border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:0 13px 0 9px;font-size:13px;font-weight:600;transition:background-color .2s,color .2s,transform .15s cubic-bezier(.32,.72,0,1);display:inline-flex}.scn-back:hover{background:var(--glass-strong);color:#fff}.scn-back:active{transform:scale(.97)}.scn-back svg{width:16px}.scn-meta{color:var(--foreground-dim);margin:0;font-size:12px}.char-persona{gap:10px;display:grid}.char-persona h3{color:#fff;letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700}.char-persona>p{color:var(--muted-foreground);margin:-6px 0 0;font-size:12.5px}.char-persona-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px;display:grid}.char-persona label{color:var(--muted-foreground);gap:5px;font-size:11.5px;font-weight:600;display:grid}.char-persona input{background:var(--well);height:44px;box-shadow:inset 0 0 0 1px var(--glass-border);color:#fff;border:0;border-radius:12px;padding:0 12px;font-size:15px;transition:box-shadow .2s}.char-persona input:focus-visible{box-shadow:inset 0 0 0 1.5px var(--primary);outline:none}.char-persona .pf-tabs button{min-height:40px}.char-persona .char-presets{gap:6px}.char-persona .char-presets .char-chip{min-height:32px;font-size:12px}.char-dialog-foot{z-index:2;padding:12px 22px max(14px, var(--app-safe-area-bottom,env(safe-area-inset-bottom)));background:color-mix(in srgb, var(--card) 74%, transparent);box-shadow:0 -1px 0 var(--glass-border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);gap:8px;display:grid;position:sticky;bottom:0}.char-dialog-foot .form-error{text-align:left;margin:0}.char-dialog-foot-views{display:grid}.char-dialog-foot-views>*{grid-area:1/1;transition:opacity .22s ease-out,visibility 0s linear .22s}.char-dialog-foot-views>[aria-hidden=true]{opacity:0;visibility:hidden;pointer-events:none}.char-dialog-foot-views>.is-active{transition-delay:0s}.char-dialog-foot [data-slot=button]{border-radius:var(--radius-chip);background:var(--primary-ink);color:#fff;width:100%;height:50px;box-shadow:0 10px 26px -8px color-mix(in srgb, var(--primary-ink) 70%, transparent);font-size:15px;font-weight:700;transition:transform .15s cubic-bezier(.32,.72,0,1),filter .15s,opacity .2s}.char-dialog-foot [data-slot=button]:hover:not(:disabled){filter:brightness(1.1)}.char-dialog-foot [data-slot=button]:active:not(:disabled){transform:scale(.97)}.char-dialog :is(.pf-primary,.pf-secondary,.pf-more,.pf-tabs button,.pf-grid button,.split-start>button){transition-duration:.15s;transition-timing-function:cubic-bezier(.32,.72,0,1)}.char-dialog :is(.pf-primary:active:not(:disabled),.pf-secondary:active,.pf-more:active,.pf-tabs button:active,.pf-grid button:active,.split-start>button:active:not(:disabled)){transition-duration:.15s;transform:scale(.97)}.scn-shots{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.scn-shot{align-content:start;gap:4px;margin:0;display:grid;position:relative}.scn-shot img,.scn-shot>span{aspect-ratio:832/1216;background:var(--card);object-fit:cover;border-radius:8px;place-items:center;width:100%;display:grid}.scn-shot.failed>span{color:#f0b4b7;background:#e05a6729;font-size:10px}.scn-shot>.sk{aspect-ratio:832/1216;border-radius:8px;width:100%}.scn-shot-open{cursor:zoom-in;background:0 0;border:0;border-radius:8px;padding:0;transition:transform .15s cubic-bezier(.32,.72,0,1);display:block}.scn-shot-open:active{transform:scale(.97)}.scn-shot-paid{background:color-mix(in srgb, var(--well) 70%, transparent);color:#f0b4b7;pointer-events:none;border-radius:8px;padding:1px 6px;font-size:10px;position:absolute;top:4px;left:4px}.scn-shot figcaption em{color:var(--primary-soft);margin-top:2px;font-style:normal;display:block}.scn-shot[draggable=true]{cursor:grab;transition:opacity .2s ease-out}.scn-shot[data-dragging]{opacity:.4}.scn-shot[data-drop]:before{content:"";background:var(--primary-soft);border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:-5px}.scn-shot-edit{background:color-mix(in srgb, var(--well) 60%, transparent);color:#fff;border:0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;transition:transform .15s cubic-bezier(.32,.72,0,1);display:grid;position:absolute;top:28px;right:4px}.scn-shot-edit:active{transform:scale(.92)}.scn-shot-edit svg{width:12px}.scn-shot-redo{top:52px}.scn-shot figcaption{color:var(--muted-foreground);font-size:11px;line-height:1.35}.scn-shot-del{background:color-mix(in srgb, var(--well) 60%, transparent);color:#f0b4b7;border:0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:grid;position:absolute;top:4px;right:4px}.scn-shot-del:hover{color:#fff;background:#e05a67e6}.scn-shot-del svg{width:12px}.scn-draft{background:var(--well);border-radius:14px;gap:8px;padding:12px;display:grid}.scn-draft b{color:#fff;font-size:13px}.scn-draft textarea{border:1px solid var(--input);background:var(--card);color:#fff;resize:vertical;border-radius:9px;width:100%;padding:8px 10px;font-size:12px;line-height:1.5}.char-chats{gap:6px;display:grid}.char-chats button{border-radius:var(--radius-card);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-border);color:var(--foreground-2);text-align:left;border:0;align-items:center;gap:10px;padding:10px 12px;transition:background-color .2s,transform .15s cubic-bezier(.32,.72,0,1);display:flex}.char-chats button:hover,.char-chats button:active{background:var(--glass-strong)}.char-chats svg{width:16px;color:var(--primary-soft);flex:none}.char-chats span{gap:2px;min-width:0;display:grid}.char-chats strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550;overflow:hidden}.char-chats small{color:var(--foreground-dim);font-size:11px}.char-about{gap:8px;display:grid}.char-about p{color:var(--foreground-2);margin:0;font-size:13px;line-height:1.55}.char-about b{color:var(--muted-foreground);font-weight:600}.char-about .pre{white-space:pre-wrap}@media (min-width:721px){.char-hero-cover{display:none}.char-hero .pf-name{font-size:34px}}@media (max-width:720px){.char-scroll{overscroll-behavior:contain;flex-direction:column;display:flex;overflow:hidden auto}.char-scroll>*{flex-shrink:0}.char-scroll>.char-body{flex:1 0 auto;min-height:0;overflow:visible}.char-hero{aspect-ratio:3/4;width:100%;min-width:100%;max-height:58dvh}.char-hero-dots{top:18px}.char-view{padding:12px 18px 18px}.char-dialog-foot{padding-inline:18px}.char-persona input{font-size:16px}.scn-cards{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;display:flex;overflow-x:auto}.scn-cards::-webkit-scrollbar{display:none}.scn-cards{-webkit-user-select:none;user-select:none}.scn-cards[data-dragging]{scroll-snap-type:none;cursor:grabbing}.scn-cards[data-dragging] .scn-card{pointer-events:none;transform:none}.scn-card{scroll-snap-align:start;flex:0 0 86%}.scn-card:only-child{flex-basis:100%}}.like-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-tap-highlight-color:transparent;height:38px;transition:transform .35s var(--spring-soft), background-color .25s, box-shadow .25s;background:#0000005c;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 15px 0 12px;font-size:14px;font-weight:700;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff29}.like-btn.sm{gap:4px;height:30px;padding:0 10px 0 8px;font-size:12.5px}.like-btn:hover{background:#0000007a}.like-btn:active{transition-duration:80ms;transform:scale(.9)}.like-btn[data-liked=true]{background:#841f3794;box-shadow:inset 0 0 0 1px #ff6e9699,0 8px 24px -8px #ff3b6bd9}.like-icon{place-items:center;display:grid}.like-icon svg{stroke-width:2.2px;width:19px;height:19px}.like-btn.sm .like-icon svg{width:15px;height:15px}.like-btn[data-liked=true] .like-icon svg{color:#ff3b6b;fill:#ff3b6b;filter:drop-shadow(0 0 6px #ff3b6bb3)}.like-btn[data-liked=true] .like-icon{animation:like-pop .6s var(--spring) both}.like-btn b{font-variant-numeric:tabular-nums;animation:.35s cubic-bezier(.32,.72,0,1) both like-count}@keyframes like-pop{0%{transform:scale(.3)rotate(-18deg)}to{transform:none}}@keyframes like-count{0%{opacity:0;transform:translateY(7px)}}.like-burst{z-index:2147483647;pointer-events:none;width:0;height:0;position:fixed}.like-ring{opacity:0;border:2px solid #ff5c8a;border-radius:50%;width:36px;height:36px;animation:.6s cubic-bezier(.2,.7,.3,1) like-ring;position:absolute;top:-18px;left:-18px}.like-burst i{will-change:transform, opacity;width:16px;height:16px;position:absolute;top:-8px;left:-8px;transform:scale(0)}.like-burst i svg{fill:currentColor;stroke:none;filter:drop-shadow(0 1px 3px #00000059);width:100%;height:100%;display:block}@keyframes like-ring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(2.4)}}.chats-stat{color:#ffffffdb;align-items:center;gap:5px;font-size:13px;font-weight:600;display:inline-flex}.chats-stat svg{width:15px;height:15px}.chats-stat b{font-variant-numeric:tabular-nums;color:#fff}.pf-stats{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:2px;display:flex}.pf-stats .chats-stat{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00000047;border-radius:999px;height:38px;padding:0 14px 0 12px;box-shadow:inset 0 0 0 1px #ffffff1a}.char-cell{position:relative}@media (prefers-reduced-motion:reduce){.like-btn[data-liked=true] .like-icon,.like-btn b{animation:none}}.admin-form{gap:10px;display:grid}.admin-form fieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.admin-form-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (max-width:420px){.admin-form-row{grid-template-columns:1fr}}.admin-form .char-frame-field>input,.admin-form .char-frame-field>select{width:100%;min-width:0}.admin-form .char-frame-field>textarea{min-height:0}.admin-saved{color:var(--primary-soft);margin:0;font-size:12px;animation:.3s cubic-bezier(.32,.72,0,1) both pf-rise}
