/* Public entry. The private calendar keeps its existing styles. */
body.welcome-view .topbar{background:var(--paper);border-bottom-color:transparent}
body.welcome-view .topbar .level-tag{display:none}
body.welcome-view #open-account{margin-left:auto;background:transparent;border-color:var(--line);box-shadow:none;color:var(--forest)}
body.welcome-view #open-account .account-pill-avatar{display:none}
body.welcome-view #open-account{min-height:44px}
body.welcome-view #dashboard{padding-top:38px}
.welcome{padding-bottom:24px}
.welcome-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.welcome-copy{padding:15px 0}
.welcome-kicker{display:flex;align-items:center;gap:8px;color:var(--green);font-size:10px;font-weight:750;letter-spacing:1.8px;margin-bottom:22px}
.welcome-kicker:before{content:'';width:22px;height:2px;background:var(--orange)}
.welcome h1{font-size:clamp(48px,5.5vw,72px);font-weight:760;line-height:1.02;letter-spacing:-3.8px}
.welcome h1>span{display:block;color:var(--forest)}
.welcome h1 em{font-style:normal;color:var(--orange)}
.welcome-description{max-width:360px;font-size:16px;line-height:1.7;color:var(--muted);margin-top:23px}
.welcome-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}
.welcome-actions .button{min-height:50px;padding:14px 23px;font-size:13px;border-radius:11px}
.welcome-actions .button.dark{gap:24px}
.welcome-actions .button.quiet{background:transparent}
.welcome-account-note{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.6}
.welcome-loading{font-size:11px;color:var(--muted);margin-top:12px}
.welcome-message{font-size:12px;line-height:1.6;color:#9b3f2f;margin-top:14px;max-width:360px}
.welcome-retry{margin-top:8px;font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:0}
.welcome-preview{position:relative;isolation:isolate;overflow:hidden;min-width:0;background:var(--forest);border-radius:28px;padding:35px 35px 28px;color:var(--paper)}
.welcome-lanes{position:absolute;width:480px;height:670px;right:-230px;top:-160px;transform:rotate(34deg);z-index:-1;pointer-events:none}
.welcome-lanes i{position:absolute;inset:0;border:1px solid #b9d0ab38;border-radius:260px}
.welcome-lanes i:nth-child(2){inset:18px}.welcome-lanes i:nth-child(3){inset:36px}.welcome-lanes i:nth-child(4){inset:54px}
.welcome-preview-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1.6px;color:#c3d2bd;margin-bottom:25px}
.welcome-preview-label>span:last-child{color:#e3eacc;letter-spacing:.5px}
.welcome-calendar{background:#fcfcf8;color:var(--ink);border-radius:17px;padding:24px;transform:rotate(-3deg);box-shadow:0 18px 40px #081f2440;animation:welcome-arrive .65s ease-out both}
.welcome-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.welcome-calendar-heading small{display:block;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:6px}
.welcome-calendar-heading strong{display:block;font-size:23px;letter-spacing:-.8px;font-weight:650}
.welcome-calendar-heading>span{padding:7px 9px;background:#e9eddf;border-radius:7px;font-size:11px;color:var(--forest);font-weight:650;white-space:nowrap}
.welcome-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:15px}
.welcome-days>span{display:grid;place-items:center;gap:6px;font-size:8px;color:var(--muted);padding:8px 0;background:#f0f2e9;border-radius:7px}
.welcome-days i{width:5px;height:5px;background:var(--sage);border-radius:50%}
.welcome-days .quality i{background:var(--orange)}.welcome-days .long i{background:var(--forest)}
.welcome-session{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.welcome-session>span{display:grid;place-items:center;min-width:34px;min-height:34px;background:#eaf0e3;border-radius:9px;color:var(--green)}
.welcome-session>span[data-icon=bolt]{background:#f7e6d9;color:#a55332}
.welcome-session>div{flex:1;min-width:0}.welcome-session small{display:block;font-size:8px;letter-spacing:.8px;color:var(--muted);margin-bottom:4px}
.welcome-session strong{display:block;font-size:12px;font-weight:600}
.welcome-session>b{font-size:14px;color:var(--forest);font-weight:650;white-space:nowrap}.welcome-session>b small{display:inline;font-size:9px;font-weight:400;letter-spacing:0}
.welcome-preview-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;font-size:11px;color:#d2ddc8}
.welcome-preview-foot>span:last-child{display:flex;gap:4px;align-items:flex-end;height:23px}.welcome-preview-foot i{display:block;width:4px;background:var(--orange);border-radius:2px;height:13px;transform:skew(-20deg)}
.welcome-preview-foot i:nth-child(2){height:18px}.welcome-preview-foot i:nth-child(3){height:23px}
.welcome-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:45px 0 0;padding:28px 0;border-top:1px solid var(--line);list-style:none}
.welcome-features li{display:flex;gap:13px;align-items:flex-start;min-width:0}
.welcome-feature-number{font-size:10px;letter-spacing:.5px;color:var(--orange);padding-top:3px}
.welcome-features h2{font-size:15px;font-weight:650;letter-spacing:-.3px;margin-bottom:7px}
.welcome-features p{font-size:12px;line-height:1.65;color:var(--muted);max-width:260px}
.welcome-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted);padding:12px 0;border-top:1px solid var(--line);line-height:1.6}
body.welcome-view .account-dialog{border-top:3px solid var(--orange)}
body.welcome-view .account-dialog .account-intro{font-size:12px;line-height:1.7}
@keyframes welcome-arrive{from{opacity:0;transform:translateY(10px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}
@media(min-width:1500px){body.welcome-view #dashboard{max-width:1200px}}
@media(max-width:1000px){.welcome-layout{gap:32px}.welcome-preview{padding:28px 24px}.welcome h1{font-size:56px;letter-spacing:-2.8px}.welcome-description{font-size:14px}.welcome-features{gap:22px}.welcome-features h2{font-size:14px}}
@media(max-width:700px){
  body.welcome-view #dashboard{padding-top:14px}
  .welcome-layout{grid-template-columns:1fr;gap:27px}
  .welcome-copy{padding:7px 2px 0}
  .welcome-kicker{font-size:9px;margin-bottom:16px;letter-spacing:1.5px}
  .welcome h1{font-size:clamp(40px,10.8vw,62px);line-height:1.05;letter-spacing:-2.1px}
  .welcome-description{font-size:14px;line-height:1.65;margin-top:16px;max-width:340px}
  .welcome-actions{margin-top:21px;gap:10px}
  .welcome-actions .button{flex:1;min-height:48px;padding:12px 15px;font-size:12px}
  .welcome-actions .button.dark{gap:14px}
  .welcome-account-note{margin-top:10px;font-size:10px}
  .welcome-preview{border-radius:19px;padding:19px 21px 15px}
  .welcome-preview-label{font-size:8px;margin-bottom:15px;letter-spacing:1.2px}
  .welcome-calendar{padding:16px 18px;max-width:460px;margin:0 auto;transform:rotate(-2deg)}
  .welcome-calendar-heading{margin-bottom:11px}.welcome-calendar-heading small{font-size:8px}.welcome-calendar-heading strong{font-size:20px}
  .welcome-days{display:none}.welcome-session{padding:9px 0;gap:10px}.welcome-session>span{min-width:30px;min-height:30px;border-radius:8px}.welcome-session svg{width:17px;height:17px}
  .welcome-preview-foot{margin-top:17px;font-size:10px}
  .welcome-features{margin-top:27px;grid-template-columns:1fr;gap:19px;padding:23px 0}
  .welcome-features h2{font-size:14px;margin-bottom:4px}.welcome-features p{font-size:12px;max-width:none}.welcome-feature-number{padding-top:2px}
  .welcome-foot{align-items:flex-start;font-size:9px}.welcome-foot>span:first-child{max-width:235px}
}
@media(max-width:360px){.welcome-actions .button{padding:12px 10px;font-size:11px}.welcome-preview{padding:17px 14px 14px}.welcome h1{font-size:40px}.welcome-calendar{padding:14px}.welcome-preview-label{letter-spacing:.8px}}
@media(prefers-reduced-motion:reduce){.welcome-calendar{animation:none}.welcome .button{transition:none}}
