/* Welcome + privacy pages. Ported from the former Next app (app/globals.css
   .welcome* rules plus the resolved shadcn/Tailwind defaults they sat on). */
:root{--background:#f6f5ef;--foreground:#202924;--primary:#237769;--muted-foreground:#5e6a62;--border:#d1d5ca;--ring:#237769;color-scheme:light}
*,::before,::after{box-sizing:border-box;margin:0;padding:0;border:0 solid}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Arial,Helvetica,sans-serif}
body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}
h1,h2{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
button,input{font:inherit;color:inherit;background:transparent}
svg{display:block}
[hidden]{display:none!important}

/* A quiet threshold before the live board. */
.welcome{min-height:100dvh;display:grid;place-items:center;padding:70px 28px;position:relative;background:#f6f5ef}
.welcome-content{width:min(100%,820px);text-align:center;animation:threshold-in 1100ms cubic-bezier(.22,.8,.22,1) both}
.welcome-identity{display:inline-flex;align-items:center;flex-direction:column}
.welcome-logo{display:block;width:clamp(260px,27vw,380px);height:auto}
.welcome-tagline{font-size:clamp(26px,3.5vw,40px);font-weight:400;letter-spacing:-1.1px;margin:20px 0 0;color:var(--primary)}
.welcome h1{font-size:clamp(22px,2.4vw,31px);font-weight:400;line-height:1.35;letter-spacing:-.7px;margin:58px 0 44px}
.welcome-form{max-width:520px;margin:auto;text-align:left}
.welcome-form label{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1;font-weight:400;color:var(--muted-foreground);margin-bottom:12px;user-select:none}
.welcome-input-row{display:flex;align-items:center;border-bottom:1px solid #9cab9e;padding-bottom:10px;gap:14px}
.welcome-input-row input{width:100%;min-width:0;height:49px;border:none;border-radius:0;font-size:19px;padding:8px 0;background:transparent;outline:none}
.welcome-input-row input::placeholder{color:var(--muted-foreground)}
.welcome-input-row input::selection{background:var(--primary);color:#fff}
.welcome-input-row:focus-within{border-color:var(--primary);box-shadow:0 1px var(--primary)}
.welcome-input-row button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap;cursor:pointer;background:var(--foreground);border-radius:30px;color:var(--background);min-height:49px;padding:5px 6px 5px 19px;gap:20px;font-size:14px;line-height:20px;font-weight:500;outline:none;transition:all 150ms cubic-bezier(.4,0,.2,1)}
.welcome-input-row button:hover{background:var(--primary)}
.welcome-input-row button:focus-visible{box-shadow:0 0 0 3px rgb(35 119 105 / .5)}
.welcome-input-row button:disabled{pointer-events:none;opacity:.5}
.entry-arrow{display:grid;place-items:center;border-radius:50%;height:36px;width:36px;background:#d8e7bb;color:var(--foreground);font-size:21px}
.entry-note{font-size:13px;line-height:1.6;color:var(--muted-foreground);margin:12px 0 0}
.entry-note a{text-decoration:underline;text-underline-offset:2px}
.entry-error{color:#a23720;font-size:14px;line-height:1.4;margin:12px 0 0}
.entry-error:empty{display:none}
.return-link{display:block;text-align:center;margin-top:24px;font-size:14px;color:var(--primary)}
.return-link:hover{text-decoration:underline}
.entering .welcome-content{opacity:0;transform:translateY(-8px);transition:opacity 300ms,transform 500ms}
@keyframes threshold-in{from{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:600px){.welcome{padding:70px 24px 40px}.welcome h1{margin:42px 0 38px;font-size:24px}.welcome-logo{width:250px}.welcome-tagline{font-size:29px;margin-top:16px}.welcome-input-row{gap:8px}.welcome-input-row button{padding-left:12px;gap:9px;font-size:13px}.welcome-input-row input{font-size:17px}.welcome-break{display:none}}
@media(prefers-reduced-motion:reduce){.welcome-content{animation:none}.entering .welcome-content{transform:none;transition:none}}

/* Privacy notice — the former .stats.narrow page layout. */
.notice{max-width:800px;margin:auto;padding:70px 34px 65px;font-size:16px;line-height:1.65}
.eyebrow{font:12px ui-monospace,Consolas,monospace;letter-spacing:.12em;color:var(--primary)}
.notice h1{font-size:clamp(34px,5vw,61px);font-weight:400;letter-spacing:-2.5px;line-height:1.05;margin:20px 0 35px}
.notice h2{font-size:27px;font-weight:400;letter-spacing:-.8px;margin:40px 0 0}
.notice p,.notice li{color:var(--muted-foreground)}
.notice p{margin:20px 0}
.notice ul{margin:16px 0 0 20px}
.notice li{margin:8px 0}
.notice strong{color:var(--foreground);font-weight:600}
.notice a{color:var(--primary);text-decoration:underline}
@media(max-width:700px){.notice{padding:40px 22px}.notice h1{letter-spacing:-1.4px}}
