:root{--color-background:#0a0f12;--color-surface:#11181d;--color-surface-subtle:#0e1418;--color-skeleton:#0e151a;--color-field-surface:#10171c;--color-support-message:#172129;--color-support-customer:#243b4a;--color-text:#f8fafc;--color-text-muted:#a7b4bd;--color-text-secondary:#d5dee4;--color-card-description:#cdd7dd;--color-white:#fff;--color-ink:#111;--color-on-positive:#08110d;--color-accent:#10b981;--color-character-accent-default:#2f9e6f;--color-accent-strong:#217a55;--color-accent-on:#fff;--color-accent-soft:#1b2730;--color-accent-text-soft:#9fe3c4;--color-chip:#1b2730;--color-border-subtle:#1c262d;--color-border-default:#24313a;--color-border-strong:#2a3943;--color-border-invite:#25323a;--color-avatar-gradient-mid:#0d1216;--color-avatar-gradient-end:#0b1015;--color-tag-surface-mix:#0f151a;--color-tag-text-mix:#f4f8f6;--color-success-surface:#10251d;--color-success-text:#7ee2ad;--color-success-text-strong:#b9f6d8;--color-success-border:#245b43;--color-warning-surface-strong:#3a2f12;--color-warning:#f0b429;--color-warning-border:#6b5414;--color-overage-border:#684329;--color-danger-surface:#3a1417;--color-danger-surface-strong:#1a0d0f;--color-danger:#f87171;--color-danger-text:#fca5a5;--color-danger-border:#7f1d1d;--color-transparent:transparent;--color-shimmer:#ffffff0d;--color-avatar-highlight-soft:#ffffff17;--color-control-highlight:#ffffff1a;--color-avatar-highlight:#ffffff1f;--color-white-border-soft:#ffffff24;--color-white-alpha-20:#fff3;--color-white-alpha-26:#ffffff42;--color-black-alpha-25:#00000040;--color-black-alpha-34:#00000057;--color-black-alpha-40:#0006;--color-black-alpha-42:#0000006b;--color-black-alpha-45:#00000073;--color-black-alpha-46:#00000075;--color-black-alpha-60:#0009;--color-black-alpha-65:#000000a6;--color-black-alpha-70:#000000b3;--color-black-alpha-72:#000000b8;--color-card-scrim-soft:#06090c80;--color-card-scrim-strong:#06090cf0;--color-success-fill-soft:#32b87e24;--color-success-fill:#32b87e29;--color-overage-fill:#68432929;--color-warning-fill:#f0b42929;--space-negative-1:-1px;--space-0:0px;--space-2:2px;--space-3:3px;--space-4:4px;--space-5:5px;--space-6:6px;--space-7:7px;--space-8:8px;--space-9:9px;--space-10:10px;--space-11:11px;--space-12:12px;--space-14:14px;--space-16:16px;--space-17:17px;--space-18:18px;--space-19:19px;--space-20:20px;--space-22:22px;--space-24:24px;--space-28:28px;--space-32:32px;--space-40:40px;--space-48:48px;--space-56:56px;--space-72:72px;--space-76:76px;--space-80:80px;--space-auto:auto;--touch-target-min:44px;--radius-2:2px;--radius-4:4px;--radius-6:6px;--radius-8:8px;--radius-9:9px;--radius-10:10px;--radius-12:12px;--radius-14:14px;--radius-16:16px;--radius-18:18px;--radius-sheet:22px 22px 0 0;--radius-round:50%;--radius-pill:999px;--font-family-sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans SC", "Segoe UI", system-ui, sans-serif;--font-size-11:11px;--font-size-12:12px;--font-size-13:13px;--font-size-14:14px;--font-size-15:15px;--font-size-16:16px;--font-size-17:17px;--font-size-18:18px;--font-size-20:20px;--font-size-28:28px;--font-size-40:40px;--font-size-44:44px;--font-size-72:72px;--font-size-display:clamp(26px, 7vw, 38px);--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-140:1.4;--line-height-150:1.5;--line-height-155:1.55;--line-height-160:1.6;--line-height-165:1.65;--line-height-170:1.7;--line-height-175:1.75;--letter-spacing-tight:-.03em;--letter-spacing-wide:.12em;--elevation-card:0 10px 26px var(--color-black-alpha-45), 0 0 0 1px color-mix(in srgb, var(--acc,var(--color-accent)) 30%, var(--color-transparent));--elevation-accent-glow:0 0 8px var(--acc,var(--color-accent));--elevation-text-card:0 1px 6px var(--color-black-alpha-60);--elevation-text-description:0 1px 4px var(--color-black-alpha-70);--elevation-text-cover:0 2px 8px var(--color-black-alpha-60);--elevation-popover:0 8px 24px var(--color-black-alpha-40);--elevation-sheet:0 -16px 48px var(--color-black-alpha-34)}*{box-sizing:border-box}.sr-only{width:1px;height:1px;padding:var(--space-0);margin:var(--space-negative-1);clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;position:absolute;overflow:hidden}a{color:var(--color-accent)}body{margin:var(--space-0);background:var(--color-background);color:var(--color-text);font-family:var(--font-family-sans)}.app{max-width:720px;margin:var(--space-0) var(--space-auto);padding:var(--space-0) var(--space-16) var(--space-80)}.topbar{padding:var(--space-16) var(--space-4);justify-content:space-between;align-items:center;display:flex}.brand{font-weight:var(--font-weight-bold);font-size:var(--font-size-18)}.gem,.back{color:var(--color-accent);font-size:var(--font-size-18);min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.back-link{color:var(--color-accent);min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.tabs{gap:var(--space-8);margin:var(--space-8) var(--space-0);display:flex}.tabs.primary .tab{flex:1}.tab{background:var(--color-surface);color:var(--color-text-muted);padding:var(--space-10) var(--space-16);border-radius:var(--radius-pill);font-weight:var(--font-weight-semibold);cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border:none;justify-content:center;align-items:center;display:inline-flex}.tab.active{background:var(--color-accent-strong);color:var(--color-accent-on)}.search-tabs{padding-bottom:var(--space-2);overflow-x:auto}.search-tabs .tab{gap:var(--space-7);flex:1 0 auto;text-decoration:none}.tab-count{min-width:20px;padding:var(--space-2) var(--space-6);border-radius:var(--radius-pill);background:var(--color-control-highlight);color:inherit;font-size:var(--font-size-11);line-height:var(--line-height-140)}.tab.active .tab-count{background:var(--color-black-alpha-25)}.search-control{gap:var(--space-6);margin:var(--space-18) var(--space-0) var(--space-10);display:grid}.search-control label{color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.search-control .login-field{margin:var(--space-0)}.search-bar{align-items:stretch;gap:var(--space-8);display:flex}.search-bar .login-field{min-width:0}.search-submit{flex:none}.popular-tags{margin:var(--space-10) var(--space-0)}.search-filter-row{justify-content:space-between;align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.search-filter-row .tabs{margin:var(--space-8) var(--space-0)}.result-count,.search-helper{color:var(--color-text-muted);font-size:var(--font-size-12);margin:var(--space-4) var(--space-0) var(--space-10)}.search-grid-status{grid-column:1/-1}.voice-list{padding:var(--space-0);margin:var(--space-12) var(--space-0);gap:var(--space-8);list-style:none;display:grid}.voice-item{justify-content:space-between;align-items:center;gap:var(--space-12);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);min-height:64px;padding:var(--space-10) var(--space-14);flex-wrap:wrap;display:flex}.voice-meta{gap:var(--space-4);flex:1;min-width:0;display:grid}.voice-name{color:var(--color-text);font-weight:var(--font-weight-bold);overflow-wrap:anywhere}.voice-tag{color:var(--color-text-muted);font-size:var(--font-size-12)}.replay-result-link{width:100%;min-height:var(--touch-target-min);justify-content:space-between;align-items:center;gap:var(--space-12);color:var(--color-text);text-decoration:none;display:flex}.search-list-skeleton{background:var(--color-skeleton);position:relative;overflow:hidden}.search-list-skeleton:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}.search-empty{text-align:center;padding:var(--space-28) var(--space-12)}@media (width<=420px){.search-bar{align-items:stretch}.search-submit{padding-inline:var(--space-14)}.search-filter-row{align-items:flex-start}}.section-title{font-size:var(--font-size-16);margin:var(--space-16) var(--space-0) var(--space-8)}.grid{gap:var(--space-12);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=560px){.grid{grid-template-columns:repeat(3,1fr)}}.pcard{aspect-ratio:3/4;border-radius:var(--radius-14);border:1px solid var(--color-border-subtle);color:var(--color-text);isolation:isolate;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:block;position:relative;overflow:hidden}.pcard:hover,.pcard:focus-visible{border-color:color-mix(in srgb, var(--acc,var(--color-accent)) 55%, var(--color-border-subtle));box-shadow:var(--elevation-card);transform:translateY(-3px)}.pcard-art{inset:var(--space-0);object-fit:cover;width:100%;height:100%;position:absolute}.pcard-art--fallback{background:radial-gradient(20px 26px at 50% 32%, var(--color-avatar-highlight), var(--color-transparent) 72%), radial-gradient(78px 58px at 50% 96%, var(--color-avatar-highlight-soft), var(--color-transparent) 70%), radial-gradient(130% 78% at 50% 20%, color-mix(in srgb, var(--acc,var(--color-accent)) 52%, var(--color-avatar-gradient-mid)) 0%, var(--color-avatar-gradient-end) 62%);place-items:center;display:grid}.pcard-initial{font-size:var(--font-size-44);font-weight:var(--font-weight-extrabold);color:var(--color-white-alpha-20)}.pcard-scrim{inset:var(--space-0);pointer-events:none;background:linear-gradient(0deg, var(--color-card-scrim-strong) 6%, var(--color-card-scrim-soft) 34%, var(--color-transparent) 60%);position:absolute}.pcard-stat{top:var(--space-9);right:var(--space-10);z-index:2;font-size:var(--font-size-12);color:var(--color-white);background:var(--color-black-alpha-42);border:1px solid var(--color-white-border-soft);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-9);position:absolute}.pcard-plate{left:var(--space-0);right:var(--space-0);bottom:var(--space-0);z-index:2;padding:var(--space-11) var(--space-12) var(--space-12);position:absolute}.pcard-name{font-size:var(--font-size-15);font-weight:var(--font-weight-bold);margin:var(--space-0) var(--space-0) var(--space-7);align-items:center;gap:var(--space-7);text-shadow:var(--elevation-text-card);display:flex}.pcard-name:before{content:"";border-radius:var(--radius-2);background:var(--acc,var(--color-accent));width:3px;height:14px;box-shadow:var(--elevation-accent-glow);flex:none}.pcard-tags{gap:var(--space-6);flex-wrap:nowrap;max-height:22px;display:flex;overflow:hidden}.pcard-tag{white-space:nowrap;font-size:var(--font-size-11);padding:var(--space-3) var(--space-9);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--acc,var(--color-accent)) 20%, var(--color-tag-surface-mix));color:color-mix(in srgb, var(--acc,var(--color-accent)) 35%, var(--color-tag-text-mix));border:1px solid color-mix(in srgb, var(--acc,var(--color-accent)) 38%, var(--color-transparent));flex:none}.pcard-desc{margin:var(--space-0);color:var(--color-card-description);font-size:var(--font-size-12);line-height:var(--line-height-150);opacity:0;max-height:0;text-shadow:var(--elevation-text-description);transition:max-height .2s,opacity .2s,margin .2s;overflow:hidden}.pcard:hover .pcard-desc,.pcard:focus-within .pcard-desc{opacity:1;max-height:40px;margin-top:var(--space-7);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.pcard-skel{aspect-ratio:3/4;border-radius:var(--radius-14);border:1px solid var(--color-border-subtle);background:var(--color-skeleton);position:relative;overflow:hidden}.pcard-skel:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}@keyframes pcard-shine{to{transform:translate(100%)}}.grid-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-40) var(--space-16);align-items:center;gap:var(--space-12);flex-direction:column;grid-column:1/-1;display:flex}.grid-empty-cta{background:var(--color-accent-strong);color:var(--color-accent-on);border-radius:var(--radius-pill);padding:var(--space-8) var(--space-18);font-weight:var(--font-weight-semibold);font-size:var(--font-size-14);min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){.pcard,.pcard-desc{transition:none}.pcard-skel:after,.search-list-skeleton:after{animation:none}}.avatar{border-radius:var(--radius-round);object-fit:cover}.avatar-fallback{border-radius:var(--radius-round);color:var(--color-white);font-weight:var(--font-weight-bold);place-items:center;display:grid}.detail-title{align-items:center;gap:var(--space-12);display:flex}.detail-head-actions{gap:var(--space-8);flex-wrap:wrap;display:inline-flex}.cover{border-radius:var(--radius-16);height:240px;margin:var(--space-8) var(--space-0);background-position:50%;background-size:cover;position:relative;overflow:hidden}.cover-overlay{inset:var(--space-0);padding:var(--space-16);background:linear-gradient(to top, var(--color-black-alpha-65), var(--color-transparent) 60%);justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.chat-surface .cover-overlay{justify-content:flex-end}.cover-name{margin:var(--space-0);font-size:var(--font-size-28);text-shadow:var(--elevation-text-cover)}.bgm-btn{background:var(--color-black-alpha-45);color:var(--color-white);border:1px solid var(--color-white-alpha-20);border-radius:var(--radius-pill);padding:var(--space-6) var(--space-12);cursor:pointer;font-size:var(--font-size-13);min-height:var(--touch-target-min)}.mine-row{gap:var(--space-10);flex-wrap:wrap;display:flex}.mine-manage-row{align-items:center;gap:var(--space-6);display:inline-flex}.mine-action{min-height:var(--touch-target-min);padding:var(--space-6) var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font-weight:var(--font-weight-semibold)}.mine-action:disabled{opacity:.58;cursor:not-allowed}.mute-group{margin-top:var(--space-18)}.mute-group h3{font-size:var(--font-size-14);margin:var(--space-0) var(--space-0) var(--space-8)}.mute-list{border-top:1px solid var(--color-border-subtle)}.mute-row{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:var(--touch-target-min);padding:var(--space-8) var(--space-0);border-bottom:1px solid var(--color-border-subtle);display:flex}.mute-row a{color:var(--color-text);text-decoration:none}.mine-chip{align-items:center;gap:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:var(--space-4) var(--space-12) var(--space-4) var(--space-4);color:var(--color-text);font-size:var(--font-size-14);text-decoration:none;display:inline-flex}.mypage-profile{padding:var(--space-4) var(--space-0) var(--space-10)}.mypage-profile p{color:var(--color-text-muted);line-height:var(--line-height-160);margin:var(--space-8) var(--space-0) var(--space-0);max-width:60ch}.mypage-tabs{gap:var(--space-8);margin:var(--space-8) var(--space-0) var(--space-18);padding-bottom:var(--space-4);scrollbar-width:thin;display:flex;overflow-x:auto}.mypage-tab{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-8) var(--space-14);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.mypage-tab.active{background:var(--color-accent-strong);color:var(--color-accent-on)}.mypage-content{min-height:180px}.mypage-content>.section:first-child{margin-top:var(--space-0)}.mypage-embedded>h2{font-size:var(--font-size-18);margin:var(--space-0) var(--space-0) var(--space-12)}.profiles-page{gap:var(--space-18);display:grid}.profiles-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-16);display:flex}.profiles-heading .section-title{margin-top:var(--space-0)}.profiles-list{padding:var(--space-0);margin:var(--space-0);border-top:1px solid var(--color-border-subtle);list-style:none}.profile-row{align-items:center;gap:var(--space-18);padding:var(--space-14) var(--space-0);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.profile-main{gap:var(--space-5);min-width:0;display:grid}.profile-main>span{color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);overflow-wrap:anywhere}.profile-name-line{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.profile-default{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-8);background:var(--color-success-fill-soft);color:var(--color-success-text);font-size:var(--font-size-11);font-weight:var(--font-weight-bold)}.profile-meta{font-size:var(--font-size-12)!important}.profile-actions{align-items:center;gap:var(--space-8);display:flex}.profile-actions .danger-btn{padding:var(--space-6) var(--space-12)}.profile-form{align-content:start;gap:var(--space-7);padding:var(--space-16);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.profile-form h3{margin:var(--space-0) var(--space-0) var(--space-4);font-size:var(--font-size-17)}.profile-form label:not(.profile-checkbox){color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);margin-top:var(--space-5)}.profile-form input:not([type=checkbox]),.profile-form textarea{box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);width:100%;color:var(--color-text);padding:var(--space-10);font:inherit}.profile-form textarea{resize:vertical}.profile-checkbox{align-items:center;gap:var(--space-8);min-height:var(--touch-target-min);color:var(--color-text);font-size:var(--font-size-13);display:flex}.profile-checkbox input{width:18px;height:18px;accent-color:var(--color-accent)}.profile-submit{width:auto;min-width:132px;padding-inline:var(--space-18);justify-self:start}.profile-import-grid{gap:var(--space-14);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);display:grid}.profile-generator-note{margin:var(--space-0) var(--space-0) var(--space-4);padding:var(--space-10) var(--space-12);border-left:3px solid var(--color-accent);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-155)}.profiles-empty{gap:var(--space-6);padding:var(--space-22) var(--space-0);color:var(--color-text-muted);border-block:1px solid var(--color-border-subtle);display:grid}.profiles-empty strong{color:var(--color-text)}.profiles-skeleton{border-block:1px solid var(--color-border-subtle);background:repeating-linear-gradient(to bottom, var(--color-transparent) 0 43px, var(--color-border-subtle) 43px 44px);height:132px;position:relative;overflow:hidden}.profiles-skeleton:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}.convo-link{color:var(--color-text);text-decoration:none}.convo-name{color:var(--color-text)}.convo-last,.convo-count{color:var(--color-text-muted)}.muted-note{color:var(--color-text-muted);font-size:var(--font-size-13)}@media (width<=767px){.creator-area{grid-template-columns:1fr;align-items:start}.creator-area .fav-btn{width:100%}.profile-row,.profile-import-grid{grid-template-columns:1fr}.profile-actions>button{flex:1}}.create-preview{margin-top:var(--space-10)}.card-tags{gap:var(--space-6);flex-wrap:wrap;display:flex}.tag{background:var(--color-chip);color:var(--color-accent-text-soft);font-size:var(--font-size-11);padding:var(--space-3) var(--space-8);border-radius:var(--radius-pill)}button.tag{cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border:none;justify-content:center;align-items:center;display:inline-flex}a.tag{min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.bottomnav{bottom:var(--space-0);left:var(--space-0);right:var(--space-0);background:var(--color-surface-subtle);padding:var(--space-10) var(--space-0);border-top:1px solid var(--color-border-subtle);justify-content:space-around;display:flex;position:fixed}.nav-item{color:var(--color-text-muted);font-size:var(--font-size-12);min-width:var(--touch-target-min);min-height:var(--touch-target-min);flex:1;justify-content:center;align-items:center;display:inline-flex}.nav-item.active{color:var(--color-accent)}a.nav-item{text-decoration:none}.create-form{gap:var(--space-4);flex-direction:column;display:flex}.create-form label{color:var(--color-text-muted);font-size:var(--font-size-13);margin-top:var(--space-8)}.create-form textarea{resize:vertical;font-family:inherit}.error{color:var(--color-danger)}.login{min-height:100vh;padding:var(--space-24);place-items:center;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-16);padding:var(--space-28);text-align:center;max-width:380px}.login-logo{font-size:var(--font-size-40);color:var(--color-accent)}.login-sub{color:var(--color-text-muted);line-height:var(--line-height-160)}.login-features{padding:var(--space-0);text-align:left;color:var(--color-text-muted);font-size:var(--font-size-14);list-style:none}.login-features li{margin:var(--space-8) var(--space-0)}.btn{width:100%;min-height:var(--touch-target-min);padding:var(--space-12);border-radius:var(--radius-10);font-weight:var(--font-weight-bold);cursor:pointer;margin:var(--space-6) var(--space-0);border:none}.btn.google{background:var(--color-white);color:var(--color-ink)}.btn.email{background:var(--color-accent-strong);color:var(--color-accent-on)}.btn.email.secondary{background:var(--color-border-default);color:var(--color-text)}.btn:disabled{opacity:.58;cursor:not-allowed}.login-legal{color:var(--color-text-muted);font-size:var(--font-size-12)}.login-field{width:100%;padding:var(--space-12);border-radius:var(--radius-10);border:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);color:var(--color-text);margin:var(--space-6) var(--space-0);box-sizing:border-box}.login-msg{color:var(--color-accent-text-soft);font-size:var(--font-size-13)}.btn.ghost{background:var(--color-transparent);color:var(--color-text-muted)}.link-btn{color:var(--color-accent);cursor:pointer;font-size:var(--font-size-13);margin-left:var(--space-6);min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:0 0;border:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.bubble-tools{gap:var(--space-2);margin-left:var(--space-6);vertical-align:middle;flex-wrap:wrap;display:inline-flex}.msg-image{border-radius:var(--radius-10);width:100%;max-width:320px;margin-top:var(--space-8);display:block}.topbar-right{align-items:center;gap:var(--space-12);display:inline-flex}.pwa-install-control{position:relative}.pwa-install-button{background:var(--color-transparent);padding:var(--space-4) var(--space-8);font:inherit;cursor:pointer;font-size:var(--font-size-12);white-space:nowrap;border:0}.pwa-install-button:disabled{opacity:.58;cursor:wait}.pwa-install-hint{z-index:10;top:calc(100% + var(--space-6));right:var(--space-0);width:min(280px,75vw);margin:var(--space-0);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-10);background:var(--color-surface);color:var(--color-text);box-shadow:var(--elevation-popover);font-size:var(--font-size-12);line-height:var(--line-height-150);position:absolute}.push-permission-prompt{z-index:20;right:var(--space-16);bottom:calc(var(--space-76) + env(safe-area-inset-bottom));align-items:center;gap:var(--space-12);padding:var(--space-10) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-12);background:var(--color-surface);color:var(--color-text-muted);box-shadow:var(--elevation-popover);font-size:var(--font-size-12);display:flex;position:fixed}.push-permission-prompt-button{min-height:var(--touch-target-min);padding:var(--space-0) var(--space-14);border-radius:var(--radius-pill);background:var(--color-accent-strong);color:var(--color-accent-on);font:inherit;font-weight:var(--font-weight-bold);cursor:pointer;border:0}.user-switcher{color:var(--color-text-muted);font-size:var(--font-size-13)}.user-switcher select{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);padding:var(--space-4) var(--space-8);margin-left:var(--space-4)}.detail-head{justify-content:space-between;align-items:center;display:flex}.character-profile-link{color:var(--color-text);text-decoration:none}.cover-name .character-profile-link{color:inherit}.character-profile-head{gap:var(--space-12)}.character-visibility{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);padding:var(--space-6) var(--space-10);color:var(--color-text-muted);background:var(--color-surface);font-size:var(--font-size-12);font-weight:var(--font-weight-bold);flex:none}.character-chat-cta{box-sizing:border-box;width:100%;min-height:52px;margin:var(--space-14) var(--space-0) var(--space-10);padding:var(--space-10) var(--space-20);border-radius:var(--radius-12);background:var(--color-accent-strong);color:var(--color-accent-on);font-weight:var(--font-weight-extrabold);justify-content:center;align-items:center;text-decoration:none;display:flex}.character-chat-cta:active{transform:translateY(1px)}.character-profile-actions{margin:var(--space-10) var(--space-0)}.character-profile-stats{gap:var(--space-14);margin:var(--space-12) var(--space-0);color:var(--color-accent);font-size:var(--font-size-13);flex-wrap:wrap;display:flex}.fav-btn{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:var(--space-6) var(--space-14);cursor:pointer;font-weight:var(--font-weight-semibold);min-height:var(--touch-target-min)}.fav-btn.on{background:var(--color-warning-surface-strong);color:var(--color-warning);border-color:var(--color-warning-border)}.fav-btn:active,.mine-action:active{transform:translateY(1px)}.creator-area{align-items:center;gap:var(--space-12);margin:var(--space-10) var(--space-0) var(--space-4);padding:var(--space-10) var(--space-0);border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.creator-label{color:var(--color-text-muted);font-size:var(--font-size-12);margin-bottom:var(--space-2);display:block}.creator-name{overflow-wrap:anywhere}.creator-counts{gap:var(--space-10);color:var(--color-text-muted);font-size:var(--font-size-12);flex-wrap:wrap;display:inline-flex}@media (width<=540px){.character-profile-head{align-items:flex-start}.creator-area{grid-template-columns:minmax(0,1fr) auto}.creator-counts{grid-column:1/-1}}.report-panel{margin:var(--space-12) var(--space-0);padding:var(--space-14);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface)}.content-report-flow{display:contents}.content-report-flow>.report-panel,.content-report-status{flex:1 0 100%}.report-panel h2{font-size:var(--font-size-17);margin:var(--space-0) var(--space-0) var(--space-12)}.report-field{gap:var(--space-6);margin-top:var(--space-10);display:grid}.report-field label{color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.report-field select,.report-field textarea{box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface-subtle);width:100%;color:var(--color-text);padding:var(--space-10);font:inherit}.report-field textarea{resize:vertical}.report-helper{color:var(--color-text-muted);font-size:var(--font-size-12)}.report-actions{gap:var(--space-8);margin-top:var(--space-12);flex-wrap:wrap;display:flex}.chat-actions{gap:var(--space-8);margin:var(--space-12) var(--space-0);flex-wrap:wrap;display:flex}.chat-actions button,.chat-action-link{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);padding:var(--space-6) var(--space-12);cursor:pointer;min-height:var(--touch-target-min);box-sizing:border-box;font:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.chat-actions button:active,.chat-action-link:active{transform:translateY(1px)}.chat-actions button:disabled{cursor:not-allowed;opacity:.58}.chat-save-panel{gap:var(--space-6);margin:var(--space-12) var(--space-0);padding:var(--space-14);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.chat-save-panel label{color:var(--color-text-muted);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.chat-save-panel .report-actions{max-width:380px}.chat-profile-selector{align-items:center;gap:var(--space-10) var(--space-18);margin:var(--space-14) var(--space-0);padding:var(--space-12) var(--space-0);border-block:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.chat-profile-copy{gap:var(--space-3);display:grid}.chat-profile-copy label{font-size:var(--font-size-14);font-weight:var(--font-weight-bold)}.chat-profile-copy span{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-150)}.chat-profile-control{align-items:center;gap:var(--space-8);display:flex}.chat-profile-control select{min-height:var(--touch-target-min);border:1px solid var(--color-border-strong);border-radius:var(--radius-9);background:var(--color-surface);max-width:260px;color:var(--color-text);padding:var(--space-8) var(--space-10)}.chat-profile-manage{min-width:var(--touch-target-min);min-height:var(--touch-target-min);color:var(--color-accent);font-size:var(--font-size-13);white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.chat-profile-selector>.error,.chat-profile-selector>.muted-note{grid-column:1/-1}.bookmark-panel{margin:var(--space-12) var(--space-0);padding:var(--space-12) var(--space-14);border:1px solid var(--color-border-strong);border-radius:var(--radius-12);background:var(--color-surface-subtle)}.bookmark-panel-head{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}.bookmark-panel-head h2{margin:var(--space-0);font-size:var(--font-size-16)}.bookmark-list{padding:var(--space-0);margin:var(--space-10) var(--space-0) var(--space-0);border-top:1px solid var(--color-border-default);list-style:none}.bookmark-list li{gap:var(--space-10);padding:var(--space-10) var(--space-0);border-bottom:1px solid var(--color-border-default);line-height:var(--line-height-150);grid-template-columns:minmax(72px,auto) minmax(0,1fr);display:grid}.bookmark-role{color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-bold)}.gen-image{border-radius:var(--radius-12);width:100%;max-width:360px;margin:var(--space-8) var(--space-0);display:block}.chat-log{gap:var(--space-10);padding:var(--space-12) var(--space-0);flex-direction:column;min-height:200px;max-height:50vh;display:flex;overflow-y:auto}.msg{display:flex}.msg.user{justify-content:flex-end}.bubble{max-width:78%;padding:var(--space-10) var(--space-14);border-radius:var(--radius-14);line-height:var(--line-height-160);white-space:pre-wrap}.msg.assistant .bubble{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-bottom-left-radius:var(--radius-4)}.msg.user .bubble{background:var(--color-accent-strong);color:var(--color-accent-on);border-bottom-right-radius:var(--radius-4)}.bubble.typing{color:var(--color-text-muted)}.speak-btn{cursor:pointer;margin-left:var(--space-6);font-size:var(--font-size-13);opacity:.7;padding:var(--space-0);min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.bubble-tools .speak-btn{margin-left:var(--space-0)}.bookmark-btn.on{color:var(--color-warning);opacity:1}.suggest-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.suggestion-chip{cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.speak-btn:hover{opacity:1}.chat-input{gap:var(--space-8);bottom:var(--space-0);padding:var(--space-10) var(--space-0);background:var(--color-background);display:flex;position:sticky}.chat-input input{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-subtle);border-radius:var(--radius-10);padding:var(--space-12);flex:1}.chat-input button{background:var(--color-accent-strong);color:var(--color-accent-on);border-radius:var(--radius-10);padding:var(--space-0) var(--space-20);font-weight:var(--font-weight-bold);cursor:pointer;border:none}.saved-page{max-width:860px}.saved-list{padding:var(--space-0);margin:var(--space-14) var(--space-0);border-top:1px solid var(--color-border-subtle);list-style:none}.saved-item{align-items:center;gap:var(--space-16);padding:var(--space-14) var(--space-0);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.saved-main{gap:var(--space-5);min-width:0;color:var(--color-text);text-decoration:none;display:grid}.saved-main>span{color:var(--color-text-muted);font-size:var(--font-size-13)}.saved-preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saved-actions,.saved-detail-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.saved-delete{padding:var(--space-6) var(--space-12)}.saved-empty{justify-items:start;gap:var(--space-8);padding:var(--space-32) var(--space-0);color:var(--color-text-muted);display:grid}.saved-list-skeleton,.saved-detail-skeleton{height:148px;margin:var(--space-14) var(--space-0);border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);background:repeating-linear-gradient(to bottom, var(--color-transparent) 0 48px, var(--color-border-subtle) 48px 49px);position:relative;overflow:hidden}.saved-list-skeleton:after,.saved-detail-skeleton:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}.saved-detail-meta{gap:var(--space-12);color:var(--color-text-muted);font-size:var(--font-size-13);flex-wrap:wrap;display:flex}.saved-detail-actions{margin:var(--space-16) var(--space-0)}.saved-restore{color:var(--color-text)}.saved-transcript{gap:var(--space-10);padding:var(--space-16) var(--space-0);flex-direction:column;display:flex}@media (width<=767px){.saved-item{gap:var(--space-10);grid-template-columns:1fr}.saved-actions>button{flex:1}.bookmark-list li{gap:var(--space-4);grid-template-columns:1fr}.chat-profile-selector{grid-template-columns:1fr;align-items:start}.chat-profile-control{flex-direction:column;align-items:stretch}.chat-profile-control select{width:100%;max-width:none}}@media (prefers-reduced-motion:reduce){.saved-list-skeleton:after,.saved-detail-skeleton:after,.profiles-skeleton:after{animation:none}}.detail-name{margin:var(--space-12) var(--space-0) var(--space-4)}.detail-short{color:var(--color-text-muted)}.detail-long{line-height:var(--line-height-170);color:var(--color-text-secondary)}.first-message{background:var(--color-surface);border-left:3px solid var(--color-accent);padding:var(--space-12);border-radius:var(--radius-8);white-space:pre-line;color:var(--color-text-secondary)}.detail-stats{color:var(--color-accent);margin-top:var(--space-12)}.recs-strip{gap:var(--space-8);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.rec-chip{color:var(--color-text);align-items:center;gap:var(--space-8);min-width:var(--touch-target-min);min-height:var(--touch-target-min);text-decoration:none;display:inline-flex}.settings-group{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-14);margin:var(--space-14) var(--space-0)}.setting-row{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-0);display:flex}.setting-row+.setting-row{border-top:1px solid var(--color-border-subtle)}.setting-row select{background:var(--color-field-surface);color:var(--color-text);border:1px solid var(--color-border-default);border-radius:var(--radius-8);padding:var(--space-8) var(--space-10)}.setting-row.toggle{justify-content:flex-start}.push-toggle-control{align-items:center;gap:var(--space-8);display:inline-flex}.age-gate-card .setting-row{padding-top:var(--space-0)}.age-gate-actions{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-note{color:var(--color-text-muted);font-size:var(--font-size-13)}.support-chat-entry{padding:var(--space-0)}.support-chat-link{color:var(--color-text);min-height:var(--touch-target-min);padding:var(--space-14);text-decoration:none}.error-report-entry{padding:var(--space-0)}.error-report-flow{display:contents}.error-report-trigger{width:100%;min-height:var(--touch-target-min);padding:var(--space-14);background:var(--color-transparent);color:var(--color-text);font:inherit;cursor:pointer;border:0}.error-report-panel{margin:var(--space-0) var(--space-14) var(--space-14)}.error-report-consent{align-items:flex-start;gap:var(--space-8);margin-top:var(--space-12);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-150);display:flex}.support-chat-mount{min-height:200px;margin-top:var(--space-14);padding:var(--space-16);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface)}.support-chat-messages{gap:var(--space-8);min-height:120px;margin:var(--space-0);padding:var(--space-0);flex-direction:column;list-style:none;display:flex}.support-chat-messages li{max-width:85%;padding:var(--space-9) var(--space-11);border-radius:var(--radius-10);background:var(--color-support-message);white-space:pre-wrap;align-self:flex-start}.support-chat-messages li[data-source=customer]{background:var(--color-support-customer);align-self:flex-end}.support-chat-composer{gap:var(--space-8);margin-top:var(--space-14);display:flex}.support-chat-composer textarea{resize:vertical;min-height:70px;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-8);background:var(--color-field-surface);padding:var(--space-9);flex:1}.support-chat-composer button{min-height:var(--touch-target-min);align-self:flex-end}.plans h1{margin-top:var(--space-20)}.paused-note{color:var(--color-warning);font-size:var(--font-size-13)}.limit-status-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-14);margin:var(--space-14) var(--space-0)}.limit-status-head{justify-content:space-between;align-items:center;gap:var(--space-12);margin-bottom:var(--space-10);display:flex}.limit-status-head h2,.limit-status-head h3{margin:var(--space-0);font-size:var(--font-size-18)}.limit-status-head span{color:var(--color-text-muted);font-size:var(--font-size-13);text-transform:uppercase}.limit-status-list{gap:var(--space-8);display:grid}.limit-status-row{justify-content:space-between;align-items:center;gap:var(--space-12);border:1px solid var(--color-border-default);border-radius:var(--radius-10);padding:var(--space-10) var(--space-12);display:flex}.limit-status-row.blocked{border-color:var(--color-overage-border);background:var(--color-overage-fill)}.limit-status-main,.limit-status-meta{align-items:center;gap:var(--space-8);display:flex}.limit-status-meta{color:var(--color-text-muted);font-size:var(--font-size-13);flex-wrap:wrap;justify-content:flex-end}.limit-reason{border-radius:var(--radius-pill);background:var(--color-success-fill);color:var(--color-success-text);font-size:var(--font-size-12);font-weight:var(--font-weight-bold);padding:var(--space-2) var(--space-8)}.limit-reason.blocked{background:var(--color-warning-fill);color:var(--color-warning)}.plans-controls{justify-content:space-between;gap:var(--space-12);margin:var(--space-16) var(--space-0) var(--space-12);flex-wrap:wrap;display:flex}.plans-segmented{border:1px solid var(--color-border-default);border-radius:var(--radius-pill);padding:var(--space-3);background:var(--color-surface);display:inline-flex}.plans-segmented button{border-radius:var(--radius-pill);background:var(--color-transparent);color:var(--color-text-muted);cursor:pointer;min-height:var(--touch-target-min);padding:var(--space-8) var(--space-14);border:0}.plans-segmented button.active{background:var(--color-accent-strong);color:var(--color-accent-on);font-weight:var(--font-weight-bold)}.billing-notice-backdrop{inset:var(--space-0);z-index:70;background:var(--color-black-alpha-46);justify-content:center;align-items:flex-end;display:flex;position:fixed}.billing-notice-sheet{width:min(100%,560px);padding:var(--space-22) max(var(--space-20), env(safe-area-inset-right)) calc(var(--space-22) + env(safe-area-inset-bottom)) max(var(--space-20), env(safe-area-inset-left));border:1px solid var(--color-border-subtle);border-radius:var(--radius-sheet);background:var(--color-surface);box-shadow:var(--elevation-sheet);border-bottom:0}.billing-notice-sheet.billing_overage{border-color:var(--color-overage-border)}.billing-notice-head,.billing-notice-usage{align-items:center;gap:var(--space-12);display:flex}.billing-notice-head{justify-content:space-between}.billing-notice-head h2,.billing-notice-sheet p{margin:var(--space-0)}.billing-notice-usage{margin:var(--space-18) var(--space-0) var(--space-10);flex-wrap:wrap}.billing-notice-usage strong{margin-left:var(--space-auto);font-size:var(--font-size-20)}.billing-notice-usage b{color:var(--color-warning)}.billing-notice-sheet p{color:var(--color-text-muted);font-size:var(--font-size-13)}.billing-notice-action{margin-top:var(--space-18);text-align:center;display:block}.tier-grid{gap:var(--space-12);grid-template-columns:repeat(2,1fr);display:grid}.tier{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-16);text-align:center}.tier-summary{color:var(--color-text-muted)}.skills-table{border-collapse:collapse;width:100%;margin-top:var(--space-12);font-size:var(--font-size-14)}.skills-table th,.skills-table td{border-bottom:1px solid var(--color-border-subtle);padding:var(--space-8);text-align:left}.skills-table th{color:var(--color-text-muted)}.notice{color:var(--color-accent)}.memory-list{padding:var(--space-0);margin:var(--space-12) var(--space-0);gap:var(--space-8);flex-direction:column;list-style:none;display:flex}.memory-item{align-items:center;gap:var(--space-10);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);padding:var(--space-10) var(--space-14);flex-wrap:wrap;display:flex}.memory-kind{color:var(--color-text-muted);font-size:var(--font-size-13);min-width:84px}.memory-value,.memory-edit{align-items:center;gap:var(--space-10);flex-wrap:wrap;flex:1;display:inline-flex}.memory-input{background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);padding:var(--space-6) var(--space-10);flex:1;min-width:140px}.memory-erase{margin-top:var(--space-28);padding-top:var(--space-16);border-top:1px solid var(--color-border-subtle)}.danger-btn{background:var(--color-danger-surface);color:var(--color-danger-text);border:1px solid var(--color-danger-border);border-radius:var(--radius-pill);padding:var(--space-8) var(--space-16);cursor:pointer;font-weight:var(--font-weight-bold);min-height:var(--touch-target-min)}.danger-btn:disabled{opacity:.6;cursor:default}.memory-erase-overlay{inset:var(--space-0);z-index:1000;padding:var(--space-16);background:var(--color-black-alpha-72);place-items:center;display:grid;position:fixed}.memory-erase-confirm{background:var(--color-danger-surface-strong);border:1px solid var(--color-danger-border);border-radius:var(--radius-12);width:min(100%,520px);max-height:calc(100vh - 32px);padding:var(--space-16);overflow:auto}.memory-erase-title{color:var(--color-danger-text);font-weight:var(--font-weight-bold);margin:var(--space-0) var(--space-0) var(--space-8)}.memory-erase-body{color:var(--color-text);margin:var(--space-0) var(--space-0) var(--space-14);line-height:var(--line-height-160)}.memory-erase-actions{gap:var(--space-10);flex-wrap:wrap;display:flex}.legal-page{max-width:760px;margin:var(--space-0) var(--space-auto);padding:var(--space-20) var(--space-16) var(--space-48)}.legal-page .back-link{color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-13);padding:var(--space-6) var(--space-0);background:0 0;border:none;display:inline-flex}.legal-status{color:var(--color-text-muted)}.legal-doc{color:var(--color-text);line-height:var(--line-height-175)}.legal-doc h1{font-size:var(--font-size-20);margin:var(--space-8) var(--space-0) var(--space-16)}.legal-doc h2{font-size:var(--font-size-15);margin:var(--space-24) var(--space-0) var(--space-8)}.legal-doc p{margin:var(--space-10) var(--space-0)}.legal-doc ul{margin:var(--space-8) var(--space-0);padding-left:var(--space-20)}.legal-doc li{margin:var(--space-4) var(--space-0)}.legal-doc strong{color:var(--color-text)}.login-legal-links{font-size:var(--font-size-12);margin-top:var(--space-4)}.btn-link{padding:var(--space-0);color:var(--color-accent);cursor:pointer;font-size:var(--font-size-12);min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:0 0;border:none;justify-content:center;align-items:center;text-decoration:underline;display:inline-flex}.standalone-text-action{min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;display:inline-flex}.invite-page{max-width:760px;min-height:100dvh;margin:var(--space-0) var(--space-auto);padding:var(--space-0) var(--space-16) var(--space-56)}.invite-topbar{padding:var(--space-16) var(--space-0);justify-content:space-between;align-items:center;display:flex}.invite-shell{width:min(100%,560px);margin:clamp(var(--space-24), 8vh, var(--space-72)) var(--space-auto) var(--space-0)}.invite-heading{gap:var(--space-5);margin-bottom:var(--space-28);display:grid}.invite-heading h1{margin:var(--space-0);font-size:var(--font-size-display);letter-spacing:var(--letter-spacing-tight)}.invite-kicker{margin:var(--space-0);color:var(--color-accent);font-size:var(--font-size-12);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-wide)}.invite-character{width:min(100%,320px);margin:var(--space-0) var(--space-auto);border:1px solid var(--color-border-invite);border-radius:var(--radius-18);background:var(--color-surface);overflow:hidden}.invite-character img,.invite-character-fallback{aspect-ratio:1;object-fit:cover;background:var(--color-surface-subtle);width:100%;display:block}.invite-character-fallback{color:var(--color-white-alpha-26);font-size:var(--font-size-72);font-weight:var(--font-weight-extrabold);place-items:center;display:grid}.invite-character h2{margin:var(--space-0);padding:var(--space-17) var(--space-18) var(--space-19);font-size:var(--font-size-20);overflow-wrap:anywhere}.invite-actions{width:min(100%,380px);margin:var(--space-22) var(--space-auto) var(--space-0);text-align:center}.invite-actions>p{color:var(--color-text-muted);line-height:var(--line-height-160)}.invite-claim:active,.invite-copy:active{transform:translateY(1px)}.invite-inline-error{font-size:var(--font-size-13);color:var(--color-danger-text)!important}.invite-status{padding:var(--space-28) var(--space-0);border-block:1px solid var(--color-border-invite)}.invite-status h2{margin:var(--space-0) var(--space-0) var(--space-8);font-size:var(--font-size-20)}.invite-status p{margin:var(--space-0);color:var(--color-text-muted);line-height:var(--line-height-165)}.invite-skeleton{aspect-ratio:1/1.2;width:min(100%,320px);margin:var(--space-0) var(--space-auto);border:1px solid var(--color-border-subtle);border-radius:var(--radius-18);background:var(--color-skeleton);position:relative;overflow:hidden}.invite-skeleton:after{content:"";inset:var(--space-0);background:linear-gradient(90deg, var(--color-transparent), var(--color-shimmer), var(--color-transparent));animation:1.3s infinite pcard-shine;position:absolute;transform:translate(-100%)}.character-invite-panel{gap:var(--space-10);margin:var(--space-12) var(--space-0);padding:var(--space-14);border:1px solid var(--color-border-invite);border-radius:var(--radius-12);background:var(--color-surface);display:grid}.character-invite-panel h2{margin:var(--space-0);font-size:var(--font-size-17)}.character-invite-panel p{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--font-size-13);line-height:var(--line-height-155)}.invite-link-row{gap:var(--space-8);grid-template-columns:minmax(0,1fr) auto;display:grid}.invite-link-row .login-field{margin:var(--space-0)}.invite-copy{width:auto;margin:var(--space-0);padding-inline:var(--space-18)}.invite-expiry{font-size:var(--font-size-12)!important}.invite-owner-error{color:var(--color-danger-text)!important}.invite-claimed-notice{margin:var(--space-12) var(--space-0);padding:var(--space-11) var(--space-14);color:var(--color-success-text-strong);background:var(--color-success-surface);border:1px solid var(--color-success-border);border-radius:var(--radius-10);font-size:var(--font-size-13)}@media (width<=480px){.invite-shell{margin-top:var(--space-18)}.invite-link-row{grid-template-columns:1fr}.invite-copy{width:100%}}@media (prefers-reduced-motion:reduce){.invite-skeleton:after{animation:none}}.login-scope-notice{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-160);margin:var(--space-10) var(--space-0) var(--space-4);padding:var(--space-8) var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-8);background:var(--color-surface-subtle)}.chat-disclosure{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:var(--line-height-160);text-align:center;margin:var(--space-4) var(--space-auto) var(--space-12);max-width:90%}[data-theme=warm-picturebook]{--color-background:#faf6f1;--color-surface:#fff;--color-surface-subtle:color-mix(in srgb, var(--color-surface) 72%, var(--color-background));--color-skeleton:color-mix(in srgb, var(--color-text) 7%, var(--color-background));--color-field-surface:var(--color-surface);--color-support-message:var(--color-accent-soft);--color-support-customer:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface));--color-text:#3a3330;--color-text-muted:#75695f;--color-text-secondary:color-mix(in srgb, var(--color-text) 82%, var(--color-text-muted));--color-card-description:var(--color-text-secondary);--color-on-positive:var(--color-accent-on);--color-accent:#a34e33;--color-character-accent-default:var(--color-accent);--color-accent-strong:#a34e33;--color-accent-on:#fff;--color-accent-soft:#f3dcce;--color-accent-text-soft:var(--color-accent);--color-chip:var(--color-accent-soft);--color-border-subtle:color-mix(in srgb, var(--color-text) 14%, var(--color-surface));--color-border-default:color-mix(in srgb, var(--color-text) 22%, var(--color-surface));--color-border-strong:color-mix(in srgb, var(--color-text) 35%, var(--color-surface));--color-border-invite:color-mix(in srgb, var(--color-text) 25%, var(--color-surface));--color-avatar-gradient-mid:color-mix(in srgb, var(--color-background) 82%, var(--color-surface));--color-avatar-gradient-end:var(--color-background);--color-tag-surface-mix:var(--color-accent-soft);--color-tag-text-mix:var(--color-text);--color-shimmer:color-mix(in srgb, var(--color-text) 6%, transparent);--color-control-highlight:var(--color-accent-soft)}[data-theme=gallery-ivory]{--color-background:#f7f7f5;--color-surface:#fff;--color-surface-subtle:color-mix(in srgb, var(--color-surface) 72%, var(--color-background));--color-skeleton:color-mix(in srgb, var(--color-text) 7%, var(--color-background));--color-field-surface:var(--color-surface);--color-support-message:var(--color-accent-soft);--color-support-customer:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface));--color-text:#26262b;--color-text-muted:#6a6a71;--color-text-secondary:color-mix(in srgb, var(--color-text) 82%, var(--color-text-muted));--color-card-description:var(--color-text-secondary);--color-on-positive:var(--color-accent-on);--color-accent:#6d5bc7;--color-character-accent-default:var(--color-accent);--color-accent-strong:#6d5bc7;--color-accent-on:#fff;--color-accent-soft:#edeaf9;--color-accent-text-soft:var(--color-accent);--color-chip:var(--color-accent-soft);--color-border-subtle:color-mix(in srgb, var(--color-text) 14%, var(--color-surface));--color-border-default:color-mix(in srgb, var(--color-text) 22%, var(--color-surface));--color-border-strong:color-mix(in srgb, var(--color-text) 35%, var(--color-surface));--color-border-invite:color-mix(in srgb, var(--color-text) 25%, var(--color-surface));--color-avatar-gradient-mid:color-mix(in srgb, var(--color-background) 82%, var(--color-surface));--color-avatar-gradient-end:var(--color-background);--color-tag-surface-mix:var(--color-accent-soft);--color-tag-text-mix:var(--color-text);--color-shimmer:color-mix(in srgb, var(--color-text) 6%, transparent);--color-control-highlight:var(--color-accent-soft)}[data-theme=velvet-night]{--color-background:#131011;--color-surface:#1c1719;--color-surface-subtle:color-mix(in srgb, var(--color-surface) 72%, var(--color-background));--color-skeleton:color-mix(in srgb, var(--color-text) 7%, var(--color-background));--color-field-surface:var(--color-surface);--color-support-message:var(--color-accent-soft);--color-support-customer:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface));--color-text:#f6efe9;--color-text-muted:#a99e9b;--color-text-secondary:color-mix(in srgb, var(--color-text) 82%, var(--color-text-muted));--color-card-description:var(--color-text-secondary);--color-on-positive:var(--color-accent-on);--color-accent:#d08a78;--color-character-accent-default:var(--color-accent);--color-accent-strong:#d08a78;--color-accent-on:#2a1714;--color-accent-soft:#3a2c2c;--color-accent-text-soft:var(--color-accent);--color-chip:var(--color-accent-soft);--color-border-subtle:color-mix(in srgb, var(--color-text) 14%, var(--color-surface));--color-border-default:color-mix(in srgb, var(--color-text) 22%, var(--color-surface));--color-border-strong:color-mix(in srgb, var(--color-text) 35%, var(--color-surface));--color-border-invite:color-mix(in srgb, var(--color-text) 25%, var(--color-surface));--color-avatar-gradient-mid:color-mix(in srgb, var(--color-background) 82%, var(--color-surface));--color-avatar-gradient-end:var(--color-background);--color-tag-surface-mix:var(--color-accent-soft);--color-tag-text-mix:var(--color-text);--color-shimmer:color-mix(in srgb, var(--color-text) 6%, transparent);--color-control-highlight:var(--color-accent-soft)}.theme-preview{min-height:100vh;padding:var(--space-24);background:var(--color-background);color:var(--color-text)}.theme-preview-header{max-width:1280px;margin:var(--space-0) var(--space-auto) var(--space-20)}.theme-preview-header p{margin:var(--space-0);color:var(--color-text-muted)}.theme-preview-header h1{margin:var(--space-4) var(--space-0)}.theme-preview-grid{gap:var(--space-16);max-width:1280px;margin:var(--space-0) var(--space-auto);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.theme-preview-card{min-width:0;padding:var(--space-20);border:1px solid var(--color-border-default);border-radius:var(--radius-16);background:var(--color-background);color:var(--color-text)}.theme-preview-card>header span{color:var(--color-text-muted);font-size:var(--font-size-12)}.theme-preview-card>header h2{margin:var(--space-4) var(--space-0) var(--space-16)}.theme-preview-controls,.theme-preview-statuses,.theme-preview-bubbles{margin-top:var(--space-16)}.theme-preview-controls .btn{margin-block:var(--space-4)}.theme-preview-statuses{padding:var(--space-12);border:1px solid var(--color-border-subtle);border-radius:var(--radius-12);background:var(--color-surface)}.theme-preview-statuses p{margin:var(--space-6) var(--space-0);color:var(--color-text-muted)}.theme-preview-statuses .error{color:var(--color-danger)}.theme-preview-bubbles{gap:var(--space-10);display:grid}@media (width<=900px){.theme-preview-grid{grid-template-columns:1fr}}:root{--font-family-ja:"Hiragino Sans", "Noto Sans JP", -apple-system, sans-serif;--font-family-ko:"Apple SD Gothic Neo", "Noto Sans KR", -apple-system, sans-serif;--line-length-dialogue:42ch;--line-length-reading:70ch}:lang(ja){font-family:var(--font-family-ja);line-break:strict;word-break:normal;overflow-wrap:anywhere}:lang(ko){font-family:var(--font-family-ko);word-break:keep-all;overflow-wrap:anywhere}:lang(ja) :is(.bubble,.support-chat-messages li),:lang(ko) :is(.bubble,.support-chat-messages li){line-height:var(--line-height-170);max-inline-size:min(78%, var(--line-length-dialogue))}:lang(ja) :is(.legal-doc,.detail-long),:lang(ko) :is(.legal-doc,.detail-long){max-inline-size:var(--line-length-reading)}.page-shell{min-inline-size:var(--space-0)}.section-header{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}:where(.dialog-backdrop){inset:var(--space-0);z-index:1000;padding:var(--space-16);background:var(--color-overlay,var(--color-black-alpha-72));place-items:center;display:grid;position:fixed}:where(.dialog-surface){inline-size:min(100%,520px);max-block-size:calc(100dvh - var(--space-32));padding:var(--space-16);border:1px solid var(--color-border-default);border-radius:var(--radius-16);background:var(--color-surface);color:var(--color-text);box-shadow:var(--elevation-popover);overflow:auto}.report-dialog{padding:var(--space-0)}.report-dialog .report-panel{margin:var(--space-0);border:0}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--space-2) solid var(--color-focus,var(--color-accent));outline-offset:var(--space-3)}.bottomnav{padding-bottom:max(var(--space-10), env(safe-area-inset-bottom))}.nav-item{border-radius:var(--radius-10)}.nav-item.active{background:var(--color-accent-soft,var(--color-chip))}
