:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f0d14;--surface:#19161f;--surface-2:#231f2c;--surface-3:#2d2838;--border:#322c3f;--text:#f4f1fa;--muted:#a39cb3;--accent:#b58cff;--accent-2:#ff8cc6;--accent-grad:linear-gradient(135deg, #a77bff 0%, #ff7fbf 100%);--danger:#ff6b81;--warn:#ffc66b;--user-bubble:#6d4fd8;--radius:16px;--nav-h:62px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif;font-size:15px;line-height:1.6}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:default;opacity:.5}img{display:block}h1,h2,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.error-text{color:var(--danger);font-size:14px}.icon{flex-shrink:0;display:block}.app{max-width:560px;min-height:100dvh;margin:0 auto;position:relative}.app-main{padding-bottom:calc(var(--nav-h) + var(--safe-b))}.app-chat .app-main{padding-bottom:0}.page{padding-top:var(--safe-t);min-height:100dvh}.topbar{z-index:10;height:52px;padding:0 6px;padding-top:var(--safe-t);box-sizing:content-box;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);grid-template-columns:44px 1fr 44px;align-items:center;display:grid;position:sticky;top:0}.page>.topbar{margin-top:calc(-1 * var(--safe-t))}.topbar-title{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.topbar-right{justify-content:flex-end;display:flex}.icon-btn{width:44px;height:44px;color:var(--text);border-radius:50%;place-items:center;display:grid}.icon-btn:active{background:var(--surface-2)}.bottom-nav{z-index:20;width:100%;max-width:560px;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.nav-item.active{color:var(--text)}.nav-item.active .icon{color:var(--accent)}.section{margin-top:24px;padding:0 16px}.section-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section-title{color:var(--muted);letter-spacing:.04em;margin-bottom:8px;font-size:13px;font-weight:700}.section-head .section-title{margin:0}.stack{flex-direction:column;align-items:center;gap:14px;padding-bottom:32px;display:flex}.center-box{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:50vh;padding:24px;display:flex}.empty-title{font-size:16px;font-weight:700}.btn{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--accent-grad);color:#fff;border:none}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger-ghost{color:var(--danger);background:0 0}.btn-block{width:100%}.btn-lg{min-height:50px;font-size:16px}.btn-sm{min-height:34px;padding:0 12px;font-size:13px}.link-btn{text-underline-offset:3px;text-decoration:underline}.more-btn{width:calc(100% - 32px);margin:20px 16px}.avatar{object-fit:cover;background:var(--surface-2);border-radius:50%;flex-shrink:0}.avatar-fallback{color:#fff;-webkit-user-select:none;user-select:none;place-items:center;font-weight:700;display:inline-grid}.home-header{padding:calc(14px + var(--safe-t)) 16px 8px;z-index:10;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(12px);margin-top:calc(-1 * var(--safe-t));position:sticky;top:0}.logo{background:var(--accent-grad);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:22px;font-weight:800}.search{background:var(--surface-2);height:42px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:flex}.search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1}.segmented{background:var(--surface);border-radius:999px;gap:4px;margin-top:10px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);border-radius:999px;padding:6px 16px;font-size:13px;font-weight:600}.segmented button.active{background:var(--surface-3);color:var(--text)}.search-note{color:var(--muted);padding:4px 16px 0;font-size:13px}.grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:12px 16px;display:grid}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.card:active{transform:scale(.985)}.card-image{aspect-ratio:1;background:var(--surface-2);place-items:center;display:grid;position:relative}.card-image>img{object-fit:cover;width:100%;height:100%}.card-count{color:#fff;background:#0000008c;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex;position:absolute;bottom:8px;left:8px}.card-body{padding:10px 12px 12px}.card-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.card-tagline{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3em;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.tags{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tag{background:var(--surface-2);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:12px}.page-character{padding-bottom:calc(96px + var(--safe-b))}.hero{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:4px 24px 0;display:flex}.hero-avatar{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px color-mix(in srgb, var(--accent) 60%, transparent), 0 12px 40px #a77bff40;margin-bottom:8px}.hero-avatar.avatar-fallback{font-size:52px!important}.hero-name{font-size:24px;font-weight:800}.hero-tagline{color:var(--text);opacity:.9}.hero .icon{vertical-align:-2px;display:inline}.badge-warn{color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);border-radius:999px;padding:3px 10px;font-size:12px}.preview-bubble{max-width:100%}.footer-actions{justify-content:center;gap:12px;display:flex}.cta-bar{z-index:15;left:50%;bottom:calc(var(--nav-h) + var(--safe-b));background:linear-gradient(to top, var(--bg) 60%, transparent);width:100%;max-width:560px;padding:12px 16px;position:fixed;transform:translate(-50%)}.toast{top:calc(64px + var(--safe-t));z-index:50;background:var(--surface-3);border-radius:999px;padding:8px 16px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}.chat{flex-direction:column;height:100dvh;display:flex}.chat-header{padding:var(--safe-t) 6px 0;height:calc(56px + var(--safe-t));border-bottom:1px solid var(--border);background:var(--bg);grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.chat-title{justify-content:center;align-items:center;gap:8px;min-width:0;font-weight:700;display:flex}.chat-title span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.messages{overscroll-behavior:contain;flex-direction:column;flex:1;gap:14px;padding:12px 12px 20px;display:flex;overflow-y:auto}.ai-note{text-align:center;color:var(--muted);padding:2px 0 6px;font-size:11.5px}.msg{align-items:flex-start;gap:8px;display:flex}.msg-user{justify-content:flex-end}.msg-col{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:80%;display:flex}.msg-user .msg-col{align-items:flex-end}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;padding:10px 14px;line-height:1.65}.bubble-ai{background:var(--surface-2);border-top-left-radius:6px}.bubble-user{background:var(--user-bubble);color:#fff;border-top-right-radius:6px}.bubble.is-pending{opacity:.7}.narration{color:var(--muted);font-style:normal}.bubble-user .narration{color:#ffffffb8}.regen-btn{color:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.regen-btn:active{background:var(--surface-2)}.queue-note{color:var(--muted);font-size:12px}.chat-error{text-align:center;color:var(--danger);flex-direction:column;align-self:center;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;display:flex}.typing{gap:4px;padding:6px 2px;display:inline-flex}.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite blink}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.composer{padding:8px 10px calc(8px + var(--safe-b));border-top:1px solid var(--border);background:var(--bg);align-items:flex-end;gap:8px;display:flex}.composer textarea{resize:none;border:1px solid var(--border);background:var(--surface);border-radius:22px;outline:none;flex:1;min-width:0;max-height:140px;padding:10px 16px;font-size:16px;line-height:1.5}.composer textarea:focus{border-color:color-mix(in srgb, var(--accent) 60%, var(--border))}.send-btn{background:var(--accent-grad);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.send-btn.stop{background:var(--surface-3)}.row-list{margin:0;padding:0;list-style:none}.row{align-items:center;gap:12px;padding:10px 16px;display:flex}.row:active{background:var(--surface)}.row-main{flex:1;min-width:0}.row-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.row-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.row-time{color:var(--muted);flex-shrink:0;font-size:12px}.row-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.section .row{padding-left:0;padding-right:0}.form{flex-direction:column;gap:18px;display:flex}.edit-form{padding:8px 16px 40px}.field{border:none;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.field-label{color:var(--muted);justify-content:space-between;padding:0;font-size:13px;font-weight:700;display:flex}.field-count{font-size:12px;font-weight:400}.field-hint{color:var(--muted);font-size:12px}:where(input:not([type=checkbox]):not([type=radio]),textarea){border:1px solid var(--border);background:var(--surface);border-radius:12px;outline:none;width:100%;padding:11px 14px;font-size:16px}:where(input,textarea):focus{border-color:color-mix(in srgb, var(--accent) 60%, var(--border))}:where(textarea){resize:vertical;line-height:1.6}.search input{background:0 0;border:none;padding:0}.radio-row{gap:8px;display:flex}.radio-pill{text-align:center;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;flex:1;padding:10px;font-size:14px}.radio-pill input{opacity:0;pointer-events:none;position:absolute}.radio-pill.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.avatar-picker{flex-direction:column;align-items:center;gap:6px;display:flex}.avatar-pick-btn{border-radius:50%;position:relative}.gen-preview{aspect-ratio:1;object-fit:cover;border-radius:16px;width:100%;max-width:280px;margin:0 auto;display:block}.coin-line{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.coin-line b{font-size:18px}.coin-grant-row{gap:8px;display:flex}.coin-grant-row input[type=email]{flex:1;min-width:0}.coin-grant-row input[type=number]{width:80px}.avatar-pick-label{color:#fff;background:linear-gradient(#0000,#000000b3);border-radius:0 0 56px 56px;padding:4px 0 8px;font-size:11px;position:absolute;inset:auto 0 0}.login-box{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;display:flex}.login-box h2{font-size:20px}.google-btn{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:44px}.login-buttons{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.guest-start{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:300px;display:flex}.guest-start input{text-align:center;width:100%}.nickname-field{text-align:left;width:100%}.login-btn{border-radius:999px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:300px;height:46px;font-size:15px;font-weight:600;display:inline-flex}.login-apple{color:#000;background:#fff}.login-google{color:#e3e3e3;background:#131314;border:1px solid #8e918f}.dev-login{border-top:1px dashed var(--border);flex-direction:column;gap:8px;width:100%;max-width:300px;padding-top:16px;display:flex}.rule-list{text-align:left;background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:6px;margin:0;padding:14px 14px 14px 32px;font-size:14px;display:flex}.check{text-align:left;cursor:pointer;align-items:flex-start;gap:10px;width:100%;font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin-top:1px}.check a,.legal a{color:var(--accent);text-decoration:underline}.profile{align-items:center;gap:14px;padding:8px 16px 0;display:flex}.profile-name{align-items:center;gap:6px;font-size:18px;font-weight:700;display:inline-flex}.name-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.name-form input{width:160px;padding:6px 10px}.link-list{border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.link-list li+li{border-top:1px solid var(--border)}.link-list a{padding:14px 16px;display:block}.blocked-row{justify-content:space-between;align-items:center;padding:8px 12px 8px 16px;display:flex}.sheet-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:flex-end;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;padding:8px 16px calc(20px + var(--safe-b));border-radius:20px 20px 0 0;max-height:85dvh;animation:.2s ease-out up;overflow-y:auto}.sheet-handle{background:var(--surface-3);border-radius:2px;width:40px;height:4px;margin:0 auto 12px}.sheet-title{margin-bottom:12px;font-size:16px;font-weight:700}.sheet .form{gap:12px}.menu-list{flex-direction:column;display:flex}.menu-item{text-align:left;border-bottom:1px solid var(--border);width:100%;padding:14px 4px;font-size:15px;display:block}.menu-item:last-child{border-bottom:none}.menu-item.danger{color:var(--danger)}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:.6;transform:translateY(30px)}}.stats{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;padding:8px 16px 0;display:grid}.stats div{background:var(--surface);border-radius:12px;flex-direction:column;align-items:center;padding:10px 6px;display:flex}.stats b{font-size:18px}.stats span{color:var(--muted);font-size:11px}.report-list{flex-direction:column;gap:12px;margin:0;padding:12px 16px;list-style:none;display:flex}.report{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:10px;padding:12px;display:flex}.report-head{align-items:center;gap:10px;display:flex}.report-reason{white-space:pre-wrap;background:var(--surface-2);border-radius:10px;padding:8px 10px;font-size:14px}.report-actions{flex-wrap:wrap;gap:6px;display:flex}.legal{flex-direction:column;gap:10px;padding:8px 20px 48px;font-size:14px;display:flex}.legal h2{margin-top:12px;font-size:15px}.legal ul{margin:0;padding-left:20px}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important}}
