:root{color-scheme:light;--entry-purple:#49316b;--entry-teal:#22a7a1;--entry-pink:#df80a9}
*{box-sizing:border-box}
body.entry-page{margin:0;background:#faf7fc;color:var(--entry-purple);font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif}
.entry-stage{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100vh;min-height:100svh;padding:clamp(24px,5vh,56px) 24px;overflow:hidden;background:radial-gradient(ellipse at 20% 22%,#e6f2ef 0,transparent 40%),radial-gradient(ellipse at 85% 80%,#f8e5ec 0,transparent 42%),#faf7fc}
.entry-stage::before{position:absolute;z-index:-1;content:"";width:min(82vw,930px);aspect-ratio:1;border:1px solid #5937720a;border-radius:50%;transform:translateY(4%)}
.entry-link{display:flex;position:relative;align-items:center;flex-direction:column;gap:clamp(22px,4vh,34px);width:min(100%,640px);text-decoration:none;color:inherit;border-radius:28px;outline-offset:12px;-webkit-tap-highlight-color:transparent}
.entry-link:focus-visible{outline:3px solid var(--entry-teal)}
.entry-logo{display:block;width:clamp(190px,29vw,244px);height:auto;animation:entry-arrive .65s ease-out both}
.entry-art{position:relative;display:block;width:100%;padding:16px;animation:entry-arrive .8s cubic-bezier(.2,.65,.3,1) both}
.entry-frame{position:relative;z-index:1;display:block;overflow:hidden;border-radius:28px;background:#f2d7d3;box-shadow:0 24px 65px -30px #43245f55,0 0 0 7px #ffffffb5}
.entry-frame img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.entry-orbit{position:absolute;z-index:0;display:block;border:2px solid;pointer-events:none}
.entry-orbit-teal{inset:0 24px 8px 0;border-color:#65b9ad80;border-radius:48px 36px 60px 40px;transform:rotate(-4deg);animation:entry-orbit-teal 1.05s ease-out both}
.entry-orbit-pink{inset:10px 0 0 26px;border-color:#e2a0bd90;border-radius:38px 58px 38px 55px;transform:rotate(3deg);animation:entry-orbit-pink 1.05s ease-out both}
.entry-spark{position:absolute;z-index:2;display:block;width:13px;aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 7px #faf7fccc;animation:entry-spark .9s ease-out both}
.entry-spark-teal{left:4px;top:24%;background:var(--entry-teal)}
.entry-spark-pink{right:4px;bottom:20%;background:var(--entry-pink);animation-delay:.08s}
.entry-action{display:flex;align-items:center;justify-content:center;gap:18px;min-width:104px;min-height:44px;padding:8px 17px;border:1px solid #49316b18;border-radius:999px;background:#ffffffa8;transition:background .2s ease,border-color .2s ease}
.entry-link:hover .entry-action,.entry-link:focus-visible .entry-action,.redirect-fallback .entry-action{background:#fff;border-color:#49316b44}
.entry-dots{display:flex;gap:5px;align-items:center}
.entry-dots i{display:block;width:5px;height:5px;border-radius:50%;background:var(--entry-purple);animation:entry-dot .8s ease-in-out both}
.entry-dots i:nth-child(2){background:var(--entry-teal);animation-delay:.1s}
.entry-dots i:nth-child(3){background:var(--entry-pink);animation-delay:.2s}
.entry-arrow{display:block;width:21px;height:21px}
.entry-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes entry-arrive{from{opacity:.45;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes entry-orbit-teal{from{opacity:0;transform:rotate(-8deg) scale(.97)}to{opacity:1;transform:rotate(-4deg) scale(1)}}
@keyframes entry-orbit-pink{from{opacity:0;transform:rotate(7deg) scale(.97)}to{opacity:1;transform:rotate(3deg) scale(1)}}
@keyframes entry-spark{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes entry-dot{0%,100%{opacity:1;transform:translateY(0)}50%{opacity:.4;transform:translateY(-3px)}}
@media(max-width:480px){.entry-stage{padding-inline:22px}.entry-art{padding:10px}.entry-frame{border-radius:20px;box-shadow:0 18px 45px -24px #43245f55,0 0 0 5px #ffffffb5}.entry-link{gap:25px}.entry-orbit-teal{inset:0 14px 5px 0}.entry-orbit-pink{inset:5px 0 0 15px}.entry-spark{width:9px;box-shadow:0 0 0 5px #faf7fccc}}
@media(max-height:600px) and (min-width:600px){.entry-stage{padding:20px}.entry-link{width:min(68vh,540px);gap:12px}.entry-logo{width:170px}.entry-art{padding:10px}.entry-action{min-height:36px}}
@media(prefers-reduced-motion:reduce){.entry-page *,.entry-page *::before,.entry-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
