@font-face{font-family:Fredoka;src:url(../fonts/Fredoka.ttf) format("truetype");font-weight:300 700;font-display:swap}@font-face{font-family:Nunito;src:url(../fonts/Nunito.ttf) format("truetype");font-weight:300 800;font-display:swap}.door{--night: #0b1028;--ink: #142b42;--ink-soft: #52677c;--gold-1: #ffe27a;--gold-2: #f5b82e;--gold-edge: #b9780f;--gold-text: #3a2300;position:relative;min-height:100dvh;margin:0;overflow-x:hidden;display:flex;flex-direction:column;background:var(--night);color:#fff;font-family:Nunito,system-ui,sans-serif}.door__art,.door__light{position:fixed;top:0;right:0;bottom:0;left:0}.door__art{background:url(../key/gate-wide.webp) 60% center / cover no-repeat;animation:door-open 1.6s cubic-bezier(.2,.7,.2,1) both}.door__art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0b1028d9,#0b102880 45%,#0b102800 70%)}.door__light{background:radial-gradient(circle at 68% 38%,#ffd67a4d,#ffd67a00 34%);pointer-events:none;animation:door-glow 4.5s ease-in-out infinite alternate}.door__switch{position:absolute;top:16px;right:16px;z-index:2}.door__main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;width:100%;padding:72px 16px 24px clamp(16px,8vw,128px)}.door__card{box-sizing:border-box;width:min(460px,100%);padding:36px;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 0 0 10px #0b1028bf,0 24px 60px #00000073;animation:door-arrive .7s .15s cubic-bezier(.2,.8,.2,1) both}.door__brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.door__brand img{width:44px;height:44px}.door__brand .door__word{width:auto;height:22px}.door h1{margin:24px 0 4px;font-family:Fredoka,system-ui,sans-serif;font-size:2.125rem;font-weight:600}.door__ask{margin:0 0 20px;color:var(--ink-soft);font-size:1.0625rem}.door__choice{display:block;margin-top:12px;padding:16px 20px;border:2px solid #c9d4e0;border-radius:16px;color:var(--ink);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.door__choice:hover,.door__choice:focus-visible{transform:translateY(-2px);border-color:var(--ink)}.door__choice--student{border-color:var(--gold-edge);border-bottom-width:5px;background:linear-gradient(120deg,var(--gold-1),var(--gold-2));color:var(--gold-text)}.door__choice--student:hover,.door__choice--student:focus-visible{border-color:var(--gold-edge);box-shadow:0 10px 26px #f5b82e73}.door__name{display:block;font-family:Fredoka,system-ui,sans-serif;font-size:1.375rem;font-weight:600}.door__what{display:block;margin-top:2px;font-size:.9688rem;line-height:1.35}.door__note{margin:18px 0 0;color:var(--ink-soft);font-size:.9375rem;text-align:center}.door__register{width:min(460px,100%);margin:26px 0 0;text-align:center}.door__register a{color:var(--gold-1);font-weight:800}.door__foot{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px 20px;padding:16px 16px 20px clamp(16px,8vw,128px);font-size:.875rem}.door__foot a{color:#ffffffdb}@media(max-aspect-ratio:4/5){.door__art{background-image:url(../key/gate-tall.webp);background-position:center bottom}.door__art:after{background:linear-gradient(180deg,#0b1028b3,#0b102866)}.door__light{display:none}.door__main,.door__foot{padding-left:16px;align-items:center}.door__card{padding:24px}}@keyframes door-open{0%{transform:scale(1.06);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes door-arrive{0%{transform:translateY(22px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes door-glow{0%{opacity:.45}to{opacity:1}}@media(prefers-reduced-motion:reduce){.door__art,.door__light,.door__card{animation:none}.door__choice{transition:none}.door__choice:hover,.door__choice:focus-visible{transform:none}}
