/* Same journal register as the calendar: ink, warm paper, stickers and offset borders. */
.auth-screen{
 --auth-bg:var(--r-bg);--auth-paper:var(--r-paper);
 --auth-ink:var(--r-ink);--auth-soft:var(--r-soft);--auth-line:var(--r-line);
 --auth-accent:var(--r-accent);--auth-accent-ink:var(--r-accent-ink);--auth-mint:var(--r-lilac);
 --auth-sand:var(--r-sand);--auth-gold:var(--r-gold);
 --auth-peach:var(--r-rose);--auth-coral:var(--r-coral);
 --auth-error:light-dark(#a53530,#ffb4ac);
 min-height:100svh;padding:0 clamp(1rem,5.5vw,5rem);display:flex;flex-direction:column;
 background:var(--auth-bg);color:var(--auth-ink);font:400 1rem/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.auth-screen *{box-sizing:border-box}
.auth-screen button,.auth-screen input{font:inherit}
.auth-screen button{cursor:pointer}
.auth-screen button:focus-visible,.auth-screen a:focus-visible{outline:3px solid var(--auth-accent);outline-offset:4px}
.auth-header{width:100%;max-width:1120px;margin:0 auto;padding:2rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.auth-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--auth-ink);font-size:1.85rem;font-weight:800;letter-spacing:-.04em}
.auth-brandmark{width:41px;height:41px;display:grid;place-items:center;background:var(--auth-mint);color:var(--auth-accent);border:1px solid var(--auth-accent);border-radius:13px;box-shadow:3px 3px 0 var(--auth-line);transform:rotate(-7deg)}
.auth-brandmark svg{width:23px;height:23px}
.auth-brand-caption{font-size:.8rem;font-weight:500;letter-spacing:0;color:var(--auth-soft);padding-left:12px;border-left:1px solid var(--auth-line);margin-left:3px}
.auth-theme-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;padding:0;color:var(--auth-accent);background:var(--auth-paper);border:1px solid var(--auth-line);border-radius:14px;box-shadow:2px 3px 0 var(--auth-line)}
.auth-theme-toggle svg{width:20px;height:20px}.auth-theme-toggle:hover{background:var(--auth-mint)}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.9fr);align-items:center;gap:clamp(3rem,6vw,6rem);width:100%;max-width:1120px;margin:auto; padding:2rem 0 3rem}
.auth-story{min-width:0}
.auth-sticker{display:inline-flex;align-items:center;gap:7px;transform:rotate(-2deg);padding:8px 13px;background:var(--auth-sand);color:var(--auth-gold);border:1px solid var(--auth-gold);border-radius:9px;box-shadow:2px 2px 0 var(--auth-line);font-size:.8rem;font-weight:700}
.auth-sticker svg{width:17px;height:17px}
.auth-story h2{font-size:clamp(2.3rem,3.8vw,3.4rem);line-height:1.12;letter-spacing:-.04em;font-weight:800;margin:1.5rem 0 1rem;text-wrap:balance}
.auth-story h2 span{color:var(--auth-accent)}
.auth-story-description{font-size:1rem;line-height:1.65;color:var(--auth-soft);margin:0;text-wrap:pretty}
.auth-journal{position:relative;margin:2.25rem 0 1.8rem;padding:0 8px 46px 0;isolation:isolate}
.auth-planner{border:1px solid var(--auth-line);border-radius:20px;background:var(--auth-paper);box-shadow:4px 5px 0 var(--auth-line);overflow:hidden;transform:rotate(-1deg)}
.auth-planner-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--auth-line);font-size:.85rem;font-weight:750}
.auth-planner-head span{display:flex;align-items:center;gap:8px}.auth-planner-head svg{width:19px;height:19px;color:var(--auth-accent)}
.auth-planner-head>svg{color:var(--auth-gold)}
.auth-planner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.auth-weekday{padding:12px 0;text-align:center;border-bottom:1px solid var(--auth-line);color:var(--auth-soft);font-size:.75rem;font-weight:650}
.auth-planner-lane{height:160px;padding:8px 4px;border-right:1px solid var(--auth-line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,var(--auth-line) 39px,var(--auth-line) 40px)}
.auth-planner-lane:last-child{border-right:0}
.auth-mini-event{padding:7px 5px;border:1px solid var(--auth-accent);border-left:3px solid var(--auth-accent);border-radius:9px;background:var(--auth-mint);color:var(--auth-ink);box-shadow:1px 2px 0 var(--auth-line);font-size:.65rem;line-height:1.35;min-height:72px}
.auth-mini-event span{display:block;font-variant-numeric:tabular-nums;font-weight:600}
.auth-mini-event strong{display:block;font-size:.7rem;overflow-wrap:anywhere;margin:3px 0 5px;font-weight:750}
.auth-mini-event svg{width:12px;height:12px;display:block;color:var(--auth-accent)}
.auth-mini-event.peach{margin-top:22px;background:var(--auth-peach);border-color:var(--auth-coral)}
.auth-mini-event.peach svg{color:var(--auth-coral)}
.auth-mini-event.late{margin-top:45px}
.auth-journal-note{position:absolute;right:-12px;bottom:24px;display:flex;align-items:flex-start;gap:9px;padding:15px 18px;background:var(--auth-sand);color:var(--auth-gold);border:1px solid var(--auth-gold);border-radius:12px;box-shadow:3px 3px 0 var(--auth-line);transform:rotate(3deg);font-size:.75rem;line-height:1.6}
.auth-journal-note>svg{width:19px;height:19px;flex-shrink:0;margin-top:2px}
.auth-feedback-note{position:absolute;left:18px;bottom:0;display:flex;align-items:center;gap:7px;background:var(--auth-mint);color:var(--auth-accent);border:1px solid var(--auth-accent);padding:9px 12px;border-radius:999px;box-shadow:2px 2px 0 var(--auth-line);font-size:.7rem;font-weight:650;transform:rotate(-2deg)}
.auth-feedback-note svg{width:15px;height:15px;flex-shrink:0}
.auth-featureline{display:flex;flex-wrap:wrap;gap:17px;font-size:.75rem;color:var(--auth-soft)}
.auth-featureline span{display:inline-flex;align-items:center;gap:6px}.auth-featureline svg{width:15px;height:15px}
.auth-form-side{padding:2.4rem 2.2rem 2.6rem;border:1px solid var(--auth-line);border-radius:26px;background:var(--auth-paper);box-shadow:6px 7px 0 var(--auth-line);min-width:0}
.auth-screen .login{width:100%;max-width:none;margin:0;padding:0}
.auth-form-kicker{display:inline-flex;align-items:center;gap:7px;font-size:.75rem;font-weight:650;color:var(--auth-accent);background:var(--auth-mint);border:1px solid var(--auth-accent);border-radius:9px;padding:7px 10px;transform:rotate(2deg)}
.auth-form-kicker svg{width:16px;height:16px}
.auth-screen .login h1{font-size:clamp(1.6rem,2.4vw,2.05rem);line-height:1.18;font-weight:800;letter-spacing:-.035em;margin:1.4rem 0 .7rem;text-wrap:balance}
.auth-form-description{font-size:.875rem;line-height:1.6;color:var(--auth-soft);margin:0 0 1.8rem;text-wrap:pretty}
.auth-screen .login>label{display:block;font-size:.8rem;font-weight:650;margin-bottom:8px}
.auth-input{display:flex;align-items:center;gap:10px;background:var(--auth-bg);border:1px solid var(--auth-line);border-radius:16px;margin-bottom:20px;min-height:56px;padding:0 13px;transition:border-color .15s,box-shadow .15s}
.auth-input:focus-within{border-color:var(--auth-accent);box-shadow:0 0 0 3px var(--auth-mint)}
.auth-input>svg{width:18px;height:18px;flex-shrink:0;color:var(--auth-soft)}
.auth-screen .login .auth-input input{display:block;width:100%;min-width:0;padding:14px 0;margin:0;background:transparent;border:0;outline:0;color:var(--auth-ink);font-size:1rem;line-height:1.5}
.auth-input input::placeholder{color:var(--auth-soft);opacity:1}
.auth-screen .login button.auth-password-toggle{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;margin-right:-6px;background:transparent;border:0;border-radius:12px;color:var(--auth-soft)}
.auth-password-toggle svg{width:18px;height:18px}.auth-password-toggle:hover{background:var(--auth-mint)}
.auth-screen .login .auth-submit{width:100%;display:flex;justify-content:center;align-items:center;gap:12px;background:var(--auth-accent);color:var(--auth-accent-ink);border:1px solid var(--auth-accent);border-radius:14px;min-height:54px;padding:14px 16px;margin-top:8px;box-shadow:3px 4px 0 var(--auth-line);font-size:.9rem;font-weight:700;transition:transform .15s,box-shadow .15s}
.auth-submit svg{width:18px;height:18px}.auth-submit:hover{transform:translateY(-1px);box-shadow:3px 5px 0 var(--auth-line)}.auth-submit:active{transform:translateY(1px);box-shadow:1px 2px 0 var(--auth-line)}.auth-submit:disabled{opacity:.65;cursor:wait;transform:none}
.auth-error{color:var(--auth-error);background:var(--auth-peach);border:1px solid var(--auth-error);border-radius:12px;font-size:.8rem;line-height:1.5;padding:11px 13px;margin:0 0 16px}
.auth-screen input[aria-invalid=true]{color:var(--auth-error)}
.auth-footer{width:100%;max-width:1120px;margin:0 auto;padding:1.4rem 0;color:var(--auth-soft);font-size:.7rem}
@media(max-width:1000px){.auth-layout{gap:2.5rem;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}.auth-form-side{padding:2rem 1.7rem}.auth-journal-note{right:0}.auth-story h2{font-size:2.5rem}}
@media(max-width:900px){.auth-screen{padding:0 1.2rem}.auth-header{max-width:430px;padding:1.4rem 0}.auth-brand{font-size:1.65rem}.auth-brand-caption{font-size:.7rem}.auth-layout{grid-template-columns:minmax(0,1fr);max-width:430px;gap:2rem;margin:1rem auto auto;padding:0 0 1rem}.auth-form-side{order:0;padding:1.8rem;border-radius:23px;box-shadow:4px 5px 0 var(--auth-line)}.auth-story{order:1;text-align:center}.auth-story h2,.auth-story-description,.auth-journal,.auth-sticker{display:none}.auth-featureline{justify-content:center;gap:15px}.auth-screen .login h1{font-size:1.85rem}.auth-footer{max-width:430px;text-align:center;padding:1.5rem 0}}
@media(max-width:380px){.auth-screen{padding:0 1rem}.auth-brand-caption{display:none}.auth-form-side{padding:1.5rem 1.2rem}.auth-screen .login h1{font-size:1.65rem}.auth-form-description{font-size:.8rem}.auth-featureline{gap:11px;font-size:.7rem}.auth-header{padding:1.1rem 0}}
@media(prefers-reduced-motion:reduce){.auth-screen *{transition:none!important}}
