/* Midnight Dispatches: purple rooms, gold names, small generous rewards. */
.detective-name{color:#ffd479!important;-webkit-text-fill-color:#ffd479;text-transform:none!important;font-weight:700;text-shadow:0 1px 8px #ffd47918}
.topbar{flex-wrap:wrap}.topbar nav{flex-wrap:wrap}.topbar nav button{font-size:13px}.hero-actions{flex-wrap:wrap}.case-visual{height:185px;position:relative;overflow:hidden}.case-copy h3{min-height:2.5em}.case-copy .small{margin:6px 0 14px}.mini-phrases button{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.mini-phrases small{flex-basis:100%;font-weight:400;opacity:.8}.detective-progress{gap:18px;flex-wrap:wrap}.detective-progress .icon{width:58px;height:58px}.detective-progress button{margin-left:auto}.collected-clues details{margin-top:12px}.missing-line{font:clamp(23px,4vw,36px)/1.7 Georgia;color:#fff5e8}.word-blank{display:inline-block;min-width:95px;border-bottom:2px dashed #ffd479;color:#ffd479;text-align:center}.truth-card{text-align:center;padding:10px 15px 30px}.truth-card h2{font:clamp(25px,5vw,38px) Georgia;color:#ffd479}.truth-card h3{font:25px Georgia}.translation-claim{font-size:13px;color:#c5b6d1}.truth-options{display:grid;grid-template-columns:1fr 1fr}.detective-strip{width:100%;height:170px;object-fit:cover;object-position:center 36%;border-radius:14px;margin-bottom:20px}.deduction-desk h2{font:30px/1.2 Georgia}.clue-cards{padding:0;counter-reset:clue;display:grid;gap:12px;list-style:none}.clue-cards li{counter-increment:clue;position:relative;padding:18px 20px 18px 55px;background:#3a294a;border:1px solid #786187;border-radius:12px;line-height:1.6}.clue-cards li:before{content:counter(clue);position:absolute;left:18px;top:18px;color:#ffd479;font-weight:bold}.achievement-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:35px 0}.achievement-hero img{width:100%;border-radius:22px;box-shadow:0 18px 65px #08040e88}.achievement-hero h1{font:clamp(36px,5vw,64px)/1.05 Georgia;margin:18px 0}.achievement-hero h1 em{color:#d6b7ff;font-weight:400}.achievement-hero p{line-height:1.7;color:#d8c8e4}.achievement-filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.badge-card{position:relative;background:linear-gradient(145deg,#372345,#251831);border:1px solid #614973;border-radius:19px;padding:24px 19px;display:flex;flex-direction:column;align-items:flex-start;min-height:300px}.badge-card img{width:76px;height:76px;margin:0 0 18px}.badge-card h2{font:24px/1.15 Georgia;margin:10px 0}.badge-card p{font-size:14px;line-height:1.6;color:#c9bad6;margin-top:0;flex:1}.badge-card.waiting img{opacity:.46;filter:saturate(.5)}.badge-card.earned{border-color:#bc954d;background:linear-gradient(145deg,#49324a,#2b1a3c);box-shadow:inset 0 1px 0 #ffde8e33}.badge-check{position:absolute;right:18px;top:18px;color:#ffd479}.badge-card .eyebrow{font-size:9px}.badge-card .pill{font-size:11px}#achievement-popup{position:fixed;right:22px;bottom:22px;z-index:50;max-width:calc(100% - 32px);pointer-events:none}.achievement-toast{pointer-events:auto;width:380px;max-width:100%;display:flex;gap:16px;padding:22px;background:linear-gradient(120deg,#4b2e63,#261631);border:1px solid #ffd479;border-radius:22px;box-shadow:0 15px 60px #0009,0 0 30px #aa72de35;animation:badge-arrives .45s ease-out}.achievement-toast>img{width:65px;height:65px;flex:none}.achievement-toast h2{font:25px/1.1 Georgia;margin:8px 0;color:#fff5e8}.achievement-toast .eyebrow{font-size:9px;margin:0}.achievement-toast p{font-size:13px;line-height:1.5}.achievement-toast strong{color:#ffd479}.achievement-toast button{padding:8px 15px;min-height:40px}.story-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-card{padding:0;text-align:left;background:#30203f;border:1px solid #715482;border-radius:16px;overflow:hidden;color:#fff5e8;transition:transform .18s ease}.gallery-card:hover{transform:translateY(-4px)}.gallery-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.gallery-card>span{display:block;padding:19px;font:23px/1.2 Georgia}.gallery-selected{margin:0 0 30px;background:#30203f;border-radius:18px;padding:15px}.gallery-selected>img{display:block;width:100%;height:auto;border-radius:12px;margin-top:15px}.gallery-selected figcaption{padding:15px 5px;font:27px Georgia}.achievement-hero+.achievement-filters{scroll-margin-top:20px}.game-top{gap:8px;flex-wrap:wrap}.feedback{white-space:normal}#particles{z-index:60;pointer-events:none}
@keyframes badge-arrives{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:1000px){.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar nav{order:3;width:100%;justify-content:center}.topbar .star-total{margin-left:auto}.story-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.achievement-hero{grid-template-columns:1fr;gap:20px}.achievement-hero img{max-height:240px;object-fit:cover;object-position:center 35%}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.badge-card{padding:18px 13px;min-height:275px}.badge-card h2{font-size:21px}.badge-card img{width:60px;height:60px}.achievement-toast{width:340px;padding:16px;gap:12px}.achievement-toast>img{width:48px;height:48px}.achievement-toast h2{font-size:22px}#achievement-popup{right:16px;bottom:16px}.topbar nav{gap:3px}.topbar nav button{padding:8px;font-size:12px}.story-gallery{grid-template-columns:1fr}.truth-options{grid-template-columns:1fr}.detective-progress button{margin-left:0}.detective-strip{height:140px}.deduction-desk h2{font-size:25px}.scene-banner img{object-position:center 35%}}
.still .achievement-toast,.still .gallery-card{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.achievement-toast,.gallery-card{animation:none!important;transition:none!important}}
/* Let navigation grow naturally at tablet and phone widths. */
.topbar{height:auto;min-height:94px;padding-top:16px;padding-bottom:16px;row-gap:10px}
@media(max-width:700px){.topbar{min-height:108px;padding-top:13px;padding-bottom:9px}.topbar nav button:first-child{display:inline-block}.topbar nav{justify-content:space-between}.badge-card .eyebrow{letter-spacing:1px}}
@media(max-width:700px){.topbar nav{gap:2px}.topbar nav button{font-size:11px;padding:6px 3px}.topbar nav .icon{width:20px;height:20px}}
.codex-guide{position:fixed;z-index:45;left:20px;bottom:20px;width:min(390px,calc(100vw - 40px));font-family:var(--sans)}
.codex-launcher{display:flex;align-items:center;gap:10px;min-height:66px;padding:7px 18px 7px 7px;border:1px solid #a981c7;border-radius:40px;background:linear-gradient(120deg,#39244d,#211331);box-shadow:0 9px 32px #08040e99;color:var(--cream);text-align:left}
.codex-launcher>img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 0 9px #42dff088)}
.codex-launcher strong,.codex-launcher small{display:block}.codex-launcher strong{font:19px Georgia;color:#fff5e8}.codex-launcher small{font-size:11px;color:#d6b7ff}.codex-spark{margin-left:auto;color:#ffd479;font-size:20px;animation:codex-sparkle 2.4s ease-in-out infinite}
.codex-panel{position:absolute;left:0;bottom:78px;width:100%;padding:20px;border:1px solid #8b6a9e;border-radius:21px;background:linear-gradient(145deg,#3b2850,#211331 78%);box-shadow:0 15px 55px #08040ecc,0 0 30px #a978d322;animation:codex-arrives .22s ease-out}
.codex-panel-head{display:flex;align-items:center;gap:13px}.codex-avatar{width:76px;height:76px;object-fit:contain;flex:none;filter:drop-shadow(0 0 12px #41dff088);animation:codex-float 4s ease-in-out infinite}.codex-panel-head .eyebrow{font-size:8px;letter-spacing:1.2px}.codex-panel-head h2{margin-top:4px;font-size:25px}.codex-close{align-self:flex-start;margin-left:auto;width:38px;height:38px;border:1px solid #735b87;border-radius:50%;background:#30203f;font-size:25px;line-height:1}
.codex-advice{margin:13px 0 15px;padding:14px 15px;border-left:3px solid #48dce9;border-radius:0 12px 12px 0;background:#160d236b;color:#f5eaff;font-size:14px;line-height:1.65}
.codex-hint{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:46px;padding:10px 14px;border:1px solid #c7a1e0;border-radius:12px;background:linear-gradient(100deg,#d6b7ff,#bba0e6);color:#211331;font-size:13px;font-weight:700}.codex-hint:disabled{opacity:.72;cursor:default}.codex-reassurance{font-size:11px;color:#c5b6d1;text-align:center}
.achievement-hero{grid-template-columns:190px 1fr;gap:24px;margin:20px 0}.achievement-hero img{width:190px;height:125px;object-fit:cover;border-radius:16px}.achievement-hero h1{font-size:clamp(30px,3.8vw,48px);margin:8px 0}.achievement-filters{gap:8px;margin:14px 0}.badge-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.badge-card{min-height:215px;padding:14px;border-radius:15px}.badge-card img{width:48px;height:48px;margin-bottom:8px}.badge-card h2{font-size:19px;margin:7px 0}.badge-card p{font-size:12px;line-height:1.45}
#achievement-popup{top:112px;right:20px;bottom:auto;z-index:70;width:min(360px,calc(100vw - 32px));max-width:none}.achievement-toast{display:grid;grid-template-columns:54px minmax(0,1fr) 38px;align-items:center;gap:12px;width:100%;max-height:calc(100vh - 140px);overflow:auto;padding:14px;border-radius:17px;background:linear-gradient(135deg,#49315c,#241632 78%);border-color:#e0ba69;box-shadow:0 12px 38px #08040ecc,0 0 22px #aa72de30}.toast-castiel{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 0 8px #42dff066)}.toast-copy{min-width:0}.toast-copy h2{font:20px/1.12 Georgia;margin:5px 0}.toast-copy .eyebrow{font-size:8px;letter-spacing:1.2px;margin:0}.toast-copy p{font-size:12px;line-height:1.4;margin:0}.toast-copy p strong{color:#ffd479}.toast-copy button{min-height:34px;padding:5px 11px;margin-top:8px;font-size:11px}.toast-badge{width:36px;height:36px}
 .achievement-toast>.toast-castiel{width:54px;height:54px}.achievement-toast>.toast-badge{width:36px;height:36px;flex:none}
.login-scene{min-height:100svh}.login-error{min-height:0;margin-top:12px}.login-note strong{color:var(--gold)}.login-card .login-note{line-height:1.5}
.castiel-congrats{display:flex;align-items:center;gap:15px;max-width:560px;margin:18px auto;padding:13px 18px;text-align:left;background:linear-gradient(110deg,#372449,#241632);border:1px solid #8c6ca0;border-radius:17px;box-shadow:0 10px 35px #0003}.castiel-congrats>img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 0 10px #42dff077)}.castiel-congrats p{display:grid;gap:4px}.castiel-congrats .eyebrow{font-size:8px;letter-spacing:1.4px}.castiel-congrats strong{font:22px Georgia;color:#ffd479}.castiel-congrats p>span:last-child{font-size:13px;color:#d8c8e4}
@media(max-width:1000px){.badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.achievement-hero{grid-template-columns:110px 1fr;gap:15px;margin:14px 0}.achievement-hero img{width:110px;height:96px}.achievement-hero h1{font-size:30px}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.badge-card{min-height:190px;padding:11px}.badge-card h2{font-size:17px}.badge-card img{width:40px;height:40px}.badge-card p{font-size:11px}.achievement-toast{grid-template-columns:44px minmax(0,1fr) 30px;padding:11px;gap:9px}.achievement-toast>.toast-castiel{width:44px;height:44px}.achievement-toast>.toast-badge{width:30px;height:30px}.toast-copy h2{font-size:18px}#achievement-popup{top:116px;right:10px;width:min(340px,calc(100vw - 20px))}.castiel-congrats{margin:14px 8px;padding:10px 12px}.castiel-congrats>img{width:56px;height:56px}.login-scene{min-height:100svh;grid-template-columns:1fr;gap:28px;padding:32px 22px}.login-brand{margin-bottom:22px}.login-caption{margin-top:20px}.login-card{justify-self:center;padding:25px}.login-intro h1{font-size:42px}}
@media(max-width:420px){.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-card{min-height:180px}.achievement-hero{grid-template-columns:90px 1fr}.achievement-hero img{width:90px;height:82px}.achievement-hero h1{font-size:26px}}
@media(max-width:700px){.achievement-hero{grid-template-columns:82px 1fr;gap:12px;margin:10px 0}.achievement-hero img{width:82px;height:76px}.achievement-hero h1{font-size:23px;margin:4px 0}.achievement-hero p{font-size:12px;line-height:1.35}.achievement-hero .pill{padding:5px 9px;font-size:10px}.achievement-filters{gap:5px;margin:9px 0}.achievement-filters button{min-height:38px;padding:7px 10px;font-size:11px}.badge-card{min-height:150px;padding:9px}.badge-card img{width:34px;height:34px;margin-bottom:5px}.badge-card h2{font-size:16px;margin:5px 0}.badge-card p{font-size:10px;line-height:1.3}.badge-card .pill{padding:5px 8px}.achievement-toast{grid-template-columns:38px minmax(0,1fr) 26px;padding:9px;gap:7px}.achievement-toast>.toast-castiel{width:38px;height:38px}.achievement-toast>.toast-badge{width:26px;height:26px}.toast-copy h2{font-size:16px}.toast-copy p{font-size:10px}.toast-copy button{min-height:30px;margin-top:5px}}
@media(max-width:420px){.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-card{min-height:148px}.achievement-hero{grid-template-columns:74px 1fr}.achievement-hero img{width:74px;height:72px}.achievement-hero h1{font-size:21px}.achievement-filters button{padding:6px 8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.achievement-toast,.castiel-congrats{animation:none!important;transition:none!important}}
@keyframes codex-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes codex-sparkle{0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}
@keyframes codex-arrives{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.codex-guide{left:12px;bottom:12px;width:min(370px,calc(100vw - 24px))}.codex-launcher{min-height:58px}.codex-launcher>img{width:46px;height:46px}.codex-panel{bottom:68px;padding:16px}}
.still .codex-spark,.still .codex-avatar,.still .codex-panel{animation:none!important}
@media(prefers-reduced-motion:reduce){.codex-spark,.codex-avatar,.codex-panel{animation:none!important}}
