*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;background:#080612;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#root{height:100dvh;overflow:hidden}.chat-bg{z-index:0;background-color:#080612;background-image:url(/images/bg.png),url(/images/bg.jpg);background-position:top;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.chat-bg:after{content:"";background:linear-gradient(#08061200 0% 22%,#08061273 45%,#080612d9 65%,#080612f7 82%,#080612 100%);position:absolute;inset:0}.chat-root{z-index:1;height:var(--app-height,100dvh);flex-direction:column;max-width:720px;margin:0 auto;display:flex;position:relative}.chat-header{background:linear-gradient(#08061273,#0000);flex-shrink:0;align-items:center;gap:10px;padding:14px 18px;display:flex}.avatar{object-fit:cover;border:2px solid #a78bfa73;border-radius:50%;flex-shrink:0;width:38px;height:38px}.avatar-fallback{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);border:2px solid #a78bfa73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.9rem;font-weight:700;display:flex}.header-name{color:#f1f5f9;letter-spacing:.01em;flex:1;font-size:1rem;font-weight:600}.status-dot{background:#ef4444;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .3s,box-shadow .3s;box-shadow:0 0 7px #ef4444}.status-dot[data-connected=true]{background:#22c55e;box-shadow:0 0 7px #22c55e}.status-dot[data-reconnecting=true]{background:#f59e0b;animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 7px #f59e0b}.chat-messages{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex-direction:column;flex:1;gap:10px;padding:12px 16px 8px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.bubble{word-break:break-word;border-radius:18px;max-width:82%;padding:10px 14px;font-size:.95rem;line-height:1.65}.bubble-user{color:#fff;background:linear-gradient(135deg,#6d28d9,#4338ca);border-bottom-right-radius:5px;align-self:flex-end;box-shadow:0 3px 14px #6d28d966}.bubble-assistant{-webkit-backdrop-filter:blur(16px);color:#e2e8f0;background:#ffffff12;border:1px solid #ffffff1a;border-bottom-left-radius:5px;align-self:flex-start}.bubble-whisper{color:#c4b5fda6;background:#7c3aed1a;border:1px dashed #7c3aed59;border-bottom-right-radius:5px;align-self:flex-end;font-size:.87em;font-style:italic}.bubble-whisper p{margin:0}.whisper-icon{opacity:.7;margin-right:5px;font-size:.9em;font-style:normal}.bubble-assistant p{white-space:pre-wrap;margin-bottom:.45em}.bubble-assistant p:last-child{margin-bottom:0}.bubble-assistant strong{color:#f8fafc;font-weight:600}.bubble-assistant em{color:#c4b5fd;font-style:italic}.bubble-assistant a{color:#a78bfa;text-underline-offset:2px;text-decoration:underline}.bubble-assistant code{color:#c4b5fd;background:#00000059;border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.83em}.bubble-assistant pre{background:#0006;border:1px solid #ffffff14;border-radius:10px;margin:6px 0;padding:10px 13px;overflow-x:auto}.bubble-assistant pre code{color:#e2e8f0;background:0 0;padding:0;font-size:.82em}.bubble-assistant ul,.bubble-assistant ol{margin:4px 0;padding-left:1.4em}.bubble-assistant li{margin:2px 0}.bubble-assistant h1,.bubble-assistant h2,.bubble-assistant h3{color:#f1f5f9;margin:8px 0 4px;font-weight:600;line-height:1.3}.bubble-assistant h1{font-size:1.15em}.bubble-assistant h2{font-size:1.05em}.bubble-assistant h3{font-size:.98em}.bubble-assistant blockquote{color:#e2e8f0b3;border-left:3px solid #a78bfa80;margin:4px 0;padding-left:10px;font-style:italic}.bubble-assistant hr{border:none;border-top:1px solid #ffffff1a;margin:8px 0}.cursor{vertical-align:text-bottom;background:#a78bfa;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.chat-input{-webkit-backdrop-filter:blur(20px);background:#080612a6;border-top:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;gap:0;padding:6px 12px 16px;display:flex;position:relative}.mention-dropdown{z-index:50;background:#1a1630;border:1px solid #ffffff1f;border-radius:14px;max-height:200px;position:absolute;bottom:100%;left:12px;right:12px;overflow:hidden auto;box-shadow:0 -8px 32px #00000080}.mention-item{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;transition:background .1s;display:flex}.mention-item:hover{background:#ffffff12}.mention-item-name{color:var(--text-primary,#e2e8f0);font-size:14px;font-weight:600}.mention-item-rel{color:#ffffff73;font-size:12px}.chat-context-bar{align-items:center;gap:8px;padding:2px 0 6px;display:flex}.chat-location-pill{color:#fff6;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff1a;border-radius:20px;padding:3px 10px;font-size:11px;transition:background .15s,color .15s,border-color .15s}.chat-location-pill:hover{color:#ffffffbf;background:#ffffff12;border-color:#fff3}.chat-location-pill.has-location{color:#a78bfabf;border-color:#7c3aed4d}.location-picker-overlay{z-index:100;position:fixed;inset:0}.location-picker-panel{bottom:calc(70px + env(safe-area-inset-bottom));z-index:101;background:#1a1630;border:1px solid #ffffff1f;border-radius:18px;max-width:420px;margin:0 auto;padding:8px;animation:.18s slide-up;position:fixed;left:12px;right:12px;box-shadow:0 -4px 40px #0009}.location-picker-option{color:#e2e8f0d9;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:14px;transition:background .12s;display:flex}.location-picker-option:hover{background:#ffffff12}.location-picker-option.selected{color:#c4b5fd;background:#7c3aed2e}.location-picker-loading,.location-picker-empty{color:#fff6;padding:12px 14px;font-size:13px}@media (width>=768px){.location-picker-panel{left:232px}}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-input textarea{resize:none;color:#e2e8f0;scrollbar-width:none;background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;outline:none;flex:1;max-height:160px;padding:10px 14px;font-family:inherit;font-size:.95rem;line-height:1.5;transition:border-color .2s;overflow-y:auto}.chat-input textarea::placeholder{color:#e2e8f04d}.chat-input textarea:focus{border-color:#8b5cf68c}.chat-input textarea::-webkit-scrollbar{display:none}.chat-input-whisper textarea{color:#c4b5fde6;background:#7c3aed14;border-color:#7c3aed73;font-style:italic}.chat-input-whisper textarea::placeholder{color:#c4b5fd66}.chat-more-btn{color:#e2e8f08c;letter-spacing:2px;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:12px;flex-shrink:0;align-self:flex-end;padding:10px;font-size:1rem;font-weight:700;line-height:1;transition:background .15s,color .15s,border-color .15s}.chat-more-btn:hover,.chat-more-btn-open{color:#c4b5fd;background:#7c3aed33;border-color:#7c3aed66}.chat-more-wrap{flex-shrink:0;align-self:flex-end;position:relative}.chat-tools-tray{-webkit-backdrop-filter:blur(24px);z-index:20;pointer-events:auto;background:#0c081af7;border:1px solid #ffffff1a;border-radius:14px;gap:6px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0}.tray-btn{color:#e2e8f0b3;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff17;border-radius:12px;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;min-width:58px;padding:9px 10px 7px;font-size:1.15rem;line-height:1;transition:background .15s,border-color .15s,color .15s;display:flex}.tray-btn:hover:not(:disabled){color:#c4b5fd;background:#7c3aed33;border-color:#7c3aed66}.tray-btn:disabled{opacity:.35;cursor:not-allowed}.tray-btn-active{color:#c4b5fd;background:#7c3aed38;border-color:#7c3aed80}.tray-btn-label{letter-spacing:.02em;color:#e2e8f073;font-size:.63rem;font-weight:500;line-height:1}.tray-btn-active .tray-btn-label{color:#c4b5fdb3}.chat-img-preview-row{align-items:center;gap:10px;padding-bottom:8px;display:flex}.chat-img-thumb{object-fit:cover;border:1px solid #7c3aed73;border-radius:10px;flex-shrink:0;width:62px;height:62px}.chat-img-remove{color:#f87171;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.65rem;transition:background .15s;display:flex}.chat-img-remove:hover{background:#ef44444d}.bubble-image{object-fit:cover;border-radius:10px;max-width:220px;max-height:220px;margin-bottom:4px;display:block}.logout-btn{color:#e2e8f059;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:4px 6px;font-size:1.1rem;transition:color .2s}.logout-btn:hover{color:#e2e8f0b3}.login-root{z-index:1;height:var(--app-height,100dvh);justify-content:center;align-items:center;padding:20px;display:flex;position:relative}.login-card{-webkit-backdrop-filter:blur(24px);background:#ffffff12;border:1px solid #ffffff1a;border-radius:22px;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:380px;padding:40px 36px;display:flex}.login-avatar{color:#fff;background:linear-gradient(135deg,#7c3aed,#4338ca);border:2px solid #a78bfa66;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:6px;font-size:1.7rem;font-weight:700;display:flex}.login-title{color:#f1f5f9;letter-spacing:-.02em;font-size:1.65rem;font-weight:700}.login-subtitle{color:#e2e8f073;margin-bottom:14px;font-size:.9rem}.login-form{flex-direction:column;gap:10px;width:100%;display:flex}.login-input{color:#e2e8f0;background:#ffffff12;border:1px solid #ffffff1f;border-radius:12px;outline:none;width:100%;padding:11px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.login-input::placeholder{color:#e2e8f04d}.login-input:focus{border-color:#8b5cf699}.login-error{color:#f87171;text-align:center;padding:2px 0;font-size:.85rem}.login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#4338ca);border:none;border-radius:12px;width:100%;margin-top:4px;padding:12px;font-size:1rem;font-weight:600;transition:opacity .2s,transform .1s}.login-btn:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.4;cursor:not-allowed}.session-loading{z-index:1;height:100dvh;position:relative}.session-error{z-index:1;color:#e2e8f099;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100dvh;display:flex;position:relative}.session-error button{color:#e2e8f0;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:10px;padding:8px 20px}.back-btn{color:#e2e8f080;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:4px 8px;font-size:1.2rem;transition:color .2s}.back-btn:hover{color:#e2e8f0e6}.header-meta{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.header-model{color:#a78bfab3;letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:500}.home-root{z-index:1;height:var(--app-height,100dvh);flex-direction:column;max-width:720px;margin:0 auto;display:flex;position:relative}.home-header{background:linear-gradient(#080612b3,#0806124d);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 18px 12px;display:flex}.home-title{color:#f1f5f9;letter-spacing:-.01em;font-size:1.3rem;font-weight:700}.new-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#4338ca);border:none;border-radius:20px;padding:8px 16px;font-size:.88rem;font-weight:600;transition:opacity .2s}.new-btn:hover{opacity:.85}.session-list{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex-direction:column;flex:1;gap:8px;padding:8px 12px 16px;list-style:none;display:flex;overflow-y:auto}.session-item{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:12px;padding:13px 14px;transition:background .2s,border-color .2s;display:flex}.session-item:hover{background:#ffffff1a;border-color:#8b5cf64d}.session-avatar{color:#fff;background:linear-gradient(135deg,#7c3aed,#4338ca);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:700;display:flex}.session-info{flex:1;min-width:0}.session-delete-btn{color:#e2e8f033;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:6px 4px;font-size:.85rem;line-height:1;transition:color .15s}.session-item:hover .session-delete-btn{color:#e2e8f073}.session-delete-btn:hover{color:#f87171!important}.session-top{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:3px;display:flex}.session-title{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.session-time{color:#e2e8f059;flex-shrink:0;font-size:.75rem}.session-bottom{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.session-char{color:#a78bfacc;font-size:.75rem;font-weight:500}.session-model{color:#e2e8f04d;background:#ffffff0d;border-radius:6px;padding:1px 6px;font-size:.7rem}.session-preview{color:#e2e8f066;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.8rem;overflow:hidden}.home-empty{color:#e2e8f066;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.new-btn-large{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#4338ca);border:none;border-radius:14px;padding:14px 28px;font-size:1rem;font-weight:600;transition:opacity .2s}.new-btn-large:hover{opacity:.85}.new-session-root{z-index:1;height:var(--app-height,100dvh);flex-direction:column;max-width:720px;margin:0 auto;display:flex;position:relative}.new-session-header{background:linear-gradient(#080612b3,#0806124d);flex-shrink:0;align-items:center;gap:10px;padding:16px 18px 12px;display:flex}.new-session-header h2{color:#f1f5f9;font-size:1.1rem;font-weight:700}.new-session-body{flex-direction:column;flex:1;gap:24px;padding:16px 16px 24px;display:flex;overflow-y:auto}.picker-label{color:#e2e8f073;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:.75rem;font-weight:600}.card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.card-tile{cursor:pointer;text-align:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;transition:background .2s,border-color .2s;display:flex}.card-tile:hover{background:#ffffff1a}.card-tile.selected{background:#7c3aed33;border-color:#8b5cf699}.card-tile-avatar{color:#fff;background:linear-gradient(135deg,#7c3aed,#4338ca);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;font-weight:700;display:flex}.card-tile-name{color:#f1f5f9;font-size:.9rem;font-weight:600}.card-tile-role{color:#e2e8f073;font-size:.72rem;line-height:1.3}.model-pills{flex-wrap:wrap;gap:8px;display:flex}.model-pill{color:#e2e8f0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;padding:8px 18px;font-size:.88rem;font-weight:500;transition:background .2s,border-color .2s}.model-pill:hover{background:#ffffff1a}.model-pill.selected{color:#c4b5fd;background:#7c3aed40;border-color:#8b5cf6b3}.start-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#4338ca);border:none;border-radius:14px;width:100%;margin-top:8px;padding:14px;font-size:1rem;font-weight:600;transition:opacity .2s,transform .1s}.start-btn:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.start-btn:disabled{opacity:.3;cursor:not-allowed}.chat-header{padding-top:calc(14px + env(safe-area-inset-top))}.chat-input{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.home-header{padding-top:calc(18px + env(safe-area-inset-top))}.new-session-header{padding-top:calc(16px + env(safe-area-inset-top))}.login-root{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.info-btn{color:#a78bfa8c;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:4px 5px;font-size:1.15rem;line-height:1;transition:color .2s}.info-btn:hover{color:#a78bfae6}.char-avatar-img{object-fit:cover;border:2px solid #a78bfa66;border-radius:50%;flex-shrink:0;display:block}.char-avatar-fallback{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);border:2px solid #a78bfa66;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.session-char-avatar{flex-shrink:0}.card-tile .char-avatar-img,.card-tile .char-avatar-fallback{font-size:1.3rem;width:52px!important;height:52px!important}.session-loading-spinner{z-index:1;color:#e2e8f066;justify-content:center;align-items:center;height:60dvh;font-size:.9rem;display:flex;position:relative}.char-sheet-overlay{z-index:200;-webkit-backdrop-filter:blur(3px);background:#0000008c;position:fixed;inset:0}.char-sheet{-webkit-backdrop-filter:blur(24px);max-width:720px;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom);scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;background:#0c081af7;border-top:1px solid #ffffff1a;border-radius:24px 24px 0 0;margin:0 auto;animation:.28s cubic-bezier(.32,.72,0,1) char-sheet-up;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.char-sheet::-webkit-scrollbar{width:4px}.char-sheet::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}@keyframes char-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.char-sheet-handle{background:#ffffff2e;border-radius:2px;width:36px;height:4px;margin:10px auto 0}.char-sheet-hero{align-items:center;gap:14px;padding:16px 20px 12px;display:flex}.char-sheet-hero-text{flex:1;min-width:0}.char-sheet-name{color:#f1f5f9;letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.char-sheet-role{color:#a78bfacc;margin-top:2px;font-size:.82rem}.char-sheet-close{color:#e2e8f080;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;transition:background .2s,color .2s;display:flex}.char-sheet-close:hover{color:#f1f5f9;background:#ffffff26}.char-sheet-section{border-top:1px solid #ffffff0d;padding:12px 20px}.char-sheet-label{color:#e2e8f059;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:.68rem;font-weight:700}.char-sheet-desc{color:#e2e8f0bf;font-size:.9rem;line-height:1.65}.char-sheet-trait-line{align-items:baseline;gap:10px;margin:5px 0;display:flex}.char-sheet-trait-key{color:#a78bfa99;flex-shrink:0;min-width:64px;font-size:.75rem;font-weight:600}.char-sheet-trait-val{color:#e2e8f0b3;font-size:.85rem;line-height:1.45}.char-sheet-quirks{flex-direction:column;gap:4px;margin-top:6px;padding-left:16px;display:flex}.char-sheet-quirks li{color:#e2e8f099;font-size:.83rem;line-height:1.4}.char-sheet-tags{flex-wrap:wrap;gap:6px;display:flex}.char-sheet-tag{color:#c4b5fd;background:#7c3aed33;border:1px solid #7c3aed59;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:500}.char-sheet-photos{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.char-photo-tile{cursor:pointer;aspect-ratio:3/4;background:0 0;border:2px solid #ffffff14;border-radius:14px;flex-direction:column;padding:0;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.char-photo-tile:hover{border-color:#7c3aed73}.char-photo-tile.active{border-color:#7c3aed}.char-photo-img{object-fit:cover;flex:1;width:100%;min-height:0;display:block}.char-photo-label{color:#e2e8f08c;text-align:center;background:#080612b3;flex-shrink:0;padding:4px 6px;font-size:.68rem}.char-photo-check{color:#fff;background:#7c3aed;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:6px;right:6px}.char-reset-bg{color:#e2e8f080;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:10px;width:100%;margin-top:10px;padding:7px 14px;font-size:.82rem;transition:border-color .2s,color .2s}.char-reset-bg:hover{color:#e2e8f0cc;border-color:#ffffff40}.char-sheet-loading{color:#e2e8f066;justify-content:center;align-items:center;min-height:180px;font-size:.9rem;display:flex}.char-sheet-bottom-pad{height:32px}.memory-btn{cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;border-radius:20px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .2s;display:flex}.memory-btn:hover{background:#ffffff21}.memory-brain-icon{flex-shrink:0;font-size:2.2rem;line-height:1}.memory-stats-row{border-top:1px solid #ffffff0d;justify-content:space-around;padding:12px 20px 16px;display:flex}.memory-stat{flex-direction:column;align-items:center;gap:3px;display:flex}.memory-stat-num{color:#c4b5fd;font-size:1.6rem;font-weight:700;line-height:1}.memory-stat-label{color:#e2e8f066;text-align:center;font-size:.68rem}.memory-fact-list{flex-direction:column;gap:6px;display:flex}.memory-fact-item{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.memory-fact-cat{letter-spacing:.05em;text-transform:uppercase;flex-shrink:0;min-width:56px;margin-top:1px;font-size:.68rem;font-weight:700}.memory-fact-text{color:#e2e8f0bf;flex:1;font-size:.83rem;line-height:1.45}.memory-delete-btn{color:#e2e8f033;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-top:1px;padding:2px 4px;font-size:.7rem;transition:color .2s}.memory-delete-btn:hover:not(:disabled){color:#f87171}.memory-delete-btn:disabled{opacity:.3}.memory-episode-list{flex-direction:column;gap:8px;display:flex}.memory-episode-item{align-items:flex-start;gap:10px;display:flex}.memory-episode-salience{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.memory-episode-salience[data-salience=high]{background:#c4b5fd;box-shadow:0 0 6px #c4b5fd88}.memory-episode-salience[data-salience=mid]{background:#60a5fa}.memory-episode-salience[data-salience=low]{background:#fff3}.memory-episode-text{color:#e2e8f099;font-size:.83rem;line-height:1.5}.memory-empty{color:#e2e8f066;text-align:center;padding:8px 0;font-size:.88rem;line-height:1.6}.memory-search-row{padding:0 20px 4px}.memory-search-form{align-items:center;gap:6px;display:flex}.memory-search-input{color:#e2e8f0;background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:.88rem;transition:border-color .15s}.memory-search-input:focus{border-color:#7c3aed80}.memory-search-input::placeholder{color:#e2e8f04d}.memory-search-btn{color:#e2e8f0;cursor:pointer;background:#7c3aed4d;border:1px solid #7c3aed66;border-radius:8px;padding:8px 12px;font-size:.9rem;transition:background .15s}.memory-search-btn:hover:not(:disabled){background:#7c3aed80}.memory-search-btn:disabled{opacity:.4;cursor:not-allowed}.memory-search-clear{color:#e2e8f066;cursor:pointer;background:0 0;border:none;padding:4px;font-size:.9rem}.memory-search-clear:hover{color:#e2e8f0}.memory-episode-item{position:relative}.memory-search-score{color:#a78bfa99;font-variant-numeric:tabular-nums;font-size:.7rem;position:absolute;top:50%;right:0;transform:translateY(-50%)}.chars-root{z-index:1;color:#e2e8f0;background:#080612;flex-direction:column;height:100dvh;display:flex;position:relative}.chars-header{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:#0d0b1ef2;border-bottom:1px solid #7c3aed33;flex-shrink:0;align-items:center;gap:12px;display:flex}.chars-title{flex:1;margin:0;font-size:1.1rem;font-weight:600}.chars-new-btn{color:#a78bfa;cursor:pointer;background:#7c3aed40;border:1px solid #7c3aed80;border-radius:8px;padding:6px 14px;font-size:.85rem}.chars-new-btn:hover{background:#7c3aed66}.chars-loading,.chars-error,.chars-empty{text-align:center;color:#e2e8f080;padding:40px 24px;font-size:.9rem}.chars-error{color:#f87171}.chars-list{flex-direction:column;flex:1;gap:10px;margin:0;padding:12px 16px;list-style:none;display:flex;overflow-y:auto}.char-card-item{background:#ffffff0a;border:1px solid #ffffff12;border-radius:14px;align-items:center;gap:14px;padding:14px;display:flex}.char-card-info{flex:1;min-width:0}.char-card-name{align-items:center;gap:8px;font-size:.97rem;font-weight:600;display:flex}.char-default-badge{color:#a78bfa;background:#7c3aed4d;border:1px solid #7c3aed80;border-radius:6px;padding:1px 7px;font-size:.7rem}.char-card-role{color:#e2e8f080;margin-top:2px;font-size:.8rem}.char-card-desc{color:#e2e8f066;margin-top:4px;font-size:.8rem;line-height:1.4}.char-card-actions{flex-direction:column;gap:6px;display:flex}.char-edit-btn,.char-delete-btn{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;padding:6px 8px;font-size:.85rem;line-height:1}.char-edit-btn:hover{background:#7c3aed40}.char-delete-btn:hover{background:#ef444433}.char-delete-btn:disabled{opacity:.4;cursor:not-allowed}.editor-root{z-index:1;color:#e2e8f0;background:#080612;flex-direction:column;height:100dvh;display:flex;position:relative}.editor-header{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:#0d0b1ef2;border-bottom:1px solid #7c3aed33;flex-shrink:0;align-items:center;gap:12px;display:flex}.editor-title{flex:1;margin:0;font-size:1.05rem;font-weight:600}.editor-save-btn{color:#fff;cursor:pointer;background:#7c3aedcc;border:none;border-radius:8px;padding:7px 18px;font-size:.9rem;font-weight:600}.editor-save-btn:hover{background:#7c3aed}.editor-loading{text-align:center;color:#e2e8f080;padding:40px}.editor-body{padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:20px;display:flex;overflow-y:auto}.editor-error{color:#f87171;background:#ef444426;border:1px solid #ef444459;border-radius:10px;padding:10px 14px;font-size:.88rem}.editor-section{background:#ffffff08;border:1px solid #ffffff12;border-radius:14px;flex-direction:column;gap:14px;padding:16px;display:flex}.editor-section-title{text-transform:uppercase;letter-spacing:.06em;color:#a78bfacc;margin:0 0 2px;font-size:.85rem;font-weight:700}.editor-field{flex-direction:column;gap:6px;display:flex}.editor-label{color:#e2e8f0a6;font-size:.82rem;font-weight:500}.editor-required{color:#f87171}.editor-hint{color:#e2e8f059;margin-left:4px;font-size:.75rem;font-weight:400}.editor-input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:.9rem}.editor-input:focus{background:#ffffff14;border-color:#7c3aed99;outline:none}.editor-textarea{color:#e2e8f0;resize:vertical;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;min-height:72px;padding:9px 12px;font-family:inherit;font-size:.9rem}.editor-textarea:focus{border-color:#7c3aed99;outline:none}.editor-select{color:#e2e8f0;-webkit-appearance:none;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:.9rem}.editor-select:focus{border-color:#7c3aed99;outline:none}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{color:#c4b5fd;background:#7c3aed33;border:1px solid #7c3aed66;border-radius:20px;align-items:center;gap:5px;padding:3px 10px 3px 12px;font-size:.8rem;display:inline-flex}.tag-remove{color:#c4b5fd99;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.tag-remove:hover{color:#f87171}.tag-input-row{gap:8px;display:flex}.tag-input{flex:1}.tag-add-btn{color:#a78bfa;cursor:pointer;white-space:nowrap;background:#7c3aed40;border:1px solid #7c3aed66;border-radius:8px;padding:8px 14px;font-size:.85rem}.tag-add-btn:hover{background:#7c3aed66}.emotion-directives{flex-direction:column;gap:8px;display:flex}.emotion-directive-row{align-items:center;gap:10px;display:flex}.emotion-label{color:#e2e8f099;text-transform:capitalize;flex-shrink:0;width:84px;font-size:.8rem}.emotion-input{flex:1}.editor-section-default{gap:0}.editor-toggle-row{cursor:pointer;color:#e2e8f0bf;align-items:center;gap:10px;font-size:.9rem;display:flex}.editor-toggle-row input[type=checkbox]{accent-color:#7c3aed;cursor:pointer;width:18px;height:18px}.tool-status-inline{color:#a78bfabf;font-size:.8rem;font-style:italic;animation:1.4s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.home-logo-btn{cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;transition:opacity .2s;display:flex}.home-logo-btn:hover{opacity:1}.home-logo{object-fit:contain;border-radius:8px;width:34px;height:34px}.profile-overlay{z-index:200;-webkit-backdrop-filter:blur(3px);background:#0000008c;position:fixed;inset:0}.profile-panel{-webkit-backdrop-filter:blur(24px);max-width:720px;padding-bottom:calc(24px + env(safe-area-inset-bottom));background:#0c081af7;border-top:1px solid #ffffff1a;border-radius:24px 24px 0 0;margin:0 auto;animation:.28s cubic-bezier(.32,.72,0,1) sheet-up;position:fixed;bottom:0;left:0;right:0}.profile-handle{background:#ffffff2e;border-radius:2px;width:36px;height:4px;margin:10px auto 0}.profile-logo-wrap{justify-content:center;padding:24px 0 16px;display:flex}.profile-logo{object-fit:contain;border-radius:16px;width:72px;height:72px}.profile-section{border-top:1px solid #ffffff0d;padding:14px 24px}.profile-label{color:#e2e8f059;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:.68rem;font-weight:700;display:block}.profile-email{color:#e2e8f0cc;word-break:break-all;font-size:.95rem}.profile-install-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#4338ca);border:none;border-radius:12px;width:100%;padding:12px 0;font-size:.95rem;font-weight:600;transition:opacity .2s}.profile-install-btn:hover{opacity:.88}.profile-installed-badge{color:#86efacd9;font-size:.9rem}.profile-hint{color:#e2e8f066;font-size:.82rem;line-height:1.5}.profile-footer{padding:16px 24px 0}.profile-signout-btn{color:#fca5a5e6;cursor:pointer;background:#ef44441f;border:1px solid #ef444440;border-radius:12px;width:100%;padding:12px 0;font-size:.95rem;font-weight:500;transition:background .2s}.profile-signout-btn:hover{background:#ef444438}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chat-bg[data-mode=immersive]:after{background:linear-gradient(#08061200 0% 28%,#08061273 44%,#080612d1 58%,#080612f7 70%,#080612 82%)}.chat-bg[data-mode=plain]{background-image:none!important}.chat-bg[data-mode=plain]:after{background:0 0}.bg-mode-btn,.bg-move-btn{color:#e2e8f0b3;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;transition:background .15s,color .15s;display:flex}.bg-mode-btn:hover,.bg-move-btn:hover{color:#c4b5fd;background:#7c3aed40}.bg-mode-btn.bg-mode-btn-empty{color:#e2e8f066;border-style:dashed}.bg-mode-btn.bg-mode-btn-empty:hover{color:#c4b5fd;border-style:solid}.bg-drag-overlay{z-index:50;cursor:grab;padding:calc(18px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));touch-action:none;background:#08061259;flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0}.bg-drag-overlay:active{cursor:grabbing}.bg-drag-hint{color:#e2e8f0b3;letter-spacing:.04em;pointer-events:none;background:#00000080;border:1px solid #ffffff1f;border-radius:20px;padding:6px 16px;font-size:.8rem}.bg-drag-done{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#7c3aedd9;border:none;border-radius:24px;padding:12px 32px;font-size:.95rem;font-weight:600;transition:background .15s}.bg-drag-done:hover{background:#6d28d9e6}.img-upload-row{flex-wrap:wrap;gap:10px;display:flex}.img-upload-field{flex-direction:column;align-items:center;gap:6px;display:flex}.img-upload-preview{cursor:pointer;background:#7c3aed0f 50%/cover;border:2px dashed #7c3aed66;border-radius:12px;justify-content:center;align-items:center;width:72px;height:72px;transition:border-color .2s;display:flex;position:relative}.img-upload-preview:hover{border-color:#7c3aedcc}.img-upload-placeholder{color:#7c3aed80;font-size:1.5rem;line-height:1}.img-upload-spinner{color:#a78bfacc;font-size:1rem;animation:1s ease-in-out infinite pulse}.img-upload-badge{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;display:flex;position:absolute;bottom:-6px;right:-6px}.img-upload-badge.error{background:#ef4444}.img-upload-label{color:#e2e8f073;text-align:center;font-size:.68rem}.editor-hint-text{color:#e2e8f059;margin-top:8px;font-size:.75rem;line-height:1.4}.editor-generate-section{background:#7c3aed0f;border:1px solid #7c3aed33;border-radius:12px}.generate-btn-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.generate-btn{color:#e2e8f0;cursor:pointer;background:linear-gradient(135deg,#7c3aed80,#6366f166);border:1px solid #7c3aed80;border-radius:10px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:background .15s,opacity .15s}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aedb3,#6366f199)}.generate-btn:disabled{opacity:.4;cursor:not-allowed}.generate-hint{color:#a78bfab3;font-size:.78rem}.app-layout{z-index:1;position:fixed;inset:0}.app-layout-nav{flex-direction:column;display:flex}.app-content{flex:1;overflow:hidden}.app-layout-nav .app-content{height:calc(var(--app-height,100dvh) - 56px - env(safe-area-inset-bottom));overflow:hidden}.app-nav{height:calc(56px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);padding-top:4px;padding-bottom:env(safe-area-inset-bottom);z-index:100;background:#080612f7;border-top:1px solid #ffffff14;justify-content:space-around;align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-tab{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;padding:6px 2px;font-size:10px;transition:color .15s;display:flex}.nav-tab.active{color:#a78bfa}.nav-tab:hover{color:#ffffffbf}.nav-tab-icon{font-size:20px;line-height:1.2}.nav-tab-label{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}@media (width>=768px){.app-layout-nav{flex-direction:row}.app-layout-nav .app-content{height:100dvh;margin-left:220px}.app-nav{border-top:none;border-right:1px solid #ffffff12;flex-direction:column;justify-content:flex-start;align-items:stretch;width:220px;height:100%;padding:20px 0;position:fixed;inset:0 auto 0 0}.nav-tab{color:#ffffff80;border-radius:0;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding:12px 20px;font-size:14px}.nav-tab-icon{font-size:18px}.nav-tab-label{font-size:14px}.nav-tab.active{color:#c4b5fd;background:#7c3aed26;border-right:3px solid #7c3aed}.nav-tab:hover{background:#ffffff0a}}.more-flyup{bottom:calc(56px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px);z-index:99;background:#0c081afa;border-top:1px solid #ffffff1a;border-radius:20px 20px 0 0;padding:20px 16px 12px;animation:.2s slide-up;position:fixed;left:0;right:0}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.more-flyup-item{color:#e2e8f0;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;font-size:12px;transition:background .15s;display:flex}.more-flyup-item:hover{background:#ffffff1a}@media (width>=768px){.more-flyup{display:none}}.icon-btn{cursor:pointer;color:#e2e8f0;background:#ffffff12;border:1px solid #ffffff1a;border-radius:20px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .2s;display:flex}.icon-btn:hover{background:#ffffff21}.collection-root{z-index:1;height:var(--app-height,100dvh);color:#e2e8f0;background:#080612;flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex;position:relative}.collection-header{padding:18px 18px 12px;padding-top:calc(18px + env(safe-area-inset-top));background:linear-gradient(#080612cc,#0806124d);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.collection-title{color:#f1f5f9;letter-spacing:-.01em;margin:0;font-size:1.3rem;font-weight:700}.collection-empty{color:#e2e8f073;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px 24px;display:flex}.collection-empty-icon{font-size:3rem}.collection-empty p{margin:0;font-size:.95rem}.collection-empty-hint{color:#e2e8f04d;max-width:280px;font-size:.82rem}.collection-sections{flex:1;overflow-y:auto}.collection-list{flex-direction:column;flex:1;gap:6px;margin:0;padding:8px 12px 16px;list-style:none;display:flex;overflow-y:auto}.collection-item{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff12;border-radius:14px;align-items:flex-start;gap:12px;padding:14px;transition:background .15s,border-color .15s;display:flex}.collection-item:hover{background:#ffffff12;border-color:#7c3aed4d}.collection-item-icon{flex-shrink:0;margin-top:1px;font-size:1.4rem}.collection-item-info{flex:1;min-width:0}.collection-item-name{color:#f1f5f9;font-size:.95rem;font-weight:600}.collection-item-rel{color:#a78bfab3;margin-top:2px;font-size:.78rem}.collection-item-desc{color:#e2e8f073;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:.8rem;line-height:1.35;display:-webkit-box;overflow:hidden}.collection-item-del{color:#e2e8f04d;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;margin-top:1px;padding:4px;font-size:.9rem;transition:color .15s}.collection-item-del:hover{color:#f87171}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;padding:0 0 calc(56px + env(safe-area-inset-bottom));background:#000000a6;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=520px){.modal-overlay{align-items:center;padding:20px}}.modal-panel{width:100%;max-width:480px;max-height:calc(100vh - 56px - env(safe-area-inset-bottom) - 20px);background:#13102a;border:1px solid #ffffff1a;border-radius:20px 20px 0 0;flex-direction:column;gap:12px;padding:24px 20px 28px;animation:.22s slide-up;display:flex;overflow-y:auto}@media (width>=520px){.modal-panel{border-radius:20px}}.modal-title{color:#f1f5f9;margin:0 0 4px;font-size:1.05rem;font-weight:700}.modal-label{color:#a78bfabf;text-transform:uppercase;letter-spacing:.06em;margin-bottom:-6px;font-size:.78rem;font-weight:600}.modal-input,.modal-textarea{color:#e2e8f0;box-sizing:border-box;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:.92rem;transition:border-color .15s}.modal-input:focus,.modal-textarea:focus{border-color:#7c3aed99;outline:none}.modal-textarea{resize:vertical;min-height:80px}.modal-toggle-label{color:#e2e8f0b3;cursor:pointer;align-items:center;gap:10px;font-size:.88rem;display:flex}.modal-toggle-label input[type=checkbox]{cursor:pointer;accent-color:#7c3aed;width:16px;height:16px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.modal-btn-cancel{color:#e2e8f0b3;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;border-radius:10px;padding:9px 18px;font-size:.9rem}.modal-btn-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#4338ca);border:none;border-radius:10px;padding:9px 22px;font-size:.9rem;font-weight:600;transition:opacity .15s}.modal-btn-save:hover{opacity:.9}.modal-btn-save:disabled{opacity:.4;cursor:not-allowed}.session-location{color:#a78bfaa6;white-space:nowrap;font-size:.72rem}.location-pills{flex-wrap:wrap;gap:8px;display:flex}.location-pill{color:#e2e8f0bf;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:20px;padding:7px 14px;font-size:.86rem;transition:background .15s,border-color .15s,color .15s}.location-pill.selected{color:#c4b5fd;background:#7c3aed40;border-color:#7c3aed99}.location-pill:hover:not(.selected){background:#ffffff1a}.picker-label-optional{color:#e2e8f059;text-transform:none;letter-spacing:0;font-size:.7rem;font-weight:400}.story-empty-icon{margin-bottom:12px;font-size:3rem}.story-type-badge{color:#c4b5fd;white-space:nowrap;background:#7c3aed33;border:1px solid #7c3aed59;border-radius:6px;padding:1px 6px;font-size:.72rem}.stories-footer-links{border-top:1px solid #ffffff0f;gap:10px;padding:12px 16px;display:flex}.stories-link-btn{color:#e2e8f099;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;transition:background .15s,color .15s;display:flex}.stories-link-btn:hover{color:#e2e8f0;background:#ffffff1a}.story-mode-toggle{grid-template-columns:1fr 1fr;gap:10px;display:grid}.story-mode-btn{color:#e2e8f0b3;cursor:pointer;text-align:center;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;transition:all .18s;display:flex}.story-mode-btn.selected{color:#e2e8f0;background:#7c3aed33;border-color:#7c3aed99}.story-mode-btn:hover:not(.selected){background:#ffffff17}.story-mode-icon{font-size:1.6rem;line-height:1}.story-mode-name{font-size:.88rem;font-weight:600}.story-mode-desc{color:#e2e8f073;font-size:.72rem;line-height:1.3}.story-mode-btn.selected .story-mode-desc{color:#e2e8f0a6}.story-choices-root{color:#e2e8f0;z-index:1;background:#080612;flex-direction:column;height:100dvh;display:flex;position:relative}.story-choices-header{align-items:center;gap:10px;display:flex}.story-history-btn{color:#e2e8f099;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;border-radius:8px;margin-left:auto;padding:5px 10px;font-size:1.1rem;transition:background .15s,color .15s}.story-history-btn.active,.story-history-btn:hover{color:#c4b5fd;background:#7c3aed4d;border-color:#7c3aed80}.story-choices-body{flex-direction:column;flex:1;gap:16px;padding:20px 16px 32px;display:flex;overflow-y:auto}.story-generating{color:#e2e8f066;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;font-size:.9rem;display:flex}.story-generating-inline{flex:0;padding:16px 0}.story-generating-dots{align-items:center;gap:6px;display:flex}.story-generating-dots span{background:#c4b5fd80;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite bounce-dot}.story-generating-dots span:nth-child(2){animation-delay:.2s}.story-generating-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce-dot{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.story-episode-counter{letter-spacing:.1em;text-transform:uppercase;color:#c4b5fd80;text-align:center;font-size:.72rem;font-weight:700}.story-narrative{color:#e2e8f0e0;font-size:.97rem;line-height:1.7}.story-narrative p{margin:0 0 10px}.story-narrative p:last-child{margin-bottom:0}.story-choices-section{flex-direction:column;gap:10px;margin-top:8px;display:flex}.story-choices-prompt{letter-spacing:.05em;text-transform:uppercase;color:#e2e8f066;text-align:center;margin-bottom:2px;font-size:.8rem;font-weight:600}.story-choice-btn{color:#e2e8f0;cursor:pointer;text-align:left;background:#ffffff0d;border:1px solid #ffffff26;border-radius:14px;padding:14px 18px;font-size:.92rem;line-height:1.45;transition:background .15s,border-color .15s}.story-choice-btn:hover:not(:disabled){background:#7c3aed33;border-color:#7c3aed80}.story-choice-btn:disabled{opacity:.5;cursor:not-allowed}.story-chosen-recap{color:#e2e8f0a6;background:#7c3aed1f;border:1px solid #7c3aed40;border-radius:10px;margin-top:4px;padding:10px 14px;font-size:.85rem}.story-chosen-label{color:#c4b5fdcc;margin-right:4px;font-weight:600}.story-history{flex-direction:column;gap:20px;padding-bottom:16px;display:flex}.story-history-title{letter-spacing:.08em;text-transform:uppercase;color:#c4b5fd99;margin:0;font-size:.82rem;font-weight:700}.story-history-ep{border-bottom:1px solid #ffffff0f;flex-direction:column;gap:8px;padding-bottom:16px;display:flex}.story-history-num{letter-spacing:.08em;text-transform:uppercase;color:#e2e8f059;font-size:.72rem;font-weight:600}.story-history-narrative{color:#e2e8f0a6;margin:0;font-size:.88rem;line-height:1.6}.story-history-choice{color:#c4b5fdb3;background:#7c3aed1a;border-radius:8px;padding:6px 10px;font-size:.82rem}.story-history-close{color:#c4b5fdb3;cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 0;font-size:.88rem;transition:color .15s}.story-history-close:hover{color:#c4b5fd}.world-editor-root{color:#e2e8f0;z-index:1;background:#080612;flex-direction:column;height:100dvh;display:flex;position:relative}.world-editor-tabs{border-bottom:1px solid #ffffff14;flex-shrink:0;display:flex}.world-tab-btn{color:#e2e8f073;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 4px;font-size:.8rem;transition:color .15s,border-color .15s}.world-editor-body{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.world-add-btn{color:#c4b5fd;cursor:pointer;background:#7c3aed33;border:1px solid #7c3aed66;border-radius:10px;align-self:flex-start;padding:10px 16px;font-size:.88rem;transition:background .15s}.world-add-btn:hover{background:#7c3aed59}.world-empty-hint{color:#e2e8f059;text-align:center;margin:0;padding:24px 0;font-size:.85rem}.persona-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.persona-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.persona-card-img-wrap{aspect-ratio:1;cursor:pointer;background:#7c3aed1a;position:relative;overflow:hidden}.persona-card-img{object-fit:cover;width:100%;height:100%}.persona-card-img-placeholder{color:#c4b5fd80;background:#7c3aed1f;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.6rem;font-weight:700;display:flex}.persona-card-img-overlay{opacity:0;background:#00000080;justify-content:center;align-items:center;font-size:1.4rem;transition:opacity .15s;display:flex;position:absolute;inset:0}.persona-card-img-wrap:hover .persona-card-img-overlay{opacity:1}.persona-card-info{flex:1;padding:8px 10px 4px}.persona-card-name{color:#e2e8f0;margin-bottom:2px;font-size:.9rem;font-weight:600}.persona-card-role{color:#c4b5fdb3;font-size:.72rem}.persona-card-home{color:#e2e8f059;margin-top:2px;font-size:.7rem}.persona-card-actions{gap:6px;padding:6px 8px 8px;display:flex}.persona-edit-btn{color:#e2e8f0a6;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:7px;flex:1;padding:5px 8px;font-size:.75rem;transition:background .15s}.persona-edit-btn:hover{background:#ffffff1f}.persona-del-btn{color:#e2e8f04d;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:7px;padding:5px 7px;font-size:.75rem;transition:color .15s,border-color .15s}.persona-del-btn:hover{color:#f87171;border-color:#f8717166}.story-loc-list{flex-direction:column;gap:8px;display:flex}.story-loc-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.story-loc-info{flex:1}.story-loc-name{color:#e2e8f0;font-size:.9rem;font-weight:600}.story-loc-desc{color:#e2e8f073;margin-top:3px;font-size:.78rem;line-height:1.4}.story-loc-actions{flex-shrink:0;gap:6px;display:flex}.relation-list{flex-direction:column;gap:8px;display:flex}.relation-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.relation-a,.relation-b{color:#c4b5fd;font-size:.88rem;font-weight:600}.relation-verb{color:#e2e8f08c;font-size:.82rem;font-style:italic}.relation-item .persona-del-btn{margin-left:auto}.relation-preview{color:#c4b5fd99;min-height:1.2em;margin:4px 0 0;font-size:.78rem;font-style:italic}.world-modal{max-width:460px}.world-modal .modal-label{letter-spacing:.06em;text-transform:uppercase;color:#e2e8f073;margin:10px 0 4px;font-size:.75rem;font-weight:600;display:block}.world-modal .modal-label:first-of-type{margin-top:0}.worlds-list{border-top:1px solid #ffffff0f;flex-direction:column;gap:6px;padding:12px 16px;display:flex}.worlds-list-title{letter-spacing:.1em;text-transform:uppercase;color:#e2e8f04d;margin-bottom:4px;font-size:.7rem;font-weight:700}.worlds-list-item{cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff12;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;transition:background .15s;display:flex}.worlds-list-item:hover{background:#ffffff14}.worlds-list-name{color:#e2e8f0;flex:1;font-size:.88rem;font-weight:600}.worlds-list-genre{color:#c4b5fd99;font-size:.72rem}.worlds-list-edit{color:#e2e8f04d;margin-left:4px;font-size:.75rem}.chat-bg{background-color:#060411;background-image:url(/images/bg.png),url(/images/bg.jpg),radial-gradient(at 18% 48%,#6d28d924 0%,#0000 56%),radial-gradient(at 82% 12%,#2563eb17 0%,#0000 50%),radial-gradient(at 52% 92%,#8b5cf61a 0%,#0000 48%)}.home-root,.chars-root,.collection-root,.editor-root,.world-editor-root,.new-session-root,.story-choices-root{background:0 0}.app-nav{bottom:calc(14px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(40px)saturate(200%);z-index:100;background:#0a071ad1;border:1px solid #ffffff1c;border-radius:30px;align-items:center;width:calc(100% - 40px);max-width:420px;height:60px;padding:0 6px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 40px #0000008c,0 2px 8px #0000004d,inset 0 1px #ffffff14}.app-layout-nav .app-content{height:calc(var(--app-height,100dvh) - 88px - env(safe-area-inset-bottom))}.app-layout-nav .home-root,.app-layout-nav .chars-root,.app-layout-nav .collection-root{height:100%}.app-layout-nav .modal-overlay{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.nav-tab{color:#ffffff47;cursor:pointer;background:0 0;border:none;border-radius:24px;flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;padding:7px 4px;transition:color .2s,background .2s;display:flex}.nav-tab.active{color:#c4b5fd;background:#8b5cf629}.nav-tab:hover:not(.active){color:#fff9;background:#ffffff0f}.nav-tab-icon{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.nav-tab-label{letter-spacing:.02em;font-size:10px;font-weight:600}@media (width>=768px){.app-layout-nav{flex-direction:row}.app-layout-nav .app-content{height:100dvh;margin-left:232px}.app-nav{-webkit-backdrop-filter:blur(32px)saturate(180%);background:#080516eb;border:none;border-right:1px solid #ffffff12;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2px;width:232px;max-width:232px;height:100%;padding:24px 0 32px;position:fixed;inset:0 auto 0 0;transform:none;box-shadow:4px 0 32px #0000004d}.nav-tab{color:#ffffff73;border-radius:0;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:11px 20px;font-size:14px}.nav-tab.active{color:#c4b5fd;background:#8b5cf624;border-right:2px solid #7c3aed;border-radius:0}.nav-tab:hover:not(.active){background:#ffffff0a;border-radius:0}.nav-tab-icon{width:20px;height:20px}.nav-tab-label{letter-spacing:0;font-size:14px;font-weight:500}.more-flyup{display:none}}.more-flyup{bottom:calc(88px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(40px)saturate(200%);z-index:99;background:#0c081cf0;border:1px solid #ffffff1a;border-radius:24px;padding:16px;animation:.22s cubic-bezier(.34,1.56,.64,1) flyup-in;position:fixed;left:20px;right:20px;box-shadow:0 -4px 40px #00000080,inset 0 1px #ffffff14}@keyframes flyup-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.more-flyup-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.more-flyup-item{color:#f1f5f9bf;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;align-items:center;gap:7px;padding:16px 8px 14px;font-size:12px;font-weight:500;transition:background .2s,transform .2s,border-color .2s;display:flex}.more-flyup-item:hover{color:#c4b5fd;background:#8b5cf626;border-color:#8b5cf659;transform:translateY(-2px)}.more-flyup-icon{font-size:28px;line-height:1}.home-header{padding:22px 20px 14px;padding-top:calc(22px + env(safe-area-inset-top));background:0 0}.home-title{background:linear-gradient(140deg,#f1f5f9 20%,#a78bfad9 100%);-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;font-size:1.7rem;font-weight:800}.home-actions{align-items:center;gap:8px;display:flex}.chars-header,.editor-header{-webkit-backdrop-filter:blur(20px)saturate(160%);background:#080516a6;border-bottom:1px solid #ffffff12}.chars-title,.editor-title{background:linear-gradient(135deg,#f1f5f9,#a78bfae6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700}.collection-header{padding-top:calc(18px + env(safe-area-inset-top));background:0 0}.collection-title{background:linear-gradient(140deg,#f1f5f9 20%,#a78bfad9 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.new-session-header{-webkit-backdrop-filter:blur(20px);background:#08051699;border-bottom:1px solid #ffffff0f}.new-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#c4b5fd;cursor:pointer;background:#8b5cf62e;border:1px solid #a78bfa59;border-radius:100px;padding:8px 18px;font-size:.86rem;font-weight:600;transition:all .2s}.new-btn:hover{background:#8b5cf652;border-color:#a78bfa99;box-shadow:0 0 20px #8b5cf64d}.new-btn-large{color:#fff;cursor:pointer;letter-spacing:.01em;background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);border:none;border-radius:18px;padding:14px 36px;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 4px 24px #7c3aed73,inset 0 1px #ffffff26}.new-btn-large:hover{transform:translateY(-2px);box-shadow:0 8px 36px #7c3aed8c,inset 0 1px #ffffff26}.start-btn{letter-spacing:.01em;background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);border:none;border-radius:18px;font-size:1rem;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 20px #7c3aed66,inset 0 1px #ffffff26}.start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px #7c3aed8c,inset 0 1px #ffffff26}.start-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.chars-new-btn,.world-add-btn{color:#c4b5fd;cursor:pointer;background:#8b5cf62e;border:1px solid #a78bfa59;border-radius:100px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:all .2s}.chars-new-btn:hover,.world-add-btn:hover{background:#8b5cf64d;border-color:#a78bfa8c;box-shadow:0 0 16px #8b5cf640}.editor-save-btn{color:#fff;cursor:pointer;background:#8b5cf6d9;border:none;border-radius:100px;padding:7px 20px;font-size:.88rem;font-weight:700;transition:all .2s;box-shadow:0 2px 12px #7c3aed66}.editor-save-btn:hover{background:#7c3aed;box-shadow:0 4px 20px #7c3aed8c}.editor-save-btn:disabled{opacity:.4;cursor:not-allowed}.session-list{gap:6px;padding:8px 14px 16px}.session-item{-webkit-backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid #ffffff12;border-radius:20px;padding:14px 16px;transition:all .22s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 16px #0000002e,inset 0 1px #ffffff0a}.session-item:hover{background:#ffffff12;border-color:#8b5cf652;transform:translateY(-2px);box-shadow:0 6px 28px #00000047,0 0 0 1px #8b5cf626,inset 0 1px #ffffff0f}.session-title{font-size:.95rem;font-weight:600}.session-model{color:#a78bfa8c;background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:6px;padding:1px 6px;font-size:.68rem}.chars-list{gap:8px;padding:12px 14px}.char-card-item{background:#ffffff0a;border:1px solid #ffffff12;border-radius:20px;transition:all .2s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 1px #ffffff0a}.char-card-item:hover{background:#ffffff12;border-color:#8b5cf640;transform:translateY(-1px);box-shadow:0 6px 24px #00000040,inset 0 1px #ffffff0f}.collection-list{gap:6px;padding:8px 14px 16px}.collection-item{background:#ffffff0a;border:1px solid #ffffff12;border-radius:18px;transition:all .2s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 1px #ffffff0a}.collection-item:hover{background:#ffffff12;border-color:#8b5cf647;transform:translateY(-1px);box-shadow:0 6px 24px #00000040,inset 0 1px #ffffff0f}.new-session-body{gap:16px;padding:20px 16px 32px}.picker-section{background:#ffffff08;border:1px solid #ffffff0f;border-radius:20px;padding:16px}.picker-label{letter-spacing:.1em;color:#a78bfa8c;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:.69rem;font-weight:700;display:flex}.card-tile{background:#ffffff0a;border:1px solid #ffffff12;border-radius:18px;transition:all .22s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 1px #ffffff0a}.card-tile:hover{background:#ffffff12;transform:translateY(-2px);box-shadow:0 8px 24px #00000040,inset 0 1px #ffffff0f}.card-tile.selected{background:#7c3aed29;border-color:#a78bfa73;box-shadow:0 0 0 1px #a78bfa26,inset 0 1px #ffffff0f}.card-tile-name{font-weight:600}.model-pills{gap:7px}.model-pill{background:#ffffff0d;border:1px solid #ffffff14;border-radius:100px;padding:7px 16px;font-size:.84rem;transition:all .2s}.model-pill:hover{background:#ffffff17;border-color:#ffffff24}.model-pill.selected{color:#c4b5fd;background:#8b5cf633;border-color:#a78bfa80;box-shadow:0 0 14px #8b5cf633}.modal-panel{-webkit-backdrop-filter:blur(40px)saturate(180%);background:#0e0a1ef5;border:1px solid #ffffff1a;border-radius:24px 24px 0 0;box-shadow:0 -8px 48px #00000080,inset 0 1px #ffffff12}@media (width>=520px){.modal-panel{border-radius:24px}}.modal-input,.modal-textarea,.modal-select,.editor-input,.editor-textarea,.editor-select,select.modal-input{color:#e2e8f0;box-sizing:border-box;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;outline:none;width:100%;padding:10px 13px;font-family:inherit;font-size:.92rem;transition:border-color .15s,background .15s}.modal-input:focus,.modal-textarea:focus,select.modal-input:focus{background:#8b5cf60f;border-color:#8b5cf680}.modal-actions{gap:8px;margin-top:4px;display:flex}.modal-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#4f46e5);border:none;border-radius:14px;flex:1;padding:12px;font-size:.92rem;font-weight:700;transition:all .2s;box-shadow:0 4px 16px #7c3aed66,inset 0 1px #ffffff26}.modal-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #7c3aed80,inset 0 1px #ffffff26}.modal-save-btn:disabled{opacity:.35;cursor:not-allowed}.modal-cancel-btn{color:#e2e8f099;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:14px;padding:12px 20px;font-size:.92rem;transition:all .2s}.modal-cancel-btn:hover{background:#ffffff1a}.home-empty,.collection-empty,.chars-empty,.chars-loading,.chars-error{gap:14px}.home-empty p,.collection-empty p{color:#f1f5f966;margin:0;font-size:.95rem}.collection-empty-icon{filter:drop-shadow(0 0 20px #8b5cf64d);font-size:3.5rem}.home-empty .collection-empty-icon{filter:drop-shadow(0 0 24px #8b5cf659)}.editor-section{background:#ffffff08;border:1px solid #ffffff12;border-radius:20px;box-shadow:inset 0 1px #ffffff08}.editor-section-title{letter-spacing:.1em;text-transform:uppercase;color:#a78bfa99;font-size:.72rem;font-weight:700}.story-mode-btn{background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;transition:all .22s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 1px #ffffff0a}.story-mode-btn:hover:not(.selected){background:#ffffff12;transform:translateY(-2px);box-shadow:0 8px 24px #00000040,inset 0 1px #ffffff0f}.story-mode-btn.selected{background:#7c3aed2e;border-color:#a78bfa73;box-shadow:0 0 0 1px #a78bfa26,0 4px 24px #7c3aed33,inset 0 1px #ffffff0f}.story-type-badge{color:#c4b5fd;background:#8b5cf624;border:1px solid #8b5cf647;border-radius:8px;padding:2px 8px;font-size:.7rem}.persona-card{background:#ffffff0a;border:1px solid #ffffff12;border-radius:18px;transition:all .22s cubic-bezier(.34,1.56,.64,1);overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.persona-card:hover{border-color:#8b5cf64d;transform:translateY(-2px);box-shadow:0 8px 28px #00000047,inset 0 1px #ffffff0f}.persona-edit-btn{color:#c4b5fdcc;background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:8px;transition:all .2s}.persona-edit-btn:hover{background:#8b5cf640;border-color:#8b5cf680}.story-loc-item,.relation-item{background:#ffffff0a;border:1px solid #ffffff12;border-radius:16px;transition:all .2s;box-shadow:inset 0 1px #ffffff0a}.story-loc-item:hover,.relation-item:hover{background:#ffffff12;border-color:#8b5cf640}.worlds-list-item{background:#ffffff0a;border:1px solid #ffffff12;border-radius:14px;transition:all .2s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 1px #ffffff08}.worlds-list-item:hover{background:#ffffff14;border-color:#8b5cf647;transform:translateY(-1px);box-shadow:0 4px 20px #0003,inset 0 1px #ffffff0f}.world-editor-tabs{-webkit-backdrop-filter:blur(20px);background:#08051680;border-bottom:1px solid #ffffff12}.world-tab-btn{letter-spacing:.01em;font-size:.82rem;font-weight:600}.world-tab-btn.active{color:#c4b5fd;border-bottom-color:#7c3aed}.story-choice-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:18px;transition:all .22s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 1px #ffffff0d}.story-choice-btn:hover:not(:disabled){background:#7c3aed2e;border-color:#a78bfa73;transform:translateY(-2px);box-shadow:0 6px 24px #7c3aed33,inset 0 1px #ffffff12}.back-btn{color:#f1f5f999;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;padding:6px 12px;font-size:1.05rem;transition:all .2s}.back-btn:hover{color:#f1f5f9e6;background:#ffffff1a;border-color:#ffffff26}.collection-section-label{letter-spacing:.1em;text-transform:uppercase;color:#a78bfa73;padding:14px 16px 4px;font-size:.68rem;font-weight:700}.session-list,.chars-list,.collection-sections,.new-session-body,.world-editor-body,.story-choices-body{scrollbar-width:thin;scrollbar-color:#8b5cf633 transparent}.home-root,.chars-root,.collection-root,.new-session-root,.world-editor-root,.story-choices-root{animation:.22s page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
