.chat-artboard,.group-artboard{width:100%}.chat-shell-frame,.group-container{width:min(100%,1160px)}.chat-message-list,.group-message-list{overscroll-behavior:contain}.chat-bubble,.group-bubble{overflow-wrap:anywhere}.chat-image,.chat-image-attachment-stack,.chat-image-bubble,.chat-image-frame,.chat-image-preview-button,.chat-message-stack{max-width:100%}.chat-image-bubble{overflow:hidden}.chat-image-preview-button{border-radius:15px}.chat-image-preview-button:focus-visible{outline:2px solid #2f6fed;outline-offset:3px}.chat-image-preview-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:rgba(8,10,14,.84);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.chat-image-preview-dialog{position:relative;display:grid;place-items:center;max-width:calc(100vw - 36px);max-height:calc(100dvh - 36px)}.chat-image-preview-media{display:block;max-width:calc(100vw - 36px);max-height:calc(100dvh - 76px);object-fit:contain;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.42)}.chat-image-preview-close{position:absolute;top:-14px;right:-14px;z-index:1;width:36px;height:36px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(15,23,42,.88);color:#fff;display:grid;place-items:center;font:inherit;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 14px 30px rgba(0,0,0,.32)}.chat-image-preview-close:focus-visible{outline:2px solid #fff;outline-offset:3px}@keyframes chatImagePendingShimmer{0%{background-position:110% 0}50%{background-position:0 0}to{background-position:-110% 0}}@media (prefers-reduced-motion:reduce){.chat-image-bubble-pending{animation:none!important}}.chat-shell-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;flex-wrap:nowrap}.chat-message-time{display:inline-block;color:#8a94a3;font-size:12px;line-height:1;padding:1px 2px}.chat-message-author-label,.group-message-author-label{display:inline-block;color:#64748b;font-size:12px;font-weight:600;line-height:1;padding:0 2px}.character-memory-action,.character-memory-error button,.character-memory-hide-button,.character-memory-undo button{min-height:38px;border-radius:8px;font:inherit}.character-memory-panel{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid rgba(47,111,237,.14);border-radius:8px;background:rgba(248,251,255,.84);box-shadow:0 16px 44px rgba(39,61,90,.08)}.character-memory-card-topline,.character-memory-entry,.character-memory-error,.character-memory-header,.character-memory-undo{display:flex;justify-content:space-between;gap:12px}.character-memory-entry,.character-memory-header{align-items:center}.character-memory-character,.character-memory-entry-copy{display:flex;align-items:center;gap:10px}.character-memory-card-topline,.character-memory-error,.character-memory-undo{align-items:flex-start}.character-memory-character{min-width:0}.character-memory-entry-copy{display:grid;grid-gap:4px;gap:4px}.character-memory-entry-copy span{color:#64748b;font-size:13px;font-weight:800}.character-memory-entry-copy strong{color:#1f2937;font-size:18px}.character-memory-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(47,111,237,.22);background:#fff;color:var(--accent);padding:8px 13px;text-decoration:none;font-weight:800;cursor:pointer}.character-memory-content{display:grid;grid-gap:12px;gap:12px}.character-memory-character p,.character-profile-kicker{margin:0;color:#64748b;font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}.character-memory-character h2{margin:2px 0 0;font-family:Songti SC,"Noto Serif SC",Georgia,serif;font-size:24px;line-height:1.05;letter-spacing:0}.character-memory-summary{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid rgba(47,111,237,.14);border-radius:8px;background:#f7fbff}.character-memory-summary span{color:#64748b;font-size:13px}.character-memory-summary strong{color:#1e3a8a}.character-memory-error,.character-memory-undo{padding:10px 12px;border-radius:8px;font-size:14px}.character-memory-undo{border:1px solid rgba(15,118,110,.18);background:#f0fdfa;color:#115e59}.character-memory-error{border:1px solid rgba(180,35,24,.18);background:#fdecec;color:#b42318}.character-memory-error button,.character-memory-undo button{border:1px solid;background:rgba(255,255,255,.78);color:inherit;padding:6px 9px;cursor:pointer}.character-memory-body{min-height:0;display:grid;align-content:start;grid-gap:14px;gap:14px}.character-memory-empty p,.character-memory-muted{margin:0;color:var(--muted)}.character-memory-empty{min-height:220px;display:grid;place-items:center;text-align:center;grid-gap:10px;gap:10px}.character-memory-group{display:grid;grid-gap:9px;gap:9px}.character-memory-group h3{margin:0;color:#334155;font-size:15px}.character-memory-card-list{display:grid;grid-gap:9px;gap:9px}.character-memory-card{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid rgba(80,63,45,.12);border-radius:8px;background:rgba(255,255,255,.84);box-shadow:0 10px 28px rgba(58,49,39,.06)}.character-memory-card-topline{align-items:flex-start}.character-memory-card-topline strong{color:#1f2937;overflow-wrap:anywhere}.character-memory-card p{margin:0;color:#334155;line-height:1.65;overflow-wrap:anywhere}.character-memory-tags,.character-profile-tags{display:flex;gap:6px;flex-wrap:wrap}.character-memory-tags span,.character-profile-tags span{border:1px solid rgba(47,111,237,.14);border-radius:8px;background:#f8fbff;color:#1d4ed8;padding:4px 7px;font-size:12px;font-weight:700}.character-memory-hide-button{justify-self:end;border:1px solid rgba(80,63,45,.14);background:#fff;color:#334155;padding:7px 11px;cursor:pointer}.character-profile-workspace{box-sizing:border-box;width:min(100%,900px);height:100dvh;max-height:100dvh;margin:0 auto;display:grid;align-content:start;grid-gap:14px;gap:14px;padding:clamp(18px,3vw,30px) 0;overflow:auto;-webkit-overflow-scrolling:touch}.group-profile-workspace{box-sizing:border-box;height:100dvh;padding:0 clamp(24px,5vw,72px);overflow:hidden;background:#ffffff}.group-profile-empty{min-height:100dvh;display:grid;place-items:center;color:#6b7280;font-size:15px}.character-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(17,24,39,.1)}.character-profile-title-area{display:grid;grid-gap:8px;gap:8px;min-width:0}.character-profile-title-area h1{margin:0;color:#111827;font-size:clamp(34px,4.6vw,50px);line-height:1;letter-spacing:0}.character-profile-description{max-width:640px;margin:0;color:#4b5563;font-size:14px;line-height:1.6}.character-profile-start-button{min-height:40px;border:0;border-radius:999px;background:#111111;color:#ffffff;padding:0 16px;font:inherit;font-weight:700;cursor:pointer}.character-profile-start-button:focus-visible,.character-profile-start-button:hover{background:#2a2a2a;outline:none}.character-profile-hero.is-user-created{grid-template-columns:auto minmax(0,1fr);align-items:start}.character-profile-hero.is-user-created .character-profile-start-button{grid-column:1/-1;width:100%;min-height:52px;margin-top:2px}.character-profile-body{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);grid-gap:12px;gap:12px;min-height:0}.character-profile-body.is-user-created{grid-template-columns:1fr}.character-profile-anchors,.character-profile-expression-trigger,.character-profile-facts,.character-profile-memory-slot,.character-profile-question,.character-profile-reference-status,.character-profile-summary,.character-profile-user-details,.character-profile-voice-status{min-width:0;display:grid;align-content:start;grid-gap:8px;gap:8px;padding:14px;border:1px solid rgba(17,24,39,.1);border-radius:14px;background:#ffffff}.character-profile-anchors,.character-profile-expression-trigger,.character-profile-memory-slot,.character-profile-question,.character-profile-reference-status,.character-profile-summary,.character-profile-user-details,.character-profile-voice-status{grid-column:2}.character-profile-body.is-user-created .character-profile-memory-slot,.character-profile-body.is-user-created .character-profile-reference-status,.character-profile-body.is-user-created .character-profile-summary,.character-profile-body.is-user-created .character-profile-user-details,.character-profile-body.is-user-created .character-profile-voice-status{grid-column:auto}.character-profile-summary.is-user-created-summary{gap:12px}.character-profile-summary.is-user-created-summary p{display:block;overflow:visible}.character-profile-meta-row{display:flex;flex-wrap:wrap;gap:8px}.character-profile-meta-item{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid rgba(17,24,39,.1);border-radius:8px;background:#f8fafc;color:#334155;padding:5px 9px;font-size:12px}.character-profile-meta-item>span{color:#64748b;font-weight:700}.character-profile-meta-item strong{color:#111827;font-size:12px}.character-profile-facts{grid-row:span 4}.character-profile-expression-trigger{min-height:46px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(17,24,39,.1);font:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#111827}.character-profile-expression-trigger:after{content:"↗";width:22px;height:22px;display:inline-grid;place-items:center;border-radius:999px;background:#f3f4f6;color:#111827;font-weight:800}.character-profile-expression-trigger span{color:#111827;font-weight:800}.character-profile-expression-trigger small{min-width:0;color:#6b7280;font-size:12px;text-align:right}.character-profile-reference-status h2,.character-profile-user-details h2,.character-profile-voice-status h2{margin:0;color:#111827;font-size:15px}.character-profile-user-details{gap:10px}.character-profile-user-details.is-primary{gap:12px}.character-profile-user-details.is-primary>h2{font-size:16px}.character-profile-detail{display:grid;grid-gap:5px;gap:5px}.character-profile-detail>span{color:#64748b;font-size:12px;font-weight:800}.character-profile-detail p,.character-profile-reference-status p,.character-profile-voice-status p{margin:0;color:#334155;line-height:1.65;overflow-wrap:anywhere}.character-profile-reference-status,.character-profile-voice-status{border-color:rgba(37,99,235,.18);background:#f8fbff}.character-profile-voice-status.is-ready{border-color:rgba(15,118,110,.18);background:#f0fdfa}.character-profile-voice-status.is-ready h2{color:#115e59}.character-profile-reference-status.is-failed,.character-profile-voice-status.is-failed{border-color:rgba(180,35,24,.18);background:#fff8f8}.character-profile-reference-status.is-failed h2,.character-profile-voice-status.is-failed h2{color:#b42318}.character-profile-voice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px}.character-profile-voice-retry-button{min-height:34px;border:1px solid rgba(180,35,24,.22);border-radius:999px;background:#ffffff;color:#9f1f14;padding:0 12px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.character-profile-voice-retry-button:focus-visible,.character-profile-voice-retry-button:hover{border-color:rgba(180,35,24,.42);background:#fff1f0;outline:none}.character-profile-voice-retry-button:disabled{cursor:progress;opacity:.68}.character-profile-voice-actions span{color:#64748b;font-size:12px;line-height:1.4}.character-profile-expression-layer{position:fixed;inset:0;z-index:2;display:grid;place-items:center;padding:24px;pointer-events:none}.character-profile-expression-backdrop{position:absolute;inset:0;border:0;background:rgba(255,255,255,.42);cursor:default;pointer-events:auto}.character-profile-expression-popover{position:relative;z-index:1;width:min(640px,calc(100vw - 32px));max-height:min(70dvh,520px);display:grid;grid-gap:14px;gap:14px;overflow:auto;border:1px solid rgba(17,24,39,.12);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 24px 70px rgba(17,24,39,.18);padding:18px;pointer-events:auto}.character-profile-expression-popover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.character-profile-expression-popover-header h2{margin:4px 0 0;color:#111827;font-size:22px}.character-profile-expression-close{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid rgba(17,24,39,.1);border-radius:999px;background:#f9fafb;color:#111827;font-size:20px;line-height:1;cursor:pointer}.character-profile-expression-close:focus-visible,.character-profile-expression-close:hover{background:#111827;color:#ffffff;outline:none}.character-profile-expression-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.character-profile-expression-item{min-width:0;display:grid;align-content:start;grid-gap:8px;gap:8px;padding:14px;border:1px solid rgba(17,24,39,.08);border-radius:12px;background:#f9fafb}.character-profile-expression-item p{font-size:13px;line-height:1.55}.character-profile-workspace h2{margin:0;color:#111827;font-size:14px}.character-profile-workspace p{margin:0;color:#374151;line-height:1.65}.character-profile-question p,.character-profile-summary p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.character-profile-fact{display:grid;grid-gap:4px;gap:4px;padding-bottom:10px;border-bottom:1px solid rgba(17,24,39,.08)}.character-profile-fact:last-child{border-bottom:none;padding-bottom:0}.character-profile-fact span{color:#6b7280;font-size:12px}.character-profile-fact strong{color:#111827;font-size:14px;line-height:1.55}@media (max-width:760px){body,html{background:radial-gradient(circle at 6% 2%,rgba(255,225,188,.6),transparent 30%),linear-gradient(160deg,#f8f2e8,#eef5f8 54%,#f8fbf5)}.chat-artboard,.group-artboard{min-height:var(--group-mobile-viewport-height,100dvh)!important;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important}.group-container{gap:14px!important}.chat-shell-actions,.chat-shell-topbar,.group-detail-hero-layout{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}.character-profile-body,.character-profile-expression-grid,.character-profile-hero,.group-lab-layout{grid-template-columns:1fr!important}.chat-artboard h1,.group-artboard h1{line-height:1.03!important}.auth-nav,.chat-composer-actions,.chat-shell-actions,.group-composer-actions,.group-form-actions{width:100%}.auth-nav a,.character-memory-action,.chat-send-button,.group-button-primary,.group-button-secondary,.group-composer-actions button,.group-form-actions button{min-height:44px}.character-memory-action,.chat-send-button,.group-composer-actions button,.group-form-actions button{width:100%;justify-content:center;text-align:center}.auth-nav{justify-content:flex-start}.auth-nav a{flex:1 1 120px;justify-content:center}.chat-shell-frame{min-height:calc(var(--group-mobile-viewport-height, 100dvh) - 26px)!important;max-height:none!important;border-radius:22px!important;padding:12px!important;gap:10px!important}.chat-shell-header{gap:10px!important;padding-bottom:10px!important}.chat-character-picker{overflow:hidden}.chat-character-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.chat-character-buttons button{min-width:0;min-height:42px;text-align:center}.chat-message-list{padding:12px!important;border-radius:18px!important}.chat-bubble,.group-bubble{max-width:92%!important;padding:10px 11px!important;line-height:1.62!important}.chat-message-stack{max-width:92%!important}.chat-image-bubble,.chat-message-stack .chat-bubble{max-width:100%!important}.chat-image{width:min(270px,72vw)!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}.chat-composer{padding-top:10px!important}.chat-composer textarea,.group-input,.group-textarea{min-height:46px;font-size:16px!important}.character-profile-hero{align-items:start}.character-profile-hero.is-balanced{grid-template-columns:132px minmax(0,1fr)!important;column-gap:14px;row-gap:16px}.character-profile-hero.is-balanced .character-profile-title-area{align-self:center}.character-profile-hero.is-balanced .character-profile-start-button{grid-column:1/-1}.character-profile-workspace,.group-profile-workspace{height:var(--group-mobile-viewport-height,100dvh);max-height:var(--group-mobile-viewport-height,100dvh);overflow:hidden}.character-profile-anchors,.character-profile-expression-trigger,.character-profile-facts,.character-profile-memory-slot,.character-profile-question,.character-profile-summary{grid-column:auto;grid-row:auto}.character-profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:12px!important}.character-profile-facts h2{grid-column:1/-1}.character-profile-fact{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:8px;padding:8px 10px!important;border:1px solid rgba(17,24,39,.08);border-radius:8px;background:#f8fafc}.character-profile-fact:last-child{grid-column:1/-1;padding:8px 10px!important}.character-profile-fact strong{min-width:0;font-size:13px;overflow-wrap:anywhere}.group-artboard:before{background-size:32px 32px;opacity:.28}.group-card,.group-chat-stage,.group-create-card,.group-detail-hero{border-radius:20px!important;padding:14px!important}.group-detail-title-area{min-width:0!important}.group-message-list{min-height:46vh!important;max-height:54vh!important}.group-composer,.group-message-list{padding:12px!important;border-radius:18px!important}}@media (max-width:430px){.group-choice-card{border-radius:18px!important}.chat-character-buttons{grid-template-columns:1fr!important}.chat-bubble,.chat-message-stack,.group-bubble{max-width:96%!important}.chat-image{width:min(250px,70vw)!important}.group-message-list{max-height:50vh!important}}