/* 全站手账补齐层：沿用排版，只统一纸色、墨色、细描边和软投影。 */
:root { --rv-ui-paper:#fff8f0; --rv-ui-ink:#2d2a4a; --rv-ui-muted:#77708b; --rv-ui-pink:#ef6688; --rv-ui-line:#ddd5c9; }
/* 主页保留原有蓝天背景，按钮和弹窗继续使用手账配色。 */
.rv-site-ui.rv-home-page .stripe { opacity:.4; }
.rv-site-ui #loadingScreen { background:#fff8f0 radial-gradient(#e7dfd2 1px,transparent 1px); background-size:20px 20px; color:var(--rv-ui-ink); }
.rv-site-ui .news-modal { --news-ink:#2d2a4a; --news-yellow:#fce8ee; --news-cyan:#87c6b5; --news-red:#ef6688; }
.rv-site-ui button { color:var(--rv-ui-ink) !important; background:#fff !important; border-color:var(--rv-ui-ink) !important; border-width:2px !important; text-shadow:none !important; box-shadow:2px 3px 0 #e9e0d4 !important; }
.rv-site-ui button:disabled { background:#e9e5e0 !important; color:#99948e !important; border-color:#b8b1aa !important; }
.rv-site-ui button:focus-visible, .rv-site-ui a:focus-visible { outline:3px solid #ef6688; outline-offset:3px; }
.rv-site-ui .start-button, .rv-site-ui .primary-button, .rv-site-ui button.primary,
.rv-site-ui .journal-preparation #startBtn, .rv-site-ui .journal-preparation #startButton,
.rv-site-ui #resumeBtn, .rv-site-ui #resumeButton,
.rv-site-ui .btn.primary, .rv-site-ui .rv-feature-next, .rv-site-ui .rv-dual-tutorial-start, .rv-site-ui [data-tips-confirm],
.rv-site-ui .mp-play, .rv-site-ui .home-rank-tabs button.active,
.rv-site-ui .hsp-fps-btn.is-active, .rv-site-ui [data-visual-fps].is-active,
.rv-site-ui .rvp-choice-button[aria-checked="true"], .rv-site-ui .tab.active {
  background:var(--rv-ui-pink) !important; color:#fff !important; border-color:var(--rv-ui-ink) !important; box-shadow:2px 3px 0 #efd3d9 !important;
}
.rv-site-ui .start-button { border-width:2px !important; text-shadow:none !important; }
.rv-site-ui.rv-home-page .start-button { background:#fffaf3 !important; color:#347db4 !important; border-color:#347db4 !important; border-width:5px !important; box-shadow:3px 5px 0 #c1ddec !important; }
.rv-site-ui .collection-card { position:relative; overflow:visible; }
.rv-site-ui .collection-new-badge { position:absolute; top:-11px; right:-8px; z-index:4; padding:4px 11px; border:0; border-radius:3px; background:#ef6688; color:#fff; font-size:14px; font-weight:900; line-height:1.3; transform:rotate(7deg); box-shadow:none; pointer-events:none; }
.rv-site-ui .collection-new-badge[hidden] { display:none !important; }
.rv-site-ui .journal-origin-card { display:flex; align-items:center; gap:18px; margin-top:18px; padding:14px 18px; border:2px solid #403a49; border-radius:10px; background:#fff; box-shadow:4px 5px 0 #e8ddce; text-decoration:none; color:var(--rv-ui-ink); }
.rv-site-ui .journal-origin-cover { flex:0 0 138px; height:78px; border:3px solid #403a49; border-radius:10px; background:#eee8dd; overflow:hidden; }
.rv-site-ui .journal-origin-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.rv-site-ui .journal-origin-cover img[hidden] { display:none; }
.rv-site-ui .journal-origin-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.rv-site-ui .journal-origin-cta { color:#f0605a; font-size:15px; white-space:nowrap; }
.rv-site-ui .journal-origin-title { color:#202020; font-size:17px; font-weight:800; overflow-wrap:anywhere; }
.rv-site-ui .journal-origin-up { color:#938b7b; font-size:15px; font-weight:700; overflow-wrap:anywhere; }
@media(max-width:600px) { .rv-site-ui .journal-origin-card { gap:12px; padding:12px; } .rv-site-ui .journal-origin-cover { flex-basis:96px; height:60px; } .rv-site-ui .journal-origin-cta { font-size:14px; } .rv-site-ui .journal-origin-title { font-size:14px; } .rv-site-ui .journal-origin-up { font-size:13px; } }
.rv-site-ui .creator-actions button, .rv-site-ui .arrange-entry, .rv-site-ui .home-fab,
.rv-site-ui .dex-fab, .rv-site-ui .mp-fab, .rv-site-ui .back, .rv-site-ui .sheet .buttons a,
.rv-site-ui .secondary-button, .rv-site-ui .actions a, .rv-site-ui .btn {
  background:#fff !important; color:var(--rv-ui-ink) !important; border-color:var(--rv-ui-ink) !important; border-width:2px !important; box-shadow:2px 3px 0 #e9e0d4 !important; text-shadow:none !important;
}
.rv-site-ui .creator-actions .support-link, .rv-site-ui .support-reward-entry { background:#fff0f4 !important; }
.rv-site-ui .creator-actions .home-link, .rv-site-ui .creator-actions .support-reward-entry { background:#ecf7f3 !important; }
.rv-site-ui .mp-panel, .rv-site-ui .home-settings-panel, .rv-site-ui .home-rank-dialog,
.rv-site-ui .home-rank-rules-dialog, .rv-site-ui .cm-panel, .rv-site-ui .calib-panel,
.rv-site-ui .news-modal-dialog, .rv-site-ui .support-reward-dialog,
.rv-site-ui .rv-feature-tour-card, .rv-site-ui .rv-play-tips-card,
.rv-site-ui .rv-vol-panel, .rv-site-ui .pause-content, .rv-site-ui .pause-card, .rv-site-ui .pause-panel,
.rv-site-ui #resultOverlay > .card,
.rv-site-ui #pauseOverlay .overlay-panel, .rv-site-ui #pauseOverlay > .panel,
.rv-site-ui #orientationOverlay .panel, .rv-site-ui .sheet,
.rv-site-ui .rank-help-dialog, .rv-site-ui .rank-help-panel,
.rv-site-ui .share-popup-panel, .rv-site-ui .exp-share-popup-panel {
  background:var(--rv-ui-paper) !important; color:var(--rv-ui-ink) !important;
  border:2px solid var(--rv-ui-ink) !important; box-shadow:0 6px 0 #e9e0d4,0 14px 30px -10px #2d2a4a30 !important;
}
.rv-site-ui .rv-vol-panel button, .rv-site-ui .rv-feature-demo, .rv-site-ui .mp-item,
.rv-site-ui .rv-feature-key-rule span, .rv-site-ui .rvp-choice-row,
.rv-site-ui .hsp-key-bindings, .rv-site-ui .rv-key-control, .rv-site-ui .support-reward-row {
  border-color:var(--rv-ui-line) !important; border-width:1px !important; box-shadow:none !important;
}
.rv-site-ui .mp-item.current, .rv-site-ui .rvp-toggle-row[aria-checked="true"],
.rv-site-ui .hsp-haptic[aria-checked="true"] { background:#fce8ee !important; }
.rv-site-ui .rv-feature-demo { background:#fff !important; }
.rv-site-ui .rv-feature-tour-card h2, .rv-site-ui .pause-content h2,
.rv-site-ui .pause-card h1, .rv-site-ui #pauseOverlay h1, .rv-site-ui #pauseOverlay h2,
.rv-site-ui .news-modal-title, .rv-site-ui .home-rank-title,
.rv-site-ui .cm-title, .rv-site-ui .rvp-title { color:var(--rv-ui-ink) !important; text-shadow:none !important; -webkit-text-stroke:0 !important; }
.rv-site-ui .news-modal-kicker, .rv-site-ui .pause-badge, .rv-site-ui .eyebrow,
.rv-site-ui .rv-feature-tour-step { background:#fce8ee !important; color:#af4b6b !important; border-color:var(--rv-ui-line) !important; box-shadow:none !important; }
.rv-site-ui .news-modal-card, .rv-site-ui .news-card, .rv-site-ui .news-modal-link,
.rv-site-ui .support-reward-verification { border-color:var(--rv-ui-line) !important; border-width:1px !important; background:#fff !important; box-shadow:0 4px 0 #eee5d8 !important; }
.rv-site-ui .news-modal-card-tag, .rv-site-ui .news-card-tag { background:#fce8ee !important; color:#af4b6b !important; border-color:var(--rv-ui-line) !important; }
.rv-site-ui .mp-search-wrap, .rv-site-ui .mp-search,
.rv-site-ui .home-settings-panel input:not([type="range"]):not([type="checkbox"]),
.rv-site-ui .rv-vol-panel input:not([type="range"]):not([type="checkbox"]) { background:#fff !important; color:var(--rv-ui-ink) !important; border-color:var(--rv-ui-line) !important; border-width:1px !important; box-shadow:none !important; }
.rv-site-ui input[type="range"] { accent-color:var(--rv-ui-pink); }
.rv-site-ui .rv-vol-panel input[type="range"], .rv-site-ui .hsp-slider,
.rv-site-ui .rv-speed-slider { background:#e8e0d2 !important; border-color:#d1c8ba !important; }
.rv-site-ui input[type="range"]::-webkit-slider-thumb { background:#ef6688 !important; border-color:#fff !important; box-shadow:0 0 0 1px #ef6688 !important; }
.rv-site-ui input[type="range"]::-moz-range-thumb { background:#ef6688 !important; border-color:#fff !important; }
.rv-site-ui .rv-feature-slider::after { background:#ef6688 !important; border-color:#fff !important; }
.rv-site-ui .rv-speed-value, .rv-site-ui .rv-countdown, .rv-site-ui .countdown,
.rv-site-ui #countdown, .rv-site-ui #resumeCountdown, .rv-site-ui .countdown-pill {
  background:var(--rv-ui-paper) !important; color:var(--rv-ui-ink) !important; border-color:var(--rv-ui-ink) !important; border-width:2px !important; text-shadow:none !important; box-shadow:2px 3px 0 #e9e0d4 !important;
}
.rv-site-ui .hsp-calib-btn { border-radius:18px; padding:5px 10px; font-family:inherit; font-size:12px; cursor:pointer; }
.rv-site-ui .hsp-row input[type="range"] { background:#e8e0d2 !important; border:1px solid #d1c8ba !important; }
.rv-site-ui .rv-speed-slider { -webkit-appearance:none; appearance:none; border-radius:999px; height:26px; background:transparent !important; }
.rv-site-ui .rv-speed-slider::-webkit-slider-runnable-track { height:8px; border-radius:999px; background:#e8e0d2; }
.rv-site-ui .rv-speed-slider::-moz-range-track { height:8px; border-radius:999px; background:#e8e0d2; }
.rv-site-ui .rv-speed-slider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:18px; height:18px; margin-top:-5px; border:2px solid #fff; border-radius:50%; }
.rv-site-ui .rv-speed-slider::-moz-range-thumb { width:14px; height:14px; border:2px solid #fff; border-radius:50%; }
.rv-site-ui .hsp-key-details { border:1px solid #ddd5c9; color:var(--rv-ui-ink); }
.rv-site-ui .rvp-toggle-track, .rv-site-ui .rv-feature-haptic-track { border-color:var(--rv-ui-ink) !important; }
.rv-site-ui .rvp-toggle-row[aria-checked="true"] .rvp-toggle-track,
.rv-site-ui .rv-feature-haptic[aria-checked="true"] .rv-feature-haptic-track { background:#ef6688 !important; }
.rv-site-ui .rv-dual-tutorial-card, .rv-site-ui .achievement-grant-dialog,
.rv-site-ui .achievement-card, .rv-site-ui .cg-card, .rv-site-ui .rank-help-card,
.rv-site-ui .support-modal .support-panel, .rv-site-ui .rv-noob-unlock-card { background:var(--rv-ui-paper) !important; color:var(--rv-ui-ink) !important; border:2px solid var(--rv-ui-line) !important; box-shadow:0 6px 0 #e9e0d4 !important; }
.rv-site-ui .achievement-card.is-locked { background:#efede8 !important; }
.rv-site-ui .pre-roll-text, .rv-site-ui #preRollText { background:var(--rv-ui-paper) !important; color:var(--rv-ui-ink) !important; border:2px solid var(--rv-ui-ink) !important; box-shadow:2px 3px 0 #e9e0d4 !important; text-shadow:none !important; }
.rv-site-ui .rv-dual-tutorial-card h2, .rv-site-ui .achievement-grant-dialog h2 { color:var(--rv-ui-ink) !important; text-shadow:none !important; }
.rv-site-ui .rv-noob-unlock-card h2 { color:var(--rv-ui-ink) !important; }
.rv-site-ui .rv-noob-sticker { background:#fce8ee; color:#af4b6b; border:1px solid #efd3d9; box-shadow:2px 3px 0 #e9e0d4; }
.rv-site-ui .hsp-toggle-row[aria-checked="true"] .hsp-toggle-track { background:#ef6688 !important; }
.rv-site-ui .rv-feature-zone:first-child { background:#f3b6c7; color:#513b54; text-shadow:none; }
.rv-site-ui .rv-feature-zone:last-child { background:#cce9e3; color:#355a54; text-shadow:none; border-color:#fff8f0; }
.rv-site-ui .rv-resume-countdown__label, .rv-site-ui .rv-resume-countdown__status,
.rv-site-ui .rv-resume-countdown__circle { background:var(--rv-ui-paper) !important; color:var(--rv-ui-ink) !important; border-color:var(--rv-ui-ink) !important; border-width:2px !important; box-shadow:2px 3px 0 #e9e0d4 !important; }
.rv-site-ui .rv-vol-fab svg path { fill:currentColor; }
/* 图鉴保持原网格和展示结构，背景改为与选歌页相同的纸面。 */
.rv-site-ui.rv-dex-page body { background:#fff8f0 radial-gradient(#e7dfd2 1px,transparent 1px) !important; background-size:20px 20px !important; color:var(--rv-ui-ink); }
.rv-site-ui.rv-dex-page body::after { display:none; }
.rv-site-ui.rv-dex-page .topbar h1 { background:transparent; color:var(--rv-ui-ink); box-shadow:none; text-shadow:none; }
.rv-site-ui.rv-dex-page .progress { background:#fce8ee; color:#af4b6b; border:1px solid #efd3d9; box-shadow:none; }
.journal-library .journal-filters[hidden] { display:none !important; }
/* 音效试听间沿用原卡片网格，补齐旧的黄色纸面和硬黑投影。 */
.rv-site-ui.rv-sound-page body { background:#fff8f0 radial-gradient(#e7dfd2 1px,transparent 1px); background-size:20px 20px; color:var(--rv-ui-ink); }
.rv-site-ui.rv-sound-page .card { border:2px solid #ddd5c9; box-shadow:0 5px 0 #e9e0d4; }
.rv-site-ui.rv-sound-page .card.on, .rv-site-ui.rv-sound-page .card:active { background:#fce8ee; box-shadow:0 2px 0 #e9e0d4; }
.rv-site-ui.rv-dex-page .cell { border:2px solid #eee5d8; background:#fff; color:var(--rv-ui-ink); box-shadow:0 5px 0 #eee5d8; transform:none; }
.rv-site-ui.rv-dex-page .cell.locked, .rv-site-ui.rv-dex-page .cell.soon { background:#efede8; border-color:#d5d0c5; box-shadow:none; }
.rv-site-ui.rv-dex-page .ic { border-width:1px; border-color:#e2dacf; background:#fff8f0; }
/* 固定矢量图标；SVG 子元素不吃触控，原按钮事件和点击区域保持不变。 */
.rv-site-ui #pauseBtn svg, .rv-site-ui .rv-vol-fab svg { width:24px; height:24px; display:block; margin:auto; pointer-events:none; }
.rv-site-ui #pauseBtn, .rv-site-ui .rv-vol-fab { color:var(--rv-ui-ink) !important; }
html.rv-mobile-landscape #pauseBtn { position:fixed !important; top:var(--rv-hud-button-top,82px) !important; left:var(--rv-hud-left,12px) !important; right:auto !important; margin:0 !important; width:44px !important; height:44px !important; z-index:9997; }
html.rv-mobile-landscape .rv-vol-fab { position:fixed !important; top:var(--rv-hud-button-top,82px) !important; right:var(--rv-hud-right,12px) !important; left:auto !important; width:44px !important; height:44px !important; }
html.rv-mobile-landscape .hud-left { padding-left:0 !important; gap:0 !important; }
html.rv-mobile-landscape .score-block { padding-right:0 !important; margin-right:0 !important; }
/* 跑酷／太鼓所有歌曲：暂停、设置、旋转依次贴左上横排，歌名右上避开宿主点击区。 */
html.rv-canvas-controls #pauseBtn,
html.rv-canvas-controls .rv-vol-fab,
html.rv-canvas-controls .orient-toggle {
 position:fixed!important;top:var(--rv-game-control-top,8px)!important;bottom:auto!important;
 left:var(--rv-game-control-left,8px)!important;right:auto!important;margin:0!important;
 width:var(--rv-game-control-size,44px)!important;height:var(--rv-game-control-size,44px)!important;
 z-index:9997;touch-action:none;
}
html.rv-canvas-controls .rv-vol-fab { left:calc(var(--rv-game-control-left,8px) + var(--rv-game-control-step,58px))!important; }
html.rv-canvas-controls .orient-toggle { left:calc(var(--rv-game-control-left,8px) + var(--rv-game-control-step,58px) * 2)!important; }
html.rv-canvas-controls #pauseBtn svg,html.rv-canvas-controls .rv-vol-fab svg { width:var(--rv-game-control-icon-size,29px)!important;height:var(--rv-game-control-icon-size,29px)!important; }
html.rv-canvas-controls .orient-toggle svg { width:75%!important;height:75%!important; }
.rv-motion-ghost { position:fixed !important; margin:0 !important; pointer-events:none !important; z-index:2147483450 !important; overflow:hidden !important; }
@media (prefers-reduced-motion:reduce) { .rv-site-ui .start-button, .rv-site-ui .home-fab, .rv-site-ui .mp-fab { animation:none !important; transition:none !important; } }

/* 下落双端HUD：文字贴两侧，控制按钮位于各自文字下方。 */
.rv-falling-hud #gameStage .topbar { left:10px!important;right:10px!important;inset-inline:10px!important; }
.rv-falling-hud #gameStage .hud-left { padding-left:0!important; }
.rv-falling-hud #gameStage .song-title { font-size:clamp(18px,2.6vw,30px)!important;max-width:28vw; }
.rv-falling-hud #gameStage .song-artist { font-size:clamp(12px,1.5vw,18px)!important;max-width:28vw; }
.rv-falling-hud #gameStage .score-block { padding-right:0!important;margin-right:0!important;display:flex;flex-direction:column;align-items:flex-end; }
.rv-falling-hud #gameStage .score-value { font-size:clamp(24px,4vw,48px)!important; }
.rv-falling-hud #gameStage .score-sub { font-size:clamp(10px,1.2vw,14px)!important;width:max-content;max-width:none;white-space:nowrap; }
.rv-falling-hud #gameStage #pauseBtn { position:fixed!important;left:var(--falling-control-left,10px)!important;top:var(--falling-left-control-top,90px)!important;right:auto!important;margin:0!important;width:44px!important;height:44px!important; }
.rv-site-ui .rv-falling-hud .rv-vol-fab { position:fixed!important;right:var(--falling-control-right,10px)!important;top:var(--falling-right-control-top,90px)!important;left:auto!important;width:44px!important;height:44px!important; }
