:root{--bg:#14161b;--panel:#1b1e25;--panel2:#222630;--line:#2e333f;--text:#e8e7e3;--mute:#9096a4;--sub:#f5d142;--sub-ink:#1a1500;--bad:#ff7a6b;
  --sans:"Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:radial-gradient(1200px 700px at 12% -10%,#243049 0,transparent 60%),radial-gradient(900px 600px at 100% 110%,#2b2540 0,transparent 55%),var(--bg);
  color:var(--text);font:15px/1.5 var(--sans)}
.stage{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}
.hero{padding:44px clamp(24px,5vw,72px);display:flex;flex-direction:column;justify-content:center;gap:28px}
.brand{font-weight:700;font-size:18px;display:flex;align-items:center;gap:10px}
.mark{width:26px;height:17px;border-radius:4px;background:var(--sub);position:relative}
.mark::after{content:"";position:absolute;left:5px;right:5px;bottom:4px;height:2px;background:var(--sub-ink);border-radius:1px}
.motto{margin:0;font-size:clamp(40px,6.4vw,92px);line-height:.98;letter-spacing:-.035em;font-weight:800}
.motto span{display:inline-block}
.w2{color:transparent;-webkit-text-stroke:2px var(--text)}
.w3{background:var(--sub);color:var(--sub-ink);padding:0 .14em;border-radius:.1em;margin-top:.06em;box-decoration-break:clone}
.frame{position:relative;max-width:560px;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 60px #0008}
.scene{position:absolute;inset:0;background:linear-gradient(#35507a,#d28a5a 78%)}
.sun{position:absolute;width:15%;aspect-ratio:1;border-radius:50%;background:#ffe9b0;left:68%;top:30%;box-shadow:0 0 40px #ffe9b088}
.hill{position:absolute;bottom:-8%;width:80%;aspect-ratio:2/1;border-radius:50% 50% 0 0;background:#25344d}
.h1{left:-15%}.h2{right:-20%;background:#1a2538;bottom:-14%}
.chip{position:absolute;top:10px;left:10px;font:700 11px ui-monospace,Menlo,Consolas,monospace;background:#000a;color:#fff;padding:3px 8px;border-radius:99px;letter-spacing:.08em}
.cap{position:absolute;left:6%;right:6%;bottom:9%;margin:0;text-align:center;font-weight:800;font-size:clamp(15px,2.2vw,26px);line-height:1.15;color:#fff;
  text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 3px 8px #000a;transition:opacity .35s,transform .35s}
.cap.out{opacity:0;transform:translateY(8px)}
.sub{margin:0;color:var(--mute);max-width:520px}
.panel{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:32px clamp(20px,4vw,56px);background:linear-gradient(#ffffff06,#ffffff03);border-left:1px solid var(--line)}
.card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 20px 50px #0006}
h2{margin:0 0 4px;font-size:24px;letter-spacing:-.02em}
.lead{margin:0 0 18px;color:var(--mute)}
label{display:block;font-size:12px;color:var(--mute);margin:14px 0 6px}
input{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 13px;font:inherit}
input:focus-visible,button:focus-visible{outline:2px solid #8fb4ff;outline-offset:2px}
.pw{position:relative}.pw input{padding-right:78px}
.pw button{position:absolute;right:6px;top:6px;bottom:6px;border:0;background:var(--panel2);color:var(--mute);border-radius:7px;padding:0 10px;cursor:pointer;font:inherit;font-size:12px}
.err{min-height:22px;margin:12px 0 4px;color:var(--bad);font-size:13px}
.go{width:100%;border:0;border-radius:10px;padding:12px;background:var(--sub);color:var(--sub-ink);font:inherit;font-weight:700;cursor:pointer;transition:filter .15s}
.go:hover{filter:brightness(1.07)}.go:disabled{opacity:.6;cursor:wait}
.hint{margin:16px 0 0;color:var(--mute);font-size:12.5px}
.disc{max-width:400px;margin:0;color:var(--mute);font-size:12px;border-left:3px solid var(--sub);padding-left:12px}
@media (max-width:860px){.stage{grid-template-columns:1fr}.panel{border-left:0;border-top:1px solid var(--line)}.hero{padding-bottom:12px}}
@media (prefers-reduced-motion:reduce){.cap{transition:none}}
