/* Shared finishing layer: painted lake, milk glass, clear type and quiet motion. */
:root{--space-ink:#334b48;--space-muted:#61746d;--space-accent:#ba778b;--space-line:rgba(74,105,93,.18);--space-paper:rgba(255,252,247,.94)}
body.video-entry-page .auth-gate{display:grid;align-items:center;justify-items:end;padding:max(24px,env(safe-area-inset-top)) max(clamp(28px,8vw,150px),env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:linear-gradient(90deg,transparent 42%,rgba(40,65,65,.045));backdrop-filter:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s var(--space-ease),visibility 0s .65s}
body.video-entry-page .auth-gate .modal{width:min(376px,100%);padding:32px 32px 27px;background:rgba(255,252,246,.81);border:1px solid rgba(255,255,255,.84);border-radius:26px;box-shadow:0 22px 70px rgba(33,61,52,.13),inset 0 1px rgba(255,255,255,.95),inset 0 -1px rgba(214,190,180,.14);backdrop-filter:blur(20px) saturate(1.03);-webkit-backdrop-filter:blur(20px) saturate(1.03);opacity:0!important;transform:translateY(10px)!important;transition:opacity .72s var(--space-ease),transform .9s var(--space-ease)!important;scrollbar-width:thin;scrollbar-color:rgba(186,119,139,.3) transparent}
body.video-entry-page.has-entered.auth-ready:not(.is-authenticated) .auth-gate{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
body.video-entry-page.has-entered.auth-ready:not(.is-authenticated) .auth-gate .modal{opacity:1!important;transform:translateY(0)!important}
body.video-entry-page.has-entered.auth-ready.auth-leaving .auth-gate{opacity:0;pointer-events:none;transition-duration:.32s}
body.video-entry-page.auth-leaving .auth-gate .modal{opacity:0!important;transform:translateY(-6px)!important}
body.video-entry-page .auth-gate .eyebrow{display:block;color:#a36d7b;font-size:9px;font-weight:500;letter-spacing:.2em;margin:0 0 14px}
body.video-entry-page .auth-gate h2{font-size:30px;line-height:1.45;margin:0;color:#334b48;letter-spacing:.13em}
body.video-entry-page .auth-gate .modal-copy{color:#61746d;line-height:1.9;margin:10px 0 25px;font-size:12px;max-width:25em}
body.video-entry-page .auth-gate form{gap:17px}
body.video-entry-page .auth-gate form>label{gap:7px;font-size:12px;color:#5f716a;line-height:1.6}
body.video-entry-page .auth-gate input{height:48px;font-size:16px;background:rgba(255,254,250,.82);border-color:rgba(95,123,108,.22);border-radius:12px;box-shadow:inset 0 1px 3px rgba(33,61,52,.025);transition:background .25s,border-color .25s,box-shadow .25s}
body.video-entry-page .auth-gate input:focus{outline:0;border-color:#bc8290;box-shadow:0 0 0 3px rgba(188,130,144,.13)}
body.video-entry-page .auth-gate .modal-submit{height:48px;border-radius:12px;margin-top:5px;background:linear-gradient(140deg,#c88c9c,#b8768b);border:1px solid rgba(255,255,255,.26);color:#fff;box-shadow:0 7px 20px rgba(158,94,115,.16);transition:background .3s,box-shadow .3s,transform .3s}
body.video-entry-page .auth-gate .modal-submit:focus-visible{outline:2px solid #a5637d;outline-offset:4px}
body.video-entry-page .auth-gate .form-message:not(:empty){padding:11px 13px;border-radius:9px;background:rgba(188,130,144,.08);color:#8f5267;line-height:1.7}
body.video-entry-page.has-entered.is-authenticated .space-shell{background:linear-gradient(120deg,rgba(247,246,237,.72),rgba(237,245,239,.73))}
.space-sidebar{background:rgba(255,252,247,.88);border-color:rgba(119,143,124,.15)}
.space-main{max-width:1720px;width:100%;padding-top:31px}
.space-topline{margin-bottom:45px;font-size:9px;min-height:32px}
.space-top-nav{display:flex;align-items:center;gap:8px}
.space-top-nav a{color:var(--space-muted);text-decoration:none;font-size:12px;font-weight:500;letter-spacing:.02em;padding:10px 14px;border-radius:999px;transition:background .35s,color .35s}
.space-top-nav a:hover,.space-top-nav a[aria-current=page]{background:rgba(244,220,224,.75);color:var(--space-ink)}
.space-heading{margin-bottom:32px}.space-heading h1{font-size:clamp(32px,3.1vw,44px);font-weight:500}
.space-heading>div>p:last-child{font-size:13px;line-height:1.85}.space-eyebrow{font-size:9px;color:#a86b7d}
.space-nav-item{font-size:13px}.space-account strong{font-size:12px}.space-account small{font-size:10px}.space-storage>span{font-size:10px}
.space-button{min-height:43px;font-size:12px;border-radius:12px}.space-tools{padding:12px 0 20px}.space-search input{font-size:13px}.space-sort select{font-size:12px}.space-section-label{font-size:11px}
.space-page{min-height:calc(100dvh - 205px)}
.space-empty{display:flex;min-height:clamp(280px,39vh,440px);flex-direction:column;align-items:center;justify-content:center;padding:36px 20px 50px}
.space-empty-art{display:none!important}
.space-empty h2{font:500 clamp(23px,2.3vw,30px)/1.7 "Noto Serif SC","Songti SC",serif;letter-spacing:.075em;margin-bottom:14px;color:var(--space-ink)}
.space-empty p{font-size:13px;line-height:1.9;color:var(--space-muted);margin:0 0 26px}
.space-empty .space-button{padding:12px 23px;background:rgba(255,252,247,.96);box-shadow:0 5px 20px rgba(61,87,67,.05)}
.collection-info strong{font-size:21px;color:var(--space-ink)}.collection-meta{font-size:11px;line-height:1.8}.collection-card{background:none}.space-file{background:rgba(255,252,247,.95);border-color:rgba(255,255,255,.85)}
.space-file-name{font-size:14px}.space-file-description{font-size:12px;height:42px}.space-file-meta,.space-file-category{font-size:11px}.space-file-actions>button,.space-file-actions>a{font-size:12px}
body[data-experience-state=idle] .petal-field{display:block;z-index:2;opacity:.65;pointer-events:none}
html[data-space-theme=dark]{--space-ink:#e4ece3;--space-muted:#b2c4b6;--space-paper:rgba(36,53,44,.95)}
html[data-space-theme=dark] body.video-entry-page.has-entered.is-authenticated .space-shell{background:rgba(29,47,37,.9)}
html[data-space-theme=dark] .space-file{background:var(--space-paper);border-color:var(--space-line)}
html[data-space-theme=dark] .space-empty .space-button{background:rgba(52,70,56,.94)}
@media(max-width:760px){body.video-entry-page .auth-gate{justify-items:center;align-items:end;padding:max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,calc(env(safe-area-inset-bottom) + 12px)) max(18px,env(safe-area-inset-left));background:linear-gradient(180deg,transparent 40%,rgba(38,64,62,.06))}body.video-entry-page .auth-gate .modal{width:min(364px,100%);padding:25px 25px 23px;border-radius:24px;max-height:calc(var(--qiyu-auth-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 38px);background:rgba(255,252,246,.85);backdrop-filter:blur(16px) saturate(1.03);-webkit-backdrop-filter:blur(16px) saturate(1.03)}body.video-entry-page .auth-gate h2{font-size:27px}body.video-entry-page .auth-gate .modal-copy{margin:8px 0 20px;font-size:12px}body.video-entry-page .auth-gate form{gap:14px}.space-sidebar{background:rgba(255,252,247,.94)}.space-main{padding-top:22px}.space-topline{margin-bottom:28px;gap:12px;flex-wrap:wrap}.space-topline>p{font-size:8px}.space-top-nav{gap:1px;margin-left:auto}.space-top-nav a{font-size:11px;padding:9px 11px}.space-heading h1{font-size:33px}.space-nav-item{font-size:12px}.space-heading>div>p:last-child{font-size:12px}.space-empty{min-height:330px;padding:30px 10px 52px}.space-empty h2{font-size:23px}.space-empty p{font-size:12px;max-width:24em}.collection-info strong{font-size:16px}.collection-meta{font-size:10px}.space-file-name{font-size:13px}.space-file-description{font-size:11px}.space-file-actions>button,.space-file-actions>a{font-size:11px}}
@media(hover:hover) and (pointer:fine){body.video-entry-page .auth-gate .modal-submit:hover{background:linear-gradient(140deg,#cd94a3,#b9788c);box-shadow:0 10px 25px rgba(158,94,115,.22);transform:translateY(-1px)}}
/* Portrait exports use a 1080 × 1920 canvas with the complete 1080 × 608
   film at y=128. Reserve its fitted bottom plus a small gap for the form.
   max() covers both a width-fitted phone and a height-fitted wider device. */
@media(max-width:760px) and (orientation:portrait){body.video-entry-page .auth-gate{--qiyu-phone-film-bottom:max(38.334dvh,calc(50dvh - 20.741vw));--qiyu-phone-form-top:calc(var(--qiyu-phone-film-bottom) + 18px);padding-top:var(--qiyu-phone-form-top)}body.video-entry-page .auth-gate .modal{max-height:calc(var(--qiyu-auth-viewport-height,100dvh) - var(--qiyu-phone-form-top) - max(22px,calc(env(safe-area-inset-bottom) + 12px)));overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:760px) and (max-height:720px) and (orientation:portrait){body.video-entry-page .auth-gate .modal{padding:19px 23px 17px}body.video-entry-page .auth-gate .eyebrow{display:none}body.video-entry-page .auth-gate h2{font-size:24px;line-height:1.35}body.video-entry-page .auth-gate .modal-copy{font-size:11px;line-height:1.65;margin:5px 0 13px}body.video-entry-page .auth-gate form{gap:10px}body.video-entry-page .auth-gate form>label{font-size:11px;line-height:1.4;gap:5px}body.video-entry-page .auth-gate input,body.video-entry-page .auth-gate .modal-submit{min-height:44px;height:44px}body.video-entry-page .auth-gate .modal-submit{margin-top:2px}}
/* The existing visualViewport adapter keeps the form within the space above
   a phone keyboard; the background video keeps its independent dimensions. */
body.video-entry-page.auth-keyboard-open .auth-gate{align-items:center;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}
body.video-entry-page.auth-keyboard-open .auth-gate .modal{max-height:calc(var(--qiyu-auth-viewport-height,100dvh) - 20px);padding-top:19px;padding-bottom:18px}
@media(max-height:540px) and (orientation:landscape){body.video-entry-page .auth-gate{justify-items:end;align-items:center;padding:12px max(24px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left))}body.video-entry-page .auth-gate .modal{width:min(348px,48vw);padding:18px 23px;max-height:calc(var(--qiyu-auth-viewport-height,100dvh) - 24px)}body.video-entry-page .auth-gate .eyebrow{margin-bottom:8px}body.video-entry-page .auth-gate .modal-copy{margin:6px 0 13px}body.video-entry-page .auth-gate form{gap:10px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body.video-entry-page .auth-gate .modal{background:rgba(255,252,246,.96)}}
@media(prefers-reduced-motion:reduce){body.video-entry-page .auth-gate .modal,.space-top-nav a{transition:none!important}}
