/* 衍智枢 · cinematic front door */
html.dream-entry,html.dream-entry body{overflow:hidden;height:100%;background:#03131f}
.dream-entry .site-header,.dream-entry .site-footer,.dream-entry #mobile-nav,.dream-entry #dad-atmosphere,.dream-entry .dad-cursor{display:none!important}
.dream-entry .skip{z-index:110}.dream-entry main{min-height:100svh}
.dream-entry #page-home,.dream-entry #page-models,.dream-entry #page-studio{display:none!important}
#page-dream{position:relative;isolation:isolate;height:100svh;min-height:480px;overflow:hidden;background:#041624 url('assets/motion/dream-user-poster.jpg') center/cover no-repeat;color:#f3fffc}
#dream-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}
.dream-overlay{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,#020c173d,transparent 30%,#010c1638 65%,#010811b8),linear-gradient(90deg,#010c1438,transparent 55%,#010c1420)}
.dream-noise{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='130' height='130'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h130v130H0z'/%3E%3C/svg%3E")}
.dream-header{position:absolute;top:0;left:0;right:0;height:100px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.dream-brand{display:flex;align-items:center;gap:12px}.dream-brand img{height:34px;width:34px}.dream-brand strong{font-size:26px;letter-spacing:-1px}.dream-brand>span{height:20px;width:1px;background:#baffef40;margin-inline:7px}.dream-brand small{font:9px/1.5 var(--tech-mono);letter-spacing:2.5px;color:#b6d9dc}
.dream-header-note{display:flex;align-items:center;gap:9px;color:#c1dfdf;font-size:10px;letter-spacing:1px}.dream-header-note i{width:5px;height:5px;background:#a3ffdc;border-radius:50%;box-shadow:0 0 13px #76ffe0}
.dream-center{position:absolute;left:0;right:0;top:50%;transform:translateY(-47%);display:flex;align-items:center;flex-direction:column;text-align:center;padding:30px 24px;gap:0}
.dream-kicker{font:10px/1.6 var(--tech-mono);color:#b4f5eb;letter-spacing:5px;text-shadow:0 2px 20px #0009;margin-bottom:21px}
.dream-center h1{font-size:clamp(52px,6vw,98px);font-weight:500;letter-spacing:4px;line-height:1.28;text-shadow:0 3px 35px #002c3daa;margin:0}
.dream-center>p:not(.dream-kicker){color:#c4e6e6;font-size:14px;letter-spacing:3px;line-height:1.9;margin-top:20px;text-shadow:0 2px 15px #0009}
.dream-enter{display:inline-flex;gap:38px;align-items:center;justify-content:center;margin-top:39px;padding:17px 33px;min-width:210px;min-height:60px;background:rgba(176,255,234,.10);color:#edfff9;border:1px solid rgba(205,255,242,.38);border-radius:8px;font-size:17px;font-weight:500;letter-spacing:2px;backdrop-filter:blur(14px) saturate(125%);-webkit-backdrop-filter:blur(14px) saturate(125%);text-shadow:0 1px 12px #00232e80;box-shadow:inset 0 1px 0 #ffffff12,0 8px 30px #00152228;transition:transform .35s,background .35s,box-shadow .35s,border-color .35s}
.dream-enter span{font-size:23px;font-weight:400;letter-spacing:0}.dream-enter:hover{transform:translateY(-2px);background:rgba(176,255,234,.18);border-color:rgba(205,255,242,.65);box-shadow:inset 0 1px 0 #ffffff20,0 10px 35px #00152238}.dream-enter:focus-visible{outline:2px solid white;outline-offset:7px;animation:none;opacity:1;translate:0 0}
.dream-entry .dream-enter{animation:dreamButtonReveal 2s cubic-bezier(.2,.65,.25,1) .45s both}
.dream-entry .dream-enter:focus-visible{animation:none}
.dream-entry .dream-center .dream-enter-hint{animation:dreamButtonReveal 1.7s ease .8s both}
@keyframes dreamButtonReveal{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.dream-center .dream-enter-hint{font-size:10px!important;letter-spacing:1px!important;color:#8fb8bf!important;margin-top:15px!important}
.dream-bottom{position:absolute;left:48px;right:48px;bottom:29px;display:flex;align-items:end;justify-content:space-between;gap:24px}
.dream-work-info{display:flex;align-items:center;gap:15px}.dream-work-line{width:40px;height:1px;background:#94ffe0}.dream-work-info small{display:block;font:8px var(--tech-mono);letter-spacing:1.7px;color:#63959f;margin-bottom:7px}.dream-work-info strong{display:block;font-size:12px;font-weight:400;letter-spacing:2px;color:#bbd7db}.dream-work-info p{font-size:9px;letter-spacing:.6px;color:#658e99;margin-top:5px}
.dream-controls{display:flex;align-items:center;gap:18px;margin-left:auto}.dream-duration{font:9px var(--tech-mono);letter-spacing:1px;color:#94b7bf}.dream-toggle{color:#b6d7db;border:1px solid #a3ffe43b;background:#061a2666;backdrop-filter:blur(12px);border-radius:3px;padding:9px 13px;font-size:10px;min-height:36px;min-width:72px}.dream-toggle:hover{background:#94ffe015;border-color:#94ffe080}
.dream-progress{height:2px;position:absolute;left:0;right:0;bottom:0;background:#97ffe011;pointer-events:none}.dream-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#4b92ff,#94ffe0);transform:scaleX(0);transform-origin:left;opacity:.7}
.dream-load-note{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);font-size:11px;color:#c6e5e5;background:#05131db3;padding:8px 13px;border-radius:4px;text-align:center;max-width:90%}
.dream-back-link{color:#6b939e;font-size:10px;padding:0}.dream-back-link:hover{color:#94ffe0}
body.arriving-home #page-home{animation:dreamArrival .65s cubic-bezier(.2,.65,.2,1) both}
@keyframes dreamArrival{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:2000px){.dream-center h1{font-size:110px}.dream-center>p:not(.dream-kicker){font-size:16px}.dream-enter{padding:20px 40px;min-width:240px;font-size:18px}.dream-header{height:120px;padding-inline:65px}.dream-bottom{left:65px;right:65px;bottom:36px}}
@media(max-width:850px){.dream-header{height:86px;padding-inline:30px}.dream-brand small{font-size:8px;letter-spacing:1.6px}.dream-center h1{font-size:64px}.dream-bottom{left:30px;right:30px}.dream-center>p:not(.dream-kicker){font-size:12px;letter-spacing:2px}.dream-kicker{font-size:9px;letter-spacing:3px}.dream-enter{margin-top:32px}}
@media(max-width:650px){#page-dream{min-height:420px}#dream-film{object-position:55% center}.dream-header{height:78px;padding-inline:23px}.dream-brand img{height:29px;width:29px}.dream-brand{gap:9px}.dream-brand strong{font-size:23px}.dream-brand>span,.dream-brand small{display:none}.dream-header-note{font-size:8px;gap:6px;letter-spacing:.5px}.dream-center{padding-inline:20px;transform:translateY(-45%)}.dream-kicker{font-size:8px;letter-spacing:3px;margin-bottom:18px}.dream-center h1{font-size:clamp(42px,10.5vw,62px);letter-spacing:1.5px;white-space:nowrap}.dream-center>p:not(.dream-kicker){font-size:11px;letter-spacing:1px;margin-top:18px}.dream-enter{font-size:16px;min-width:195px;min-height:56px;padding:14px 25px;gap:30px;margin-top:31px}.dream-center .dream-enter-hint{font-size:8px!important}.dream-bottom{left:22px;right:22px;bottom:23px;gap:14px}.dream-work-line{display:none}.dream-work-info small{font-size:6px;letter-spacing:1px;margin-bottom:5px}.dream-work-info strong{font-size:10px;letter-spacing:1px}.dream-work-info p{font-size:7px;letter-spacing:0;max-width:185px}.dream-duration{display:none}.dream-toggle{min-height:38px;min-width:68px;padding:8px 10px;font-size:9px}.dream-controls{gap:0}.dream-load-note{bottom:90px;font-size:10px}}
@media(max-height:560px) and (min-width:651px){.dream-header{height:65px}.dream-center{transform:translateY(-46%)}.dream-kicker{margin-bottom:10px;font-size:8px}.dream-center h1{font-size:48px}.dream-center>p:not(.dream-kicker){margin-top:10px;font-size:11px}.dream-enter{margin-top:20px;padding:12px 26px;min-height:48px;font-size:14px}.dream-center .dream-enter-hint{display:none}.dream-bottom{bottom:15px}}
@media(prefers-reduced-motion:reduce){body.arriving-home #page-home{animation:none}.dream-enter{transition:none}.dream-entry .dream-enter,.dream-entry .dream-center .dream-enter-hint{animation:none;opacity:1;translate:0 0}}
/* Floating glass entry — restrained luminous rim and round arrow. */
.dream-center{top:76%;transform:translateY(-50%);padding:0 20px}
.dream-enter.glass-create{position:relative;isolation:isolate;display:flex;align-items:center;width:252px;height:68px;min-width:0;min-height:0;margin:0;padding:8px 9px 8px 27px;gap:15px;border:1px solid rgba(221,255,249,.36);border-radius:999px;background:linear-gradient(125deg,rgba(210,255,244,.13),rgba(14,40,49,.15) 58%,rgba(147,219,255,.12));backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);box-shadow:inset 0 1px 1px #ffffff30,inset 0 -1px 1px #b6ffe00d,0 10px 35px #00000026;transition:background .4s,box-shadow .4s,transform .4s,border-color .4s;text-shadow:0 1px 15px #001e2a66;overflow:visible}
.glass-create:before{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1px solid #d3fff10d;pointer-events:none}
.glass-create:after{content:"";position:absolute;left:42px;right:42px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#e5fff9aa,transparent);pointer-events:none}
.glass-create .create-label{font-size:18px;font-weight:500;letter-spacing:3px;line-height:1;color:#f0fff9;white-space:nowrap}
.glass-create .create-light{display:block;flex:none;width:5px;height:5px;border-radius:50%;background:#b0ffe7;box-shadow:0 0 8px #8affdca0,0 0 17px #8affdc35;animation:createBreath 4s ease-in-out infinite}
.glass-create .create-arrow{display:grid;place-items:center;margin-left:auto;flex:none;width:48px;height:48px;border:1px solid #d3fff137;border-radius:50%;background:linear-gradient(145deg,#b6fff121,#a5dcff09);color:#d8fff4;font-size:25px;font-weight:400;letter-spacing:0;line-height:1;box-shadow:inset 0 1px 0 #ffffff18;transition:background .4s,transform .4s,border-color .4s}
.dream-enter.glass-create:hover{transform:translateY(-3px);background:linear-gradient(125deg,#d2fff42b,#0e28312b 58%,#93dbff29);border-color:#ddfff978;box-shadow:inset 0 1px 1px #ffffff45,0 14px 42px #00000033,0 0 25px #93ffe00b}
.glass-create:hover .create-arrow{background:#b6fff132;transform:rotate(5deg);border-color:#d3fff17a}
.dream-enter.glass-create:focus-visible{outline:2px solid #dbfff4;outline-offset:7px;animation:none;opacity:1;translate:0 0}
@keyframes createBreath{0%,100%{opacity:.55;box-shadow:0 0 6px #8affdc70}50%{opacity:1;box-shadow:0 0 12px #8affdcb0,0 0 20px #8affdc40}}
@media(max-width:650px){.dream-center{top:77%;transform:translateY(-50%)}.dream-enter.glass-create{width:236px;height:64px;padding:7px 8px 7px 25px;gap:13px}.glass-create .create-label{font-size:17px;letter-spacing:3px}.glass-create .create-arrow{width:46px;height:46px;font-size:24px}}
@media(max-height:560px){.dream-center{top:78%}}
@media(prefers-reduced-motion:reduce){.glass-create .create-light{animation:none}.dream-enter.glass-create,.glass-create .create-arrow{transition:none}}
