body.character-picker-open{overflow:hidden}
[data-character-picker]{cursor:pointer}
.character-home-link{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;padding:4px 5px;color:inherit;font:12px/1.5 SUIT,system-ui,sans-serif;white-space:nowrap;text-decoration:underline;text-underline-offset:4px;text-decoration-color:currentColor;box-sizing:border-box}
.character-home-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.character-home-actions{display:flex;align-items:center;gap:12px}
[data-character-picker]::after{content:'⌄';font-family:system-ui,sans-serif;font-size:13px;margin-left:7px;vertical-align:middle;opacity:.65}
.character-picker{color:#3f2b36;background:#fbf5ed;border:1px solid #dec9cd;border-radius:24px;width:min(590px,calc(100% - 28px));max-height:calc(100dvh - 40px);padding:26px;box-sizing:border-box;box-shadow:0 24px 100px #140c2a55;overflow:auto}
.character-picker::backdrop{background:#14101ce0;backdrop-filter:blur(7px)}
.story-arrival-light{position:fixed;inset:0;z-index:1000;pointer-events:none;background:#fff8f0;animation:story-arrive-light .85s ease-out forwards}
body[data-character="noa"] .story-arrival-light{background:#edf1fa}
body[data-character="tarot"] .story-arrival-light{background:#222b2d}
body[data-character="sodam"] .story-arrival-light{background:#f5eee2}
.character-choice[href="naming.html"] img{transform:none;object-position:50% 10%}
body[data-character="sodam"] .character-picker-head h2,body[data-character="sodam"] .character-choice h3{font-family:Sodam,serif}
.character-choice[href="tarot.html"] img{transform:none;object-position:50% 12%}
@keyframes story-arrive-light{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.story-arrival-light{display:none}}
.character-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:22px}
.character-picker-head p{font:12px/1.6 SUIT,system-ui,sans-serif;color:#996c78;margin:0 0 8px}
.character-picker-head h2{font:400 25px/1.5 Gowun,serif;letter-spacing:-.04em;margin:0}
.character-picker-close{flex:none;background:none;border:0;width:40px;height:40px;font:28px/1 system-ui;color:#6b4556;cursor:pointer}
.character-picker-list{display:grid;gap:14px}
.character-choice{display:grid;grid-template-columns:36% 1fr;align-items:center;gap:22px;text-decoration:none;color:inherit;border:1px solid #e0ccd0;border-radius:15px;overflow:hidden;background:#fffaf7}
.character-choice[aria-current]{border-color:#9b6d84}
.character-choice .character-portrait{height:230px;overflow:hidden;padding:0;background:#e1d6d0}
.character-choice img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 16%;transform:scale(1.6);transform-origin:50% 0}
.character-choice>div:not(.character-portrait){padding:18px 20px 18px 0;min-width:0}
.character-subject{font:11px/1.6 SUIT,system-ui;color:#9a596f}
.character-choice h3{font:400 25px/1.5 Gowun,serif;margin:3px 0 8px}
.character-choice p{font:14px/1.8 SUIT,system-ui;margin:0;color:#745b65;word-break:keep-all}
.character-go{display:block;font:11px/1.7 SUIT,system-ui;margin-top:16px;color:#865267}
.character-choice:hover{background:#f7eaf0}.character-choice:focus-visible,.character-picker-close:focus-visible{outline:3px solid #90536e;outline-offset:3px}
@media(max-width:400px){.character-picker{padding:19px}.character-picker-head h2{font-size:22px}.character-choice{gap:14px;grid-template-columns:34% 1fr}.character-choice .character-portrait{height:210px}.character-choice>div:not(.character-portrait){padding-right:12px}.character-choice p{font-size:12px}.character-choice h3{font-size:23px}}
