/* 安静的封面、档案式菜单，与游戏中的暖灰文字保持一致。 */
.scene-slideshow {position:absolute;inset:0;overflow:hidden;pointer-events:none;background-color:#080b0d;background-image:url('../assets/cover/mirror-record-cover-v2.webp');background-position:center center;background-size:cover;background-repeat:no-repeat;}
.scene-slideshow span {display:none;}
.scene-slideshow::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,10,.92),rgba(5,8,10,.44) 42%,rgba(5,8,10,.22) 76%),linear-gradient(0deg,rgba(5,8,10,.84),transparent 62%);}
@keyframes scene-crossfade {0%,28%{opacity:1}36%,92%{opacity:0}100%{opacity:1}}
.cover {background:#090c0f;align-items:center;justify-content:flex-start;text-align:left;}
.cover-vhs {display:none;}
.cover-content {width:min(760px,calc(100vw - 56px));margin-left:clamp(28px,22vw,560px);justify-items:start;align-items:flex-start;text-align:left;padding:32px 0;gap:4px;}
.cover-content h1 {font-size:clamp(34px,5.5vw,78px);letter-spacing:.04em;line-height:1.4;text-shadow:none;margin:16px 0 10px;}
.cover-content h1 span {display:block;color:#dbc394;font-size:1.24em;}
.cover-content .subtitle {text-align:left;font-size:15px;letter-spacing:.06em;margin:26px 0;color:#bcbdb8;}
.title-english {font:12px/1.7 Georgia,serif;letter-spacing:.22em;color:#c6bdab;margin:0 0 25px;}
.title-kicker {font-size:12px;letter-spacing:.24em;color:#bba275;border-left:2px solid #bba275;padding-left:12px;}
.account-row {display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:0 0 8px;}
.account-status {min-height:22px;margin:0;color:#d7c7a2;font-size:14px;letter-spacing:.08em;text-shadow:0 2px 8px #000;}
.account-status.is-guest {color:#b8b0a0;}
.logout-action {padding:0;border:0;background:transparent;color:#bba275;font-size:13px;letter-spacing:.08em;text-decoration:underline;text-underline-offset:4px;box-shadow:none;}
.logout-action:hover,.logout-action:focus-visible {color:#eadbc0;background:transparent;}
.cover-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;max-width:650px;}
.cover-footer {width:fit-content;max-width:100%;}
.cover-actions .primary-action,.cover-actions .ghost-action {margin:0;padding:13px 25px;font-size:16px;}
.cover-actions .primary-action,.cover-actions .ghost-action {background:rgba(17,22,24,.88);background-image:none;border:1px solid #817156;border-image:none;border-radius:2px;box-shadow:none;min-width:0;min-height:48px;text-decoration:none;color:#eadbc0;}
.cover-actions .primary-action {background:#3e3524;border-color:#b29a68;}
.cover-actions .primary-action:hover,.cover-actions .ghost-action:hover {background:#51432d;border-color:#dbc38c;}
.cover-actions .primary-action::before,.cover-actions .primary-action::after,.cover-actions .ghost-action::before,.cover-actions .ghost-action::after {display:none;}
.cover-footnote {font-size:12px;color:#aaa69b;margin-top:34px;line-height:1.8;}
[hidden] {display:none!important;}
.save-browser {position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:28px;background:rgba(3,6,8,.88);color:#e8dfcc;}
.save-browser::before {content:'';position:absolute;inset:0;background:url('../assets/cover/mirror-record-cover-v2.webp') center/cover no-repeat;opacity:.18;filter:grayscale(.35);}
.save-browser-shell {position:relative;width:min(940px,94vw);max-height:min(820px,92vh);display:flex;flex-direction:column;border:1px solid #786b54;background:rgba(12,17,20,.96);box-shadow:14px 18px 45px rgba(0,0,0,.58);}
.save-browser-header {display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 32px 20px;border-bottom:1px solid #474339;}
.save-browser-kicker {margin:0 0 8px;color:#bba275;font-size:12px;letter-spacing:.18em;}
.save-browser-header h2 {margin:0;font-size:30px;font-weight:normal;letter-spacing:.08em;}
.save-browser-close {border:0;background:transparent;color:#c6b994;padding:7px 0;font:14px "Ark Pixel",sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:4px;}
.save-browser-copy {margin:0;padding:18px 32px 8px;color:#aaa99f;font-size:14px;line-height:1.7;}
.save-slot-list {overflow:auto;padding:12px 32px 26px;display:grid;gap:12px;}
.save-slot {display:grid;grid-template-columns:190px minmax(0,1fr) auto;min-height:124px;border:1px solid #4b4d47;background:#171e21;text-align:left;color:inherit;}
.save-slot.is-active {border-color:#b9a06c;background:#202522;}
.save-slot-preview {min-height:122px;background:#0a0e10 center/cover no-repeat;position:relative;overflow:hidden;}
.save-slot-preview::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(23,30,33,.8));}
.save-slot-copy {align-self:center;padding:18px 22px;min-width:0;}
.save-slot-copy h3 {margin:0 0 9px;color:#e7d4a9;font-size:18px;font-weight:normal;}
.save-slot-copy p {margin:0;color:#b8bcb6;font-size:14px;line-height:1.65;}
.save-slot-time {display:block;margin-top:8px;color:#898f8b;font-size:12px;}
.save-slot-actions {display:flex;align-items:center;gap:8px;padding:18px 20px;}
.save-slot-actions button,.save-browser-footer button {min-height:44px;border:1px solid #71654f;background:transparent;color:#e8dfcc;padding:10px 17px;font:14px "Ark Pixel",sans-serif;cursor:pointer;}
.save-slot-actions .load-slot,.save-browser-footer .primary-action {background:#443923;border-color:#b49a65;}
.save-slot-actions .delete-slot {border:0;color:#a99d87;text-decoration:underline;text-underline-offset:4px;padding-inline:8px;}
.save-slot-actions button:hover,.save-browser-footer button:hover {background:#55472d;color:#fff0ce;}
.save-browser-empty {border:1px dashed #55544d;padding:42px 24px;text-align:center;color:#aaa99f;line-height:1.8;}
.save-browser-footer {display:flex;gap:12px;padding:20px 32px 28px;border-top:1px solid #393d3b;}
.game-tools {position:absolute;right:20px;top:18px;z-index:9;display:flex;gap:6px;}
.game-tools button {padding:9px 12px;border:1px solid #6a6254;background:rgba(12,16,19,.85);color:#d7cfbe;font:14px "Ark Pixel",sans-serif;cursor:pointer;}
.game-tools button[aria-pressed=true] {border-color:#d5bb81;color:#f4d99a;}
.game-tools button:hover {background:#30342f;}
#wake-intro .close-action {padding:9px 12px;border:1px solid #6a6254;border-image:none;background:rgba(12,16,19,.85);box-shadow:none;color:#d7cfbe;font:14px "Ark Pixel",sans-serif;text-shadow:none;}
#wake-intro .close-action:hover,#wake-intro .close-action:focus-visible {border-color:#d5bb81;background:#30342f;color:#f4d99a;}
#wake-intro .close-action:disabled {opacity:.55;cursor:default;}
.galgame-portrait {display:none!important;}
.control-tutorial {max-width:95vw;flex-wrap:wrap;justify-content:center;gap:10px 18px;}
.journal-overlay,.pause-menu-overlay {position:fixed;inset:0;z-index:95;display:grid;place-items:center;background:rgba(3,7,10,.8);padding:24px;color:#e1dacb;}
.journal-window {width:min(860px,96vw);max-height:88vh;display:flex;flex-direction:column;border:1px solid #786b54;background:#13191d;box-shadow:0 24px 80px #0008;text-align:left;}
.pause-menu-window {width:min(1060px,96vw);max-height:90vh;display:flex;flex-direction:column;border:1px solid #786b54;background:#13191d;box-shadow:0 24px 80px #0008;text-align:left;}
.journal-header {display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid #3c4141;gap:16px;}
.journal-header>div {min-width:0;}
.journal-header h2 {margin:0;font-size:25px;letter-spacing:.08em;}
.journal-header button,.journal-action {border:1px solid #595c55;background:transparent;color:#e1dacb;padding:10px 16px;font:inherit;cursor:pointer;}
.pause-menu-kicker {margin:0 0 7px;color:#bba275;font-size:12px;letter-spacing:.18em;}
.pause-menu-actions {display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:10px;padding:18px 28px;overflow-x:auto;border-bottom:1px solid #343936;}
.pause-menu-actions button {min-height:54px;border:1px solid #4d514d;background:#1a2226;color:#e1dacb;padding:12px 16px;text-align:center;font:inherit;cursor:pointer;}
.pause-menu-actions button:hover,.pause-menu-actions button:focus-visible {border-color:#b49a65;background:#30392f;}
.pause-menu-actions strong {display:block;color:#e7d4a9;font-size:16px;font-weight:normal;white-space:nowrap;}
.pause-menu-content {min-height:260px;padding-top:22px;}
.pause-save-actions {grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:10px;overflow-x:auto;}
.pause-save-actions .journal-action {width:100%;min-height:54px;white-space:nowrap;}
.new-game-confirmation {grid-column:1/-1;}
.new-game-confirmation-actions {grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:10px;overflow-x:auto;}
.new-game-confirmation-actions .journal-action {width:100%;min-height:54px;text-align:center;white-space:nowrap;}
.journal-content {padding:24px 28px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;line-height:1.8;}
.journal-card {border:1px solid #343e40;background:#1b2328;padding:15px 18px;}
.journal-card h3 {font-size:16px;font-weight:normal;color:#dfc99b;margin:0 0 7px;}
.journal-card p {font-size:14px;margin:0;color:#bdc5c3;}
.journal-card.is-muted {opacity:.65;}
.journal-action {min-height:48px;text-align:left;}
.journal-action:hover {background:#30392f;}
.journal-content pre {grid-column:1/-1;font:12px/1.5 monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:#a8bab2;}
button:focus-visible,a:focus-visible {outline:2px solid #dfc99b;outline-offset:4px;}
.auth-page .scene-slideshow {position:fixed;}
.auth-page .auth-shell {grid-template-columns:minmax(320px,1.1fr) minmax(320px,.9fr);column-gap:7vw;align-content:center;padding:100px clamp(30px,7vw,130px) 55px;}
.auth-brand {position:relative;max-width:650px;justify-self:start;margin-bottom:35px;}
.auth-brand h2 {font-size:clamp(30px,3.7vw,60px);font-weight:normal;line-height:1.45;margin:20px 0;letter-spacing:.05em;}
.auth-brand h2 span {display:block;color:#dcc18a;font-size:1.3em;}
.auth-brand p:last-child {color:#aaaead;line-height:1.9;font-size:14px;}
.auth-page .auth-card {width:min(440px,100%);padding:35px;background:rgba(15,20,23,.93);border-radius:2px;}
.auth-page .auth-copy h1 {font-size:32px;letter-spacing:.08em;}
.auth-page .auth-note {grid-column:2;width:min(440px,100%);}
.auth-page .auth-shell::before {box-shadow:none;}
@media(max-width:850px){
  .game-tools{top:auto;bottom:14px;right:12px;}.game-tools button{font-size:12px;padding:8px;}
  .auth-page .auth-shell{grid-template-columns:1fr;padding:90px 24px 30px;}.auth-brand{justify-self:center;width:min(440px,100%);}
  .auth-page .auth-note{grid-column:1;}.auth-brand h2{font-size:30px;}.auth-brand p:last-child{display:none;}
  .journal-content{grid-template-columns:1fr;}.cover-content{width:min(440px,86vw);margin-left:7vw;}.cover-content h1{font-size:36px;}
  .journal-header{padding:16px;}.journal-content{padding:16px}.pause-menu-actions{padding:12px 16px;grid-auto-columns:minmax(128px,1fr)}.pause-menu-actions button{min-height:48px}.pause-save-actions,.new-game-confirmation-actions{grid-template-columns:repeat(3,minmax(170px,1fr))}
  .save-browser{padding:12px}.save-browser-header,.save-browser-copy,.save-slot-list,.save-browser-footer{padding-left:18px;padding-right:18px}.save-slot{grid-template-columns:112px minmax(0,1fr)}.save-slot-preview{min-height:110px}.save-slot-actions{grid-column:1/-1;padding:0 14px 14px;justify-content:flex-end}.save-slot-copy{padding:14px}.save-browser-footer{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  .scene-slideshow span{animation:none!important;opacity:0;}.scene-slideshow span:first-child{opacity:1;}
  .var-toast{transition:none;}
}
