:root{color-scheme:dark;--bg:#090d20;--cyan:#49f5e5;--purple:#bca3ff;--white:#f6f7ff;--muted:#abb5d1}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
.welcome{width:min(100%,540px);margin:auto;padding:48px 26px 26px;min-height:100svh;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 85% 25%,#25204b88,transparent 57%)}.orbit{width:90px;height:90px;border:1px solid #5ff5e54d;border-radius:28px;display:grid;place-items:center;box-shadow:0 0 60px #49f5e516,inset 0 0 30px #49f5e510;margin-bottom:28px;transform:rotate(-8deg)}.orbit span{color:var(--cyan);font-size:62px;line-height:1}.eyebrow{color:var(--cyan);font-size:11px;letter-spacing:2px;font-weight:700}h1{font-size:clamp(35px,7.8vw,48px);letter-spacing:-1.5px;line-height:1.12;margin:13px 0 20px}h1 em{font-style:normal;color:var(--purple)}.intro{color:var(--muted);font-size:16px;line-height:1.65;margin:0 0 28px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;border-radius:16px;padding:18px 16px;text-decoration:none;font-size:16px;font-weight:750;min-height:56px;border:0}.primary{background:var(--cyan);color:#07151e}.primary span{font-size:22px}.secondary{background:#151c35;border:1px solid #343e5b;color:var(--white);margin-top:12px}.note{font-size:12px;line-height:1.65;color:var(--muted);margin-top:22px}.tiny{font-size:11px;line-height:1.6;color:#8b97b5}.ar-top{position:fixed;top:0;left:0;right:0;padding:calc(16px + env(safe-area-inset-top)) 18px 16px;z-index:12;pointer-events:none;background:linear-gradient(#090d20bb,transparent);text-align:center}.pill{font-size:11px;letter-spacing:2px;background:#090d20bb;border:1px solid #ffffff33;border-radius:30px;padding:8px 14px}.ar-top p{font-size:13px;text-shadow:0 2px 3px #000;background:#090d2099;padding:10px;border-radius:12px;max-width:450px;margin:18px auto 0}.ar-bottom{position:fixed;bottom:0;left:0;right:0;padding:16px 22px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#090d20bb);z-index:12;max-width:540px;margin:auto}.exit{display:block;text-align:center;margin-top:12px;font-size:13px}.ar-bottom .primary{padding:15px}.ar-top,.ar-bottom{color:white}#scene-host{position:fixed;inset:0;overflow:hidden}a-scene{height:100%;width:100%}
.hall{min-height:100svh;background:#49e5d3;color:#07151e;overflow:hidden;display:grid;place-items:center;text-align:center;padding:80px 20px;animation:color-flow 10s ease-in-out infinite alternate}.hall-mark{position:relative;z-index:1;width:100%;max-width:700px}.hall-star{font-size:clamp(100px,34vw,230px);line-height:1}.hall h1{font-size:clamp(55px,17vw,130px);font-weight:900;letter-spacing:-3px;margin:20px 0 8px}.hall p{font-size:clamp(18px,4vw,30px);font-weight:700;letter-spacing:4px}.hall-tools{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px;z-index:3}.hall-tools a,.hall-tools button{border:1px solid #07151e44;background:#ffffff66;color:#07151e;border-radius:14px;padding:12px;text-decoration:none;font-size:12px}.hall-hint{position:fixed;bottom:0;left:0;right:0;font-size:12px!important;letter-spacing:0!important;font-weight:500!important;padding:16px 22px calc(16px + env(safe-area-inset-bottom));opacity:.8}.qr-card{width:min(94vw,650px);margin:32px auto;padding:24px}.qr-card h1{font-size:32px}.qr-card input{width:100%;margin:12px 0;padding:16px;border:1px solid #414b6a;border-radius:12px;background:#11182d;color:white}.qr-box{display:none;background:white;border:28px solid white;margin:24px auto;max-width:100%;width:376px;aspect-ratio:1}.qr-box img,.qr-box canvas{width:100%!important;height:auto!important}.qr-card .secondary{margin-top:16px}
@keyframes color-flow{from{background:#49e5d3}to{background:#baa4ff}}@media(prefers-reduced-motion:reduce){.hall{animation:none}}@media(max-height:700px){.welcome{padding-top:24px}.orbit{width:64px;height:64px;margin-bottom:14px}.orbit span{font-size:46px}h1{font-size:35px}.intro{margin-bottom:20px}}
.sync-panel{position:fixed;z-index:30;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:94vw;width:max-content;padding:7px 12px;border-radius:14px;background:#090d20e8;color:#ecf4ff;font-size:10px;line-height:1.5;text-align:center;border:1px solid #ffffff33;box-shadow:0 4px 16px #0002}.sync-panel button{display:block;margin:4px auto 0;border:1px solid #49f5e588;background:transparent;color:#49f5e5;border-radius:8px;padding:5px 8px;font-size:11px}.ar-top{padding-top:calc(60px + env(safe-area-inset-top))}.hall-tools{top:42px}.control-card{margin-top:20px}.control-card .primary{margin-top:14px}.control-status{border:1px solid #334260;border-radius:16px;padding:18px;margin:24px 0 10px;line-height:1.6}.control-status p{font-size:13px;color:var(--muted);margin-bottom:0}.setup-help{margin:24px 0;padding:16px;border:1px solid #334260;border-radius:12px;font-size:13px;line-height:1.6}.setup-help summary{cursor:pointer}.generated-key{overflow-wrap:anywhere;font-family:monospace;color:var(--cyan);user-select:all}.guide{max-width:780px;margin:30px auto;padding:24px;font-size:16px;line-height:1.75}.guide h1{font-size:36px}.guide h2{font-size:23px;margin-top:36px}.guide code{color:var(--cyan);overflow-wrap:anywhere}.guide li{margin:12px 0}.guide .callout{border-left:3px solid var(--cyan);padding:14px 18px;background:#18213a;border-radius:0 12px 12px 0}
