/* finesse · brand · orbital-light-halo · layered-silver-cyan · cinematic-arrival */
:root{--bg:#080e16;--panel:#101a24;--green:#83d5d6;--accent:#c0eae7;--muted:#9aadb9;--line:rgba(178,215,229,.15)}
body{background:radial-gradient(ellipse at 100% 25%,rgba(45,85,112,.12),transparent 40%),var(--bg)}
.hero{background:radial-gradient(ellipse at 74% 50%,rgba(35,78,98,.1),transparent 65%)}
.hero-wash{background:linear-gradient(90deg,rgba(8,14,22,.26),transparent 68%),linear-gradient(0deg,var(--bg),transparent 22%,transparent 78%,rgba(8,14,22,.25))}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 68% 50%,transparent 35%,rgba(3,8,17,.28) 90%)}
.hero-top{color:#a0b3c0}.hero-copy .eyebrow{color:#9fc7d2}.hero h1{font-weight:400;text-shadow:0 3px 35px rgba(4,10,18,.35)}.hero .outline{color:#d0edeb}.hero-bottom p{color:#acbdc7}.hero-foot{color:#92a8b8}.hero canvas{transition:opacity .6s}.intro,.cert-section,.contact{background-image:radial-gradient(ellipse at 95% 30%,rgba(56,107,125,.06),transparent 65%)}
.archive{background:linear-gradient(180deg,var(--bg),#101b24)}.round-link b{box-shadow:0 0 35px rgba(123,202,217,.045)}.flow-controls{gap:12px}.flow-controls .replay-intro{border-color:transparent;padding-inline:6px}.hint{opacity:.8}.opening-active{overflow:hidden}.opening-active #flow{visibility:hidden}.opening{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;padding:0;background:#070d16;overflow:hidden;color:var(--ink);outline:0;box-shadow:none}.opening::backdrop{background:#070d16;backdrop-filter:none}.opening-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.opening-top,.opening-bottom{position:absolute;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;font:10px monospace;letter-spacing:2px;color:#839dab;z-index:2}.opening-top{top:32px}.opening-top button{font-size:11px;letter-spacing:1px;border:1px solid var(--line);background:transparent;border-radius:30px;padding:12px 18px;min-height:44px}.opening-bottom{bottom:35px;font-size:8px}.opening-name{position:absolute;top:46%;left:0;width:100%;transform:translateY(-50%);text-align:center;pointer-events:none;animation:opening-type 1.4s var(--ease) both}.opening-name>p{font:9px/1.8 monospace;letter-spacing:3px;color:#97bdc8;margin:0 0 25px}.opening-name h2{font-size:clamp(34px,4.5vw,64px);font-weight:300;letter-spacing:.2em;margin:0 0 25px;padding-left:.2em;line-height:1.5}.opening-name h2 span{display:block;font:10px/2 monospace;letter-spacing:7px;color:#7795a5;margin-top:12px}.opening-rule{width:80px;height:1px;margin:24px auto;background:linear-gradient(90deg,transparent,#b6e7e8,transparent);transform-origin:center;animation:opening-rule 2.8s var(--ease) both}.opening-name p.opening-status{font-family:'Microsoft YaHei',sans-serif;font-size:11px;letter-spacing:2px;color:#93aebc;margin:0}.opening.leaving{animation:opening-exit .65s var(--ease) both}.opening.leaving .opening-canvas{transform:scale(1.16);transition:transform .65s var(--ease)}
@keyframes opening-type{from{opacity:0;transform:translateY(calc(-50% + 16px))}to{opacity:1;transform:translateY(-50%)}}@keyframes opening-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes opening-exit{to{opacity:0;filter:blur(4px)}}
@media(max-width:900px){.hint{display:none}}@media(max-width:600px){.opening-name>p{font-size:7px;letter-spacing:1.5px}.opening-name h2{font-size:36px}.opening-name h2 span{font-size:8px;letter-spacing:4px}.opening-top{top:20px;font-size:8px;letter-spacing:1px}.opening-top button{font-size:10px;padding:10px 14px}.opening-bottom{font-size:7px;letter-spacing:.6px;bottom:24px}.hero-foot{flex-wrap:wrap;row-gap:14px}.flow-controls{gap:8px}.flow-controls button{font-size:9px}.scroll-cue{font-size:7px}.scroll-cue span{margin-left:5px}}
@media(prefers-reduced-motion:reduce){.opening,.opening-name,.opening-rule{animation:none!important}.opening.leaving{opacity:0;filter:none}}
.motion-paused .scroll-cue span{animation-play-state:paused}
