:root{color-scheme:dark;font-family:"Noto Sans SC","Microsoft YaHei UI",system-ui,sans-serif;background:#17072d;color:#f8f1ff}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 68% 20%,#4e1680 0,#230a42 32%,#17072d 68%);line-height:1.6}
[hidden]{display:none!important}
a{color:#f1ceff;text-underline-offset:.2em}button,input{font:inherit}button{cursor:pointer}
::selection{background:#a64df0;color:#fff}:focus-visible{outline:3px solid #e2aaff;outline-offset:3px}
.skip{position:absolute;left:-999px;top:12px}.skip:focus{left:16px;z-index:2}
header{max-width:1160px;margin:auto;padding:28px 30px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-weight:850;font-size:1.4rem;letter-spacing:.02em;color:white}.brand-mark{color:#dd8dff;margin-right:6px}.back{font-size:.9rem}
main{max-width:1160px;margin:4vh auto 7vh;padding:0 30px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(30px,7vw,120px);align-items:center}
h1,h2,p{margin-top:0}h1{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.13;letter-spacing:-.03em;margin-bottom:28px}h2{font-size:2rem;line-height:1.2;letter-spacing:-.025em;margin-bottom:14px}.intro>p{max-width:46ch;color:#e4d0f6;font-size:1.13rem}
.orbit{width:160px;height:160px;border:1px solid #9561c7;border-radius:50%;display:grid;place-items:center;position:relative;margin-bottom:36px;box-shadow:0 16px 55px #09021455}.orbit:before,.orbit:after{content:"";position:absolute;inset:16px;border:1px solid #ba7fea66;border-radius:50%;transform:rotate(-25deg) scaleX(.68)}.orbit:after{transform:rotate(55deg) scaleX(.68)}.orbit span{font-weight:900;font-size:2rem;letter-spacing:.06em}.orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#e7a9ff}.orbit i:nth-of-type(1){top:18px;left:35px}.orbit i:nth-of-type(2){right:3px;top:80px}.orbit i:nth-of-type(3){bottom:12px;left:52px}
.boundary{border-top:1px solid #8856b5;padding-top:22px;margin-top:40px;display:grid;gap:5px;max-width:48ch}.boundary strong{color:#fff}.boundary span,.hint,.note{color:#d5bfe9}
.auth{padding:clamp(28px,4vw,52px);background:#321153;box-shadow:0 24px 80px #0902117d;border-radius:16px}.hint{font-size:.95rem;margin-bottom:30px}.auth form{display:grid;gap:10px}.auth label{font-weight:700}.auth input{background:#1c0a32;border:1px solid #a46ac8;border-radius:10px;padding:15px 16px;color:white;min-width:0}.auth input::placeholder{color:#be9cd5}.auth button:not(.text-button),.enter{display:block;border:0;border-radius:10px;padding:15px 20px;margin-top:12px;background:#9226cf;color:#fff;font-weight:800;text-decoration:none;text-align:center}.auth button:not(.text-button):hover,.enter:hover{background:#7d1cb5}.auth button:disabled{opacity:.6;cursor:wait}.text-button{border:0;background:none;color:#e8b8ff;padding:10px 0;text-align:left}.status{min-height:1.5em;margin:20px 0 0;color:#f5d3ff}.status.error{color:#ffd7da}.note{font-size:.83rem;border-top:1px solid #8151a3;padding-top:20px;margin:26px 0 0}
footer{max-width:1160px;margin:auto;padding:28px 30px;color:#c7acd9;font-size:.9rem}
@media(max-width:760px){header{padding:20px}main{grid-template-columns:1fr;padding:0 20px;margin-top:8px;gap:28px}h1{font-size:clamp(2.5rem,11vw,4rem)}.orbit{width:92px;height:92px;margin-bottom:24px}.orbit span{font-size:1.2rem}.orbit:before,.orbit:after{inset:9px}.boundary{margin-top:22px}.auth{padding:28px 24px}footer{padding:20px}}
