.character-display{border:0;background:none;padding:0;display:block;color:inherit;pointer-events:auto;overflow:visible;text-align:initial}
button.character-display{cursor:pointer;outline-offset:3px}
.character-display .character-vector{width:100%;height:100%;pointer-events:none}
.character-laugh-eyes,.character-laugh-mouth,.character-giggle{display:none}
.character-display.is-laughing .character-normal-eyes,.character-display.is-laughing .character-mouth{display:none}
.character-display.is-laughing .character-laugh-eyes,.character-display.is-laughing .character-laugh-mouth{display:block}
.character-display.is-laughing .character-vector{animation:character-laugh .22s ease-in-out 6}
.character-display.is-laughing .character-giggle{display:block;animation:character-giggle 1.35s both}
.character-giggle{position:absolute;right:-8px;top:12%;background:#f5d4ef;color:#29162d;font-size:12px;letter-spacing:1px;font-weight:800;border-radius:14px 14px 14px 3px;padding:7px 10px;box-shadow:0 8px 25px #0006;white-space:nowrap;pointer-events:none}
@keyframes character-laugh{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes character-giggle{0%{opacity:0;transform:translateY(5px) scale(.7)}15%,75%{opacity:1;transform:translateY(-7px) scale(1)}100%{opacity:0;transform:translateY(-14px) scale(.95)}}
.character-group{padding:22px 0 8px;margin:24px 0 0;border:0;border-top:1px solid #ffffff17;min-width:0;scroll-margin-top:25px}.character-group legend{padding-right:12px;color:#d9c3de;font-size:14px;font-weight:600}.character-group .form-grid{margin-top:5px!important;border:0!important;padding-top:0!important}
.character-shortcut{margin-bottom:20px}.character-shortcut .hint{margin:12px 0 20px}
.character-owner-picker{max-width:330px;margin-bottom:25px}
.character-room-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.85fr);gap:40px;align-items:start}
.character-room-form{min-width:0}.character-room-form #character-editor{padding:25px}.character-room-form #character-editor>summary{display:none}.character-room-form #character-editor>.hint{margin-top:0;margin-bottom:20px}
.character-sections{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.character-sections a{padding:9px 12px;border:1px solid #ffffff20;border-radius:12px;font-size:11px;color:#c4afcc;background:#19101e}.character-sections a:hover{background:#34203b}
.character-room-preview{position:sticky;top:35px;text-align:center;padding:26px 20px 29px;border:1px solid #d9b2e324;border-radius:29px;background:radial-gradient(ellipse at 50% 43%,#322142,#110d18 68%);overflow:hidden;box-shadow:0 25px 70px #0004}.character-room-preview h2{font-size:27px;letter-spacing:-1px;margin-top:4px}.character-room-preview p{font-size:12px;color:#bca4c5;line-height:1.75;margin:14px 0}.character-room-preview>.text-button{display:inline-block;margin-top:23px}
.character-fitting-room{height:380px;position:relative;display:grid;place-items:center;perspective:700px;isolation:isolate}.character-stage-grid{position:absolute;left:-50%;right:-50%;height:180px;bottom:-42px;background:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:25px 25px;transform:rotateX(62deg);mask-image:radial-gradient(ellipse,#000,transparent 70%);z-index:-1}.character-stage-shadow{position:absolute;width:160px;height:20px;border-radius:50%;background:#09061190;bottom:28px;filter:blur(9px);z-index:-1}
#fitting-character{width:100%;height:350px}#fitting-character .character-display{width:100%;height:100%;max-width:340px;margin:auto}#fitting-character .pose-lying{padding-top:25px}.outfit-summary{display:block;color:#e4c2e4;background:#ffffff08;border:1px solid #ffffff13;border-radius:14px;padding:10px 14px;font-size:10px;line-height:1.65}
.welcome-preview .character-display{pointer-events:auto}.character-room-form .save-bar{padding:19px 0}.tile-panel{display:block}
.signal-search{position:absolute;inset:0;overflow:hidden;background:#111;z-index:1;pointer-events:none;opacity:1;transition:opacity .45s}.signal-search[hidden]{display:none}.signal-noise{width:100%;height:100%;image-rendering:pixelated;opacity:.58}.signal-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0006 0px,#0006 1px,transparent 1px,transparent 4px),radial-gradient(ellipse,transparent 25%,#000b 95%)}
.signal-tuning-band{position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#0008 39%,#ffffff0c 40%,#0009 41%,transparent 58%);transform:translateY(-100%);animation:signal-tune 2.8s linear infinite}
.signal-osd{position:absolute;left:6vw;bottom:9vh;color:#e4e9db;font-family:monospace;text-shadow:2px 2px #222;letter-spacing:3px;display:flex;flex-direction:column;gap:12px}.signal-osd>span{font-size:26px;font-weight:700}.signal-osd>strong{font-size:13px}.signal-osd>small{font-size:9px;letter-spacing:1px;opacity:.6}.signal-crosshair{position:absolute;left:calc(50% - 32px);top:calc(50% - 32px);width:64px;height:64px;border:1px solid #ffffff24;border-radius:50%;background:linear-gradient(transparent 49%,#ffffff35 49%,#ffffff35 51%,transparent 51%),linear-gradient(90deg,transparent 49%,#ffffff35 49%,#ffffff35 51%,transparent 51%)}
.signal-locked{opacity:0}.signal-locked .signal-tuning-band{animation:none}.signal-loader{width:175px}
@keyframes signal-tune{to{transform:translateY(100%)}}
@media(max-width:750px){.character-room-layout{grid-template-columns:1fr;gap:25px}.character-room-preview{position:relative;top:0;grid-row:1;padding:20px 20px 24px}.character-fitting-room{height:280px}#fitting-character{height:260px}.character-room-preview h2{font-size:24px}.character-room-preview .text-button{margin-top:14px}.character-room-form #character-editor{padding:21px}.character-sections{gap:6px}.character-sections a{padding:8px 10px}.signal-osd{left:25px;bottom:8vh}.signal-osd>span{font-size:22px}}
@media(prefers-reduced-motion:reduce){.character-display.is-laughing .character-vector,.character-display.is-laughing .character-giggle,.signal-tuning-band{animation:none}.signal-search{transition:none}}
@media(max-width:750px){.character-room-layout{display:flex;flex-direction:column}.character-room-form{width:100%}.character-room-preview{order:-1;width:100%;position:sticky;top:8px;z-index:8;display:grid;grid-template-columns:minmax(0,1fr) 155px;column-gap:12px;text-align:left;padding:17px 20px;background:#17101ff5;backdrop-filter:blur(18px);box-shadow:0 15px 40px #0006}.character-room-preview>.eyebrow{grid-column:1;grid-row:1;align-self:end;font-size:9px}.character-room-preview h2{grid-column:1;grid-row:2;font-size:23px;margin:7px 0 0;overflow:hidden;text-overflow:ellipsis}.character-room-preview p{grid-column:1;grid-row:3;font-size:10px;line-height:1.6;margin:8px 0}.character-room-preview .outfit-summary{grid-column:1;grid-row:4;font-size:9px;padding:7px 9px}.character-room-preview>.text-button{grid-column:1;grid-row:5;margin:10px 0 0;font-size:10px}.character-fitting-room{grid-column:2;grid-row:1/6;height:195px}#fitting-character{height:195px}.character-stage-shadow{width:80px;bottom:10px}.character-sections{margin-top:5px}}
@media(max-width:750px){.character-room-form .character-group{scroll-margin-top:260px}}
