.characters-app{padding-top:34px;padding-bottom:50px}.characters-app [hidden]{display:none!important}.characters-app .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.character-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}.character-intro h1{font-size:clamp(28px,3.7vw,48px);line-height:1.15;margin:8px 0 12px;letter-spacing:-1.4px}.character-intro p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7}.character-fiction{font-size:11px;color:var(--muted);padding-bottom:6px;max-width:220px;line-height:1.6}.character-filters{display:flex;gap:12px;margin:26px 0}.character-search{flex:1}.character-filters input,.character-filters select{width:100%;border:1px solid var(--line);border-radius:9px;background:#19131f;color:var(--ink);padding:14px 16px;font:inherit;font-size:13px}.character-filters select{min-width:180px}.character-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.character-card{display:flex;flex-direction:column;padding:22px;border:1px solid #3c294a;border-radius:17px;background:linear-gradient(150deg,#292032 0%,#19131f 75%);min-width:0;transition:border-color .18s,transform .18s}.character-card:hover{border-color:#a5659c;transform:translateY(-3px)}.character-portrait{display:block;width:146px;height:146px;margin:0 auto 21px}.character-portrait img{display:block;width:100%;height:100%;border-radius:50%;box-shadow:0 6px 28px #07050b66}.character-card-heading{display:flex;gap:10px;align-items:center;justify-content:space-between}.character-card h2{font-size:25px;margin:0;letter-spacing:-.4px}.character-card-heading>span{color:#b7a1c2;font-size:11px}.character-role{margin:5px 0 14px;color:#e4b7d8;font-size:12px}.character-tags{display:flex;flex-wrap:wrap;gap:6px}.character-tags span{background:#36293f;color:#d0bddb;border:1px solid #4b3855;font-size:10px;border-radius:999px;padding:4px 8px}.character-description{font-size:12px;line-height:1.8;color:var(--muted);margin:17px 0 20px}.character-open{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#ffd4ed;border-top:1px solid #463049;padding-top:14px;margin-top:auto;font-size:12px;font-weight:600}.character-open span{font-size:18px}.character-workspace{display:grid;grid-template-columns:235px minmax(0,1fr);border:1px solid #493252;border-radius:16px;overflow:hidden;min-height:650px}.character-history{background:#211927;padding:20px;border-right:1px solid #3a2944}.character-history>button:first-child{background:none;border:0;padding:0;margin-bottom:27px;color:var(--muted);font-size:11px;text-align:left}.character-history h2{font-size:15px;letter-spacing:0;margin:0 0 15px}.characters-app button{cursor:pointer;font-family:inherit}.characters-app button:disabled{opacity:.45;cursor:default}.character-new{width:100%;background:#3b2643;border:1px solid #765078;color:#ecdcec;padding:11px 8px;border-radius:8px;font-size:11px;margin-bottom:17px}.character-history-item{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;border-radius:8px;background:none;padding:11px 7px;text-align:left;color:var(--ink)}.character-history-item[aria-current]{border-color:#795279;background:#40283f}.character-history-item img{border-radius:50%;flex-shrink:0}.character-history-item span{display:grid;gap:5px}.character-history-item strong{font-size:12px}.character-history-item small{font-size:9px;color:var(--muted)}.character-history-empty{font-size:11px;color:var(--muted);line-height:1.8}.character-chat{min-width:0;display:flex;flex-direction:column;background:#17111d}.character-chat-heading{display:flex;align-items:center;gap:13px;padding:20px 25px;background:#271c2e;border-bottom:1px solid #3e2c49}.character-chat-heading img{border-radius:50%;flex-shrink:0}.character-chat-heading h2{font-size:22px;margin:0 0 5px;letter-spacing:-.4px}.character-chat-heading p{font-size:11px;color:var(--muted);margin:0}.character-chat-heading button{background:none;border:1px solid #604361;border-radius:6px;color:var(--muted);font-size:10px;padding:8px 10px;margin-left:auto}.character-chat-disclosure{font-size:10px;text-align:center;color:#b2a0bc;margin:18px 15px 0}.character-messages{flex:1;height:425px;min-height:290px;max-height:60vh;overflow-y:auto;padding:25px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:#5e4168 transparent}.character-greeting{max-width:500px;border:1px solid #4e365a;border-radius:13px;padding:22px;background:linear-gradient(130deg,#332139,#1e1624);margin:auto;align-self:center}.character-greeting span{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#d896bf}.character-greeting p{font-size:15px;line-height:1.8;margin:10px 0 0;color:#eadcea}.character-message{max-width:85%;border:1px solid #3e2b48;border-radius:12px;padding:15px 18px;align-self:flex-start;background:#2b1f32}.character-message.is-user{align-self:flex-end;background:#462841;border-color:#684561}.character-message strong{display:block;font-size:10px;color:#daaacb;margin-bottom:7px}.character-message p{font-size:13px;line-height:1.8;color:#eaddeb;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.character-compose{padding:0 22px 22px}.character-compose>p{font-size:11px;color:#c5a5c8;line-height:1.7;min-height:15px;margin:10px 0}.character-compose form{display:flex;gap:10px;align-items:stretch}.character-compose textarea{flex:1;min-width:0;resize:vertical;max-height:180px;min-height:65px;background:#211827;border:1px solid #5e4169;border-radius:9px;padding:13px;color:var(--ink);font:inherit;font-size:13px;line-height:1.6}.character-compose form button{border:0;border-radius:9px;background:#d883b7;color:#211220;font-weight:700;padding:0 19px;font-size:12px}.character-compose form button span{padding-left:7px;font-size:17px}.character-compose .character-open{display:inline-flex;gap:18px;border:1px solid #63425e;border-radius:7px;padding:11px 15px;background:#3a2437}.characters-app :focus-visible{outline:2px solid #e6a1d0;outline-offset:4px}
@media(max-width:1000px){.character-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.character-intro{align-items:flex-start;flex-direction:column;gap:6px}.character-fiction{max-width:none}.character-workspace{grid-template-columns:195px minmax(0,1fr)}.character-history{padding:16px}.character-message{max-width:92%}}
@media(max-width:600px){.characters-app{padding-top:24px}.character-gallery{gap:11px}.character-card{padding:16px 12px;border-radius:12px}.character-portrait{width:112px;height:112px;margin-bottom:16px}.character-card h2{font-size:22px}.character-card-heading>span{font-size:9px}.character-role{font-size:10px;min-height:26px}.character-tags span{font-size:9px;padding:3px 6px}.character-description{font-size:11px;line-height:1.7}.character-open{font-size:11px}.character-intro h1{font-size:32px}.character-intro p:not(.eyebrow){font-size:13px}.character-filters{gap:8px}.character-filters input,.character-filters select{padding:12px 10px;font-size:11px}.character-filters select{min-width:118px}.character-workspace{display:flex;flex-direction:column;min-height:0}.character-history{border-right:0;border-bottom:1px solid #3a2944;padding:14px}.character-history>button:first-child{margin:0 0 15px}.character-history h2{display:none}.character-new{width:auto;padding:8px 12px;float:right;margin:0}#character-conversations{display:flex;gap:5px;overflow:auto;clear:both;max-height:100px}.character-history-item{min-width:140px;width:auto;padding:8px}.character-history-empty{margin:0}.character-chat-heading{padding:15px;gap:10px}.character-chat-heading h2{font-size:20px}.character-chat-heading img{width:42px;height:42px}.character-chat-heading button{padding:7px;font-size:9px}.character-messages{padding:18px 13px;height:45vh;max-height:55vh;min-height:260px}.character-message{padding:12px;max-width:94%}.character-message p{font-size:12px}.character-greeting{padding:17px}.character-greeting p{font-size:13px}.character-compose{padding:0 12px 15px}.character-compose form{gap:7px}.character-compose form button{padding:0 12px;font-size:11px}.character-compose textarea{font-size:12px}.character-compose form button span{display:none}}
@media(prefers-reduced-motion:reduce){.character-card{transition:none}.character-card:hover{transform:none}}
/* Cinematic portraits: the image leads each character card. */
.character-card{padding:0 20px 20px;overflow:hidden;background:linear-gradient(145deg,#292031,#19131f);border-color:#44314e;box-shadow:0 9px 32px #07050b24}
.character-portrait{position:relative;width:calc(100% + 40px);height:auto;aspect-ratio:4/5;margin:0 -20px 20px;overflow:hidden;background:#201827}
.character-portrait:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#19131fdd);pointer-events:none}
.character-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 28%;border-radius:0;box-shadow:none;transition:transform .4s ease}
.character-card:hover .character-portrait img{transform:scale(1.025)}
.character-portrait-label{position:absolute;bottom:17px;left:20px;right:16px;z-index:1;color:#f9ebf8;font-size:11px;font-weight:600;letter-spacing:.3px;text-shadow:0 2px 12px #000}
.character-card .character-role{display:none}.character-card-heading{margin-bottom:12px}.character-card h2{font-size:27px}.character-description{margin:14px 0 19px;line-height:1.7}
.character-fiction{border:1px solid #59415e;border-radius:999px;padding:9px 14px;font-size:11px;color:#e1bad6;white-space:nowrap;background:#2b1c30}
.character-chat-heading img,.character-history-item img{object-fit:cover;object-position:center 25%}
@media(max-width:600px){.character-card{padding:0 12px 14px}.character-portrait{width:calc(100% + 24px);margin:0 -12px 14px;aspect-ratio:3/4}.character-portrait-label{left:12px;bottom:12px;font-size:9px;right:8px}.character-card h2{font-size:23px}.character-description{font-size:11px;line-height:1.6;margin-bottom:14px}.character-card-heading{gap:5px;margin-bottom:9px}.character-tags{gap:4px}.character-intro{gap:10px}.character-fiction{font-size:10px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.character-portrait img{transition:none}.character-card:hover .character-portrait img{transform:none}}

.character-quota{font-size:11px;color:#a79bae;margin:8px 20px}.character-studio-link{display:inline-block;margin:10px 20px;color:#c69dea;font-size:12px}.character-studio-link[hidden]{display:none}
