:root{color-scheme:dark;font-family:system-ui,sans-serif;color:#fff3ff;background:#120d2d}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 50% 20%,#371d6844,transparent 70%),linear-gradient(90deg,#100a2d10,#1b0c4140),url('./scene.webp') center/cover fixed}body:before{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#100c2422,transparent 35%,#100c2411)}.login-stage{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:72px 22px 40px;position:relative}.glass-panel{position:relative;isolation:isolate;width:min(570px,100%);padding:70px 48px 24px;text-align:center;border:2px solid transparent;border-radius:38px;background:linear-gradient(145deg,#30204dcc,#151b3bdd) padding-box,linear-gradient(135deg,#f590ff,#75f4ff 36%,#857cfd 70%,#fa71f4) border-box;box-shadow:0 0 12px #9cecff99,inset 0 0 30px #a251ff24,0 0 55px #b33fff44,0 20px 65px #04051b88}.glass-panel:before{content:'';position:absolute;inset:1px;z-index:-1;border-radius:36px;background:linear-gradient(125deg,#ffc1ff18,transparent 35%,transparent 65%,#59edff0b);pointer-events:none}.glass-panel:after{content:'';position:absolute;inset:auto 13% -3px;height:3px;background:linear-gradient(90deg,#53efff,#d275ff,#ff7bf4);box-shadow:0 0 18px #f962ff;pointer-events:none}.book{position:absolute;top:-80px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 0 15px #c359fba0)}.little-star{position:absolute;right:25px;top:24px;font-size:31px;color:#e1b2ff;text-shadow:0 0 14px #fa68e5}h1{font:italic 700 clamp(30px,4.2vw,51px)/1.2 'Segoe Print','URW Chancery L',cursive;letter-spacing:-1px;margin:0 0 19px;color:#f9dcff;text-shadow:-6px 0 15px #4ab8ff99,5px 0 18px #ff5eeccc}h1 span{font-size:.7em;color:#ffc7ff}.access-badge{display:inline-flex;gap:12px;align-items:center;font-size:18px;font-weight:650;padding:8px 24px;margin:0 0 23px;border:1px solid #d7b0ff;border-radius:24px;background:linear-gradient(90deg,#0a577377,#44307877);box-shadow:0 0 13px #68e7ff55,inset 0 0 12px #a575fa44}.access-badge span{font-size:25px;line-height:1;color:#b9faff}label{display:block;font-size:23px;letter-spacing:.1px}#pin-help{color:#d7caed;font-size:14px;margin:7px 0 20px}.pin-group{position:relative;max-width:400px;margin:auto}.pin-slots{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;pointer-events:none}.pin-slot{position:relative;display:grid;place-items:center;min-height:80px;border:1px solid #b7ebff;border-radius:17px;background:linear-gradient(145deg,#32788a55,#3b1f5c88);box-shadow:0 0 11px #6ddaf555,inset 0 0 19px #9632f522,0 2px 11px #da54ea33}.pin-slot:after{content:'●';font-size:22px;color:#ad98d288}.pin-slot.filled:after{color:#edc4ff;text-shadow:0 0 10px #d182ff}.pin-slot.active{border:2px solid #ebd6ff;box-shadow:0 0 16px #ac65ff77,inset 0 0 19px #5ce9ff22}.pin-group:focus-within{outline:2px solid #90f5ff;outline-offset:6px;border-radius:17px}#pin{position:absolute;inset:0;width:100%;height:100%;opacity:.02;border:0;background:transparent;color:transparent;font-size:24px;cursor:text;caret-color:transparent}#message{min-height:43px;font-size:14px;line-height:1.5;color:#ffdfef;margin:14px 0 10px}button{font:inherit;cursor:pointer}.enter-button{width:100%;min-height:61px;border:2px solid transparent;border-radius:31px;display:flex;justify-content:center;align-items:center;gap:18px;font-size:28px;font-weight:700;color:#fff;background:linear-gradient(105deg,#a31aa2,#57418f 58%,#0c8c9f) padding-box,linear-gradient(110deg,#fb95ff,#f0b5ff 30%,#72ffff) border-box;box-shadow:0 0 14px #fc4be7a0,inset 0 0 20px #ffa5f422,5px 0 22px #6bf3ff66;text-shadow:0 1px 3px #251844;transition:transform .18s,box-shadow .18s}.enter-button span:first-child{font-size:30px}.enter-button span:last-child{font-size:26px}.enter-button:hover{transform:translateY(-2px);box-shadow:0 0 23px #fc5aedbb,inset 0 0 20px #ffa5f444,8px 0 30px #6bf3ff99}.enter-button:active{transform:translateY(1px)}.enter-button:disabled{opacity:.65;cursor:wait;transform:none}.enter-button:focus-visible{outline:3px solid #c9ffff;outline-offset:5px}.reassurance{font-size:15px;margin:23px 0 7px;color:#efe5ff}.help{font-size:12px;color:#d4c9e9;margin:5px 0 0}footer{position:absolute;bottom:12px;left:24px;color:#e5caf5;font-size:13px;text-shadow:0 1px 3px #120c29}@media(min-width:1000px){.glass-panel{margin-left:8vw}}@media(max-width:650px){body{background-position:38% center}.login-stage{padding:85px 18px 45px}.glass-panel{padding:61px 23px 23px;border-radius:28px;box-shadow:0 0 22px #ac58f755,0 10px 50px #08051caa;background:linear-gradient(145deg,#30204dea,#151b3bea) padding-box,linear-gradient(135deg,#f590ff,#75f4ff 36%,#857cfd 70%,#fa71f4) border-box}.book{width:140px;height:118px;top:-70px}h1{font-size:35px;letter-spacing:-.8px}.access-badge{font-size:16px;margin-bottom:22px}label{font-size:21px}.pin-slots{gap:10px}.pin-slot{min-height:70px;border-radius:14px}.enter-button{min-height:58px;font-size:26px}.little-star{right:14px;top:16px;font-size:24px}footer{position:static;text-align:center;margin-top:23px}.login-stage{flex-direction:column}#message{font-size:14px;min-height:42px}.help{font-size:12px}}@media(max-height:650px) and (min-width:651px){.login-stage{padding-top:55px}.glass-panel{padding-top:42px;padding-bottom:16px}.book{width:120px;height:101px;top:-66px}h1{font-size:37px;margin-bottom:12px}.access-badge{margin-bottom:14px}.pin-slot{min-height:61px}#message{margin:8px 0;min-height:32px}.reassurance{margin-top:15px}.enter-button{min-height:54px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.enter-button:hover{transform:none}}@media(prefers-reduced-transparency:reduce){.glass-panel{background:linear-gradient(145deg,#30204d,#151b3b) padding-box,linear-gradient(135deg,#f590ff,#75f4ff) border-box}}

.enter-button svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
