*{box-sizing:border-box}:host{margin:0;background:#090805;color:#e7d4a7;font-family:Arial,'PingFang SC',sans-serif}#workbench{position:fixed;inset:0;width:100%;height:100%;border:0}#arrival{position:fixed;inset:0;overflow:hidden;isolation:isolate}#arrival.done{visibility:hidden;pointer-events:none}.door{position:absolute;top:0;bottom:0;width:50.1%;background:radial-gradient(ellipse at 50% 50%,#18140c,#070705 72%);z-index:0;transition:transform 1.45s cubic-bezier(.65,0,.2,1)}.left{left:0;border-right:1px solid #dfc18340}.right{right:0;border-left:1px solid #dfc18340}#arrival.open .left{transform:translateX(-101%)}#arrival.open .right{transform:translateX(101%)}#arrival canvas,#ornament,#arrival .shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.shade{background:radial-gradient(ellipse at center,transparent 38%,#0008 100%);z-index:2}#ornament{z-index:3;opacity:.85}#ornament path,#ornament rect{fill:none;stroke:#b8a170;stroke-width:.65;vector-effect:non-scaling-stroke;stroke-dasharray:2400;stroke-dashoffset:2400;animation:engrave 3.6s ease forwards}#ornament path{animation-delay:.45s}#ornament .fine{stroke:#d3bd89;stroke-width:.38;opacity:.55}#arrival.open canvas,#arrival.open #ornament,#arrival.open .shade{opacity:0;transition:opacity .8s}.masthead{position:absolute;left:6%;right:6%;top:7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:4px;color:#ae9c73;z-index:4;opacity:0;animation:appear 1.8s .3s forwards}#arrival .brand{position:absolute;top:50%;left:50%;width:90%;transform:translate(-50%,-43%);text-align:center;z-index:5;opacity:0;filter:blur(8px);transition:opacity 1.4s,filter 1.4s,transform 1.7s}#arrival .brand.visible{opacity:1;filter:blur(0);transform:translate(-50%,-50%)}.crest{font-size:35px;color:#e7cc85;margin-bottom:15px;text-shadow:0 0 25px #cba95d80}.eyebrow{font-size:9px;letter-spacing:6px;color:#a99a79}#arrival h1{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:clamp(60px,9.5vw,155px);line-height:1;margin:20px 0 26px;letter-spacing:-.06em;background:linear-gradient(110deg,#79623b 0%,#e7d5a0 20%,#fff0bf 32%,#a5884c 45%,#efd9a5 58%,#fff6d9 65%,#9d804a 80%,#e1c58e 100%);background-size:240% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 3px 1px #000);animation:foil 6s ease-in-out infinite}#arrival .brand p{font-family:'Songti SC','STSong',serif;font-size:clamp(15px,1.5vw,22px);letter-spacing:.48em;margin:24px 0 0;padding-left:.48em;color:#d4c295}.rule{display:flex;gap:18px;align-items:center;justify-content:center}.rule i{width:90px;height:1px;background:linear-gradient(90deg,transparent,#a78e55)}.rule i:last-child{transform:rotate(180deg)}.rule b{font-size:6px;font-weight:400}.footnote{position:absolute;bottom:8%;left:6%;right:6%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:3px;color:#8b7c5c;z-index:4}.open #arrival .brand,.open .masthead,.open .footnote{opacity:0;transition:opacity .6s}.preview-tools{position:fixed;z-index:20;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:6px;align-items:center;padding:7px 8px 7px 16px;border:1px solid #a28c5540;background:#11100de8;border-radius:5px;white-space:nowrap;font-size:11px;color:#b4a17b}.preview-tools span{margin-right:10px}button{font:inherit;cursor:pointer;border:1px solid #bda06c50;color:#e3d3ae;background:#28231a;padding:9px 13px;border-radius:3px}button:hover{background:#443723}button:focus-visible{outline:2px solid #efc979;outline-offset:3px}#skip{position:absolute;right:6%;bottom:14%;z-index:8;background:transparent;font-size:11px;letter-spacing:2px}#skip[hidden]{display:none}@keyframes engrave{to{stroke-dashoffset:0}}@keyframes appear{to{opacity:1}}@keyframes foil{50%{background-position:0 0}}@media(max-width:600px){.masthead{top:5%;font-size:8px}.masthead span:last-child,.footnote span,.preview-tools span{display:none}#arrival .brand{width:94%}.eyebrow{font-size:7px;letter-spacing:4px}#arrival h1{font-size:65px}#arrival .brand p{font-size:15px;letter-spacing:.25em}.footnote{bottom:13%;font-size:7px;letter-spacing:2px}#skip{bottom:18%}.preview-tools{bottom:20px}.crest{font-size:25px}}@media(prefers-reduced-motion:reduce){h1,#ornament *,.masthead{animation:none!important;stroke-dashoffset:2400}.masthead{opacity:1}#arrival .brand,.door{transition:none!important}}
@media(min-width:701px){.masthead,.footnote{left:23%;right:23%;font-size:8px;letter-spacing:2.5px}#arrival h1{font-size:clamp(60px,8.2vw,140px)}}
#arrival.resetting .door{transition:none;transform:none}
@media(max-width:600px){.masthead{left:25%;right:25%;justify-content:center;top:8%}}

#arrival{z-index:99999}#arrival .brand{display:block}#yii-entrance{display:none!important}

:host{position:fixed;inset:0;z-index:99999;display:block}#arrival .brand{position:absolute!important;display:block!important}#arrival.done{display:none!important}

@media(prefers-reduced-motion:reduce){#arrival h1{animation:foil 8s ease-in-out infinite!important}#arrival .brand{transition:opacity 1.4s!important}.door{transition:transform 1.45s ease!important}}

/* Keep a visible, progressive reveal while respecting reduced spatial motion. */
@media(prefers-reduced-motion:reduce){
#arrival #ornament path,#arrival #ornament rect{animation:engrave 5.2s ease forwards!important;stroke-dashoffset:2400}
#arrival #ornament path{animation-delay:.3s!important}
#arrival h1{animation:none!important;background-position:45% 0}
#arrival .brand,#arrival .brand.visible{transform:translate(-50%,-50%);filter:none;transition:opacity 1.8s!important}
#arrival.gentle .door{transition:opacity 1.2s ease!important}
#arrival.gentle.open .door{transform:none;opacity:0}
}
