:root{color-scheme:dark;--ink:#11100d;--cream:#fff7e8;--chilli:#ff5a1f;--turmeric:#f5b51b;--muted:rgba(255,247,232,.68)}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}
.shell{min-height:100vh;padding:30px clamp(20px,6vw,82px) 70px;background:radial-gradient(circle at 85% 24%,rgba(245,181,27,.12),transparent 29rem),radial-gradient(circle at 8% 80%,rgba(255,90,31,.11),transparent 32rem);position:relative;overflow:hidden}
.shell:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--chilli) 0 42%,var(--turmeric) 42% 62%,#5e6f42 62% 79%,transparent 79%)}
.brand{display:flex;gap:14px;align-items:center;font-size:28px;letter-spacing:-.06em;font-weight:950}.brand>span:last-child{display:grid}
.brand small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:800}
.mark{width:32px;height:32px;border:6px solid var(--chilli);transform:rotate(45deg);display:grid;place-items:center}
.mark:after{content:"";width:11px;height:11px;background:var(--turmeric)}
.login{position:relative;z-index:1;max-width:550px;margin:clamp(65px,10vh,130px) 0 0 clamp(0px,4vw,68px)}
.eyebrow{color:var(--turmeric);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.19em}
h1{font-size:clamp(64px,10vw,116px);line-height:.88;letter-spacing:-.075em;margin:25px 0 28px;font-weight:950}
h1 span{color:var(--chilli)}.intro{color:var(--muted);font-size:18px;line-height:1.5;margin:0 0 28px}
form{display:grid;gap:10px;max-width:420px}form[hidden]{display:none}
label{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
input{margin-bottom:12px;min-height:50px;padding:12px 14px;font:inherit;background:#1a1511;border:1px solid rgba(255,247,232,.2);color:var(--cream);border-radius:5px}
input:focus{outline:2px solid var(--turmeric);outline-offset:1px}
button{font:inherit;font-weight:900;padding:15px 17px;background:var(--chilli);border:1px solid var(--chilli);color:#17120f;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:52px}
button:hover{background:var(--turmeric);border-color:var(--turmeric)}.notice{color:var(--turmeric);min-height:1em}.help{color:var(--muted);font-size:12px}
.spice{position:absolute;width:38vw;height:38vw;right:-8vw;top:18vh;transform:rotate(27deg);pointer-events:none}
.spice>div:first-child{position:absolute;inset:0;border:5vw solid var(--chilli);opacity:.85}
.spice>div:nth-child(2){position:absolute;width:16vw;height:16vw;background:var(--turmeric);top:42%;left:18%;transform:rotate(45deg)}
.spice>div:last-child{position:absolute;border:3vw solid #b94d2c;width:23vw;height:23vw;top:-24%;left:-21%;opacity:.4}
@media(max-width:830px){.spice{opacity:.17;right:-17vw}.login{margin-left:0}}
@media(prefers-reduced-motion:no-preference) and (hover:hover){.spice>div{transition:transform .5s ease}.spice:hover>div:first-child{transform:rotate(9deg)}}

.identity-panel{max-width:420px;margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,247,232,.19)}
.identity-panel[hidden],.identity-panel [hidden]{display:none!important}
.identity-heading{font-weight:850;font-size:12px;letter-spacing:.04em;color:var(--muted);margin-bottom:18px}
.invite-heading{border-left:4px solid var(--turmeric);background:rgba(245,181,27,.08);padding:12px 15px;font-size:13px}
.provider-google{background:var(--cream);color:var(--ink);border-color:var(--cream);width:100%}
.viewer-email-form{margin-top:16px;display:grid;gap:9px}
.viewer-email-form button{width:100%}.email-extras{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
button.secondary{background:transparent;color:var(--cream);border:1px solid rgba(255,247,232,.25);font-size:12px}
button.secondary:hover{background:rgba(255,247,232,.08);border-color:var(--turmeric)}
button:disabled{opacity:.55;cursor:wait}
.identity-panel .notice[data-error="true"]{color:var(--turmeric)}

/* Show/Hide reveals only the password currently being typed. */
.password-entry{display:flex;align-items:stretch;gap:8px;margin-bottom:12px}
.password-entry input{flex:1;min-width:0;margin-bottom:0}
.password-entry button.password-visibility{width:auto;min-width:74px;min-height:50px;justify-content:center;padding:10px 12px;background:transparent;color:var(--cream);border-color:rgba(255,247,232,.25);font-size:12px}
.password-entry button.password-visibility:hover{background:rgba(255,247,232,.08);border-color:var(--turmeric)}
