:root{color:#edf0f5;background:#0a0f16;font-family:-apple-system,BlinkMacSystemFont,PingFang TC,PingFang SC,Noto Sans TC,Microsoft JhengHei,sans-serif;line-height:1.42}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;background:#0a0f16;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch}button,input,textarea{font:inherit}button{cursor:pointer}.app-root{position:relative;display:block;height:100%;background:radial-gradient(circle at 50% 18%,rgba(70,91,120,.26),transparent 38%),#0a0f16}.auth-root{display:grid;place-items:center;padding:18px}.auth-panel{display:flex;flex-direction:column;gap:10px;width:min(420px,100%);border:1px solid rgba(185,196,210,.14);border-radius:12px;background:#111720b8;padding:18px;box-shadow:0 18px 48px #00000047,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-heading h1,.auth-panel h1{margin:0;color:#f8fafc;font-size:26px;line-height:1.15}.auth-heading p,.auth-panel p{margin:4px 0 0;color:#e1e7eead;font-size:13px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.auth-tabs button{min-height:34px;border:1px solid rgba(185,196,210,.16);border-radius:999px;background:#1c212ab8;color:#dfe5eb;font-weight:800}.auth-tabs button.active{border-color:#f2c84e5c;color:#f2c84e}.auth-submit{width:100%}.app-nav{position:fixed;top:max(18px,env(safe-area-inset-top));left:24px;right:24px;z-index:20;display:grid;grid-template-columns:64px minmax(260px,680px) auto;align-items:center;justify-content:center;gap:14px;pointer-events:none}.page-tabs,.bubble-tools{display:flex;align-items:center}.nav-circle,.nav-pill,.page-tabs button{border:1px solid rgba(185,196,210,.18);background:#1c212abd;box-shadow:0 12px 34px #00000052,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto}.nav-circle{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;color:#f2f5f8}.nav-pill{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;height:64px;border-radius:999px;padding:8px 20px}.nav-title-block{min-width:0}.nav-title-block strong{display:flex;align-items:center;min-width:0;overflow:hidden;color:#f8fafc;font-size:22px;font-weight:900;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.page-tabs{justify-content:flex-end;gap:10px}.mobile-menu-button,.mobile-menu-popover,.bottom-page-pill{display:none}.page-tabs button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:999px;color:#eef2f5}.page-tabs button.active{border-color:#f2c84e5c;color:#f2c84e}.card-page,.play-layout{min-height:0}.card-page{height:100%;overflow:auto;background:linear-gradient(#070b12c7,#070b12e6),radial-gradient(circle at 50% 24%,rgba(86,104,132,.24),transparent 42%),#0a0f16;padding:108px max(5vw,22px) 24px}.form-page .page-panel{max-width:860px;margin:0 auto}.play-layout{display:grid;grid-template-columns:minmax(0,1fr);height:100%}.page-panel,.memory-item{min-width:0;border:1px solid rgba(185,196,210,.14);background:#111720a3;box-shadow:0 18px 48px #00000042,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.page-panel{border-radius:18px;padding:18px}.card-catalog,.chat-catalog{max-width:1120px;margin:0 auto}.page-heading h1,.character-card h2{margin:0;color:#f8fafc;letter-spacing:0}.page-heading h1{font-size:clamp(30px,4vw,54px);line-height:1.2;font-weight:950}.character-card h2{font-size:22px}.page-heading p,.character-card p{margin:4px 0 0;color:#e1e7eead}.character-card p:not(.card-author){font-size:14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.split-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.split-heading>.compact{flex-shrink:0;white-space:nowrap}.card-form{display:flex;flex-direction:column;gap:10px}.panel-title{display:flex;align-items:center;justify-content:space-between;min-height:32px;color:#d8d0bc;font-size:14px;font-weight:800}.form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:2px}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:14px}.chat-list-page{display:flex;flex-direction:column;gap:8px;margin-top:14px}.chat-list-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:10px;align-items:stretch}.character-card,.list-item,.memory-item{border:1px solid rgba(185,196,210,.13);border-radius:8px;background:#1c212ab8;box-shadow:0 12px 32px #00000038,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.character-card{display:grid;grid-template-rows:minmax(126px,1fr) auto;gap:10px;min-height:204px;padding:14px}.card-actions{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px;gap:10px;align-items:center}.list-item{display:flex;flex-direction:column;gap:4px;width:100%;min-height:72px;padding:12px;color:#f3f6fa;text-align:left}.session-open{justify-content:center;min-height:42px}.list-item strong,.list-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item span{color:#e1e7ee9e;font-size:13px}.chat-area{position:relative;display:block;min-width:0;min-height:0;background:linear-gradient(#090d14b8,#090d14db),radial-gradient(circle at 48% 36%,rgba(82,95,114,.3),transparent 42%),#090d14}.bubble-tools{width:min(920px,100%);flex-wrap:wrap;gap:6px;margin-top:4px;opacity:.82}.bubble-tools .icon-button{width:auto;min-width:30px;height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#e8eaedd1}.bubble-tools .icon-button:hover{background:#ffffff14;border-color:#ffffff24;color:#e8eaedf2}.bubble-tools .icon-button svg{width:14px;height:14px}.icon-button.labeled{gap:5px;font-size:12px;font-weight:750}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(185,196,210,.18);border-radius:999px;background:#1c212ab8;color:#dfe5eb;width:34px;height:34px}.icon-button:disabled,.composer-pill button:disabled,.compact:disabled{cursor:not-allowed;opacity:.45}.messages{display:flex;flex-direction:column;gap:16px;min-height:100%;padding:112px max(6vw,28px) calc(110px + env(safe-area-inset-bottom))}.message-row{display:flex;flex-direction:column;width:100%;contain:layout style}.message-row.user{align-self:flex-end;max-width:min(680px,82%)}.message-row.assistant{align-self:flex-start;max-width:min(820px,92%)}.message-row.memory{align-self:center;align-items:center;max-width:min(680px,100%)}.message-row.user .bubble-tools{justify-content:flex-end}.message-row.assistant .bubble-tools{justify-content:flex-start}.message-row.memory .bubble-tools{justify-content:center}.message{width:100%;border:0;background:transparent;padding:0}.message.user{border:1px solid rgba(96,165,250,.18);border-radius:20px 20px 6px;background:#60a5fa14;padding:10px 16px;box-shadow:0 4px 18px #60a5fa2e}.message.assistant{border:1px solid rgba(255,255,255,.06);border-radius:20px 20px 20px 6px;background:#161b22b8;padding:10px 14px;box-shadow:0 2px 10px #00000040}.message.memory{border:1px solid rgba(201,176,104,.22);border-radius:18px;background:#13181fa8;padding:10px}.message.memory.collapsed{border-style:dashed}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d7ad55;font-size:13px;font-weight:800}.message-content{margin:0;color:#e8eaedf2;white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(22px,2.1vw,34px);line-height:1.62;font-weight:520}.stream-preview{contain:layout paint style;overflow-wrap:anywhere;word-break:break-word}.stream-preview-tail{white-space:pre-wrap}.message-meta+.message-content{margin-top:8px}.message-content :where(p,div,blockquote,ul,ol),.memory-content :where(p,div,blockquote,ul,ol){margin:0 0 .42em}.message-content :where(p,div,blockquote,ul,ol):last-child,.memory-content :where(p,div,blockquote,ul,ol):last-child{margin-bottom:0}.message-content :where(ul,ol),.memory-content :where(ul,ol){padding-inline-start:1.05em;line-height:1.32}.message-content li+li,.memory-content li+li{margin-top:.06em}.message-content blockquote,.memory-content blockquote{border-left:3px solid rgba(215,173,85,.42);color:#f0f4f8c7;padding-left:.85em}.message-content hr,.memory-content hr{border:0;border-top:1px solid rgba(240,244,248,.16);height:0;margin:.3em 0}.memory-markdown :where(h1,h2,h3,h4,h5,h6){margin:.85em 0 .3em;font-weight:600;line-height:1.3;color:#f0e7c8}.memory-markdown>:where(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.memory-markdown h1{font-size:1.12em;border-bottom:1px solid rgba(215,173,85,.32);padding-bottom:.18em}.memory-markdown h2{font-size:1.04em;color:#e1d3a3}.memory-markdown h3,.memory-markdown h4,.memory-markdown h5,.memory-markdown h6{font-size:1em;color:#d6c897}.memory-markdown ul{list-style:disc}.memory-markdown ul ul{list-style:circle;margin:.1em 0 .1em .6em}.memory-markdown ul ul ul{list-style:square}.memory-markdown pre{background:#14181e8c;border:1px solid rgba(215,173,85,.18);border-radius:6px;padding:8px 12px;margin:.4em 0;overflow-x:auto;font-size:.9em;line-height:1.45}.memory-markdown pre code{background:transparent;padding:0;white-space:pre-wrap;word-break:break-word;color:#e6e0c8;font-family:ui-monospace,JetBrains Mono,Consolas,monospace}.memory-markdown :not(pre)>code{background:#d7ad5524;padding:0 4px;border-radius:3px;font-size:.92em;font-family:ui-monospace,JetBrains Mono,Consolas,monospace}.memory-preview{color:#bdb5a4}.memory-toggle{display:inline-flex;align-items:center;gap:4px;border:1px solid #3a403a;border-radius:8px;background:#171a18;color:#d8d0bc;padding:3px 8px;font-size:12px;font-weight:800}.scroll-bottom-button{position:fixed;right:max(26px,3vw);bottom:calc(env(safe-area-inset-bottom) + 80px);z-index:11;display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid #4b594f;border-radius:8px;background:#26342c;color:#f3ead0;padding:0 10px;box-shadow:0 8px 24px #00000047;font-size:13px;font-weight:850}.empty-state{margin:auto;color:#a9a39a}.memory-pending{display:flex;align-items:center;gap:10px;color:#e6dcb5;font-size:14px;font-weight:500}.message.memory.pending{border-style:dashed;background:#3c321a52}.memory-organizing-spinner{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(232,240,252,.32);border-top-color:#e6ecf3;animation:memory-organizing-spin .8s linear infinite;flex-shrink:0}@keyframes memory-organizing-spin{to{transform:rotate(360deg)}}.composer{position:fixed;left:0;right:0;bottom:-1px;z-index:10;display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.06);background:#080b10f0;padding:12px max(3vw,16px) calc(12px + env(safe-area-inset-bottom));transform:translateZ(0);gap:10px}.llm-picker{position:relative;width:max-content;min-width:132px;max-width:min(280px,28vw);pointer-events:auto}.llm-picker-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:inherit;height:58px;border:1px solid rgba(185,196,210,.18);border-radius:999px;background:#1c212abd;color:#f8fafc;padding:0 12px 0 14px;box-shadow:0 12px 34px #00000052,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-size:14px;font-weight:850}.llm-picker-trigger span{min-width:0;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.llm-picker-trigger:disabled,.llm-option-card:disabled{color:#e8f0fc8c;cursor:not-allowed}.llm-picker-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:280px;border:1px solid rgba(185,196,210,.16);border-radius:14px;background:#111720f5;padding:8px;box-shadow:0 18px 42px #00000061,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.llm-option-list{display:grid;gap:6px;max-height:min(320px,54vh);overflow-y:auto}.llm-option-card{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;border:1px solid rgba(185,196,210,.1);border-radius:8px;background:#ffffff0a;color:#eef2f5;padding:8px 10px;text-align:left}.llm-option-card.active{border-color:#f2c84e6b;background:#f2c84e1f;color:#f6d875}.llm-option-name{min-width:0;overflow:hidden;font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.composer-pill{flex:1;display:flex;align-items:center;gap:6px;min-width:0;min-height:56px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff14;padding:4px 4px 4px 20px;transition:border-color .18s ease,background-color .18s ease}.composer-pill:focus-within{border-color:#ffffff38;background:#ffffff1a}.composer.is-busy .composer-pill{border-color:#ffffff0f;background:#ffffff0a}.composer.is-busy textarea{color:#e8f0fc8c;font-style:italic}.composer.is-busy textarea::placeholder{color:#e8f0fcbf;font-style:italic}.composer.is-busy button{opacity:.55;cursor:not-allowed}.composer-pill textarea{flex:1;min-width:0;min-height:40px;max-height:140px;border:0;outline:none;background:transparent;color:#f0f4f8;font-size:17px;line-height:1.42;font-weight:600;padding:8px 0;resize:none}.composer-pill textarea::placeholder{color:#e8eaed6b}.composer-pill textarea:focus{border:0;outline:none;background:transparent}.composer-pill button,.compact{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:0;border-radius:999px;background:#485669db;color:#f8fafc;padding:0 12px;font-weight:800}.card-actions .icon-button,.chat-list-row .icon-button{width:42px;height:42px}.composer-pill button{flex-shrink:0;width:48px;height:48px;min-height:48px;background:#ffffff2e;color:#f8fafc;padding:0}.compact.secondary{border:1px solid #3c443e;background:#202520;color:#d8d4ca}.edit-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;justify-content:flex-end;background:#0000006b}.edit-drawer{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:min(520px,100%);height:100%;border-left:1px solid #343a35;background:#171a18;padding:14px;box-shadow:-16px 0 32px #00000057}.drawer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.drawer-heading h2{margin:0;color:#f0e7d2;font-size:20px;letter-spacing:0}.drawer-kicker{color:#cbbd98;font-size:12px;font-weight:850}.drawer-editor{min-height:0;resize:none}.drawer-actions{display:flex;justify-content:flex-end;gap:6px}.memory-drawer{grid-template-rows:auto minmax(0,1fr)}.drawer-memory-list{display:flex;flex-direction:column;gap:6px;min-height:0;overflow:auto}.field{display:flex;flex-direction:column;gap:4px;color:#d8d0bc;font-size:13px;font-weight:800}.form-section-title{margin-top:4px;border-top:1px solid #2b302c;color:#e9d8a6;padding-top:8px;font-size:14px;font-weight:850}.field-help,.field-count{color:#9d978d;font-size:12px;font-weight:600}.field-count{align-self:flex-end}input,textarea{width:100%;border:1px solid #343a35;border-radius:8px;background:#111412;color:#f0eadf;padding:8px}input:focus,textarea:focus{border-color:#6c8f7a;outline:2px solid #21352b}textarea{resize:vertical}.memory-item{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px;align-items:start;color:#ece7dc;padding:8px;white-space:pre-wrap;overflow-wrap:anywhere}.memory-content{margin:0}.hint{color:#a9a39a;font-size:13px}.error{border-top:1px solid #6f3f35;background:#2d1916;color:#f0afa1;padding:8px 16px;font-size:13px}.page-error{grid-column:1 / -1;border:1px solid #6f3f35;border-radius:8px}@media (max-width: 760px){.app-nav-list-page{display:none}.bottom-page-pill{position:fixed;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));z-index:22;display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(185,196,210,.18);border-radius:999px;background:#141922d1;padding:4px;box-shadow:0 14px 38px #0000005c,inset 0 1px #ffffff0f;transform:translate(-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-page-pill button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:62px;height:34px;border:0;border-radius:999px;background:transparent;color:#eef2f5b8;padding:0 8px;font-size:12px;font-weight:850}.bottom-page-pill button.active{background:#f2c84e24;color:#f2c84e}.app-nav{top:max(8px,env(safe-area-inset-top));left:14px;right:14px;grid-template-columns:42px minmax(0,1fr) auto;gap:8px}.nav-circle,.mobile-menu-button{width:42px;height:42px}.nav-pill{height:42px;padding:5px 12px}.nav-title-block strong{font-size:17px;font-weight:800}.page-tabs{display:none}.mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(185,196,210,.18);border-radius:999px;background:#1c212abd;color:#eef2f5;box-shadow:0 12px 34px #00000052,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto}.mobile-menu-popover{position:absolute;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;gap:4px;min-width:156px;border:1px solid rgba(185,196,210,.16);border-radius:16px;background:#111720eb;padding:8px;box-shadow:0 18px 42px #00000061,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto}.mobile-menu-popover button{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:0;border-radius:10px;background:transparent;color:#eef2f5;padding:0 8px;font-weight:850;text-align:left}.mobile-menu-popover .llm-picker{width:100%;max-width:none}.mobile-menu-popover .llm-picker-trigger{justify-content:space-between;width:100%;height:38px;min-height:38px;border:1px solid rgba(185,196,210,.12);background:#ffffff0d;padding:0 10px;box-shadow:none}.mobile-menu-popover .llm-picker-popover{position:static;width:100%;margin-top:6px;border-radius:12px;background:#0b1017c7;padding:6px;box-shadow:none}.mobile-menu-popover .llm-option-card{display:flex;justify-content:space-between;min-height:40px;border:1px solid rgba(185,196,210,.1);background:#ffffff0a;padding:8px 10px}.mobile-menu-popover .llm-option-card.active{border-color:#f2c84e6b;background:#f2c84e1f;color:#f6d875}.nav-label{display:none}.card-page{padding-top:16px;padding-bottom:calc(66px + env(safe-area-inset-bottom))}.page-panel{padding:12px}.page-heading h1{font-size:24px}.page-heading p{font-size:13px}.character-grid{grid-template-columns:1fr}.chat-list-row{grid-template-columns:minmax(0,1fr) 42px}.chat-area{min-height:0;height:100%}.composer{flex-direction:column;align-items:stretch;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.composer-pill{min-height:48px;padding:4px 4px 4px 16px}.composer-pill button{width:40px;height:40px;min-height:40px}.composer-pill textarea{min-height:36px;padding:6px 0;font-size:15px;line-height:1.42;font-weight:500}.messages{gap:12px;padding:68px 14px calc(80px + env(safe-area-inset-bottom))}.message-meta{align-items:flex-start;flex-direction:column;gap:6px}.message-content{color:#e8eaedf2;font-size:16px;line-height:1.55;font-weight:500;letter-spacing:0}.message.assistant .message-meta+.message-content{margin-top:6px}.bubble-tools{opacity:.62}.scroll-bottom-button{right:14px;bottom:calc(env(safe-area-inset-bottom) + 80px)}.edit-drawer-backdrop{align-items:flex-end}.edit-drawer{width:100%;height:min(78vh,580px);border-width:1px 0 0;border-radius:8px 8px 0 0;box-shadow:0 -16px 32px #00000057}}@media (min-width: 761px){.app-root{display:grid;grid-template-rows:auto minmax(0,1fr);height:auto;min-height:100%;background:#101211}.app-nav{position:sticky;top:0;left:auto;right:auto;width:100%;z-index:30;display:flex;grid-template-columns:none;justify-content:flex-end;min-height:54px;border-bottom:1px solid #2b302c;background:#171a18;padding:0 14px;pointer-events:auto}.nav-circle,.nav-pill{display:none}.page-tabs button{width:auto;height:34px;border-radius:8px;padding:0 10px;gap:6px}.nav-label{display:inline}.card-page{height:auto;min-height:0;background:#101211;padding:12px}.page-panel,.memory-item{border:1px solid #2b302c;background:#171a18;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.page-panel{border-radius:8px;padding:12px}.form-page .page-panel{max-width:760px}.page-heading h1{color:#f0e7d2;font-size:22px;font-weight:800}.page-heading p,.character-card p{color:#a9a39a}.character-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:10px}.chat-list-page{gap:8px;margin-top:10px}.chat-list-row{grid-template-columns:minmax(0,1fr) 38px;gap:8px}.character-card,.list-item,.memory-item{border:1px solid #303830;background:#1e241f;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.character-card{grid-template-rows:minmax(92px,1fr) auto;min-height:164px;padding:10px}.character-card h2{color:#f0e7d2;font-size:17px}.card-actions{grid-template-columns:minmax(0,1fr) 34px 34px;gap:6px}.card-actions .icon-button,.chat-list-row .icon-button{width:34px;height:34px}.list-item{min-height:58px;padding:8px;color:#ebe4d5}.session-open{min-height:34px}.list-item span{color:#a9a39a}.play-layout{height:100%}.chat-area{background:#101211}.messages{gap:12px;padding:14px 14px calc(100px + env(safe-area-inset-bottom))}.message-content{margin:6px 0 0;color:#e8eaedf2;font-size:16px;line-height:1.48;font-weight:400}.composer{flex-direction:column;align-items:stretch;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.composer-pill{min-height:52px;padding:4px 4px 4px 18px}.composer-pill textarea{min-height:38px;padding:7px 0;font-size:16px;font-weight:500}.composer-pill button{width:44px;height:44px;min-height:44px}}.card-tabs{margin:12px 0 16px}.character-card h2 .badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;vertical-align:middle;letter-spacing:.5px}.character-card h2 .badge-public{background:#f2c84e2e;color:#f2c84e;border:1px solid rgba(242,200,78,.36)}.character-card .card-author{font-size:12px;color:#dce2eb99;margin:0 0 6px;font-style:italic}.character-card-clickable{display:flex;flex-direction:column;gap:6px;min-height:132px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,transform .12s ease}.character-card-clickable:hover{border-color:#f2c84e5c;background:#242a36d1}.character-card-clickable:focus-visible{outline:2px solid rgba(242,200,78,.55);outline-offset:2px}.detail-page .page-panel{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.card-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-detail-header h1{margin:0;color:#f8fafc;font-size:clamp(22px,3vw,32px);line-height:1.25;font-weight:900}.card-detail-section{display:flex;flex-direction:column;gap:6px}.card-detail-description{margin:0;white-space:pre-wrap;color:#e1e7eedb;font-size:15px;line-height:1.65}.card-detail-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}.visibility-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1px solid rgba(185,196,210,.18);background:#1c212ab8;color:#dfe5eb;font-size:13px;font-weight:700;cursor:pointer}.visibility-chip.public{border-color:#f2c84e73;color:#f2c84e;background:#f2c84e1a}.visibility-chip:disabled{cursor:not-allowed;opacity:.6}
