/* Shared, subtle workspace surface. The same live tree stays behind both pages. */
:root{--qiyu-workspace-surface:linear-gradient(120deg,rgba(247,246,237,.67),rgba(237,245,239,.68));--cover-neutral:linear-gradient(135deg,#e7e9e3,#dbe3dd)}
html[data-space-theme=dark]{--qiyu-workspace-surface:rgba(29,47,37,.85);--cover-neutral:linear-gradient(135deg,#34483f,#2b3c36)}
body.video-entry-page.has-entered.is-authenticated .space-shell,
html[data-space-theme=dark] body.video-entry-page.has-entered.is-authenticated .space-shell{background:var(--qiyu-workspace-surface)!important}
/* Both spaces share the same film strength and the surface above it. */
body.is-authenticated .entry-video-host{opacity:.18!important}
body.viewing-memories .house-stars{display:none}

/* No scene-wide blur or white veil. Preserve the source's painterly detail;
   a restrained tonal correction reduces its baked-in milky haze. */
body.video-entry-page:not(.is-authenticated) .entry-video-host{opacity:1}
body.video-entry-page .entry-video-host .qvs-video-destination{filter:brightness(.99) contrast(1.035) saturate(1.025);transform:none}
body.video-entry-page .auth-gate{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
body.video-entry-page .auth-gate .modal{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}

.qiyu-password-field{position:relative;display:block;width:100%;min-width:0}
body.video-entry-page .auth-gate .qiyu-password-field input{width:100%;padding-right:48px}
.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:10px;border:0;border-radius:10px;background:transparent;color:#81918a;touch-action:manipulation;transition:color .2s,background .2s}
.password-toggle svg{display:block;width:19px;height:19px;stroke-width:1.5}
.password-toggle[aria-pressed=true]{color:#a46e80}
.password-toggle:focus-visible{outline:2px solid var(--space-accent);outline-offset:1px}
@media(hover:hover){.password-toggle:hover{color:#a46e80;background:rgba(207,143,157,.1)}}
.qiyu-password-field input::-ms-reveal{display:none}

.cover-placeholder{display:block;width:100%;height:100%;background:var(--cover-neutral)}
.collection-image,.space-category-banner{background:var(--cover-neutral)}
.collection-image>img,.space-category-banner>img,.cover-preview>img{image-orientation:from-image}
.collection-image>img[hidden],.space-category-banner>img[hidden]{display:none}
.space-category-banner>.cover-placeholder{position:absolute;inset:0}
#categoryDialog{width:min(440px,calc(100% - 28px))}
#categoryDialog .cover-editor{gap:9px}
#categoryDialog .cover-label{font-size:11px;color:var(--space-muted);width:100%}
#categoryDialog .cover-preview{position:relative;display:grid;place-items:center;width:100%;padding:0;aspect-ratio:3/2;min-height:0;background:var(--cover-neutral);color:var(--space-muted);border:1px solid var(--space-line);border-radius:14px;overflow:hidden;text-align:center}
#categoryDialog .cover-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#categoryDialog .cover-prompt{display:grid;justify-items:center;gap:9px;padding:20px}
#categoryDialog .cover-prompt svg{width:23px;height:23px;color:var(--space-accent)}
#categoryDialog .cover-prompt strong{font-size:12px;font-weight:500;color:var(--space-ink)}
#categoryDialog .cover-prompt small{font-size:10px}
#categoryDialog .cover-change{position:absolute;bottom:12px;padding:7px 12px;border-radius:20px;background:rgba(255,253,248,.93);color:#43584e;font-size:10px;box-shadow:0 2px 12px #233c3320;pointer-events:none}
#categoryDialog .cover-editor>small{font-size:10px;line-height:1.7}
#categoryDialog form{gap:15px}
#categoryDialog .cover-preview:focus-visible{outline:2px solid var(--space-accent);outline-offset:3px}

/* House geometry, photos, clock, player, lyrics and controls are untouched.
   Only its outer backdrop and the contrast needed on that lighter surface. */
body.viewing-memories .space-shell{color:var(--space-ink)}
body.viewing-memories .space-top-nav a{color:var(--space-muted)}
body.viewing-memories .space-top-nav a:hover,body.viewing-memories .space-top-nav a[aria-current=page]{background:rgba(244,220,224,.75);color:var(--space-ink)}
body.viewing-memories .house-stage{background:transparent;color:var(--space-ink);border-color:var(--space-line);box-shadow:var(--space-shadow)}
body.viewing-memories .house-brand{gap:9px;background:var(--space-soft);border-color:var(--space-line);padding-inline:15px}
body.viewing-memories .house-brand small,body.viewing-memories .house-anniversary>small,body.viewing-memories .house-anniversary>p,body.viewing-memories .house-clock span,body.viewing-memories .house-empty>p,body.viewing-memories .house-photo-tools>p,body.viewing-memories .music-no-lyrics,body.viewing-memories .music-song-button small,body.viewing-memories .music-extras button,body.viewing-memories .music-progress{color:var(--space-muted)}
body.viewing-memories .house-anniversary{background:var(--space-soft);border-color:var(--space-line);box-shadow:0 8px 26px rgba(37,67,70,.05)}
body.viewing-memories .house-clock b,body.viewing-memories .house-empty h2,body.viewing-memories .house-stage-status,body.viewing-memories .house-paging,body.viewing-memories .house-paging .space-text-button,body.viewing-memories .music-song-button,body.viewing-memories .music-transport button{color:var(--space-ink)}
body.viewing-memories .house-header-actions button,body.viewing-memories .house-empty button{color:var(--space-ink);background:var(--space-soft);border-color:var(--space-line)}
body.viewing-memories .house-modes,body.viewing-memories .music-player-row{background:var(--space-soft);border-color:var(--space-line);box-shadow:0 4px 16px rgba(37,67,70,.04)}
body.viewing-memories .house-modes button{color:var(--space-muted)}
body.viewing-memories .house-modes button[aria-pressed=true]{color:var(--space-ink);background:rgba(207,143,157,.18)}
body.viewing-memories .music-lyric-line{color:var(--space-muted);opacity:.6}
body.viewing-memories .music-lyric-line.is-current{color:var(--space-ink);background:none;-webkit-text-fill-color:currentColor;opacity:1}
@media(max-width:760px){#categoryDialog{padding:23px}body.viewing-memories .house-brand{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.password-toggle{transition:none}}
