@import url("./leaderboard.css");
/* C 实景浮层：页面/弹窗/记录统一控件。实时轨道由 cinematic4k renderer 独立承载。 */
:root{--rt-surface:rgba(246,241,230,0.93725);--rt-surface:#f6f1e6ef;--rt-surface-soft:#e8e1d3;--rt-text:#354258;--rt-muted:#68717d;--rt-line:rgba(180,168,139,0.50196);--rt-line:#b4a88b80;--rt-accent:#c9b07a;--rt-scene-image:url('../assets/backgrounds/mondstadt.webp');--ink:var(--rt-text);--ink-soft:var(--rt-muted);--paper:var(--rt-surface);--paper-deep:var(--rt-surface-soft);--line:var(--rt-line);--navy:#354258;--ui-dialog-width:1180px;--ui-header-height:72px;--shadow:0 18px 65px rgba(7,19,33,0.25098);--shadow:0 18px 65px #07132140}
[data-theme=dark]{--rt-surface:var(--rt-region-surface,rgba(25,46,66,0.92941));--rt-surface:var(--rt-region-surface,#192e42ed);--rt-surface-soft:var(--rt-region-soft,#23384b);--rt-text:#f5efdf;--rt-muted:#c5c9ca;--rt-line:rgba(184,182,156,0.39608);--rt-line:#b8b69c65;--rt-accent:var(--rt-region-accent,#d5bd86);--ink:var(--rt-text);--ink-soft:var(--rt-muted);--paper:var(--rt-surface);--paper-deep:var(--rt-surface-soft);--line:var(--rt-line);--navy:#354258}
body[data-page]{isolation:isolate;background:#20354a!important;background-image:none!important;color:#f5eedb;font:16px/1.55 var(--font-ui)}
body[data-page]::before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(90deg,rgba(16,40,59,0.90196),rgba(17,40,61,0.33333) 70%),var(--rt-scene-image) center/cover no-repeat;background:linear-gradient(90deg,#10283be6,#11283d55 70%),var(--rt-scene-image) center/cover no-repeat;pointer-events:none}
body[data-page]::after{content:"";position:fixed;top:14px;right:14px;bottom:14px;left:14px;border:1px solid rgba(223,212,177,0.1451);border:1px solid #dfd4b125;z-index:150;pointer-events:none}
.site-header{background:rgba(19,40,59,0.58431)!important;background:#13283b95!important;border-bottom:1px solid rgba(213,206,176,0.26667);border-bottom:1px solid #d5ceb044;box-shadow:none;backdrop-filter:blur(10px);padding-left:max(18px, min(4vw, 66px));padding-right:max(18px, min(4vw, 66px));padding-left:max(18px, min(4vw, 66px));padding-left:clamp(18px,4vw,66px);padding-right:max(18px, min(4vw, 66px));padding-right:clamp(18px,4vw,66px);height:calc(72px + env(safe-area-inset-top));gap:26px}
.brand{font-size:18px!important;color:#f5eedb}.brand>span{border:0;transform:none;width:30px;height:30px;color:var(--rt-accent);font-size:30px}
.site-nav{gap:8px;max-width:75%;overflow-x:auto;scrollbar-width:none;min-width:0}.site-nav::-webkit-scrollbar{display:none}.site-nav a,.site-nav button{color:#d4d8d5;border-radius:26px;padding:8px 18px;font-size:14px;min-height:44px;border:1px solid transparent}.site-nav :is(a,button){color:#d4d8d5;border-radius:26px;padding:8px 18px;font-size:14px;min-height:44px;border:1px solid transparent}
.site-nav [aria-current=page]:not(does-not-exist),.site-nav button:hover,.site-nav a:hover{background:#eee7d5;color:#354258!important;border-color:#c7b588;box-shadow:inset 0 0 0 4px #eee7d5,inset 0 0 0 5px rgba(187,165,128,0.43922);box-shadow:inset 0 0 0 4px #eee7d5,inset 0 0 0 5px #bba58070}
.site-nav :is([aria-current=page],button:hover,a:hover){background:#eee7d5;color:#354258!important;border-color:#c7b588;box-shadow:inset 0 0 0 4px #eee7d5,inset 0 0 0 5px rgba(187,165,128,0.43922);box-shadow:inset 0 0 0 4px #eee7d5,inset 0 0 0 5px #bba58070}
.site-main .eyebrow,#site-dialog .eyebrow{font:13px/1.5 var(--font-ui);letter-spacing:.03em;color:var(--rt-muted)}
body[data-page] button,body[data-page] a.primary,body[data-page] a.secondary,#site-dialog a.primary,#site-dialog a.secondary{font-family:var(--font-ui)}
body[data-page] button:not(.does-not-exist):focus-visible{outline:3px solid var(--rt-accent);outline-offset:4px}
body[data-page] a.primary:focus-visible{outline:3px solid var(--rt-accent);outline-offset:4px}
body[data-page] a.secondary:focus-visible{outline:3px solid var(--rt-accent);outline-offset:4px}
body[data-page] :is(button,a.primary,a.secondary):focus-visible{outline:3px solid var(--rt-accent);outline-offset:4px}
.site-main>:not(.scoped-game) h1,.site-main>:not(.scoped-game) h2,.site-main>:not(.scoped-game) h3,#site-dialog h1,#site-dialog h2,#site-dialog h3{font-family:var(--font-ui);font-weight:400;color:inherit;letter-spacing:0}
.site-main>:not(.scoped-game) :is(h1,h2,h3),#site-dialog :is(h1,h2,h3){font-family:var(--font-ui);font-weight:400;color:inherit;letter-spacing:0}
.site-main .panel-card,.site-main .song-card,.site-main .result-page,.site-main .archive-content,#site-dialog .panel-card{background:var(--rt-surface);color:var(--rt-text);border:1px solid var(--rt-line);border-radius:10px;box-shadow:none}
.site-main :is(.panel-card,.song-card,.result-page,.archive-content),#site-dialog .panel-card{background:var(--rt-surface);color:var(--rt-text);border:1px solid var(--rt-line);border-radius:10px;box-shadow:none}
.panel-card::after{content:none}
.region-song-panel::after{content:none}
.result-page::after{content:none}
.leaderboard::before{content:none}
:is(.panel-card,.region-song-panel,.result-page)::after,.leaderboard::before{content:none}
body[data-page] .primary:not(does-not-exist),body[data-page] a.primary,#site-dialog .primary{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:28px;padding:11px 27px;gap:12px;background:#efe7d4!important;color:#354258!important;border:1px solid #bfa676;text-decoration:none;font-weight:400;box-shadow:none}
body[data-page] :is(.primary,a.primary),#site-dialog .primary{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:28px;padding:11px 27px;gap:12px;background:#efe7d4!important;color:#354258!important;border:1px solid #bfa676;text-decoration:none;font-weight:400;box-shadow:none}
body[data-page] .primary:not(does-not-exist)::after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(191,166,118,0.50196);border:1px solid #bfa67680;border-radius:24px;pointer-events:none}
body[data-page] a.primary::after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(191,166,118,0.50196);border:1px solid #bfa67680;border-radius:24px;pointer-events:none}
#site-dialog .primary::after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(191,166,118,0.50196);border:1px solid #bfa67680;border-radius:24px;pointer-events:none}
body[data-page] :is(.primary,a.primary)::after,#site-dialog .primary::after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(191,166,118,0.50196);border:1px solid #bfa67680;border-radius:24px;pointer-events:none}
body[data-page] .primary:hover,#site-dialog .primary:hover{background:#fff5de!important;transform:none}
body[data-page] .secondary:not(does-not-exist),body[data-page] a.secondary,#site-dialog .secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--rt-line);border-radius:26px;padding:10px 24px;background:var(--rt-surface-soft);color:var(--rt-text);text-decoration:none;box-shadow:none}
body[data-page] :is(.secondary,a.secondary),#site-dialog .secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--rt-line);border-radius:26px;padding:10px 24px;background:var(--rt-surface-soft);color:var(--rt-text);text-decoration:none;box-shadow:none}
body[data-page] button:disabled{opacity:.55;cursor:default}
.tool-row>button,.result-actions>button:not(.primary),.result-actions>a:not(.primary),.menu-grid button,.aj-button,.share-tools button,.share-variants button{border:1px solid var(--rt-line);border-radius:25px;background:var(--rt-surface-soft);color:var(--rt-text);min-height:44px;padding:9px 19px}
.home-scene{background:none;border:0;box-shadow:none}.hero-art{opacity:.55}.hero::before{background:linear-gradient(90deg,rgba(19,40,60,0.90196),rgba(19,40,60,0.50196) 48%,transparent 80%);background:linear-gradient(90deg,#13283ce6,#13283c80 48%,transparent 80%)}.hero::after{content:none}.home-scene .hero-copy-panel{width:min(65%,840px);padding:max(30px, min(7vw, 112px));padding:clamp(30px,7vw,112px);gap:4px}.hero h1{font-size:max(44px, min(5.7vw, 82px));font-size:clamp(44px,5.7vw,82px);line-height:1.2;letter-spacing:.02em;text-shadow:none;color:#f7efdc!important;margin:20px 0 34px}.hero h1 span{color:#ead49b}.hero-copy-panel .eyebrow,.hero-copy-panel>.muted{color:#d1d5ce}.hero-start{min-width:240px}.home-scene .hero-companion{max-width:340px;width:28%;bottom:8%;right:9%;filter:none}
.journey-map{background:#19354a}.region-node::after{background:rgba(36,61,78,0.90196);background:#243d4ee6;border-color:#cfb887;box-shadow:inset 0 0 0 8px rgba(255,255,255,0.03137);box-shadow:inset 0 0 0 8px #ffffff08}.region-node-copy{background:rgba(244,237,221,0.92941);background:#f4eddded;color:#354258;border:1px solid #bdac83;border-radius:6px;box-shadow:none}.region-node-copy small{color:#68706f}.region-node:focus-visible{outline-offset:7px}.region-number{color:#f5e6bc}
.anniversary-entry{right:26px;bottom:22px}.anniversary-entry span{background:#f0e8d6;color:#354258;border:1px solid #c8b88b}
#site-dialog{position:fixed;width:min(1140px,calc(100vw - 72px));max-width:none;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);margin:auto;padding:32px 40px 36px;border:1px solid rgba(198,183,145,0.62745);border:1px solid #c6b791a0;border-radius:12px;background:var(--rt-surface);color:var(--rt-text);box-shadow:0 24px 80px rgba(8,20,33,0.45882);box-shadow:0 24px 80px #08142175;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--rt-accent) transparent}
#site-dialog::before,#site-dialog::after{content:none}#site-dialog::backdrop{background:rgba(11,27,47,0.54902);background:#0b1b2f8c;backdrop-filter:blur(4px)}
#site-dialog h2{font-size:30px;line-height:1.25;margin:0 56px 26px 0}#site-dialog>p{max-width:760px;line-height:1.8}#site-dialog>.dialog-close{position:sticky;top:0;float:right;width:42px;height:42px;min-height:42px;padding:0;margin:0 0 12px 18px;display:grid;align-items:center;justify-items:center;place-items:center;border-radius:50%;border:1px solid var(--rt-line);background:var(--rt-surface-soft);color:var(--rt-text);font-size:26px;z-index:5}
#site-dialog[data-panel=region],#site-dialog[data-panel=songbook]{width:min(1240px,calc(100vw - 72px));max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px)}
#site-dialog[data-panel=region]{background:linear-gradient(rgba(20,45,64,0.90196),rgba(20,45,64,0.94902)),var(--rt-scene-image) center/cover no-repeat;background:linear-gradient(#142d40e6,#142d40f2),var(--rt-scene-image) center/cover no-repeat;color:#f5efdf;--rt-text:#f5efdf;--rt-muted:#c5c9ca;--rt-surface:rgba(25,46,66,0.92941);--rt-surface:#192e42ed;--rt-surface-soft:#23384b}
.songbook-heading{margin:0 65px 28px 0;align-items:center;gap:20px}.songbook-heading h2{font-size:32px!important;margin:5px 0 8px!important}.songbook-heading p{font-size:14px;margin:5px 0}.region-panel-emblem{width:66px;height:66px}.region-panel-emblem img{width:100%;height:100%;object-fit:contain}
.songbook-tools{grid-template-columns:minmax(210px,1fr) auto;align-items:end;gap:24px;padding:0 0 24px;border-bottom:1px solid var(--rt-line)}.search-label{display:grid;grid-gap:8px;gap:8px;font-size:12px;color:var(--rt-muted)}
#site-dialog input[type=search],#site-dialog input[type=number],#site-dialog select:not(.does-not-exist),#site-dialog textarea:not(.does-not-exist){width:100%;min-height:44px;border:1px solid var(--rt-line);background:var(--rt-surface-soft);color:var(--rt-text);border-radius:6px;padding:10px 14px;font:15px/1.5 var(--font-ui)}
#site-dialog :is(input[type=search],input[type=number],select,textarea){width:100%;min-height:44px;border:1px solid var(--rt-line);background:var(--rt-surface-soft);color:var(--rt-text);border-radius:6px;padding:10px 14px;font:15px/1.5 var(--font-ui)}
.filter-tabs,.archive-tabs{gap:8px;padding:0;background:none;border:0}.filter-tabs button,.archive-tabs button{border:1px solid transparent;border-radius:24px;padding:10px 17px;background:transparent;color:var(--rt-muted);min-height:44px;font:14px var(--font-ui)}.filter-tabs [aria-pressed=true],.archive-tabs [aria-pressed=true]{background:#efe7d5;color:#354258;border-color:#bfa77c}
.songbook-count{margin:16px 0 20px;color:var(--rt-muted);font-size:13px}.songbook-results .song-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.songbook-results .song-card{grid-template-columns:1fr;gap:16px;padding:18px;border-radius:8px;background:var(--rt-surface-soft);border:1px solid var(--rt-line)}
.songbook-results .song-cover{border-radius:4px;aspect-ratio:16/9;overflow:hidden}.songbook-results .song-details{display:grid;grid-template-columns:1fr auto;align-items:start;grid-gap:4px 10px;gap:4px 10px}.songbook-results .song-details>.eyebrow{display:none}.songbook-results .song-details h3{grid-column:1/-1;font-size:22px;margin:0 0 4px;line-height:1.3}.songbook-results .song-details p{font-size:13px;line-height:1.6;grid-column:1/-1;white-space:pre-line;max-height:84px;overflow:auto}.songbook-results .song-details>small{grid-column:1/-1;font-size:12px;margin:6px 0 0}.songbook-results .card-actions{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid var(--rt-line)}.songbook-results .card-actions .primary{flex:1 1 auto;font-size:15px}.favorite{border-radius:50%;width:46px;min-height:46px;border:1px solid var(--rt-line);background:transparent;color:var(--rt-accent);display:grid;align-items:center;justify-items:center;place-items:center}.song-card.coming{opacity:1}.song-card.coming .song-cover{opacity:.7}.song-coming-note{padding:8px 0;color:var(--rt-muted)}
#site-dialog[data-panel=song-detail]{width:min(1160px,calc(100vw - 72px));background:linear-gradient(rgba(20,43,63,0.9098),rgba(20,43,63,0.93333)),var(--rt-scene-image) center/cover no-repeat;background:linear-gradient(#142b3fe8,#142b3fee),var(--rt-scene-image) center/cover no-repeat;color:#f5efdf;--rt-text:#f5efdf;--rt-muted:#c5c9ca;--rt-surface:rgba(25,46,66,0.92941);--rt-surface:#192e42ed;--rt-surface-soft:#263b4e;padding:36px 44px 28px}
.song-detail-heading{padding:0 0 28px;border-bottom:1px solid var(--rt-line)}#site-dialog .song-detail-heading h2{font-size:40px;margin:10px 0 8px}.song-detail-heading .eyebrow{font-size:12px}.song-detail-heading p{margin:6px 0 0;font-size:14px}.song-detail-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);grid-gap:56px;gap:56px;padding:32px 0}.detail-cover{aspect-ratio:16/9;display:grid;align-items:center;justify-items:center;place-items:center;background:#2c4355;border:1px solid rgba(208,191,145,0.37647);border:1px solid #d0bf9160;border-radius:4px;overflow:hidden}.detail-cover>img{width:100%;height:100%;object-fit:cover}.detail-cover>span{color:var(--rt-muted);font-size:14px}.detail-artists{white-space:pre-line;font-size:14px;line-height:1.8;color:var(--rt-muted);margin:20px 0 12px}.song-detail-art .chart-author{font-size:13px;margin:8px 0;color:var(--rt-muted)}
.song-detail-controls>h3{font-size:20px;margin:0 0 26px;display:flex;align-items:center;gap:12px}.song-detail-controls>h3::before{content:'✦';color:var(--rt-accent);font-size:18px}.difficulty-options{margin:0;padding:0;display:flex;gap:20px;flex-wrap:wrap;border:0}.difficulty-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;min-width:86px;flex:1}.difficulty-option input{position:absolute;opacity:0;width:1px;height:1px}.difficulty-seal{position:relative;width:88px;height:88px;display:grid;align-items:center;justify-items:center;place-items:center;border-radius:50%;border:1px solid rgba(164,172,181,0.49804);border:1px solid #a4acb57f;background:#263b4e;color:#e5e5df;font-size:25px}.difficulty-seal::after{content:'';position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(209,194,146,0.25098);border:1px solid #d1c29240;border-radius:50%}.difficulty-label{font-size:12px;color:var(--rt-muted);text-align:center;line-height:1.4}.difficulty-option input:checked+.difficulty-seal{background:#f0e7d3;color:#354258;box-shadow:0 0 0 3px #203449,0 0 0 4px #cbb17c;border-color:#cbb17c}.difficulty-option input:checked~.difficulty-label{color:#f2e6c6}.difficulty-option input:focus-visible+.difficulty-seal{outline:3px solid #e6c88d;outline-offset:6px}.selected-chart-info{margin-top:26px;border-top:1px solid var(--rt-line);padding-top:20px}.selected-chart-info small{font-size:12px;color:var(--rt-muted)}.selected-chart-info h3{font-size:25px;margin:7px 0 14px}.selected-chart-info p{font-size:13px;line-height:1.7;margin:6px 0}.detail-footer{clear:both;border-top:1px solid var(--rt-line);padding-top:22px;display:flex;justify-content:flex-end;align-items:center;gap:14px}.detail-footer .detail-back{margin-right:auto;background:transparent}.detail-footer a{min-width:150px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#settings-form{display:grid;grid-gap:0;gap:0;margin-top:22px}#settings-form>label{display:grid;grid-template-columns:minmax(140px,1fr) 90px;grid-gap:14px;gap:14px;align-items:center;border-bottom:1px solid var(--rt-line);padding:20px 0;margin:0;font-size:17px}#settings-form output{text-align:right;color:var(--rt-accent);font-size:19px}#settings-form input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--rt-accent);margin:0;height:28px}#settings-form input[type=number]{grid-column:2;grid-row:1;max-width:100px}#settings-form>p{font-size:13px;line-height:1.9;margin:18px 0 0;color:var(--rt-muted)}#settings-form>.primary{margin:24px 0 0;justify-self:end;min-width:200px}
#site-dialog[data-panel=settings],#site-dialog[data-panel=player],#site-dialog[data-panel=news],#site-dialog[data-panel=credits],#site-dialog[data-panel=more],#site-dialog[data-panel=map-help],#site-dialog[data-panel=arrange],#site-dialog[data-panel=support]{width:min(660px,calc(100vw - 64px))}
#site-dialog>[data-theme-toggle]{border:1px solid var(--rt-line);border-radius:24px;padding:9px 20px;background:var(--rt-surface-soft);color:var(--rt-text);font-size:13px}.menu-grid{gap:12px;clear:both}.menu-grid button{min-height:58px}.status-toast{background:rgba(23,46,68,0.96078);background:#172e44f5;color:#f5eedb;border:1px solid rgba(202,178,129,0.56471);border:1px solid #cab28190;border-radius:24px;box-shadow:none;font-size:14px;z-index:200}
.dex-scene{max-width:1180px;width:100%;padding:max(24px, min(4vw, 52px));padding:clamp(24px,4vw,52px);color:#f5eedb}.dex-scene>h2{font-size:36px;margin-bottom:24px}.archive-content{padding:28px!important;margin-top:22px;min-height:0}.archive-content p{font-size:14px}.anniversary-dex{gap:22px;margin:22px 0 28px}.anniversary-dex img{height:220px}.anniversary-dex figure{padding:14px;border:1px solid var(--rt-line);border-radius:8px;background:var(--rt-surface-soft)}.anniversary-dex small{color:var(--rt-muted);line-height:1.6}
.leaderboard{background:var(--rt-surface);color:var(--rt-text)}.leaderboard h2{font-size:24px}.leaderboard .eyebrow{font-size:11px}.board-tabs{font-size:13px;border-color:var(--rt-line)}.board-tabs b{color:var(--rt-accent)}.board-tabs span,.board-note,.record-row small,.online-board-empty{color:var(--rt-muted)}.record-row{border-color:var(--rt-line);font-size:14px}.record-row strong{color:var(--rt-accent);font-weight:400}.empty-state{color:var(--rt-muted)}.empty-mark{border:0;color:var(--rt-accent)}
body[data-scene=result] .site-main{padding:max(18px, min(3vw, 42px));padding:clamp(18px,3vw,42px)}.result-layout{width:min(1240px,100%);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:26px}.result-summary{padding:32px;justify-content:flex-start}.result-summary h1{font-size:32px;margin:8px 0 14px}.result-summary header>p:last-child{font-size:14px}.result-grade{font-size:22px;color:var(--rt-accent);margin-top:24px}.result-accuracy{font-size:max(64px, min(9vh, 100px));font-size:clamp(64px,9vh,100px);color:var(--rt-text);line-height:1.1;margin:12px 0;display:block}.result-accuracy small{font-size:28px}.result-score p{font-size:15px;color:var(--rt-muted)}.result-stat-grid{grid-template-columns:repeat(4,1fr);padding:20px 0;border-top:1px solid var(--rt-line);border-bottom:1px solid var(--rt-line);margin:20px 0;gap:14px}.result-stat-grid>div{border:0;background:none;padding:0;display:flex;flex-direction:column;gap:6px}.result-stat-grid strong{font-size:23px;color:var(--rt-text);font-weight:400}.result-stat-grid span{color:var(--rt-muted);font-size:12px}.result-actions{margin-top:auto;gap:12px}.result-summary>.muted{font-size:12px;line-height:1.8}.result-side{gap:20px}.result-source{padding:18px;align-items:flex-start;overflow:auto;max-height:190px;font-size:14px}.result-source img{width:134px;height:auto;aspect-ratio:16/9;border-radius:4px}.result-source small{white-space:pre-line;font-size:11px;color:var(--rt-muted);line-height:1.65}.result-board>.leaderboard{padding:28px}
.share-tools,.share-variants{gap:10px}.share-tools button,.share-variants button{font-size:13px}.share-variants [aria-pressed=true]{background:#efe7d5;color:#354258;border:1px solid #c4aa79}.share-copy textarea{color:var(--rt-text)!important;background:var(--rt-surface-soft)!important;border-color:var(--rt-line)}.share-controls>.muted{color:var(--rt-muted)}
.journal-host{background:none}.adventure-journal{--aj-ink:var(--rt-text);--aj-muted:var(--rt-muted);--aj-paper:var(--rt-surface-soft);--aj-sheet:var(--rt-surface);--aj-line:var(--rt-line);background:transparent!important;color:var(--rt-text);padding:32px 5vw}.aj-title,.aj-owner,.aj-intro,.aj-page-title,.aj-event-title{font-family:var(--font-ui);font-weight:400;letter-spacing:0}.aj-title{font-size:36px}.aj-book{border-color:var(--rt-line);border-radius:10px;background:var(--rt-surface);box-shadow:none;margin-top:20px;max-width:1180px}.aj-cover{background:transparent;border-color:var(--rt-line);padding:30px}.aj-passport,[data-theme=dark] .aj-passport{background:var(--rt-surface-soft);border:1px solid var(--rt-line);border-radius:8px;transform:none;margin:0}.aj-passport::before,.aj-entry::before{content:none}.aj-intro{font-size:17px;line-height:1.8}.aj-page-title{font-size:24px;border-bottom:1px solid var(--rt-line)}.aj-entry{box-shadow:none;transform:none!important;background:var(--rt-surface-soft);border-radius:8px;border-color:var(--rt-line)}.aj-event-title{font-size:23px}.aj-button{background:var(--rt-surface-soft);color:var(--rt-text);border-color:var(--rt-line);font-size:13px}.aj-date,.aj-chart,.aj-identity{color:var(--rt-muted)}
body[data-scene=game] .site-main{padding:0}.game-heading{width:100%;max-width:none;margin:0!important;padding:8px 20px 8px;border:0;background:rgba(20,43,64,0.8);background:#142b40cc;color:#f5efdf;min-height:56px}.game-heading h1{font-size:19px;color:#f5efdf!important}.game-heading small{color:#d6d2c5;font-size:13px}.game-heading .tool-row{gap:10px}.game-heading .tool-row a,.game-heading .tool-row button{color:#f5efdf;min-height:40px;padding:7px 15px;border:1px solid rgba(201,182,139,0.33333);border:1px solid #c9b68b55;border-radius:24px;background:#263e50}.game-heading .tool-row :is(a,button){color:#f5efdf;min-height:40px;padding:7px 15px;border:1px solid rgba(201,182,139,0.33333);border:1px solid #c9b68b55;border-radius:24px;background:#263e50}.chart-preview-controls{background:#1a3047;color:#e9e6d8;border-top:1px solid rgba(193,174,131,0.33333);border-top:1px solid #c1ae8355}.chart-preview-controls input{accent-color:#ceb789}
@media(max-width:1000px){.site-nav a,.site-nav button{padding-left:12px;padding-right:12px;font-size:12px}.site-nav :is(a,button){padding-left:12px;padding-right:12px;font-size:12px}.site-header{gap:16px}.brand{font-size:15px!important}.songbook-tools{grid-template-columns:1fr}.song-detail-layout{gap:30px}.song-detail-controls .difficulty-options{gap:14px}.difficulty-option{min-width:68px}.difficulty-seal{width:72px;height:72px;font-size:22px}.result-layout{gap:18px}.result-summary{padding:24px}.result-summary h1{font-size:25px}.result-stat-grid{gap:12px}.result-board>.leaderboard{padding:22px}.result-source img{width:100px}}
@media(max-width:680px){:root{--ui-header-height:62px}.site-header{height:calc(62px + env(safe-area-inset-top));padding-left:12px;padding-right:12px;gap:10px}.brand{font-size:13px!important;flex:0 0 auto}.brand>span{width:20px;font-size:23px}.site-nav{max-width:none;flex:1;min-width:0;justify-content:flex-start;gap:3px}.site-nav a,.site-nav button{font-size:12px;min-height:40px;padding:7px 11px}.site-nav :is(a,button){font-size:12px;min-height:40px;padding:7px 11px}.site-header .brand small{display:none}body[data-page]::after{top:7px;right:7px;bottom:7px;left:7px}.home-scene .hero-copy-panel{width:100%;padding:30px 24px;justify-content:flex-end;padding-bottom:70px}.hero h1{font-size:48px;margin:12px 0 26px}.hero::before{background:linear-gradient(0deg,rgba(19,42,63,0.93333) 0,rgba(19,42,63,0.4) 70%,transparent);background:linear-gradient(0deg,#132a3fee 0,#132a3f66 70%,transparent)}.home-scene .hero-companion{width:42%;max-width:220px;right:8%;bottom:43%}.hero-start{width:100%;min-height:52px}.hero-copy-panel>.muted{font-size:11px}.journey-map{min-height:2420px}.map-region{min-height:220px}.map-region-scene{top:-45px;right:0;bottom:-45px;left:0;height:calc(100% + 90px)}.region-node{min-height:168px;width:162px;gap:12px}.region-node::after{width:80px;height:80px}.region-emblem{width:80px;height:80px;flex-basis:80px}.region-node-copy{width:150px;padding:8px 10px}.region-node strong{font-size:21px}.region-node small{font-size:9px}.anniversary-entry img{width:70px;height:78px}.anniversary-entry{right:12px;bottom:16px}.anniversary-entry span{font-size:10px;padding:4px 10px}#site-dialog,#site-dialog[data-panel=region],#site-dialog[data-panel=songbook],#site-dialog[data-panel=song-detail]{width:calc(100vw - 24px);max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);margin:auto;padding:24px 20px;border-radius:10px}#site-dialog h2{font-size:25px;margin-right:40px;margin-bottom:22px}#site-dialog>.dialog-close{width:36px;height:36px;min-height:36px;font-size:23px;margin-left:12px}.songbook-heading{gap:12px;margin:0 42px 22px 0}.songbook-heading h2{font-size:25px!important}.region-panel-emblem{width:45px;height:45px}.songbook-tools{gap:16px;padding-bottom:18px}.filter-tabs{display:flex;flex-wrap:nowrap;overflow:auto;padding-bottom:4px;gap:4px}.filter-tabs button{font-size:12px;padding:8px 13px;flex-shrink:0;min-height:40px}.songbook-results .song-grid{grid-template-columns:1fr;gap:16px}.songbook-results .song-card{padding:14px;gap:14px}.songbook-results .song-details h3{font-size:22px}.songbook-results .song-details p{font-size:13px;max-height:none}.songbook-results .card-actions .primary{min-height:44px}.song-detail-heading{padding-bottom:20px}#site-dialog .song-detail-heading h2{font-size:29px;margin-top:8px}.song-detail-layout{grid-template-columns:1fr;gap:28px;padding:22px 0}.detail-artists{font-size:12px;margin:16px 0 9px;line-height:1.7}.song-detail-art .chart-author{font-size:12px}.song-detail-controls>h3{font-size:19px;margin-bottom:22px}.difficulty-options{gap:16px}.difficulty-option{min-width:62px}.difficulty-seal{width:68px;height:68px;font-size:22px}.difficulty-label{font-size:11px}.selected-chart-info{margin-top:22px;padding-top:18px}.selected-chart-info h3{font-size:23px}.detail-footer{padding-top:20px;gap:10px;flex-wrap:wrap}.detail-footer .detail-back{min-height:42px;padding:8px 15px;flex:1 0 100%}.detail-footer a{min-width:0;flex:1;padding:10px 16px;font-size:15px}.dex-scene{padding:26px 18px}.dex-scene>h2{font-size:30px}.archive-tabs{display:flex;flex-wrap:nowrap;overflow:auto}.archive-tabs button{flex-shrink:0;font-size:12px;padding:8px 12px}.archive-content{padding:20px!important}.anniversary-dex{grid-template-columns:1fr;gap:18px}.anniversary-dex img{height:240px}.result-layout{display:flex;gap:20px}.result-summary{min-height:0;padding:24px 20px}.result-summary h1{font-size:29px}.result-grade{margin-top:20px}.result-accuracy{font-size:76px}.result-stat-grid{gap:16px 8px;margin:20px 0;padding:20px 0}.result-stat-grid span{font-size:11px}.result-stat-grid strong{font-size:22px}.result-actions{gap:10px}.result-actions>a,.result-actions>button{font-size:13px;min-height:46px;padding:8px 14px}.result-actions>:is(a,button){font-size:13px;min-height:46px;padding:8px 14px}.result-side{min-height:420px;gap:16px}.result-board>.leaderboard{padding:22px;height:330px}.result-source{max-height:none;font-size:12px;padding:16px}.result-source img{width:98px}.result-source small{font-size:10px}.adventure-journal{padding:24px 16px}.aj-title{font-size:30px}.aj-book{margin-top:12px}.aj-cover{padding:24px 20px}.aj-passport{padding:16px;margin-right:90px}.aj-page{padding:24px 20px}.aj-event-title{font-size:22px}#settings-form>label{font-size:16px;padding:18px 0}#settings-form>p{font-size:12px}#settings-form>.primary{width:100%}.game-heading{padding:5px 12px;min-height:52px;gap:8px}.game-heading h1{font-size:15px;line-height:1.4}.game-heading small{font-size:11px;display:block}.game-heading .tool-row{gap:6px;flex-wrap:nowrap}.game-heading .tool-row a,.game-heading .tool-row button{font-size:11px;padding:6px 10px;min-height:40px}.game-heading .tool-row :is(a,button){font-size:11px;padding:6px 10px;min-height:40px}.share-layout{gap:20px}.share-copy textarea{font-size:13px}}
@media(max-height:620px) and (min-width:681px){.site-header{height:50px}.game-heading{min-height:44px;padding-top:3px;padding-bottom:3px}.result-summary{padding:18px}.result-summary h1{font-size:23px}.result-grade{margin-top:12px}.result-accuracy{font-size:55px}.result-stat-grid{margin:10px 0;padding:12px 0;gap:8px}.result-stat-grid strong{font-size:19px}.result-actions{gap:8px}.result-actions>a,.result-actions>button{min-height:42px;font-size:12px}.result-actions>:is(a,button){min-height:42px;font-size:12px}.result-summary>.muted{font-size:10px}.result-board>.leaderboard{padding:18px}.result-source{max-height:120px}#site-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:22px 28px}.song-detail-heading{padding-bottom:16px}#site-dialog .song-detail-heading h2{font-size:28px}.song-detail-layout{padding:20px 0;gap:32px}.difficulty-seal{width:64px;height:64px;font-size:21px}.selected-chart-info{margin-top:18px;padding-top:14px}.selected-chart-info h3{font-size:22px}.detail-artists{margin-top:14px;font-size:12px}.detail-footer{padding-top:16px}.home-scene .hero-copy-panel{padding:28px 6vw}.hero h1{font-size:45px;margin:12px 0 24px}.home-scene .hero-companion{max-width:260px}}
@media(prefers-reduced-motion:reduce){body[data-page] *,#site-dialog *{transition:none!important;scroll-behavior:auto!important}}
/* 谱面弹窗的操作栏固定在内容外，短屏与手机只滚动信息区。 */
#site-dialog[open][data-panel=song-detail]{display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
#site-dialog[data-panel=song-detail]>.dialog-close{position:absolute;right:24px;top:24px;float:none;margin:0}
.song-detail-scroll{overflow-x:hidden;overflow-y:auto;min-width:0;min-height:0;scrollbar-width:thin;scrollbar-color:var(--rt-accent) transparent;padding-right:8px}
.song-detail-art .chart-author{display:none}.selected-chart-info{display:grid;grid-template-columns:1fr auto;grid-gap:8px 16px;gap:8px 16px}.selected-chart-info small{grid-column:1/-1}.selected-chart-info h3{margin:0}.selected-chart-info [data-selected-author]{align-self:center;margin:0}.selected-chart-info>.muted{grid-column:1/-1;margin:0}
.detail-cover{position:relative}.detail-cover>.detail-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .25s ease}.detail-cover>.detail-video.is-ready{opacity:1}
.difficulty-option{flex:0 0 auto;min-width:88px}.song-detail-controls .difficulty-options{gap:28px}
@media(max-width:680px){#site-dialog[data-panel=song-detail]{padding:24px 20px 20px}#site-dialog[data-panel=song-detail]>.dialog-close{top:20px;right:20px}.song-detail-scroll{padding-right:2px}.song-detail-controls .difficulty-options{gap:18px}.difficulty-option{min-width:64px}.selected-chart-info{gap:7px 12px}.selected-chart-info [data-selected-author]{font-size:11px}.detail-footer{padding-top:16px}.detail-footer .detail-back{display:none}.detail-footer a{min-height:46px}.song-detail-layout{padding-bottom:22px}}
#settings-form>label{color:var(--rt-text)}
@media(max-width:680px){#site-dialog .detail-footer .detail-back{display:none}}
[data-theme=dark] .adventure-journal,.adventure-journal[data-theme=dark]{--aj-ink:var(--rt-text);--aj-muted:var(--rt-muted);--aj-paper:var(--rt-surface-soft);--aj-sheet:var(--rt-surface);--aj-line:var(--rt-line)}
#site-dialog .search-label{color:var(--rt-muted)}.songbook-results .song-details p,.songbook-results .song-details>small{color:var(--rt-muted)}
body[data-page]::before{background:linear-gradient(90deg,color-mix(in srgb,var(--rt-region-shade,#10283b) 90%,transparent),rgba(17,40,61,0.33333) 70%),var(--rt-scene-image) center/cover no-repeat}

@supports (color: color-mix(in lch, red, blue)){
body[data-page]::before{background:linear-gradient(90deg,color-mix(in srgb,var(--rt-region-shade,#10283b) 90%,transparent),#11283d55 70%),var(--rt-scene-image) center/cover no-repeat}
}
#site-dialog[data-panel=region],#site-dialog[data-panel=song-detail]{--rt-surface:var(--rt-region-surface,rgba(25,46,66,0.92941));--rt-surface:var(--rt-region-surface,#192e42ed);--rt-surface-soft:var(--rt-region-soft,#263b4e);background:linear-gradient(var(--rt-surface),var(--rt-surface)),var(--rt-scene-image) center/cover no-repeat}
.page-heading.game-heading{padding-left:20px!important;padding-right:20px!important}.aj-page{background:var(--rt-surface)}
@media(max-width:680px){.page-heading.game-heading{padding-left:12px!important;padding-right:12px!important}}
@media(max-width:680px){.song-detail-controls .difficulty-options{gap:12px}}

/* 结算首屏：大成绩、单行统计、四个同级操作按钮。 */
body[data-scene=result] .site-main{padding:16px}
.result-layout{gap:18px;max-width:1400px}
.result-summary{padding:max(28px, min(4vh, 42px)) 36px;padding:clamp(28px,4vh,42px) 36px;justify-content:flex-start;gap:0}
.result-summary>header,.result-summary>.result-grade,.result-summary>.result-score,.result-summary>.result-stat-grid,.result-summary>.result-actions,.result-summary>.muted{width:100%;max-width:600px;align-self:center}
.result-summary h1{font-size:max(30px, min(3.2vw, 42px));font-size:clamp(30px,3.2vw,42px);line-height:1.2;margin:0 0 8px}
.result-summary header>p:last-child{font-size:15px;margin:6px 0}
.result-summary .eyebrow{font-size:11px;margin:0 0 6px}
.result-grade{font-size:24px;margin:30px 0 0}
.result-accuracy{font-size:max(64px, min(7vh, 82px));font-size:clamp(64px,7vh,82px);line-height:1;margin:12px 0}
.result-score p{font-size:15px;margin:8px 0}
.result-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:30px 0 24px;padding:18px 0;gap:8px}
.result-stat-grid strong{font-size:24px}
.result-stat-grid span{font-size:11px}
.result-actions{margin-top:0;gap:12px 16px}
body[data-scene=result] .result-actions>a,body[data-scene=result] .result-actions>button{min-height:50px;padding:10px 12px;font-size:15px;font-weight:600;line-height:1.25}
.result-actions>button[data-modal=share],.result-actions>a[href="index.html"]{background:var(--rt-surface-soft);border:1px solid var(--rt-accent);color:var(--rt-text)}
.result-summary>.muted{font-size:11px;line-height:1.5;margin:16px 0 0}
.result-board>.leaderboard{padding:20px;display:flex;flex-direction:column;min-height:0}
.result-board .board-scroll{flex:1;min-height:0;overflow-y:auto}
.result-board .board-scroll-hint{align-self:center;min-height:36px;margin:8px 0 2px;padding:6px 16px;border:1px solid var(--rt-accent);border-radius:20px;background:var(--rt-surface-soft);color:var(--rt-text);font-size:12px;line-height:1.4;cursor:pointer}
.result-board .board-scroll-hint[hidden]{display:none}
.result-board .eyebrow{display:none}
.result-board h2{font-size:26px;margin:0 0 12px}
.result-board .board-tabs{margin:8px 0}
.result-board .record-row{padding:12px 0}
.result-board .online-board h3{font-size:18px;margin:12px 0}
.result-board .board-note{font-size:10px;margin:10px 0 0}
.result-source{padding:12px;gap:12px}
.result-source img{width:100px}
.result-source b{font-size:14px}
.result-source small{font-size:11px;line-height:1.4}
.result-trivia{display:none}
@media(min-width:681px) and (min-height:800px){
 .result-summary{padding-top:58px}
 .result-grade{margin-top:48px}
 .result-stat-grid{margin-top:46px;margin-bottom:30px}
 .result-actions{row-gap:16px}
 .result-summary>.muted{margin-top:20px}
}
@media(min-width:681px) and (min-height:651px) and (max-height:760px){
 .result-summary{padding-top:28px;padding-bottom:28px}
 .result-grade{margin-top:24px}
 .result-stat-grid{margin-top:24px;margin-bottom:20px;padding-top:16px;padding-bottom:16px}
}
@media(max-width:680px){
 body[data-scene=result] .site-main{padding:10px}
 .result-summary{min-height:0;padding:24px 14px}
 .result-summary h1{font-size:27px}
 .result-grade{font-size:21px;margin-top:20px}
 .result-accuracy{font-size:64px}
 .result-stat-grid{margin:22px 0 18px;padding:15px 0;gap:4px}
 .result-stat-grid strong{font-size:22px}
 .result-stat-grid span{font-size:10px}
 .result-actions{gap:10px}
 body[data-scene=result] .result-actions>a,body[data-scene=result] .result-actions>button{min-height:46px;font-size:14px}
 .result-side{min-height:360px}
 .result-board>.leaderboard{height:500px}
}
@media(min-width:681px) and (max-height:650px){
 body[data-scene=result] .site-main{padding:8px}
 .result-layout{gap:12px}
 .result-summary{padding:20px 26px}
 .result-summary h1{font-size:25px}
 .result-summary header>p:last-child{font-size:12px}
 .result-grade{font-size:19px;margin-top:16px}
 .result-accuracy{font-size:50px;margin:5px 0}
 .result-score p{font-size:12px;margin:4px 0}
 .result-stat-grid{margin:18px 0 16px;padding:12px 0}
 .result-stat-grid strong{font-size:20px}
 .result-actions{gap:10px 14px}
 body[data-scene=result] .result-actions>a,body[data-scene=result] .result-actions>button{min-height:40px;padding:6px 8px;font-size:13px}
 .result-summary>.muted{font-size:10px;margin-top:10px}
 .result-board>.leaderboard{padding:14px}
 .result-source{max-height:104px;padding:9px}
 .result-source small{font-size:10px}
 .result-source img{width:75px}
}
@media(min-width:681px) and (max-height:450px){
 .result-summary{padding:8px 14px}
 .result-summary h1{font-size:19px}
 .result-summary header>p:last-child{font-size:11px;margin:2px 0}
 .result-summary .eyebrow{font-size:9px;line-height:1.1;margin-bottom:2px}
 .result-grade{font-size:16px;margin-top:4px}
 .result-accuracy{font-size:32px;margin:2px 0}
 .result-accuracy small{font-size:18px}
 .result-score p{font-size:11px;line-height:1.3}
 .result-stat-grid{padding:5px 0;margin:6px 0}
 .result-stat-grid>div{gap:2px}
 .result-stat-grid strong{font-size:18px}
 .result-stat-grid span{font-size:10px}
 .result-actions{gap:5px}
 body[data-scene=result] .result-actions>a,body[data-scene=result] .result-actions>button{min-height:34px;padding:4px 8px;font-size:12px}
 .result-summary>.muted{font-size:9px;line-height:1.3;margin-top:5px}
}
