/* V5.5: one-time opening and post-game hidden archive. */
[hidden]{display:none!important}
#dreamPrologue .dream-lobby-shortcut{position:absolute;z-index:12;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));min-height:44px;padding:10px 13px;border:1px solid rgba(232,218,186,.26);color:#f1e4c7;background:rgba(4,10,8,.78);font-size:12px;line-height:1.5;letter-spacing:.025em;touch-action:manipulation}
.dream-lobby-shortcut kbd{margin-left:9px;font:10px monospace;opacity:.58}
.dream-lobby-shortcut:focus-visible{outline:2px solid #e9b85c;outline-offset:4px}
@media(hover:none){.dream-lobby-shortcut kbd{display:none}}
#dreamPrologue .dream-stage{padding-top:max(78px,calc(64px + env(safe-area-inset-top)))}
#dreamOpeningVideo{touch-action:manipulation}
#sidebar{overflow-y:auto;overscroll-behavior:contain}
#hiddenArchiveNav{margin-top:8px;border-top-color:#b38743!important}
#hiddenArchiveNav.archive-unlocked{box-shadow:inset 3px 0 0 #e9b85c,4px 4px 0 #201209!important}
#hiddenArchiveNav .tiny{letter-spacing:.04em}
#hiddenArchiveView{--vault-paper:#f7ead0;--vault-line:#a58046;--vault-gold:#e7c882}
.vault-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#102c21;color:#f7ead0;border:2px solid #99733e;padding:13px 16px;margin:0 0 16px;box-shadow:4px 4px 0 #142117}
.vault-status-row b{font-size:13px;line-height:1.6}
.vault-status-row small{display:block;color:#b5c8b7;font-size:11px;line-height:1.7}
.vault-count{white-space:nowrap;font:900 20px/1.2 monospace;color:#e7c882;letter-spacing:.08em}
.vault-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}
.vault-tab{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:12px;min-width:0;min-height:70px;padding:13px;border:2px solid #896e43;background:#233a2d;color:#ece1c2;text-align:left;box-shadow:3px 3px 0 #102018}
.vault-tab[aria-selected="true"]{background:#f1dba7;color:#2b1a0e;border-color:#d7b977;box-shadow:inset 0 -4px 0 #cda666,3px 3px 0 #102018}
.vault-tab:focus-visible{outline:3px solid #e9b85c;outline-offset:4px}
.vault-tab-number{font:900 24px/1 monospace;opacity:.5}
.vault-tab b{display:block;font-size:15px;line-height:1.6}
.vault-tab small{font:10px/1.5 monospace;letter-spacing:.04em}
.vault-panel{outline:none}
.vault-card{position:relative;isolation:isolate;padding:24px;border:2px solid #aa8952;background:linear-gradient(145deg,#16372b,#0e241c);color:var(--vault-paper);box-shadow:inset 0 0 0 5px #0a2018,6px 6px 0 rgba(0,0,0,.24)}
.vault-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#baa77e;font:11px/1.8 monospace;letter-spacing:.08em;margin-bottom:18px}
.vault-meta span:last-child{color:#e7c882;white-space:nowrap}
.vault-lock{min-height:320px;display:grid;align-content:center;justify-items:center;text-align:center;overflow:hidden}
.vault-lock::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.2;background:repeating-linear-gradient(135deg,transparent 0 14px,#6e805c 14px 15px);pointer-events:none}
.vault-seal{display:grid;place-items:center;width:64px;height:64px;margin:0 0 16px;border:2px solid #af9562;color:#e4c67f;background:#142b21;box-shadow:0 0 0 7px rgba(198,170,105,.07);font-size:26px}
.vault-lock h3{font-size:24px;margin:6px 0 12px;color:#f7ead0}
.vault-lock p{max-width:470px;margin:0;color:#d0d9c4;font-size:14px;line-height:1.9}
.vault-lock small{display:block;margin-top:22px;color:#b7a780;font:11px/1.8 monospace;letter-spacing:.06em}
.vault-final-intro{padding:20px 22px;margin:0 0 20px;border:2px solid #987c48;background:#18372b;color:#e8e8d0}
.vault-final-intro .eyebrow{color:#e2c47f!important}
.vault-final-intro h3{font-size:23px;margin:8px 0 14px;color:#fff1ce}
.vault-final-intro p{line-height:1.9;font-size:14px}
.vault-memory-type{border-top:1px solid #617153;padding-top:14px;margin:16px 0 0!important;color:#d9c999}
.vault-final-content{width:min(100%,680px);margin:0 auto}
.vault-final-content .final-card{animation:none!important}
.vault-final-content .reward-final-card-wrap{margin-top:0}
.theme-record{width:min(100%,680px);margin:0 auto;text-align:center;padding:24px 28px 22px}
.theme-record .vault-meta{text-align:left}
.theme-title{font-size:clamp(25px,6vw,38px);line-height:1.3;margin:14px 0 8px;color:#fff0c9}
.theme-subtitle{font-size:13px;line-height:1.8;color:#bacab4;margin:0 0 22px}
.theme-vinyl-wrap{display:grid;place-items:center;margin:20px auto 24px;position:relative}
.theme-vinyl{position:relative;display:grid;place-items:center;isolation:isolate;width:min(51vw,216px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at center,#13211b 0 2px,#263a2d 3px 4px,#13211b 5px 6px);box-shadow:0 0 0 2px #61724e,0 0 0 10px #122c21,0 0 0 11px rgba(190,166,109,.3),0 13px 25px #06160e;animation:themeTurn 19s linear infinite;animation-play-state:paused}
.theme-vinyl::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:-1;background:conic-gradient(from 30deg,transparent 0 52deg,rgba(207,226,172,.17) 69deg,transparent 98deg 232deg,rgba(207,226,172,.12) 256deg,transparent 285deg)}
.theme-vinyl-label{display:grid;place-content:center;gap:3px;width:42%;height:42%;border-radius:50%;border:5px solid #1b3023;outline:1px solid #9c8455;background:#c8ac69;color:#193325}
.theme-vinyl-label b{font:900 12px/1 monospace;letter-spacing:.06em}
.theme-vinyl-label small{font:9px/1.3 monospace}
.theme-vinyl-label::after{content:"";width:8px;height:8px;margin:5px auto 0;border-radius:50%;background:#143121}
.theme-record.is-playing .theme-vinyl{animation-play-state:running}
.theme-equalizer{display:flex;align-items:center;justify-content:center;height:28px;gap:4px;opacity:.42}
.theme-equalizer i{display:block;width:3px;height:14px;background:#d9bc74;transform-origin:center;animation:themePulse 1.05s ease-in-out infinite alternate;animation-play-state:paused}
.theme-equalizer i:nth-child(3n){height:23px;animation-delay:-.6s}
.theme-equalizer i:nth-child(2n){height:8px;animation-delay:-.35s}
.theme-equalizer i:nth-child(5n){height:19px;animation-delay:-.8s}
.theme-record.is-playing .theme-equalizer{opacity:1}
.theme-record.is-playing .theme-equalizer i{animation-play-state:running}
.theme-progress{margin:10px 0 14px}
.theme-progress input{display:block;width:100%;height:32px;cursor:pointer;accent-color:#e4bf72;margin:0;-webkit-tap-highlight-color:transparent}
.theme-progress input:disabled{opacity:.38;cursor:default}
.theme-times{display:flex;justify-content:space-between;color:#c1cdb6;font:12px/1.5 monospace}
.theme-play{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:12px 18px;border:2px solid #e1c481;background:#dfbd78;color:#173024;font-weight:900;box-shadow:inset 0 -4px 0 #ba9352,4px 4px 0 #061a11}
.theme-play:disabled{background:#344739;color:#d1d0b5;border-color:#6c7959;box-shadow:inset 0 -3px 0 #25362a,4px 4px 0 #061a11;cursor:default}
.theme-play:focus-visible{outline:3px solid #f8e5a6;outline-offset:4px}
.theme-status{min-height:24px;margin:14px 0 0;color:#cbd2bb;font-size:12px;line-height:1.7}
.theme-footnote{margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(194,170,109,.25);color:#9fb29d;font:11px/1.8 monospace}
.theme-native{width:100%;margin-top:12px}
@keyframes themeTurn{to{transform:rotate(360deg)}}
@keyframes themePulse{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@media(max-width:560px){.vault-status-row{padding:11px 12px;gap:9px}.vault-count{font-size:17px}.vault-tabs{gap:8px}.vault-tab{padding:10px 9px;gap:8px;min-height:67px}.vault-tab-number{font-size:20px}.vault-tab b{font-size:14px}.vault-tab small{font-size:9px}.vault-card{padding:20px 16px}.vault-lock{min-height:290px}.vault-lock h3{font-size:22px}.vault-final-intro{padding:16px}.theme-record{padding:18px 16px}.theme-title{font-size:29px}}
@media(prefers-reduced-motion:reduce){.theme-vinyl,.theme-equalizer i{animation:none!important}.dream-copy .dream-line,.dream-enter{animation:none!important;opacity:1;transform:none}}
/* Keep the inactive mobile drawer off the page and out of the tab order. */
.drawer:not(.open){visibility:hidden;pointer-events:none}
.drawer.open{visibility:visible;pointer-events:auto}
#hiddenArchiveView .section-head .eyebrow{color:#d6bc7e}
@media(max-width:560px){
.theme-record .vault-meta{font-size:10px;margin-bottom:12px}
.theme-vinyl-wrap{margin:12px auto 18px}
.theme-vinyl{width:min(41vw,160px)}
.theme-title{font-size:26px;margin:12px 0 6px}
.theme-subtitle{margin-bottom:12px}
.theme-equalizer{height:20px}
.theme-progress{margin:6px 0 10px}
.theme-footnote{margin-top:12px;padding-top:12px}
}

.archive-video-shell{aspect-ratio:3/4}
@media(max-width:560px){.theme-vinyl{width:min(36vw,144px)}}

#hiddenArchiveView .section-head .eyebrow{color:#d6bc7e!important;opacity:1}

/* V5.6: real text lyrics, one ordered reading column at every screen width. */
.theme-lyrics{margin-top:26px;padding-top:21px;border-top:1px solid rgba(194,170,109,.3);text-align:left}
.theme-lyrics-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.theme-lyrics-head small{color:#bfab78;font:10px/1.5 monospace;letter-spacing:.1em}
.theme-lyrics-head h4{margin:5px 0 0;color:#f9e7be;font-size:18px;line-height:1.5}
.theme-lyrics-open{min-height:44px;padding:9px 12px;border:1px solid #aa8952;background:#203d2b;color:#f5e5be;font-size:12px;white-space:nowrap}
.theme-lyrics-scroll{max-height:420px;max-height:min(58svh,420px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:24px 16px;background:#112b21;border:1px solid rgba(194,170,109,.36);box-shadow:inset 0 1px 16px rgba(0,0,0,.12);scrollbar-width:thin;scrollbar-color:#bfa36c #112b21;outline-offset:4px}
.lyrics-text{--lyric-font:17px;width:100%;max-width:38em;margin:0 auto;color:#f0e5cc;font-size:var(--lyric-font);font-weight:400;line-height:2.05;text-align:center;user-select:text;-webkit-user-select:text;overflow-wrap:anywhere;word-break:normal}
.lyrics-text .lyrics-stanza{margin:0 0 1.85em;font:inherit;color:inherit;line-height:2.05}
.lyrics-text .lyrics-stanza:last-child{margin-bottom:0}
.lyrics-text .lyrics-line{display:block;font:inherit;line-height:inherit}
.lyrics-text .lyrics-refrain{color:#e5c279;font-weight:700;letter-spacing:.08em;margin-bottom:.18em}
.lyrics-text .is-bridge{padding:.6em 0;border-top:1px solid rgba(185,168,113,.25);border-bottom:1px solid rgba(185,168,113,.25);color:#c2d1b8;letter-spacing:.18em}
.lyrics-text .is-rap{text-align:left;max-width:32em;margin-left:auto;margin-right:auto;line-height:2.15}
.lyrics-text .is-rap .lyrics-line+.lyrics-line{margin-top:.35em}
.lyrics-text .lyrics-cue{font-family:monospace;font-weight:900;font-size:1.2em;color:#e5c279;margin-bottom:.4em}
.theme-lyrics-hint{margin:12px 0 0;text-align:center;font-size:11px;line-height:1.6;color:#b2c3aa}
.theme-lyrics-open:focus-visible,.lyrics-tool:focus-visible{outline:3px solid #e9c473;outline-offset:4px}
.lyrics-modal{position:fixed;inset:0;z-index:12000;display:flex;flex-direction:column;min-width:0;background:#0b1f17;color:#f8eccd;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);font-family:inherit}
.lyrics-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:15px max(16px,env(safe-area-inset-right)) 11px max(16px,env(safe-area-inset-left));border-bottom:1px solid rgba(194,170,109,.25)}
.lyrics-modal-head small{display:block;color:#b9a77c;font:9px/1.5 monospace;letter-spacing:.1em}
.lyrics-modal-head h2{font-size:clamp(16px,4vw,22px);line-height:1.4;margin:4px 0 0;font-weight:900;overflow-wrap:anywhere}
.lyrics-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px max(16px,env(safe-area-inset-right)) 9px max(16px,env(safe-area-inset-left));flex:0 0 auto;background:#132a1e}
.lyrics-tool{min-width:44px;min-height:44px;border:1px solid #927a4e;background:#203b29;color:#f2e0b2;padding:9px 12px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.4;touch-action:manipulation;white-space:nowrap}
.lyrics-tool:disabled{opacity:.36;cursor:default}
.lyrics-font-controls{display:flex;align-items:center;gap:6px}
.lyrics-font-reset{min-width:56px;color:#e2c780}
.lyrics-audio-toggle{min-width:85px;background:#d9b775;color:#173024;border-color:#e4c280}
.lyrics-viewport{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto;background:#0b2118;padding:28px 24px 40px;outline-offset:-4px;scrollbar-width:thin;scrollbar-color:#bfa36c #112b21}
.lyrics-text-full{--lyric-font:18px;max-width:640px}
.lyrics-text-full .lyrics-stanza{margin-bottom:2.25em}
.lyrics-reader-hint{flex:0 0 auto;margin:0;padding:7px 12px;text-align:center;font-size:10px;line-height:1.6;color:#a4b899;background:#132a1e}
@media(max-width:380px){.lyrics-modal-head,.lyrics-tools{padding-left:12px;padding-right:12px;gap:8px}.lyrics-modal-head h2{font-size:16px}.lyrics-modal-head small{font-size:8px}.lyrics-tool{padding:8px}.lyrics-audio-toggle{min-width:76px}.lyrics-font-controls{gap:4px}.theme-lyrics-head{gap:8px}.theme-lyrics-open{padding:9px;font-size:11px}.theme-lyrics-scroll{padding:22px 12px}.lyrics-text{--lyric-font:16px}.lyrics-viewport{padding:24px 18px 36px}}
.theme-credit{margin:6px 0 0;color:#f2ddb1;font-size:12px;line-height:1.6;opacity:.9}
.theme-credit-inline{margin-top:4px;font-size:11px;opacity:.8}


/* V6.0 · Creator's Note secret record */
.vault-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.vault-secret-tab:disabled{opacity:.43;filter:saturate(.45);cursor:default}
.creator-record{width:min(100%,720px);margin:0 auto;padding:28px 30px}
.creator-record-lock{min-height:280px;display:grid;place-items:center;align-content:center;text-align:center;color:#d9cfb5}
.creator-record-lock h3{margin:6px 0 10px;color:#f0ddad;font-size:22px}
.creator-record-lock p{max-width:420px;line-height:1.9;color:#b9c4b4}
.creator-note{max-width:610px;margin:0 auto;text-align:left;color:#eee4ca}
.creator-note-kicker{font:10px/1.6 monospace;letter-spacing:.14em;color:#baa36f;margin-bottom:6px}
.creator-note h3{font-size:clamp(29px,6vw,40px);line-height:1.2;margin:0 0 22px;color:#fff0c9}
.creator-note p{font-size:14px;line-height:2;margin:0 0 16px}
.creator-note-lead{font-size:18px!important;font-weight:800;color:#f4ddb0}
.creator-note-em{font-size:17px!important;font-weight:800;color:#f0cb78;border-left:3px solid #c9a55b;padding-left:14px}
.creator-note-game{margin:24px 0;text-align:center;font:900 28px/1.4 monospace;letter-spacing:.13em;color:#eccb7a}
.creator-note hr{border:0;border-top:1px solid rgba(199,174,111,.28);margin:28px 0}
.creator-note-final{font-size:20px!important;font-weight:900;color:#f5d58a;text-align:center;margin:26px 0!important}
.creator-signoff{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-top:30px;padding-top:20px;border-top:1px solid rgba(199,174,111,.25)}
.creator-signoff strong{font-size:22px;color:#f2d99f}.creator-signoff small{font:11px/1.5 monospace;color:#aaaf9d}
.final-archive-link{display:block;width:100%;margin:16px 0 10px;min-height:48px}
@media(max-width:560px){.vault-tabs{grid-template-columns:1fr 1fr}.vault-secret-tab{grid-column:1/-1}.creator-record{padding:20px 16px}.creator-note p{font-size:13px;line-height:1.95}.creator-note-lead{font-size:16px!important}.creator-note-em{font-size:15px!important}.creator-note-final{font-size:18px!important}}
