/* Original generated PNG artwork; labels remain accessible, crisp live text. */
.veil{background:#0d0e1bd9}
:root{--ink:#d8cbd1;--dark:#111421;--paper:#171b2b;--muted:#ada4b7;--gold:#c49673;--red:#c58e89;--teal:#b19bbf;--line:#514a60}
.person .personName{background:transparent url(assets/ui/copper-button.png) center/100% 100% no-repeat;color:#d8cbd1;font-size:10px;padding:4px 8px;text-shadow:0 1px 2px #10121b}.badge{background-image:url(assets/ui/night-paper.png);background-size:220% 220%;background-position:center}.liveDot{background-color:#c49673}
body{background:#11131e;color:var(--ink)}
.gIcon{display:inline-block;flex-shrink:0;width:28px;height:28px;background-image:var(--atlas);background-size:200% 400%;background-position:var(--ix) var(--iy);background-repeat:no-repeat;vertical-align:middle;pointer-events:none}
header,nav,.modalHead,.endingBar{background-color:var(--dark);background-image:url(assets/ui/violet-paper.png);background-size:cover;color:var(--paper)}
.casePanel,.modal,.talk,.clueCard,.deduceCard,.guideGrid article,.notice,.panelBottom{background-color:var(--paper);background-image:url(assets/ui/night-paper.png);background-size:cover;color:var(--ink)}
.casePanel{border-color:#514a60;padding-top:2.2%;padding-bottom:1.3%}.casePanel h1{font-size:clamp(28px,3.2vw,52px);margin-bottom:4%;margin-top:4%}.casePanel h1 em{color:#b99ac4}.casePanel .intro{font-size:clamp(12px,1vw,16px);color:#b4a9ba;margin:5% 0 7%}.objective{padding-top:7%;border-color:#514a60}.objective h3{font-size:clamp(13px,1.1vw,17px);line-height:1.6;margin:7px 0}.objective p{font-size:clamp(11px,.95vw,15px);line-height:1.75;color:#b7adbe}.eyebrow{color:#b2a1b8}.memory{padding:5% 0 3%}.memory>div{font-size:12px}.memory small,.caseFoot{color:#a49aae;font-size:9px}.memory>span{color:#b99ac4}.caseFoot{margin-top:5px;line-height:1.5}.hintBtn{padding:8px 12px;color:#d8cbd1;font-size:12px}.brandmark{width:40px;height:40px;display:grid;place-items:center}.brandmark .gIcon{width:40px;height:40px}.date{font-size:clamp(11px,.95vw,14px);color:#b6aabb}.clock small{font-size:11px;color:#b6aabb}.weather{display:flex;align-items:center;gap:5px}.weather span{font-size:11px}.weather .gIcon{width:25px;height:25px}
.modal{border:0;isolation:isolate}.modal:after{content:'';position:absolute;inset:0;background:url(assets/ui/night-frame.png) center/100% 100% no-repeat;pointer-events:none;z-index:3;opacity:.7}.modalHead{padding-left:3.6%;padding-right:3.6%;border-color:#51495b;gap:12px}.modalHead h2{font-size:clamp(20px,2vw,30px)}.modalHead p{font-size:clamp(10px,.9vw,13px);color:#b6aabb;line-height:1.6}.modalHead>.gIcon{width:34px;height:34px}.modalBody{padding-left:3.6%;padding-right:3.6%}.dialogueBody{padding:0}.talk{padding:3.5% 5%;min-width:0}.speech{font-size:clamp(14px,1.25vw,20px);line-height:1.85}.talk h3{font-size:clamp(20px,2vw,29px);margin-bottom:14px}.tag{color:#bf9baa;font-size:11px}.portraitArea{background:#242234 url(assets/ui/violet-paper.png) center/cover;border-color:#51495b}.portraitArea:after{background:none}.portrait{background-color:transparent}.person{background:transparent url(assets/ui/violet-paper.png) center/cover;border-color:#98829f}.person .face{background-color:transparent}.roster button{background:var(--paper) url(assets/ui/night-paper.png) center/cover;border-color:#51495b}.roster .miniPortrait{background-color:transparent}.roster small{color:#aca0b3;font-size:10px}.roster b{font-size:14px}
/* Crop the generated textures to their quiet centers so no ornament competes with text. */
.casePanel,.modal,.talk,.clueCard,.deduceCard,.guideGrid article,.notice,.panelBottom{background-size:220% 220%;background-position:center}
header,nav,.modalHead,.endingBar,.portraitArea{background-size:180% 180%;background-position:center}
.modal:after{opacity:.4}.modalHead>*{position:relative;z-index:4}
/* Every clickable surface has a generated plate; content remains separate from art. */
.btn,.hintBtn,.inspectItem,.titleLinks button,.tabs .btn{background-color:transparent;background-image:url(assets/ui/night-button.png);background-size:100% 100%;background-repeat:no-repeat;border:0;box-shadow:none;color:#d8cbd1;min-height:42px;padding:10px 20px;font-size:clamp(12px,1.02vw,16px);text-shadow:none}
.btn.primary,.tabs .btn.active{background-color:transparent;background-image:url(assets/ui/copper-button.png);color:#171b2b}.btn.danger{background-color:transparent;background-image:url(assets/ui/button-red.png);color:#dccbd0}.btn:hover,.btn.primary:hover,.btn.danger:hover,.inspectItem:hover{background-color:transparent;filter:brightness(1.08)}.btn:disabled{opacity:.55;filter:grayscale(1)}.btn .gIcon{width:27px;height:27px}.choice{font-size:clamp(12px,1vw,15px);padding:8px 20px;min-height:43px}.choice .cost{font-size:11px;color:#c89d87}.talk .choices{gap:6px;padding-top:10px}.inspectItem{min-height:75px;padding:14px 24px}.inspectItem .gIcon{width:36px;height:36px}.inspectItem strong{font-size:14px;line-height:1.5}.inspectItem small{font-size:11px;color:#b4a9bd;margin-top:5px}.hintBtn{margin-top:4px}.hintBtn .gIcon{width:26px;height:26px}
header button,.close{border:0;border-radius:0;background:transparent url(assets/ui/night-round.png) center/100% 100% no-repeat;width:38px;height:38px;padding:3px;flex-shrink:0}.close .gIcon,header button .gIcon{width:32px;height:32px}.place .pin{width:42px;height:42px;background:transparent url(assets/ui/night-round.png) center/100% 100% no-repeat;border:0;transform:none;box-shadow:none}.pin .gIcon{width:34px;height:34px;transform:none}.place:hover .pin{background-color:transparent;filter:brightness(1.2)}.place>span:last-child{background:transparent url(assets/ui/copper-button.png) center/100% 100% no-repeat;border:0;color:#d8cbd1;padding:6px 14px;font-size:clamp(11px,.95vw,14px);text-shadow:0 1px 2px #111320}
nav{gap:.8%;padding:1% 1.5%;border-color:#51495b}nav button{background:transparent url(assets/ui/copper-button.png) center/100% 100% no-repeat;border:0;color:#d8cbd1;font-size:clamp(11px,1vw,15px);padding:7px;gap:4px}nav button:hover{background-color:transparent;filter:brightness(1.15)}nav button .gIcon{width:35px;height:35px}nav button small{font-size:8px;color:#aaa0b5;letter-spacing:.6px}.panelBottom{border-color:#51495b;font-size:12px}.panelBottom span{color:#b4a9bd}.smallNote{font-size:11px;color:#b4a9bd;line-height:1.65}.locationText{font-size:clamp(14px,1.25vw,20px);line-height:1.85}.clueCard{border-color:#51495b;padding:16px}.clueCard h3{color:#c5a7b9;font-size:clamp(14px,1.3vw,20px)}.clueCard p{font-size:clamp(12px,1.05vw,16px)}.clueCard small{font-size:11px;color:#b4a9bd}.clueCard .num{color:#b49ab6}.clueCard.locked{background-color:#222535;color:#9d92a8}.clueCard.locked h3{color:#9d92a8}.notice{border-color:#8f6e83;font-size:12px}.guideGrid p{font-size:12px;color:#b9afc1}.guideGrid h3{color:#c4a5b7;font-size:16px}.deduceCard{padding:17px;border-color:#51495b}.deduceCard h3{font-size:19px;margin-bottom:7px}.deduceCard p{font-size:12px;color:#b4a9bd;line-height:1.7;margin:8px 0}.deduceCard label{font-size:11px;color:#b4a9bd}.deduceCard select{appearance:auto;background:#222638 url(assets/ui/night-paper.png) center/cover;color:#d8cbd1;border:1px solid #686078;font-size:12px;min-height:35px;margin:5px 0;padding:7px}.deduceCard option{background:#171b2b;color:#d8cbd1}.deduceCard .btn{margin-top:auto}.solved{color:#b6a3c1;font-size:14px}.schedule{font-size:clamp(11px,1vw,15px)}.schedule th{font-size:12px;background:#2a293e;color:#d8cbd1}.schedule td,.schedule th{border-color:#51495b}.schedule .now{color:#d2b9c9;background:#41334c}.badge{color:#d2b9c9;background:#343047;font-size:11px}.empty{color:#b4a9bd}.pauseBody p{color:#b4a9bd;font-size:13px}.clockDecoration{border:0;background:transparent url(assets/ui/night-round.png) center/100% 100% no-repeat}.clockDecoration .gIcon{width:70px;height:70px}.tabs .btn{min-height:34px;font-size:12px;padding:7px 18px}.gallery button{background:var(--paper) url(assets/ui/night-paper.png) center/cover;border-color:#51495b}.gallery button b{font-size:14px}.gallery button small{font-size:11px;color:#b4a9bd}.gallery .unknown{background:var(--dark) url(assets/ui/violet-paper.png) center/cover;color:#c5b9ca}.roster button,.gallery button{position:relative}.roster button:after,.gallery button:after{content:'';position:absolute;inset:0;background:url(assets/ui/night-frame.png) center/100% 100% no-repeat;pointer-events:none}
.titleContent p{font-size:clamp(14px,1.2vw,19px);color:#c4b8c9}.titleContent .btn{background:transparent url(assets/ui/night-button.png) center/100% 100% no-repeat;color:#d8cbd1;min-height:54px}.titleLinks button{background-image:url(assets/ui/copper-button.png);color:#d8cbd1;font-size:12px;padding:9px 16px;gap:6px;min-height:38px;margin:0}.titleLinks .gIcon{width:24px;height:24px}.titleContent .titleLinks{gap:10px}.titleSeal{background:transparent url(assets/ui/night-round.png) center/100% 100% no-repeat;border:0;color:#c9b1c0;width:82px;height:82px}.titleEnglish{color:#b4a8bb}.titleMeta{font-size:11px;color:#bdb1c4}.endingBar{color:#d8cbd1}.endingBar p{font-size:clamp(12px,1.05vw,16px)}.endingBar .muted{color:#b7a9bf}.endingBar .btn{font-size:12px;min-height:40px}.endingBar h2{font-size:clamp(24px,2.5vw,38px)}#toast{background:#1d2032 url(assets/ui/violet-paper.png) center/cover;color:#d8cbd1;border-color:#78647f;font-size:13px}.mapCaption p{font-size:12px;color:#d2c2ca}.mapCaption span{font-size:10px;color:#bfb0be}
@media(max-width:700px){.casePanel{padding:20px}.casePanel h1{font-size:34px;margin:8px 0}.casePanel .intro{display:none}.objective h3{font-size:14px}.objective p{font-size:12px}.caseFoot{display:none}.memory{padding:0}.hintBtn{padding:8px 13px}.modalHead{padding:14px;gap:7px}.modalHead h2{font-size:19px}.modalHead p{font-size:10px;line-height:1.4}.modalHead>.gIcon{width:25px;height:25px}.close{width:34px;height:34px}.close .gIcon{width:28px;height:28px}.modalBody{padding:16px}.dialogueBody{padding:0}.talk{padding:16px}.talk h3{font-size:22px}.speech{font-size:14px}.choice{font-size:12px}.portraitArea{background-size:cover}.portrait{width:170px}.roster small{font-size:11px}.roster b{font-size:15px}.place .pin{width:37px;height:37px}.pin .gIcon{width:31px;height:31px}.place>span:last-child{font-size:11px;padding:5px 12px}.locationText{font-size:14px}.inspectItem{padding:15px 23px}.deduceCard{min-height:330px;padding:20px}.deduceCard select{font-size:12px}.deduceCard p{font-size:13px}.guideGrid p{font-size:13px}.schedule{font-size:10px}.schedule th{font-size:10px}.panelBottom{font-size:10px;padding:12px}.panelBottom .btn{padding:9px 16px;min-height:40px}.panelBottom .gIcon{width:23px;height:23px}nav{padding:8px;gap:5px}nav button{font-size:11px;padding:10px 5px;min-height:55px}nav button .gIcon{width:28px;height:28px}nav button small{font-size:7px}.titleContent .titleLinks{gap:8px;flex-wrap:wrap}.titleLinks button{padding:8px 14px;font-size:12px}.titleMeta{font-size:10px}.titleSeal{width:65px;height:65px}.endingBar p{font-size:13px}.endingBar .actions{gap:8px}.endingBar .btn{font-size:12px}.modal:after{opacity:.45}.clueCard p{font-size:13px}.speech{line-height:1.8}.casePanel .eyebrow{font-size:10px}}
/* Nine-slice the generated plates instead of stretching end ornaments over labels. */
.btn,.hintBtn,.inspectItem,.titleLinks button,.tabs .btn,.titleContent .btn,.endingBar .btn{border:solid transparent;border-width:9px 24px;border-image-source:url(assets/ui/night-button.png);border-image-slice:210 240 210 240 fill;background:none;padding:2px 10px;min-height:45px}
.btn.primary,.tabs .btn.active{border-image-source:url(assets/ui/copper-button.png);background:none;color:#171b2b}
.btn.danger{border-image-source:url(assets/ui/button-red.png);background:none;color:#dccbd0}
.btn.primary:hover,.btn.danger:hover{background:none}.titleContent .btn.primary{border-image-source:url(assets/ui/night-button.png);color:#d8cbd1;background:none}
.titleLinks button{border-image-source:url(assets/ui/copper-button.png);color:#d8cbd1}.inspectItem{min-height:75px;padding:5px 12px}.choice{padding:2px 12px}.tabs .btn{min-height:34px;border-width:6px 18px;padding:2px 8px}.hintBtn{min-height:42px;border-width:7px 20px;padding:2px 7px}.modal:after{background:none;border:36px solid transparent;border-image:url(assets/ui/night-frame.png) 135 fill;opacity:.65}
@media(max-width:700px){.btn,.choice,.titleLinks button,.panelBottom .btn{border-width:8px 18px;padding:3px 7px;min-height:44px}.inspectItem{padding:6px 10px}.modal:after{border-width:23px}.titleContent .btn{padding:5px 14px;min-height:52px}.hintBtn{border-width:7px 16px;padding:2px 6px}.endingBar .btn{padding:3px 7px;border-width:8px 18px}.tabs .btn{min-height:34px;border-width:6px 15px}}

.titleLinks button{color:#d8cbd1}.modalHead h2,.modalHead p{color:#d8cbd1}.endingBar .endDetails>p{color:#d8cbd1}
@media(max-width:700px){body,#overlay{overflow-x:hidden}}

/* Midnight edition: balanced luminance, sans-serif reading and serif story headings. */
body,button,select{font-family:'Microsoft JhengHei','PingFang TC',system-ui,sans-serif}h1,h2,.talk h3,.endingBar h2{font-family:'Noto Serif TC','PMingLiU',serif}body{color:#d8cbd1;background:#10121d;color-scheme:dark}#game{background:#171b2b}.speech,.locationText{line-height:1.95;letter-spacing:.035em}.speech{font-weight:400}.talk h3{letter-spacing:.08em}.tag,.eyebrow{font-family:Arial,'Microsoft JhengHei',sans-serif;font-weight:600}.clock b{font-family:'Courier New',monospace;font-weight:500;letter-spacing:.06em;color:#c49673}.clock small{color:#b4a9bd}.gIcon{filter:grayscale(1) sepia(.45) hue-rotate(175deg) saturate(.7) brightness(.85)}
header,nav,.modalHead,.endingBar{color:#d8cbd1;background-color:#202134}.modal,.talk,.casePanel,.modalBody,.panelBottom{color:#d8cbd1}.portraitArea{background-color:#242234}.btn,.hintBtn,.inspectItem,.titleContent .btn.primary{color:#d8cbd1}.btn.primary,.tabs .btn.active{color:#e0ccd0}.btn.danger{color:#dccbd0}.btn:hover,.btn.primary:hover,.btn.danger:hover{filter:brightness(1.08)}.btn:disabled{opacity:.48;filter:grayscale(1)}.modalHead h2,.modalHead p,.endingBar .endDetails>p{color:#d8cbd1}.modalHead p{color:#b3a5bb}.titleContent .btn.primary{border-image-source:url(assets/ui/copper-button.png)}.titleLinks button{color:#d2c0cf}.clueCard.locked{background-color:#222535}.badge{color:#c9b5ce;background-color:#343047}.titleScreen,.endingScreen{background:#151624;color:#d8cbd1}.titleTint{background:linear-gradient(90deg,#111321fa,#191a2aea 37%,#211c2a50 78%,#17172444),linear-gradient(0deg,#141520dd,transparent 70%)}.titleContent{background:transparent}.titleContent h1{color:#d6c6ce}.titleContent h1 em{color:#c49673}.titleContent .eyebrow{color:#b6a0b8}.titleContent p{color:#bfb1c4}.titleEnglish,.titleMeta{color:#a99bb0}.titleSeal{color:#c9b1c0}.worldShade{background:linear-gradient(#17192b55,transparent 40%,#171a2b88)}.mapCaption{color:#d6c2cb}.weather{color:#b7a9bf}.timeline{color:#b7a9bf;border-color:#8d7a9a66}.timeline #progress{background:#ba8c72;box-shadow:0 0 5px #ba8c7244}.person{background-color:#242234;border-color:#9c809b}.person .personName{color:#d8cbd1;text-shadow:0 1px 2px #14121e}.rule{background:#8a708c}.notice{border-left-color:#997c99}.schedule th{background:#29283c}.schedule .now{background:#41334c;color:#dcc8d7}.deduceCard select,.deduceCard option{background-color:#222638;color:#d8cbd1}.pauseBody h3{color:#c8b1c9}.gallery .unknown{color:#b39ab9}.solved{color:#c1a7c8}.muted{color:#b0a0b6}button:focus-visible,select:focus-visible{outline:2px solid #b59ac4;outline-offset:3px}#toast{color:#d8cbd1;border-color:#8b6f95}.liveDot{background:#bc8f78;box-shadow:0 0 7px #bc8f7844}.titleContent .titleLinks{margin-top:16px}@media(max-width:700px){.titleContent{background:linear-gradient(90deg,#141522e8,#1e1b2c88)}.speech{font-size:14px}.portraitArea{background-size:180% 180%}}
.casePanel,.modal,.talk,.clueCard,.deduceCard,.guideGrid article,.notice,.panelBottom{background-image:linear-gradient(#171b2bc9,#171b2bc9),url(assets/ui/night-paper.png)}

/* Game text is an interface, never a draggable selection. */
html,body,#game,#game *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}#game img{-webkit-user-drag:none;user-drag:none}#game ::selection{background:transparent;color:inherit}#game{cursor:default}#game button,#game select{cursor:pointer}.modalHead .audioToggle{margin-left:auto}.modalHead .audioToggle+.close{margin-left:0}.endingBar .audioToggle{margin-left:4px}.titleLinks .audioToggle{min-width:40px;max-width:50px;padding:6px 10px}@media(max-width:700px){.modalHead{gap:5px}.modalHead .audioToggle{width:30px;height:30px}.modalHead .audioToggle .gIcon{width:25px;height:25px}.modalHead p{font-size:9px}}
@media(max-width:700px){header{padding:0 10px;gap:6px}.brand{gap:6px;letter-spacing:1px;font-size:16px}.brandmark{width:30px;height:30px}.brandmark .gIcon{width:30px;height:30px}header button{width:32px;height:32px;padding:3px}header button .gIcon{width:26px;height:26px}.clock{grid-template-columns:8px auto;column-gap:6px}.clock b{font-size:20px}.clock small{font-size:9px}}
