:root{color-scheme:dark;--ink:#0c0c0c;--panel:#121111;--paper:#f2eee7;--dim:#b3a9a4;--rule:#413533;--red:#ff3b30;font-family:Arial,"Microsoft JhengHei",system-ui,sans-serif;background:var(--ink);color:var(--paper)}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto}
[hidden]{display:none!important}
a{color:var(--paper);text-underline-offset:4px}
a:hover{color:#ff776e}
:focus-visible{outline:2px solid #ff8178;outline-offset:4px}
header,footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem clamp(1.15rem,5vw,5rem);border-bottom:1px solid var(--rule)}
header img{display:block;width:68px;height:auto}
header span,footer{color:var(--dim);font-size:.76rem;letter-spacing:.1em}
footer{border-top:1px solid var(--rule);border-bottom:0}
main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:620px}
.stage{position:relative;display:grid;align-content:center;overflow:hidden;isolation:isolate;padding:clamp(1.15rem,5vw,5rem);border-right:1px solid var(--rule);background:#0f0b0b}
.stage-copy{position:relative}
.stage-copy p,.eyebrow,.stage-foot{font-weight:750;font-size:.73rem;letter-spacing:.19em}
.stage-copy p,.eyebrow{color:#ff776e;margin:0 0 1rem}
.stage-copy div{font-size:clamp(3.4rem,8vw,10rem);font-weight:900;letter-spacing:-.095em;line-height:.82;white-space:nowrap}
.stage-copy div span{color:transparent;-webkit-text-stroke:1px var(--paper)}
.stage-foot{position:absolute;bottom:1.1rem;left:clamp(1.15rem,5vw,5rem);color:var(--dim)}
.grooves{position:absolute;z-index:-1;width:min(54vw,740px);aspect-ratio:1;top:50%;right:-33%;transform:translateY(-50%);border:1px solid #652522;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 24px #240e0e}
.grooves i{position:absolute;width:calc(100% - var(--offset));aspect-ratio:1;border:1px solid #4f2420;border-radius:50%}
.grooves i:nth-child(1){--offset:16%}.grooves i:nth-child(2){--offset:29%}.grooves i:nth-child(3){--offset:42%}.grooves i:nth-child(4){--offset:56%}.grooves i:nth-child(5){--offset:72%;background:#431613}
.entry{background:var(--panel);display:grid;align-content:center;padding:clamp(1.15rem,5vw,5rem)}
.entry>div{width:min(100%,420px);margin:auto}
h1{font-size:clamp(2rem,4.5vw,3.9rem);letter-spacing:-.055em;line-height:1.13;margin:0}
.intro{color:var(--dim);line-height:1.55;margin:.65rem 0 1.7rem}
form{display:grid;gap:.55rem}
label{font-size:.87rem;font-weight:650}
form>label:not(:first-child){margin-top:.4rem}
input:not([type=checkbox]){width:100%;min-height:49px;padding:.72rem .86rem;border:1px solid #66514e;border-radius:0;background:#171414;color:var(--paper);font:inherit}
input::placeholder{color:#a0958e}
.password{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid #66514e;background:#171414}
.password input:not([type=checkbox]){border:0;background:none}
.password:focus-within{outline:2px solid #ff8178;outline-offset:2px}
.password input:focus-visible,.reveal:focus-visible{outline-offset:-3px}
.reveal{min-width:64px;background:none;border:0;border-left:1px solid var(--rule);color:var(--paper);font:inherit;cursor:pointer}
.reveal:hover{background:#2c201f}
.options{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;margin-top:.3rem;font-size:.87rem}
.options a,.remember{display:flex;align-items:center;min-height:44px}
.remember{gap:.48rem;cursor:pointer}
.remember input{width:1rem;height:1rem;margin:0;accent-color:var(--red)}
.hint,.status{font-size:.81rem;line-height:1.45;margin:0;color:var(--dim)}
.status{color:#ff9289}
.status:empty{display:none}
.submit{display:flex;justify-content:space-between;align-items:center;min-height:53px;margin-top:.7rem;padding:.8rem 1rem;border:0;background:var(--red);color:#140908;font:750 1rem Arial,"Microsoft JhengHei",system-ui,sans-serif;cursor:pointer}
.submit:hover{background:#ff6359}
.submit:disabled{cursor:wait;opacity:.75}
.back{display:inline-flex;align-items:center;min-height:44px;margin-top:.65rem;font-size:.86rem}
@media(max-width:760px){main{display:block;min-height:0}.stage{min-height:176px;border-right:0;border-bottom:1px solid var(--rule)}.stage-copy div{font-size:clamp(2.75rem,11vw,5.15rem)}.stage-copy p{margin-bottom:.55rem}.stage-foot{display:none}.grooves{width:66vw;right:-12%}.entry{padding-top:1.75rem;padding-bottom:2rem}.intro{margin-bottom:1.3rem}}
