/* m28 · arrival, opening scenes and secondary records share the town's materials. */
body.m27{--brand:#b78c45;--brand-grad:linear-gradient(130deg,#e4c790,#ae7b39);--brand-soft:#e8d6ad;--brand-border:#a98b58;--ink:#342d22;--ink-2:#6b5b45;--ink-3:#8b785c;--nick:#675334;--line:#a88d604d;--focus:#caad71;--danger:#a3493b}
body.m27 #page-login{position:relative;isolation:isolate;justify-content:center;align-items:center;padding:24px;background:#0b1b21;overflow-y:auto}
body.m27 #page-login:before{content:'';position:fixed;inset:0;z-index:-2;width:auto;height:auto;border-radius:0;background-image:linear-gradient(0deg,#061016e8,#06101625 62%,#06101644),url('/assets/m27/town-world.webp');background-size:cover;background-position:center 57%;opacity:1;filter:none}
body.m27 #page-login:after{content:'';position:fixed;inset:0;z-index:-1;width:auto;height:auto;border-radius:0;background:radial-gradient(ellipse at 48% 50%,transparent 10%,#06101866 100%);pointer-events:none}
body.m27 #page-login .m24-login-label{font:12px/1.8 'SimSun',serif;color:#d2ba8a;letter-spacing:.3em;margin:0 0 18px;text-shadow:0 2px 5px #000}
body.m27 #page-login .logo{font-family:'STKaiti','KaiTi','SimSun',serif;font-size:clamp(58px,12vw,88px);font-weight:600;letter-spacing:.16em;color:#ead8b0;-webkit-text-fill-color:#ead8b0;background:none;text-shadow:0 4px 9px #0009;margin-left:.16em;line-height:1.3}
body.m27 #page-login .slogan{font:14px/1.9 'SimSun',serif;letter-spacing:.1em;color:#d3c09e;margin:15px 0 32px;text-shadow:0 2px 5px #000}
body.m27 #page-login .card{width:min(390px,100%);padding:25px 25px 23px;border:1px solid #af8e535e;border-radius:2px;background:linear-gradient(130deg,#1d2522d9,#081a1de8);box-shadow:0 14px 50px #0006,inset 0 0 0 4px #b08f4912;backdrop-filter:blur(6px)}
body.m27 #page-login .input{color:#e6d4b4;background:#07131599;border:1px solid #997e4d7a;border-radius:2px;padding:13px 14px;box-shadow:none;line-height:1.7;font-size:16px}
body.m27 #page-login .input::placeholder{color:#b5a78e}.m27 #page-login .input:focus{border-color:#dec28a;background:#0b181ade;box-shadow:0 0 0 2px #bc9b5822}
body.m27 #page-login .btn{background:linear-gradient(130deg,#eed6a0,#bd954f);color:#30291d;border:1px solid #d6b770;border-radius:2px;font:19px/1.6 'STKaiti','KaiTi','SimSun',serif;box-shadow:inset 0 0 0 3px #f8e9bf44,0 3px 8px #0003;padding:11px 15px;letter-spacing:.2em}
body.m27 #page-login .switch{color:#cfbb96;font-family:'SimSun',serif;font-size:13px;line-height:1.9;min-height:32px;padding-top:7px}.m27 #page-login .error{color:#f2b79c;line-height:1.8}
body.m27 .bs-root{--bs-ink:#342d22;--bs-muted:#766349;--bs-line:#9c7e514d;--bs-paper:#e7d8ba;--bs-red:#9f4735;font-family:'Songti SC','SimSun',serif}
body.m27 .bs-overlay{background:#061217bc;backdrop-filter:blur(3px)}
body.m27 .bs-dialog{background-image:linear-gradient(100deg,#fff3d72b,#aa7b351a),url('/assets/m28/paper-texture.webp');background-size:100% 100%;background-color:#e3d3b6;border:1px solid #ad8a54;box-shadow:0 0 0 4px #30281e,0 18px 70px #0008;border-radius:2px}
body.m27 .bs-dialog-head{border-color:#95774c66;background:linear-gradient(100deg,#99845e22,transparent);padding:13px 20px}.m27 .bs-dialog-title{font-size:17px;letter-spacing:.12em}.m27 .bs-close{color:#6c5335;font-size:14px}.m27 .bs-dialog-content{padding:25px 28px}.m27 .bs-primary{color:#ecd8af;background:#172723;border:1px solid #927342;box-shadow:inset 0 0 0 2px #af8f4a2b;font-size:16px;min-height:46px;letter-spacing:.06em}.m27 .bs-quiet{border-color:#9e805455;color:#6c5435;background:#e7d7b733;font-size:14px}.m27 .bs-status{background:#cfba9180;border-color:#97784b66}.m27 .bs-status[role=alert]{color:#842e22;background:#d6aaa05e}
body.m27 .bs-intro{background:#0b171b;z-index:350;overflow:hidden}
body.m27 .bs-intro .bs-dialog{height:var(--app-height,100dvh);max-height:none;background:#0b171b;border:0;box-shadow:none;border-radius:0;position:relative;isolation:isolate;color:#ecddbe}
body.m27 .bs-intro .bs-dialog:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#061217a8,#06121700 75%),url('/assets/m28/ferry-stage.webp') center/cover;opacity:.7}
body.m27 .bs-intro .bs-dialog-head{background:linear-gradient(180deg,#06121799,transparent);border:0;color:#dcc69e}.m27 .bs-intro .bs-close{color:#e1cda7;background:#10202399;border:1px solid #ac8a4e66;border-radius:50%;min-width:46px;min-height:46px}
body.m27 .bs-intro .bs-dialog-content{padding:0 6vw 4vh;align-items:flex-end;position:relative;overflow:auto}
body.m27 .bs-intro-scene{width:min(900px,100%);min-height:65vh;padding:40px 3vw 25px;justify-content:flex-end;position:static}
body.m27 .bs-intro-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.65;filter:saturate(.9)}
body.m27 .bs-intro-scene:after{position:absolute;inset:0;background:linear-gradient(0deg,#071317f5,#071317b5 35%,#07131708 80%);z-index:-1}
body.m27 .bs-scene-index{color:#bda16a;margin-bottom:18px;letter-spacing:.2em}.m27 .bs-intro .bs-eyebrow{color:#cbb58f}.m27 .bs-intro-title{font-family:'STKaiti','KaiTi','SimSun',serif;font-size:clamp(30px,5vw,52px);margin-bottom:19px!important;color:#f0dfba;letter-spacing:.12em}.m27 .bs-intro-text{max-width:650px;font-size:17px;line-height:2.05;text-shadow:0 2px 4px #000;overflow-wrap:anywhere;color:#e2d2b6}.m27 .bs-scene-actions{margin-top:25px;gap:14px}.m27 .bs-intro .bs-primary{color:#2c281c;background:linear-gradient(120deg,#ecd3a1,#b78f48);border-color:#c6a569;box-shadow:inset 0 0 0 3px #f0dcad33}.m27 .bs-intro .bs-quiet{border-color:#ae8d4e80;color:#ddcba9;background:#122124bb}.m27 .bs-intro .bs-status{background:#0e2024;color:#e5d0a8;border-color:#a0854a55}
body.m27 .bs-letter h3,.m27 .bs-report-title{font-family:'STKaiti','KaiTi','SimSun',serif;letter-spacing:.1em}.m27 .bs-letter-text,.m27 .bs-report-closure blockquote{border-color:#9a7042;line-height:2;font-size:17px}.m27 .bs-letter-number{color:#b39a6c5e}.m27 .bs-letter-byline,.m27 .bs-letter-source,.m27 .bs-report-places p{color:#786146}.m27 .bs-report-stats dd{color:#4b3824}.m27 .bs-root summary{color:#705839;font-size:15px}.m27 .bs-root :is(.fi-attached-photo,.fi-attached-statement,.fi-attached-archive){background:#f1e4cb!important;border-color:#9e7c4e66!important;color:#362b1d!important}.m27 .bs-root .fi-attached-photo figcaption{color:#493925!important}
/* Legacy public originals remain usable, without falling back to a white web dialog. */
body.m27 .ta-overlay,body.m27 .material-overlay{background:#041014c9;backdrop-filter:blur(3px)}
body.m27 .material-dialog{background-image:url('/assets/m28/paper-texture.webp');background-color:#e5d5b8;background-size:cover;border:1px solid #aa8b58;color:#352d21;border-radius:3px;box-shadow:0 0 0 4px #32291d,0 20px 55px #0008;font-family:'Songti SC','SimSun',serif}
body.m27 .material-dialog :is(h2,h3){font-family:'STKaiti','KaiTi','SimSun',serif;letter-spacing:.07em}.m27 .material-dialog button{min-height:44px}.m27 .material-dialog textarea{font-size:16px!important}
@media(min-aspect-ratio:6/5){body.m27 #page-login:before{background-image:linear-gradient(90deg,#061016d0,#06101620 75%),url('/assets/m28/town-world-wide.webp'),url('/assets/m27/town-world.webp');background-position:center}body.m27 #page-login{align-items:flex-start;padding-left:max(8vw,24px)}body.m27 #page-login .logo,body.m27 #page-login .slogan,body.m27 #page-login .m24-login-label{width:min(390px,100%);text-align:center}}
@media(max-width:600px){body.m27 #page-login{padding:28px 25px}.m27 #page-login .card{padding:23px 21px}.m27 #page-login .slogan{font-size:12px!important;letter-spacing:.04em!important}.m27 .bs-dialog-content{padding:22px 20px}.m27 .bs-overlay:not(.bs-intro){padding:13px}.m27 .bs-overlay:not(.bs-intro) .bs-dialog{max-height:calc(var(--app-height,100dvh) - 28px)}body.m27 .bs-intro .bs-dialog-content{padding-left:24px;padding-right:24px}.m27 .bs-intro-scene{padding-left:0;padding-right:0}.m27 .bs-intro-text{font-size:16px;line-height:1.95}.m27 .bs-letter-text{font-size:16px}.m27 .bs-letter h3{font-size:25px}.m27 .bs-report-stats{gap:7px}.m27 .bs-report-stats dd{font-size:24px}}
@media(max-height:550px){body.m27 #page-login{justify-content:flex-start;padding-top:20px;padding-bottom:20px}.m27 #page-login .logo{font-size:45px!important}.m27 #page-login .slogan{margin:8px 0 16px!important}.m27 #page-login .m24-login-label{display:none}.m27 .bs-intro-scene{min-height:100%;padding-top:22px}.m27 .bs-intro-title{font-size:29px;margin-bottom:12px!important}.m27 .bs-scene-index{margin-bottom:10px}.m27 .bs-scene-actions{margin-top:16px}}
/* Public archives: filed originals, never a fabricated evidence list. */
body.m27 .im-archives .ta-root.ta-game-root{--ta-paper:#e6d6b7;--ta-ink:#3e3020;--ta-muted:#79644a;--ta-line:#98774a55;--ta-cyan:#263a31;--ta-navy:#e9d6ac;background:transparent;font-family:'Songti SC','SimSun',serif;padding:0 3px 25px}
body.m27 .im-archives .ta-layer-nav{border-color:#8e724755}.m27 .im-archives .ta-layer-nav h1{font-size:21px;letter-spacing:.08em}.m27 .im-archives :is(.ta-section-head h2,.ta-record-title){color:#43321d;font-family:'STKaiti','KaiTi','SimSun',serif;font-size:20px!important;font-weight:500}.m27 .im-archives :is(.ta-record-source,.ta-record-date,.ta-result-summary,.ta-section-head>span){color:#7b6547;font-size:13px}.m27 .im-archives .ta-back{color:#735534;font-size:15px}
body.m27 .im-archives .ta-location{background:#cbb58733;color:#725a38;border:1px solid #94734377;border-radius:2px;font-size:14px}.m27 .im-archives .ta-location[aria-pressed=true]{background:#24342e;color:#e5d0a5;border-color:#987840}.m27 .im-archives .ta-search-tools{background:#c4ad7c22;border-color:#97784a55;border-radius:2px}.m27 .im-archives .ta-search-tools summary{color:#775d3b;font-size:14px}.m27 .im-archives :is(.ta-search input,.ta-filters select){color:#3d3020;background:#eadebe;border-color:#9b7e5155;border-radius:2px}.m27 .im-archives :is(.ta-category,.ta-button){color:#614b2d;border-radius:2px;border-color:#9c7f5066;background:#d5c09422;font-size:14px}.m27 .im-archives .ta-primary{background:#24382e;color:#ecd6a8;border-color:#93713f}.m27 .im-archives .ta-category[aria-pressed=true]{background:#9d82422a;color:#5c4020}.m27 .im-archives .ta-record{border-color:#96784c55;padding:18px 5px}.m27 .im-archives .ta-record:hover{background:#c2a57222}.m27 .im-archives .ta-record-icon{background:#9f804733;color:#785a31;border-radius:1px;width:37px;height:46px}.m27 .im-archives .ta-record-mark{color:#86653d;background:#bea16c2b;border-radius:1px}
body.m27 .im-archives .ta-paper{background:linear-gradient(100deg,#fff0d126,#b89a6120),url('/assets/m28/paper-texture.webp');background-size:100% 100%;border:1px solid #987849;border-top:3px double #856238;border-radius:1px;box-shadow:0 5px 12px #4e371a2a;padding:27px 24px;color:#382d20}.m27 .im-archives .ta-paper-title{color:#342a1e;font:27px/1.65 'STKaiti','KaiTi','SimSun',serif!important}.m27 .im-archives .ta-document-body{color:#453522;font-size:17px;line-height:2}.m27 .im-archives .ta-document-meta{border-color:#92704466;font-size:13px}.m27 .im-archives .ta-document-meta dt{color:#856a47}.m27 .im-archives .ta-document-meta dd{color:#695233}.m27 .im-archives :is(.ta-paper-top,.ta-paper-foot,.ta-saved-label){color:#896b43}.m27 .im-archives .ta-status{background:#c3aa7333;border-color:#a0844b55;color:#5d482d;border-radius:2px}.m27 .im-archives :is(.ta-empty,.ta-loading){background:transparent;border-color:#9d805244;color:#806747;border-radius:2px}
/* The opening is one continuous shot. Old daytime evidence photography stays in evidence. */
body.m27 .bs-intro .bs-dialog:before{background-image:linear-gradient(0deg,#07141935,#07141900),url('/assets/m27/town-world.webp');background-position:center;background-size:cover;opacity:1}
body.m27 .bs-intro .bs-dialog:has(.bs-intro-image[src*='c2-']):before{background-image:linear-gradient(0deg,#07141935,#07141900),url('/assets/m28/case-clockwork.webp')}
body.m27 .bs-intro .bs-dialog-content{flex:1;min-height:0;width:100%;align-items:flex-end;justify-content:center}
body.m27 .bs-intro-image{visibility:hidden}
body.m27 .bs-intro-scene{background:none;min-height:0;padding-bottom:4dvh}
body.m27 .bs-intro-scene:after{background:linear-gradient(0deg,#061216f5,#061216aa 47%,#06121600 95%)}
body.m27 .bs-intro .bs-scene-actions{justify-content:flex-start;width:auto;align-self:flex-start}
body.m27 .bs-intro .bs-primary{border-radius:2px;min-height:48px}
@media(min-aspect-ratio:6/5){body.m27 .bs-intro .bs-dialog:before{background-image:linear-gradient(0deg,#07141935,#07141900),url('/assets/m28/town-world-wide.webp')}body.m27 .bs-intro .bs-dialog:has(.bs-intro-image[src*='c2-']):before{background-image:linear-gradient(0deg,#07141935,#07141900),url('/assets/m28/case-clockwork.webp')}}
@media(max-height:550px){body.m27 .bs-intro .bs-dialog-content{align-items:flex-start}body.m27 .bs-intro-scene{padding-bottom:20px}}
