.glitchProfile{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;border:1px solid #41677c;border-radius:18px;padding:28px;background:#0b1826;color:#eef7ff;box-shadow:0 24px 100px #000b}
.glitchProfile::backdrop{background:#000c}.glitchProfile h2{font-size:25px;line-height:1.4;margin:12px 0}.glitchProfile p{line-height:1.75;margin:12px 0}.glitchProfile .profileNote{font-size:13px;color:#bdcddd}.profileTypes{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 12px}.glitchProfile .btn{min-height:44px;cursor:pointer}.glitchProfile [aria-pressed=true]{background:#254c60;border-color:#94efff;color:#fff}.profileRandom{width:100%}.profilePreview{padding:18px;margin:18px 0;background:#07111c;border:1px solid #314c60;border-radius:12px;line-height:1.7;min-height:95px}.profilePreview>div{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px}.profilePreview strong{color:#99eafa}.profileActions{display:flex;justify-content:flex-end;gap:10px}.glitchProfileStatus{padding:12px;margin-bottom:12px;background:#102332;color:#caedff;border:1px solid #38586b;border-radius:8px;line-height:1.6;font-size:13px}.personalityTag{display:block;margin-top:8px;color:#acd6e6;font-size:12px;line-height:1.5}.glitchRecovery{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(24px,7vw,100px);box-sizing:border-box;border:0;background:#040a10;color:#c9f5ef;overflow:auto}.glitchRecovery::backdrop{background:#000}.recoveryContent{max-width:820px;margin:8vh auto}.glitchRecovery h2{font-size:clamp(23px,4vw,44px);line-height:1.4}.glitchRecovery pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;min-height:260px;font-size:clamp(12px,2vw,16px)}.glitchRecovery.error{background:#091d4a;color:#eff6ff}.glitchRecovery.monitorOff{background:#000}.monitorOff .recoveryContent{animation:glitchMonitorOff .55s ease-in forwards}@keyframes glitchMonitorOff{0%{transform:scaleY(1);opacity:1}70%{transform:scaleY(.006);opacity:1}100%{transform:scaleY(.001) scaleX(0);opacity:0}}@media(prefers-reduced-motion:reduce){.monitorOff .recoveryContent{animation:none;opacity:0}}@media(max-width:480px){.glitchProfile{padding:20px}.profileTypes{gap:8px}.profileTypes .btn{padding:10px 5px}.profileActions .btn{flex:1}.recoveryContent{margin:4vh auto}}
.glitchRecovery:not(.error):not(.repair){background:transparent}.glitchRecovery:not(.error):not(.repair) .recoveryContent{visibility:hidden}.glitchRecovery::backdrop{background:#0003}
.glitchRebooted{animation:glitchMonitorOn .65s ease-out both}@keyframes glitchMonitorOn{from{filter:brightness(0);transform:scaleY(.02)}to{filter:brightness(1);transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.glitchRebooted{animation:none}}
.profileLabel{display:block;margin:20px 0 8px;font-weight:700}.glitchProfile select{box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;border:1px solid #628ba2;border-radius:10px;background:#102332;color:#f2f9ff;font:inherit;color-scheme:dark}.glitchProfile select:focus-visible{outline:2px solid #99eafa;outline-offset:3px}

.glitchRecovery .profileActions{flex-wrap:wrap;justify-content:flex-start}.glitchRecovery .profileActions .btn{min-height:48px;white-space:normal}.glitchRecovery [hidden]{display:none!important}.glitchRecovery .recoveryStory{line-height:1.85;max-width:65ch}.glitchRecovery pre{min-height:110px}.glitchRecovery .btn:focus-visible{outline:2px solid #99eafa;outline-offset:4px}

.glitchFaultCode{position:fixed;top:calc(env(safe-area-inset-top,0px) + 76px);right:16px;z-index:10000;pointer-events:none;max-width:calc(100vw - 32px);box-sizing:border-box;padding:5px 9px;border:1px solid #ed728c66;border-radius:3px;background:#120d18ed;color:#ffb8c8;font:11px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.04em;animation:glitchFaultFade .9s ease-out both}@keyframes glitchFaultFade{0%{opacity:0;transform:translateX(3px)}12%,60%{opacity:.9;transform:translateX(0)}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.glitchFaultCode{animation:none}}
.glitchFaultCode{top:12px;bottom:auto;left:12px;right:auto;transform:none;width:max-content;max-width:calc(100vw - 24px);padding:6px 9px;border:1px solid #ff9fb399;border-radius:4px;background:#201520ed;color:#ffdbe3;font-size:10px;box-shadow:0 3px 12px #0006;animation:glitchFaultVisible 2.6s ease-out both}
.glitchFaultCode::before{content:'표시 데이터 불일치';display:block;font:600 11px/1.4 system-ui,sans-serif;margin-bottom:2px;color:#fff1f4}.glitchFaultCode::after{content:none}
@keyframes glitchFaultVisible{0%{opacity:0}10%,85%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.glitchFaultCode{animation:none}}

.glitchRecovery.rebooting{animation:gpShutdown 2.2s steps(1,end) forwards}.glitchRecovery.rebooting::backdrop{background:#000}@keyframes gpShutdown{0%,65%{opacity:1}70%{opacity:.25}75%{opacity:1}90%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.glitchRecovery.rebooting{animation:none}}
