/* Theme and character editions are independent preferences. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.appearance-controls{display:flex;align-items:center;gap:4px;order:3;flex:none}
.appearance-controls button{min-height:42px;border:1px solid var(--line);background:#fff9ef;border-radius:24px;color:var(--accent);font-size:12px;font-weight:700;padding:8px 12px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.appearance-controls [data-mode-icon]{font-size:20px;line-height:1}
#appearance-settings{width:40px;padding:0;justify-content:center;border-color:transparent;font-size:20px}
.mast-inner{gap:16px}.mast nav{gap:clamp(14px,2vw,32px)}
.appearance-dialog{width:min(440px,calc(100% - 28px));padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--text);box-shadow:0 24px 100px #0006;max-height:calc(100dvh - 40px);overflow:auto}
.appearance-dialog::backdrop{background:#15101ab3;backdrop-filter:blur(5px)}
.appearance-dialog>header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.appearance-dialog h2{font-size:26px}.appearance-dialog header button{flex:none;border:0;background:transparent;font-size:30px;width:44px;height:44px;color:inherit}
.appearance-dialog p{font-size:13px;color:var(--muted);line-height:1.8}.appearance-link{display:flex;align-items:center;gap:12px;margin:24px 0;padding:16px;border:1px solid var(--line);border-radius:12px;font-size:14px}.appearance-link input{width:22px;height:22px;flex:none;accent-color:var(--accent)}.appearance-link small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.appearance-field{display:grid;gap:10px;margin-top:20px;font-size:13px;font-weight:700}.appearance-field select{border:1px solid var(--line);border-radius:10px;min-height:46px;background:var(--paper);color:var(--text);padding:10px;font-size:15px}.cast-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cast-options button{min-height:46px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:10px}.cast-options [aria-pressed=true]{background:var(--accent);color:var(--paper);border-color:var(--accent)}.appearance-dialog .appearance-help{margin-top:20px;font-size:11px}
.cast-art{display:block;position:relative;overflow:hidden;object-fit:cover;object-position:center top;isolation:isolate;flex-shrink:0}
.cast-art>img{display:block;width:100%;height:100%;object-fit:inherit;object-position:inherit;aspect-ratio:auto}
.dark-art>img{display:none!important}.cast-window{display:block;width:100%;height:100%;position:absolute;inset:0}
.winner-photo.cast-art{aspect-ratio:2/3;width:auto}.hero-portrait,.room-cast,.feature-portrait,.game-portrait{aspect-ratio:944/1110;width:100%}
.dark-edition{font:600 9px/1.4 var(--sans);font-style:normal;letter-spacing:.04em;border:1px solid #af8c61;padding:3px 7px;border-radius:20px;color:#795339;white-space:nowrap}
[data-cast=dark] .plate{position:relative;flex-wrap:wrap;gap:4px 8px;min-height:80px;align-content:center}.plate .dark-edition{width:fit-content}.plate small{overflow-wrap:anywhere}
[data-cast=dark] .archive-shelves .plate small{flex:1 1 100%;font-size:12px;line-height:1.5}[data-cast=dark] .plate b{margin-right:5px}[data-cast=dark] .plate .dark-edition{position:absolute;right:9px;top:14px}
[data-cast=dark] .character-profile .plate .dark-edition,[data-cast=dark] .chat-profile .plate .dark-edition{position:static}
.alternate-hero{background:radial-gradient(ellipse at 80% 30%,#e3d5e9,transparent 60%),linear-gradient(120deg,#fbecd9,#e0c7a9);aspect-ratio:auto;min-height:470px;display:grid;grid-template-columns:.95fr 1.4fr;padding:45px 4%;gap:28px}
.alternate-hero .hero-copy{width:100%;padding:0}.alternate-hero h1{font-size:clamp(32px,3.3vw,58px);line-height:1.3}.alternate-hero p{font-size:clamp(14px,1.25vw,20px)}
.hero-cast{display:flex;justify-content:center;align-items:center;gap:13px;min-width:0;padding:12px 0 20px}.hero-cast>a{position:relative;flex:1;max-width:215px;border:1px solid #aa8459;padding:5px;background:#f7ecd7;border-radius:13px;box-shadow:0 15px 35px #472c2e33;transform:rotate(-7deg)}.hero-cast>a:nth-child(2){transform:translateY(-15px) rotate(1deg);z-index:1}.hero-cast>a:nth-child(3){transform:rotate(8deg)}.hero-cast .cast-art{border-radius:8px}.hero-cast a>span{display:grid;gap:5px;text-align:center;padding:10px 4px}.hero-cast b{font:600 23px var(--sans)}.hero-cast small{font-size:10px;min-height:30px;line-height:1.5}
.alternate-hero::after{content:none}.feature-cast{display:flex;gap:2px;overflow:hidden;aspect-ratio:1.63;padding:12px 12px 0;background:linear-gradient(120deg,#4b3d52,#2b3440)}.feature-portrait{flex:1;min-width:0;height:100%;border-radius:10px 10px 0 0;border:1px solid #b18d66;transform:rotate(-5deg)}.feature-portrait:nth-child(2){transform:translateY(10px) rotate(5deg)}
.room-cast-preview{position:absolute;z-index:-1;right:4%;bottom:-20%;display:flex;align-items:end;width:51%;gap:15px}.room-cast{width:46%;border:3px solid #be9866;border-radius:12px;transform:rotate(-7deg);box-shadow:0 12px 40px #24112833}.room-cast:nth-child(2){transform:translateY(25px) rotate(8deg)}
[data-cast=dark] .room-banner{background:linear-gradient(110deg,#f7ead9,#dac7c9)}[data-cast=dark] .room-banner .room-intro{width:44%}[data-cast=dark] .room-banner::before{content:none}
.game-cast{display:flex;gap:10px;padding:20px 15px;align-items:center}.game-portrait{width:50%;border:3px solid #aa895f;border-radius:12px;transform:rotate(-6deg)}.game-portrait:nth-child(2){transform:rotate(5deg)}
.dark-voice{margin:0 0 24px;padding:17px 20px;background:#efe4ed;border-left:3px solid #937090;border-radius:4px 12px 12px 4px;font:600 16px/1.8 var(--serif)}.dark-voice small{display:block;font:600 10px/1.6 var(--sans);margin-bottom:7px;letter-spacing:.05em;color:#755a72}
:root[data-theme=dark]{color-scheme:dark;--paper:#191722;--text:#f3e9d9;--muted:#c0b19d;--accent:#d8ba82;--line:#534657}
[data-theme=dark] body{background:radial-gradient(ellipse at 15% 0,#373044,transparent 45%),var(--paper)}
[data-theme=dark] .mast{background:#1d1a27f5;border-color:#64516b44}[data-theme=dark] .brand-mark{background:#bd9c64;color:#221b2a}[data-theme=dark] .appearance-controls button{background:#2c2637;color:#e8cc95;border-color:#66546c}
[data-theme=dark] .room{--room-accent:#d8ba82;--room-edge:#514456;--room-paper:#282330}
[data-theme=dark] :is(.room-head h1,.hero h1,.hero p,.room-head .lede,.room .back,.back,.card-copy-section p,.message-paper .advice,.message-paper .tag,.letter-signature,.letter-context,.draw-choice-label b,.draw-choice-label small,.draw-host figcaption,.guest-intro h3,.guest-intro p,.winner-label,.rank-sheet,.quiz-box,.chat-top h2){color:var(--text)}
[data-theme=dark] :is(.room-head .eyebrow,.hero .eyebrow,.guest-type,.card-copy-section h3,.guidance-section h3,.dark-voice small){color:#d7bd91}
[data-theme=dark] :is(.quiet,.chip,.portrait-selector,.menu-toggle,#site-navigation,.room .recent a){background:#2b2533;color:#e2cdad;border-color:#69566c}
[data-theme=dark] :is(.gold,.pair-room .gold){background:#d0ac70;color:#251e28;border-color:#e3c58d;box-shadow:none}[data-theme=dark] :is(.gold:hover,.pair-room .gold:hover){background:#e5c58d}
[data-theme=dark] :is(.portrait-selector button[aria-pressed=true],.chip[aria-pressed=true],#site-navigation a[aria-current=page],.menu-toggle[aria-expanded=true]){background:#54425f;color:#fff0d5;border-color:#ae87b6}[data-theme=dark] .portrait-selector button{color:#cbbbce}
[data-theme=dark] :is(.hero,.alternate-hero){background:radial-gradient(ellipse at 80% 20%,#66527880,transparent 55%),radial-gradient(circle at 65% 25%,#c5ae7640,transparent 17%),linear-gradient(120deg,#292433,#352840);border:1px solid #66526e}
[data-theme=dark] .hero-copy{background:transparent}[data-theme=dark] .hero .eyebrow::before{color:#dcc59b}[data-theme=dark] .hero-cast>a{background:#2a2431;border-color:#ae8c60;box-shadow:0 18px 30px #09080e99}
[data-theme=dark] .hero-cast a>span{color:#e5cd9e}[data-theme=dark] .feature{background:#2e2737;border:1px solid #5c4c65;color:#eddfc9}[data-theme=dark] .feature>img{filter:brightness(.75) saturate(.7)}
[data-theme=dark] :is(.room-banner,.room-exhibit){background:linear-gradient(115deg,#2e2938,#3c2b44);border-color:#63516c}[data-theme=dark] .room-banner .banner-illustration{filter:brightness(.45) saturate(.6)}[data-theme=dark] .room-banner::before{background:linear-gradient(90deg,#241f32eb,transparent 90%)}
[data-theme=dark] :is(.type-card,.archive-shelves .type-card,.room .character-profile .type-card,.room .chat-profile .type-card,.draw-type,.draw-host){background:#2b2532;border-color:#8e7657;box-shadow:0 4px 15px #0d0a1480}
[data-theme=dark] .archive-shelves .type-card::after{background:linear-gradient(#806548,#493726);box-shadow:0 5px 10px #100b1780}[data-theme=dark] .plate{background:#2a2431;color:#f2dec0}[data-theme=dark] .plate small{color:#cbb6d0}[data-theme=dark] .dark-edition{color:#dfc59d;border-color:#927652}
[data-theme=dark] :is(.room-library .detail-layout>section,.room .paper-reading,.room .rank-sheet,.room .quiz-box,.room .chat-room,.conversation-card){background:#26222e;border-color:#56475b;box-shadow:none}
[data-theme=dark] :is(.room-exhibit select,select,input,textarea){background:#211d29;color:#eee1cc;border-color:#66516c}[data-theme=dark] :is(.tag,.meta,.fine,.text-link){color:#cab495}
[data-theme=dark] :is(.entry,.card-copy-section+.card-copy-section,.room-heading,.rank-line){border-color:#544457}[data-theme=dark] .chat-line{background:#302937;border-color:#54445a;color:#eee1ce}[data-theme=dark] .chat-line.user{background:#3b3045}[data-theme=dark] .reply-sender b{color:#d9b8e0}
[data-theme=dark] :is(.choice,.answer,.illustrated-note,.paper-reading .note){background:#2f2937;color:#eee1cd;border-color:#64526a}[data-theme=dark] .choice[aria-pressed=true]{background:#4c3d58;border-color:#c7a3ce}[data-theme=dark] .choice>span{background:#4d3c59;color:#e6c7a1}[data-theme=dark] .progress{background:#4c4055}[data-theme=dark] .progress i{background:#c8a77c}
[data-theme=dark] .rank-exhibit{background:radial-gradient(#55425d,#2d2638)}[data-theme=dark] :is(.rank-value,.rank-no,.rank-person small,.winner-label small){color:#d8bf9a}[data-theme=dark] .rank-track{background:#4d4156}[data-theme=dark] .rank-track>span{background:#b799bf}
[data-theme=dark] .draw-surface{background:linear-gradient(#272130b8,#201a2de0),url('assets/rooms/draw-desk.webp') center/cover;border-color:#6b5669}[data-theme=dark] .draw-host figcaption{color:#e0c296}
[data-theme=dark] .message-paper{background:linear-gradient(135deg,#332b39,#292230);border-color:#8a745d;box-shadow:2px 3px #5d4b58,3px 4px #8a6b53,5px 9px 18px #100b1880}[data-theme=dark] .message-paper::before{border-color:#92755055}[data-theme=dark] .dark-voice{background:#443249;color:#f0dbd1;border-color:#b18ab8}[data-theme=dark] .turn-back{filter:brightness(.7) hue-rotate(285deg)}[data-theme=dark] .turn-front{background:#342a3b}[data-theme=dark] .turn-front b{color:#dec39b}
[data-theme=dark] .pair-room{--pair-ink:#eee0ca;--pair-green:#d1b17a;--pair-sage:#b59abf;--pair-peach:#d39d88;--pair-line:#594b61;--pair-muted:#bcae9f;color:var(--pair-ink)}
[data-theme=dark] .pair-room :is(.pair-panel,.pair-person-chart,.pair-heading-seal,.pair-submit-row,.pair-upgrade,.pair-mode,.pair-selection-summary,.pair-annual-grid article,.pair-pillar,.pair-method>details>summary,.pair-feature-tags>span,.pair-element-story,.pair-share-launch){background:#2a2433;border-color:#62516c;box-shadow:none;color:var(--pair-ink)}
[data-theme=dark] .pair-room :is(.pair-mode button,.pair-birth label,.pair-method,.pair-hidden,.pair-time-details,.pair-disclaimer,.pair-room .back,.pair-clear,.pair-person-header>div>small,.pair-pillar>small,.pair-ten-row small,.pair-analysis-trio small,.pair-annual-grid small,.pair-practice small,.pair-fortune>p,.pair-mutual-row small,.pair-mutual-row h3 span){color:#c9b7a3}
[data-theme=dark] .pair-mode button[aria-pressed=true]{background:#55405f;color:#ffeed0}[data-theme=dark] .pair-room .quiet{background:#342b3d;border-color:#8c725b;color:#e1c6a3}
[data-theme=dark] .pair-choice{background:#352b3e;border-color:#6b5875;color:#ebddc8}[data-theme=dark] .pair-choice>span{background:#302737;border-color:#7a636c}[data-theme=dark] .pair-choice small{color:#d0bbcc}[data-theme=dark] .pair-choice[aria-pressed=true]{border-color:#c5a1cf;box-shadow:0 0 0 2px #b590bf}[data-theme=dark] .pair-choice[aria-pressed=true]>span{background:#513d5e}[data-theme=dark] .pair-choice i{background:#d2b37b;color:#211a28;border-color:#eddbb9}
[data-theme=dark] .pair-birth :is(input:not([type=checkbox]),select){background:#211c2a;border-color:#6b5775;color:#f1e5d2}[data-theme=dark] .pair-birth input:disabled{background:#39323d;color:#998f9a}[data-theme=dark] .pair-error,[data-theme=dark] .pair-notice{background:#49332f;border-color:#a57957;color:#f1d2ad}
[data-theme=dark] .pair-report-hero{background:radial-gradient(ellipse at 50% 25%,#564364,#302538 65%);border-color:#8f755b;box-shadow:inset 0 0 70px #211c2b}[data-theme=dark] .pair-hero-person>.pair-face{mix-blend-mode:normal}[data-theme=dark] .pair-hero-person figcaption{background:#382d3c;color:#f0dfc6;border-color:#b18f61;outline-color:#705766}[data-theme=dark] .pair-hero-person figcaption span{color:#ceb28e}
[data-theme=dark] .pair-score-ring{background:conic-gradient(#c3a1cb var(--score),#54435e 0);box-shadow:0 0 0 3px #7b626d}[data-theme=dark] .pair-score-ring>div{background:radial-gradient(#3d3048,#251e30)}[data-theme=dark] .pair-score-ring strong{color:#f8e9cc}[data-theme=dark] .pair-score-ring :is(span,small){color:#d7c0a0}[data-theme=dark] .pair-score-area>p:last-child{color:#c8b29b}
[data-theme=dark] .radar-grid,[data-theme=dark] .radar-axis{stroke:#66546f}[data-theme=dark] .radar-area{fill:#b093c34d;stroke:#c6a8d0}[data-theme=dark] .radar-dot{fill:#f4dcb8;stroke:#b992c5}[data-theme=dark] .radar-label{fill:#e4d2b8}[data-theme=dark] .radar-value{fill:#d4b4e0}
[data-theme=dark] .pair-feature-bar>div{background:#50415b}[data-theme=dark] .pair-feature-bar i{background:linear-gradient(90deg,#80658f,#c1a1cb)}[data-theme=dark] .pair-feature-bar b{color:#e0c49d}
[data-theme=dark] .pair-room :is(.pair-takeaways blockquote,.pair-feature-stories blockquote,.pair-feature-stories summary b,.pair-feature-tags span,.pair-pillar>span,.pair-pillar.is-day>span,.pair-connection>strong,.pair-connection.is-day,.pair-fortune li.current,.pair-table-scroll th){background:#493a54;color:#e5d0b5;border-color:#7e6389}
[data-theme=dark] .pair-room :is(.pair-feature-stories summary,.pair-method>summary,.pair-takeaways b,.pair-mutual-row h3,.pair-analysis-trio h3 b,.pair-annual-grid>article>b){color:#d6bada}[data-theme=dark] .pair-room :is(td,th,.pair-ten-row,.pair-mutual-row,.pair-connection,.pair-fortune li,.pair-analysis-trio article+article){border-color:#5d4b65}
[data-theme=dark] .pair-practice blockquote{background:#4b3859;color:#f2dcc3}
[data-theme=dark] .pair-share-dialog{background:#231e2d;color:#eddfcb;border-color:#88705b}[data-theme=dark] :is(.pair-share-header,.pair-share-options,.pair-share-preview-wrap){background:#2c2535;border-color:#594961}[data-theme=dark] .pair-share-dialog :is(p,small,label,.pair-share-caption,.pair-share-status,.pair-share-text){color:#ccb89e}[data-theme=dark] .pair-share-dialog input{background:#1f1a29;color:#f3e6d3;border-color:#6d5577}[data-theme=dark] .pair-share-guide{background:#3b2e43;border-color:#84648c}[data-theme=dark] .pair-share-close{color:#e3c9a3}
@media(prefers-reduced-motion:no-preference){body,.mast,.appearance-controls button,.type-card,.pair-panel,.feature{transition:background-color .3s,color .3s,border-color .3s}.cast-art{animation:cast-appear .28s ease-out}@keyframes cast-appear{from{opacity:.35}to{opacity:1}}}
@media(max-width:1150px) and (min-width:901px){.brand{font-size:28px}.mast nav{gap:15px}.mast nav a{font-size:14px}.appearance-controls button{padding:8px 10px}.mast-inner{padding-inline:22px;gap:12px}}
@media(max-width:900px){.appearance-controls{order:0;margin-left:auto}.menu-toggle{order:1}.mast nav{order:2}.mast-inner{gap:7px}.appearance-controls button{min-height:42px;padding:7px 10px;font-size:11px}#appearance-settings{width:32px;font-size:18px}.brand{font-size:25px}.menu-toggle{padding:8px 10px;gap:6px}.alternate-hero{min-height:380px;padding:35px 5%;grid-template-columns:1fr 1.25fr;gap:16px}.alternate-hero h1{font-size:32px}.hero-cast{gap:9px}.hero-cast b{font-size:19px}.hero-cast small{font-size:9px}.hero-cast>a{padding:4px}.room-cast-preview{bottom:-6%}}
@media(max-width:660px){.mast-inner{padding:8px 10px;gap:5px}.brand{font-size:21px;gap:5px}.appearance-controls{gap:0}.appearance-controls button{padding:7px 8px;gap:4px;font-size:10px}#appearance-settings{width:30px}.menu-toggle{font-size:11px;padding:7px 8px}.menu-toggle>span:last-child{display:none}.menu-symbol{width:16px}.alternate-hero{display:block;padding:25px 22px 12px;min-height:0}.alternate-hero .hero-copy{padding:0;text-align:center}.alternate-hero h1{font-size:31px}.alternate-hero .hero-cast{padding:34px 3px 20px;gap:9px}.hero-cast>a{max-width:145px}.hero-cast b{font-size:20px}.hero-cast small{font-size:9px;min-height:28px}.hero-cast a>span{padding:8px 2px}.alternate-hero .hero-copy p{font-size:13px}.room-cast-preview{position:relative;right:auto;bottom:auto;width:100%;height:155px;justify-content:center;padding-top:10px;overflow:hidden}.room-cast{width:31%;max-width:140px;flex:none;align-self:start}[data-cast=dark] .room-banner .room-intro{width:100%}[data-cast=dark] .room-banner{display:block}.game-cast{max-width:350px;margin:auto;padding:15px}.game-portrait{aspect-ratio:1}.dark-voice{font-size:15px;padding:15px;margin-bottom:22px}[data-cast=dark] .character-profile .plate,[data-cast=dark] .chat-profile .plate{min-height:0}[data-cast=dark] .character-profile .plate small,[data-cast=dark] .chat-profile .plate small{display:none}[data-cast=dark] .character-profile .dark-edition,[data-cast=dark] .chat-profile .dark-edition{font-size:7px;padding:2px 4px}.pair-choice small{line-height:1.5;min-height:3em}[data-cast=dark] .draw-choice-label small{font-size:10px}[data-cast=dark] .draw-host figcaption span{font-size:11px;max-width:180px}.appearance-dialog{padding:23px}.appearance-dialog h2{font-size:23px}}
@media(max-width:360px){.brand{font-size:19px}.appearance-controls button{font-size:9px;padding:7px 6px}.appearance-controls [data-mode-icon]{font-size:17px}#appearance-settings{width:26px}.hero-cast small{font-size:8px}.hero-cast b{font-size:17px}}
[data-theme=dark] .winner-label{background:linear-gradient(130deg,#4b3a52,#302738);border-color:#aa875e;color:#f4e3c8}
[data-theme=dark] .game-scene{background:#302737;border-color:#766178}
[data-theme=dark] :is(.pair-share-launch p,.pair-radar figcaption,.pair-report-heading p:not(.eyebrow),.pair-room .eyebrow,.god-bar-row b,.pair-ten-row>div b){color:#c9b49a}
[data-theme=dark] .pair-room .pair-mode button[aria-pressed=true]{color:#fff0d7}
[data-theme=dark] .pair-share-options h3{color:#ebd6b4}
[data-theme=dark] .pair-share-includes{background:#3a2e43;border-color:#6f5779;color:#e2d0b6}
[data-theme=dark] .pair-share-includes span{color:#cbb9a1}
[data-theme=dark] .pair-share-close{background:#42334a;border-color:#866b90;color:#ead5b5}
[data-theme=dark] .pair-detail-link{background:#42354b;border-color:#8a6a92;color:#ead9bd}
@media print{.appearance-controls,.appearance-dialog{display:none!important}}

[data-theme=dark] #chat-input{background:#211d29;color:#f4ead8;caret-color:#f4ead8;border-color:#8b7294;color-scheme:dark}
[data-theme=dark] #chat-input::placeholder{color:#c5b5ce;opacity:1}
[data-theme=dark] #chat-input:focus-visible{outline:2px solid #d7b87b;outline-offset:2px}
[data-theme=dark] #chat-form .chat-error{color:#ffb8b0}
