/* Sort My Shifts visual system. */
:root { --ink:#edf4fa; --muted:#b5c3d4; --muted-2:#9aaec3; --night:#0a1525; --panel:#111f32; --line:#304259; --cyan:#64ddd1; --cyan-deep:#37b9ad; --surface-soft:#182a40; --input:#0d1b2d; --button-text:#09282a; --radius-lg:18px; --shadow:0 8px 28px #00000014; }
body.light-mode { --ink:#142b43; --muted:#4e6479; --muted-2:#546b80; --night:#f1f5f9; --panel:#fff; --line:#d6e0e8; --cyan:#08796f; --cyan-deep:#076f65; --surface-soft:#f4f8fa; --input:#fff; --button-text:#fff; --amber:#86540b; --blue:#315dae; --violet:#7b489d; --danger:#b93030; }
body,body.light-mode { background:var(--night); font-size:1rem; overflow-x:visible; }
html { scroll-padding-top:1rem; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--cyan); outline-offset:3px; }
.app-header { max-width:none; height:auto; min-height:88px; padding:16px max(24px,calc((100vw - 1240px)/2)); background:var(--panel)!important; }
.brand { flex-shrink:0; gap:12px; }.brand-logo { width:42px; height:42px; border-radius:12px; box-shadow:none; }
.brand-lockup strong { font-size:1.125rem; font-weight:780; letter-spacing:-.035em; line-height:1.3; }
.brand .brand-lockup small { font-size:.75rem; font-weight:500; text-transform:none; letter-spacing:0; color:var(--muted); border:0; padding:0; }
.header-actions { gap:12px; }.theme-toggle { background:var(--surface-soft)!important; min-height:44px; font-size:.875rem; border-radius:10px; }.text-button { min-height:44px; font-size:.875rem; color:var(--muted); }
.app-shell { max-width:1288px; padding:30px 24px 16px; }
.product-intro { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:0 0 24px; }
.product-intro h1 { font-size:clamp(1.9rem,3.4vw,2.8rem); line-height:1.15; letter-spacing:-.045em; max-width:none; }.product-intro h1 span { color:var(--cyan); }
.eyebrow,.step-kicker { font-size:.75rem; letter-spacing:.09em; line-height:1.5; }
.intro-summary { margin:10px 0 0; color:var(--muted); font-size:1rem; }.intro-explanation { margin-top:9px; max-width:78ch; }.intro-explanation summary { color:var(--cyan); cursor:pointer; font-size:.875rem; }.intro-explanation p { color:var(--muted); font-size:1rem; }
.local-badge { display:grid; gap:5px; flex-shrink:0; padding:14px 0 14px 26px; border-left:1px solid var(--line); color:var(--muted); font-size:.875rem; }.local-badge small { font-size:.75rem; }.beta-label { color:var(--cyan); font-weight:750; letter-spacing:.09em; font-size:.75rem; }
.mode-switcher,.light-mode .mode-switcher { grid-template-columns:1fr 1fr 1fr; max-width:none; gap:6px; border:0; border-radius:13px; padding:5px; background:var(--surface-soft); box-shadow:none; margin-bottom:22px; }
.mode-button { min-height:66px; border-radius:9px; padding:12px 18px; }.mode-button.active { background:var(--panel); color:var(--cyan); border-color:var(--line); box-shadow:0 2px 6px #00000008; }.mode-button strong { font-size:1rem; display:flex; align-items:center; flex-wrap:wrap; gap:8px; }.mode-button small { color:var(--muted); font-size:.875rem; }
.soon-label { color:var(--muted); border:1px solid var(--line); border-radius:5px; font-weight:600; font-size:.75rem; padding:1px 5px; white-space:nowrap; }
.quick-calendar,.builder-card,.results-card,.light-mode .quick-calendar,.light-mode .builder-card,.light-mode .results-card { background:var(--panel); box-shadow:var(--shadow); padding:28px; }
.quick-heading { margin-bottom:24px; padding-bottom:22px; border-bottom:1px solid var(--line); align-items:center; }.quick-heading h2 { font-size:1.65rem; line-height:1.25; }.quick-heading p:last-child { color:var(--muted); font-size:1rem; }.quick-badge { font-size:.75rem; border-color:var(--line); color:var(--muted); background:var(--surface-soft); }
.quick-layout { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,1fr); gap:32px; align-items:start; }.quick-controls { min-width:0; }.quick-grid { grid-template-columns:1fr 1fr; gap:18px 14px; }.quick-grid .field:has(#quickPattern) { grid-column:1/-1; }
.field,.field-help,.question-help,.quick-duty label,.duty-change-fields .field { font-size:.875rem; line-height:1.5; }.field-help { font-weight:400; margin:2px 0 8px; }
input[type=search] { width:100%; min-height:48px; border:1px solid var(--line); border-radius:9px; background:var(--input); color:var(--ink); padding:10px 12px; font-size:1rem; }
input[type=number],input[type=time],input[type=text],input[type=date],select,textarea,.light-mode input[type=number],.light-mode input[type=time],.light-mode input[type=text],.light-mode input[type=date],.light-mode select,.light-mode textarea { background-color:var(--input); color:var(--ink); border-radius:9px; min-height:48px; font-size:1rem; min-width:0; max-width:100%; }
.input-with-unit,.light-mode .input-with-unit { background:var(--input); }.input-with-unit em { font-size:.875rem; }select { text-overflow:ellipsis; }
.library-info,.light-mode .library-info { background:var(--surface-soft); border-radius:10px; padding:13px 15px; }.library-info strong { font-size:.875rem; line-height:1.5; }.library-info span,.quick-caveat,.export-policy,.calendar-file-ready p { font-size:.875rem; line-height:1.5; }.library-info a { overflow-wrap:anywhere; }.quick-source { margin-top:18px; }
.custom-pattern-link { padding-left:0; color:var(--cyan); text-align:left; text-decoration:underline; text-underline-offset:3px; }
.primary-button,.secondary-button { min-height:48px; border-radius:9px; font-size:.9375rem; font-weight:700; text-decoration:none; }.primary-button { background:var(--cyan); color:var(--button-text); }.primary-button:hover { transform:none; }.secondary-button { background:var(--surface-soft); color:var(--ink); }
.quick-actions { gap:10px; margin-top:20px; }.export-policy { color:var(--muted); margin:12px 0; }.quick-caveat { color:var(--muted); border-top:1px solid var(--line); padding-top:14px; margin-top:18px; }
.rota-preview { background:var(--surface-soft); border:1px solid var(--line); border-radius:13px; padding:20px; }.preview-heading { display:flex; align-items:center; gap:12px; justify-content:space-between; }.preview-heading h3 { font-size:1.0625rem; }.preview-period { color:var(--muted); font-size:.75rem; white-space:nowrap; border:1px solid var(--line); border-radius:6px; padding:5px 8px; }.preview-summary { font-size:.875rem; color:var(--muted); margin:12px 0 18px; min-height:1.5em; }
.preview-days { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:7px; }.preview-day { display:grid; gap:5px; border:1px solid var(--line); border-left:3px solid var(--blue); border-radius:7px; padding:10px; background:var(--panel); min-width:0; }.preview-day.d { border-left-color:var(--cyan); }.preview-day.b { border-left-color:var(--amber); }.preview-day.o { border-left-color:var(--line); background:transparent; }
.preview-day span { color:var(--muted); font-size:.75rem; }.preview-day strong { font-size:.875rem; font-weight:650; line-height:1.4; }.preview-day small { color:var(--muted); font-size:.75rem; line-height:1.5; }.preview-day.o strong { color:var(--muted); font-weight:500; }.preview-footnote { margin:16px 0 0; font-size:.75rem; color:var(--muted); }.preview-empty { grid-column:1/-1; padding:22px 4px; color:var(--muted); font-size:1rem; }
.workspace { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:20px; }.steps { margin:20px 0; gap:5px; }.step-button { font-size:.875rem; min-height:48px; background:var(--surface-soft); }
.preview-access-note { display:flex; align-items:center; gap:9px; margin:16px 0 2px; padding:10px 12px; border:1px solid rgba(105,228,221,.24); border-radius:10px; background:rgba(105,228,221,.07); color:var(--muted); font-size:.82rem; line-height:1.4; }.preview-access-note strong { color:var(--cyan); font-size:.78rem; white-space:nowrap; }.preview-access-dot { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 4px rgba(105,228,221,.12); }
.choice-card,.check-card,.life-rule,.duty-change-row,.quick-duty,.day-choice,.light-mode .choice-card,.light-mode .check-card,.light-mode .life-rule,.light-mode .duty-change-row,.light-mode .quick-duty,.light-mode .day-choice { background:var(--surface-soft); }
.choice-card strong,.check-card strong,.life-rule-heading strong,.question-label { font-size:1rem; }
.choice-card small,.check-card small,.section-intro p,.notice-card p,.published-preset p,.recognised-card p,.safety-details summary,.microcopy,.field-error,.life-rules:empty::before { font-size:.875rem; line-height:1.5; }
.published-preset,.duty-change-section,.optional-limit-fields,.light-mode .optional-limit-fields,.light-mode .duty-change-section,.quick-custom,.light-mode .quick-custom { background:var(--surface-soft); }
.quick-time-grid { grid-template-columns:1fr; }.quick-duty { grid-template-columns:1fr 1fr 1fr; align-items:center; }.quick-duty > strong { grid-column:auto; font-size:.875rem; }.quick-duty label input { width:100%; }.quick-duty > strong .duty-code { flex-shrink:0; }
.three-choices { grid-template-columns:1fr; }.three-choices .choice-card { min-height:58px; }.anomaly-editor,.shift-table td { background:var(--surface-soft); }.shift-table th { font-size:.75rem; }.shift-table input { font-size:1rem; min-height:44px; }.shift-table td:first-child { font-size:.875rem; }
.calendar-file-ready { flex-direction:column; align-items:stretch; padding:16px; }.calendar-file-actions { flex-wrap:wrap; }.calendar-file-ready strong { font-size:1rem; }.status-pill { font-size:.875rem; border-radius:7px; max-width:200px; }.status-pill span { display:none; }
.empty-result { min-height:280px; padding:36px 12px; }.empty-result p { font-size:1rem; }.empty-icon { width:54px; height:54px; border-radius:14px; background:var(--surface-soft); color:var(--cyan); }
.summary-chip,.option-tab,.metric small,.ledger-row small,.organisation-impact,.disclaimer,.calendar-heading p { font-size:.875rem; }.option-summary p:last-child { font-size:1rem; }.option-summary h3 { font-size:1.3rem; }.score-ring { display:none; }
.calendar-scroll { max-width:100%; }.shift-block small,.day-cell > span { font-size:.75rem; }.shift-block b { font-size:.875rem; }.day-cell { min-width:110px; }.pattern-warnings li { font-size:.875rem; }.form-actions { flex-wrap:wrap; }.form-actions > button { flex:1; }.boundary-options { grid-template-columns:1fr; }
.life-intro { display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; padding:38px 0; }.life-intro img { width:100%; height:auto; border-radius:15px; display:block; }.life-intro h2 { font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.2; }.life-intro p:not(.step-kicker) { color:var(--muted); font-size:1rem; max-width:49ch; }.life-intro .future-note { font-size:.875rem!important; }
.site-footer { border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px 0; }.site-footer p { font-size:.875rem; color:var(--muted); }.site-footer nav { display:flex; gap:10px; }.site-footer p span { display:block; font-size:.75rem; margin-top:3px; }
.product-dialog { width:min(1060px,calc(100% - 32px)); max-height:85dvh; overflow:auto; background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:18px; padding:36px; box-shadow:0 24px 80px #0006; }.product-dialog::backdrop { background:#031225ad; backdrop-filter:blur(3px); }.small-dialog { max-width:620px; }
.product-dialog h2 { font-size:1.65rem; padding-right:26px; line-height:1.3; }.product-dialog p,.product-dialog li { font-size:1rem; color:var(--muted); }.product-dialog li { margin-bottom:10px; }.dialog-close { position:absolute; right:12px; top:10px; width:44px; height:44px; border:0; border-radius:8px; color:var(--muted); background:var(--surface-soft); font-size:1.8rem; cursor:pointer; }.product-dialog .notice-card { margin:20px 0; }.product-dialog .dialog-note { font-size:.875rem; border-top:1px solid var(--line); padding-top:18px; }
.contact-dialog { max-width:920px; }.contact-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:stretch; }.contact-copy { padding:12px 12px 12px 0; }.contact-copy h2 { max-width:16ch; font-size:clamp(1.8rem,4vw,2.65rem); }.contact-action { align-self:center; padding:26px; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft); }.contact-action h3 { margin:0 0 10px; font-size:1.25rem; }.contact-action .primary-button { margin-top:12px; width:100%; }.contact-points { display:grid; gap:10px; margin-top:24px; color:var(--ink); font-weight:650; }.contact-points span::before { content:'✓'; color:var(--cyan); margin-right:9px; }
.dialog-actions { display:flex; gap:10px; margin-top:20px; }.dialog-actions .primary-button { min-width:210px; }.product-dialog .text-button { margin-top:12px; }
.small-dialog [data-switch-dialog="waitlistDialog"], .small-dialog [data-open-dialog="waitlistDialog"] { display:block; width:100%; margin-top:18px; }.small-dialog > .text-button { display:block; width:100%; }.contact-dialog [data-switch-dialog="waitlistDialog"], .contact-dialog [data-open-dialog="waitlistDialog"] { width:100%; }.waitlist-link { min-width:210px; }.paid-export-actions #joinExportWaitlist { border-color:var(--cyan); color:var(--ink); }
.success-dialog { text-align:center; }.success-dialog h2 { padding-right:0; }.success-dialog .primary-button { width:100%; margin-top:18px; }.success-mark { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 18px; border-radius:50%; background:var(--cyan); color:#062238; font-size:2rem; font-weight:800; }
.four-choices { grid-template-columns:repeat(4,1fr); }.four-choices .choice-card { min-height:82px; }.drop-duty-choices { grid-template-columns:repeat(3,1fr); margin-top:14px; }.drop-duty-choice { min-height:76px; }
.drop-cycle-heading { display:grid; gap:3px; margin:20px 0 10px; color:var(--ink); }.drop-cycle-heading small { color:var(--muted); font-size:.875rem; font-weight:400; }.drop-position-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.drop-position { display:flex; align-items:flex-start; gap:8px; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); cursor:pointer; }.drop-position:has(input:checked) { border-color:var(--cyan); }.drop-position input { margin-top:2px; accent-color:var(--cyan-deep); }.drop-position span { display:grid; gap:2px; }.drop-position strong { color:var(--ink); font-size:.875rem; }.drop-position small { color:var(--muted); font-size:.75rem; }.drop-position.unavailable { opacity:.6; cursor:default; }
.waitlist-form { display:grid; gap:15px; margin-top:22px; }.waitlist-form .field { display:grid; gap:6px; }.waitlist-form .field > span { font-weight:650; color:var(--ink); }.waitlist-form textarea { resize:vertical; min-height:100px; }.waitlist-consent { display:flex; align-items:flex-start; gap:10px; color:var(--muted); font-size:.82rem; line-height:1.45; }.waitlist-consent input { margin-top:3px; flex:0 0 auto; accent-color:var(--cyan); }.waitlist-form button[type=submit] { width:100%; margin-top:2px; }.form-status { min-height:1.4em; margin:0; font-size:.875rem!important; }.form-status.success { color:var(--cyan)!important; }.form-status.error { color:#ff9b9b!important; }
.waitlist-choice-group { display:grid; grid-template-columns:1fr 1fr; gap:9px 12px; border:0; padding:0; margin:2px 0 0; }.waitlist-choice-group legend { grid-column:1/-1; padding:0 0 3px; color:var(--ink); font-weight:650; }.waitlist-choice-group legend small { display:block; color:var(--muted); font-size:.8125rem; font-weight:400; margin-top:3px; }.waitlist-choice-group > label { display:flex; align-items:flex-start; gap:8px; padding:10px; border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:.875rem; line-height:1.35; cursor:pointer; background:var(--surface-soft); }.waitlist-choice-group > label:has(input:checked) { border-color:var(--cyan); color:var(--ink); }.waitlist-choice-group input { margin-top:2px; accent-color:var(--cyan-deep); }.waitlist-choice-group .optional-other { grid-column:1/-1; padding:0; border:0; background:none; }
.pricing-grid { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:14px; margin:24px 0; }.price-card { border:1px solid var(--line); border-radius:13px; padding:20px; background:var(--surface-soft); }.price-card .price { font-size:2rem; color:var(--ink); font-weight:750; margin:16px 0; letter-spacing:-.04em; }.price small { font-size:.875rem; font-weight:500; letter-spacing:0; }.price-card > small { font-size:.875rem; line-height:1.5; color:var(--muted); }.price-card p { font-size:.9375rem; }.price-card.preferred { border:2px solid var(--cyan); }.price-card .plan-recommendation { font-size:.75rem; color:var(--cyan); margin:0 0 12px; font-weight:700; }
.paid-export-panel,.light-mode .paid-export-panel { background:var(--panel); box-shadow:var(--shadow); border-color:var(--line); }.paid-export-panel > div:first-child p:last-child { font-size:1rem; }[aria-disabled=true] { cursor:not-allowed; opacity:.65; }
.skip-link { position:absolute; z-index:100; top:-80px; left:16px; background:var(--panel); color:var(--ink); padding:12px; }.skip-link:focus { top:12px; }
@media(max-width:1000px) { .local-badge { display:none; }.quick-layout { gap:20px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }.workspace { grid-template-columns:1fr; }.header-actions { gap:7px; }.mode-button { padding:10px 12px; }.preview-days { grid-template-columns:1fr; }.preview-day { grid-template-columns:1fr 1.1fr; }.preview-day small { grid-column:2; }.quick-badge { display:none; } }
@media(max-width:700px) {
  .app-header { padding:14px 16px; min-height:76px; gap:8px; }.brand-logo { width:36px; height:36px; }.brand { gap:8px; }.brand-lockup strong { font-size:1rem; }.brand .brand-lockup small { font-size:.75rem; }.desktop-link,.account-button { display:none; }.theme-toggle { padding:7px 10px; }.theme-toggle #themeToggleLabel { display:none; }.theme-toggle > span:first-child { font-size:1.25rem; width:22px; }
  .app-shell { padding:24px 14px 10px; }.product-intro { padding-bottom:20px; }.product-intro h1 { font-size:2rem; line-height:1.13; max-width:340px; }.intro-summary { font-size:1rem; line-height:1.5; }.eyebrow { font-size:.75rem; }
  .mode-switcher { grid-template-columns:1fr 1fr; gap:4px; padding:4px; }.mode-button { min-height:61px; padding:9px 11px; }.mode-button strong { font-size:.9375rem; }.mode-button small { font-size:.75rem; }.mode-button:last-child { grid-column:1/-1; min-height:44px; border-top:1px solid var(--line); border-radius:0; }.mode-button:last-child small { display:none; }
  .quick-calendar,.builder-card,.results-card,.light-mode .quick-calendar,.light-mode .builder-card,.light-mode .results-card { padding:20px 16px; border-radius:14px; }.quick-heading { margin-bottom:20px; padding-bottom:18px; }.quick-heading h2 { font-size:1.4rem; }.quick-heading p:last-child { font-size:.9375rem; }
  .quick-layout { grid-template-columns:1fr; gap:24px; }.quick-grid { grid-template-columns:1fr 1fr; gap:16px 12px; }.quick-grid .field:has(#quickService),.quick-grid .field:has(#quickSearch) { grid-column:1/-1; }.quick-actions { flex-direction:column; }.quick-actions button { width:100%; }.preview-days { grid-template-columns:1fr 1fr; }.preview-day { display:grid; grid-template-columns:1fr; }.preview-day small { grid-column:auto; }.rota-preview { padding:16px; }.preview-heading { align-items:start; }
  .quick-custom { padding:12px; }.quick-duty { grid-template-columns:1fr 1fr; }.quick-duty > strong { grid-column:1/-1; }.vsa-actions { grid-template-columns:1fr; }.two-col,.rule-grid { grid-template-columns:1fr; }.rule-time-pair { grid-column:auto; }.day-choices { grid-template-columns:repeat(4,1fr); }.day-choice { min-height:44px; font-size:.875rem; }.step-button span { display:none; }.step-button { font-size:.8125rem; }.duty-change-fields { grid-template-columns:1fr; }.results-heading { flex-wrap:wrap; gap:10px; }.status-pill { max-width:none; }.metric-grid { grid-template-columns:1fr 1fr; }.option-tabs { grid-template-columns:1fr; }.calendar-file-actions > * { flex:1; }.calendar-file-actions { flex-direction:column; }.form-actions { gap:8px; }.generate-button { min-width:0; }.choice-row { grid-template-columns:1fr; }
  .life-intro { grid-template-columns:1fr; gap:22px; padding:26px 4px; }.life-intro img { max-height:240px; object-fit:cover; }.life-intro h2 br { display:none; }.site-footer { align-items:start; flex-direction:column; gap:0; }.site-footer nav { flex-wrap:wrap; gap:4px; }.site-footer .text-button { padding:7px 7px 7px 0; }.product-dialog { width:calc(100% - 20px); padding:28px 20px; max-height:90dvh; }.product-dialog h2 { font-size:1.4rem; }.pricing-grid { grid-template-columns:1fr; }.product-dialog ul { padding-left:20px; }.paid-export-panel { margin:18px 14px; padding:20px; }.contact-layout { grid-template-columns:1fr; gap:12px; }.contact-copy { padding:4px 0; }.contact-copy h2 { max-width:20ch; }.contact-action { padding:20px; }.four-choices,.drop-duty-choices,.waitlist-choice-group,.drop-position-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { .app-header,.product-intro,.mode-switcher,.life-intro,.site-footer,.builder-card,.paid-export-panel,.calendar-export-panel { display:none!important; }.workspace { display:block; }.results-card { border:0; box-shadow:none; } }
:root {
  --marketing-border: rgba(75, 143, 188, .24);
  --marketing-surface: rgba(16, 36, 61, .78);
}
.marketing-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:0 0 22px; }
.marketing-strip article { display:flex; gap:12px; align-items:flex-start; min-height:116px; padding:18px; border:1px solid var(--marketing-border); border-radius:18px; background:var(--marketing-surface); box-shadow:0 12px 28px rgba(3,14,27,.12); }
body.light-mode .marketing-strip article { background:var(--panel); border-color:var(--line); box-shadow:0 10px 24px rgba(31,55,87,.08); }
.marketing-strip strong { display:block; color:var(--ink); font-size:.98rem; line-height:1.2; }
.marketing-strip p { margin:7px 0 0; color:var(--muted); font-size:.82rem; line-height:1.45; }
.marketing-icon { display:grid; flex:0 0 32px; width:32px; height:32px; place-items:center; border-radius:10px; background:rgba(105,228,221,.13); color:var(--cyan); font-size:1.25rem; font-weight:800; }
body.light-mode .marketing-icon { background:rgba(8,121,111,.1); }
body:not(.light-mode) { --night:#05111e; --panel:#0b1b2b; --surface-soft:#102337; --input:#071725; --line:#23394e; --cyan:#45baff; --cyan-deep:#299de0; --button-text:#031522; background:radial-gradient(ellipse at 80% 0%,#112c55 0,transparent 38%),var(--night); }
.product-intro { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:30px 0 46px; }
.product-intro h1 { font-size:clamp(2.4rem,4.6vw,4.15rem); line-height:1.04; max-width:12ch; font-weight:800; letter-spacing:-.045em; }
.intro-summary { max-width:43ch; font-size:1.08rem; line-height:1.6; margin-top:20px; }
.eyebrow { letter-spacing:.2em; color:var(--cyan); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.hero-trust { font-size:.78rem; line-height:1.7; color:var(--muted); margin-top:16px; }
.hero-calendar { position:relative; margin:10px 35px 25px 0; padding:24px 90px 24px 24px; border:1px solid var(--line); border-radius:20px; background:var(--panel); box-shadow:0 24px 60px #0005,0 0 70px #329fff12; }
.hero-calendar-top { display:flex; justify-content:space-between; gap:10px; font-size:.65rem; color:var(--cyan); letter-spacing:.09em; }.hero-calendar-top small { color:var(--muted); letter-spacing:0; }
.hero-calendar h3 { font-size:1.3rem; margin:28px 0 20px; }
.hero-cycle { display:grid; grid-template-columns:repeat(5,1fr); gap:12px 7px; }.hero-cycle small { display:block; color:var(--muted); font-size:.65rem; padding-bottom:5px; }.hero-cycle b { display:grid; place-items:center; height:35px; border-radius:6px; font-size:1rem; color:#061723; }.example-d { background:#60dbad; }.example-b { background:#4dbbfa; }.example-n { background:#b9a1fc; }.example-o { background:#a7b5c4; }
.hero-legend { display:flex; gap:12px; margin-top:18px; color:var(--muted); font-size:.7rem; }.hero-calendar-foot { display:grid; gap:9px; border-top:1px solid var(--line); margin-top:24px; padding-top:16px; font-size:.75rem; color:var(--muted); }.hero-calendar-foot strong { color:var(--cyan); font-size:.85rem; }
.hero-phone { position:absolute; right:-38px; top:80px; width:140px; padding:12px; border:4px solid var(--line); border-radius:24px; background:var(--input); box-shadow:0 16px 35px #0005; transform:rotate(4deg); }.phone-speaker { width:32px; height:4px; border-radius:4px; background:var(--line); margin:0 auto 16px; }.hero-phone>small { color:var(--muted); font-size:.55rem; }.hero-phone>strong { display:block; margin:9px 0 15px; font-size:.85rem; }.hero-phone p { border-left:3px solid #60dbad; padding-left:8px; font-size:.7rem; line-height:1.6; }.hero-phone p small { color:var(--muted); font-size:.6rem; }.hero-phone .phone-back { border-color:#4dbbfa; }.hero-phone .phone-night { border-color:#b9a1fc; }.hero-phone>span { font-size:.55rem; color:var(--muted); }
.hero-art { position:relative; isolation:isolate; margin:0; min-height:430px; display:grid; align-content:end; overflow:hidden; border:1px solid rgba(105,228,221,.32); border-radius:24px; background:#061322; box-shadow:0 28px 74px rgba(0,0,0,.34),0 0 80px rgba(45,181,255,.12); }
.hero-art::before { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(3,12,24,.04) 30%,rgba(3,12,24,.8) 100%),linear-gradient(90deg,rgba(3,12,24,.14),transparent 55%); }
.hero-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 48%; transform:scale(1.035); }
.hero-art figcaption { position:relative; z-index:2; display:flex; align-items:center; gap:9px; padding:20px 22px; color:#eaf8ff; font-size:.9rem; font-weight:700; letter-spacing:.01em; }
.hero-art figcaption span { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 5px rgba(105,228,221,.14),0 0 18px var(--cyan); }
.marketing-strip article { border-radius:12px; background:var(--panel); box-shadow:none; }.marketing-strip .inline-jump{margin-top:10px;padding-left:0;color:var(--cyan);text-decoration:underline;text-underline-offset:3px}.mode-switcher { scroll-margin-top:100px; }
.journey-chooser { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.45fr); gap:28px; align-items:center; margin:0 0 26px; padding:24px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(140deg,rgba(16,39,66,.92),rgba(8,26,44,.92)); box-shadow:0 16px 42px rgba(0,0,0,.16); scroll-margin-top:100px; }
.journey-chooser h2 { font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.15; }.journey-chooser > div > p:last-child { margin:8px 0 0; color:var(--muted); font-size:.93rem; line-height:1.5; }
.journey-chooser .mode-switcher { margin:0; padding:0; grid-template-columns:1fr 1fr; gap:12px; background:transparent; }
.journey-chooser .mode-button { min-height:138px; padding:20px; border:1px solid var(--line); border-radius:15px; background:rgba(3,15,29,.34); transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.journey-chooser .mode-button:hover { transform:translateY(-2px); border-color:rgba(69,186,255,.65); background:rgba(69,186,255,.08); }.journey-chooser .mode-button strong { font-size:1.03rem; line-height:1.3; }.journey-chooser .mode-button small { margin-top:7px; line-height:1.45; }
.journey-chooser .mode-button.active { border-color:var(--cyan); background:rgba(69,186,255,.12); color:var(--ink); }.journey-chooser.journey-selected { padding:16px 20px; grid-template-columns:auto minmax(0,1fr); gap:20px; }.journey-chooser.journey-selected > div > .step-kicker,.journey-chooser.journey-selected > div > p:last-child { display:none; }.journey-chooser.journey-selected h2 { font-size:.95rem; white-space:nowrap; }.journey-chooser.journey-selected .mode-button { min-height:64px; padding:12px 15px; }.journey-chooser.journey-selected .mode-button small { display:none; }
body.light-mode .journey-chooser { background:linear-gradient(140deg,#f8fbfd,#eef5f9); }.journey-chooser + .quick-calendar,.journey-chooser + .quick-calendar + .workspace { scroll-margin-top:100px; }
@media(max-width:850px) { .product-intro { gap:24px; grid-template-columns:1fr; }.product-intro h1 { max-width:17ch; }.hero-calendar { max-width:510px; width:calc(100% - 38px); margin:0 38px 10px 0; }.hero-art { width:min(100%,560px); min-height:400px; }.hero-actions>* { flex:1; }.hero-calendar h3 { margin-top:20px; } }
@media(max-width:850px) { .journey-chooser { grid-template-columns:1fr; gap:18px; }.journey-chooser.journey-selected { grid-template-columns:1fr; }.journey-chooser.journey-selected h2 { white-space:normal; } }
@media(max-width:480px) { .product-intro { padding-top:8px; padding-bottom:24px; }.hero-art { min-height:360px; border-radius:18px; }.hero-art img { object-position:center 45%; }.hero-art figcaption { padding:16px; font-size:.83rem; }.product-intro h1 { font-size:2.7rem; }.hero-actions { flex-direction:column; }.hero-trust { font-size:.74rem; } }
@media(max-width:620px) { .journey-chooser { padding:19px 16px; border-radius:16px; }.journey-chooser .mode-switcher { grid-template-columns:1fr; gap:9px; }.journey-chooser .mode-button { min-height:104px; padding:16px; }.journey-chooser.journey-selected .mode-button { min-height:52px; padding:10px 12px; } }
.audience-section { scroll-margin-top:100px; margin:38px 0 24px; padding:30px; border:1px solid var(--line); border-radius:20px; background:var(--panel); }
.audience-heading { max-width:760px; margin-bottom:24px; }
.audience-heading h2 { font-size:clamp(1.5rem,3vw,2.2rem); line-height:1.2; }
.audience-heading p:last-child { color:var(--muted); line-height:1.65; }
.audience-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.feature-showcase{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.feature-panel{display:grid;grid-template-rows:auto 1fr;gap:20px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface-soft),var(--panel));box-shadow:0 16px 42px rgba(0,0,0,.18)}.feature-panel h3{font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.25;letter-spacing:-.02em}.feature-panel p{color:var(--muted);line-height:1.62}.feature-panel .primary-button,.feature-panel .secondary-button{margin-top:8px}.feature-visual{min-height:245px;position:relative;overflow:hidden;border:1px solid rgba(105,228,221,.2);border-radius:16px;background:radial-gradient(circle at 25% 20%,rgba(69,186,255,.22),transparent 34%),linear-gradient(145deg,#061522,#0f263d)}.mini-phone{position:absolute;right:28px;top:24px;width:176px;min-height:205px;padding:18px 14px;border:5px solid #203b55;border-radius:28px;background:#081827;box-shadow:0 18px 38px rgba(0,0,0,.38)}.mini-phone span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.mini-phone strong{display:block;margin:9px 0 16px;color:var(--ink);font-size:1.05rem}.mini-phone p{margin:9px 0;padding:9px;border-left:3px solid var(--cyan);border-radius:8px;background:rgba(255,255,255,.04);font-size:.78rem;color:var(--ink)}.mini-phone p+p{border-left-color:var(--blue)}.mini-phone small{color:var(--muted)}.click-stack{position:absolute;left:24px;bottom:24px;display:flex;gap:8px}.click-stack b{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--cyan);color:#041522;box-shadow:0 10px 22px rgba(69,186,255,.18)}.planner-board{position:absolute;inset:24px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(54px,auto);gap:10px;align-content:center}.planner-board span,.planner-board strong{display:flex;align-items:center;padding:14px;border:1px solid rgba(168,190,222,.2);border-radius:12px;background:rgba(255,255,255,.055);color:var(--ink);font-weight:760}.planner-board strong{grid-column:1/-1;justify-content:center;background:rgba(69,186,255,.16);color:var(--cyan)}.pro-dialog .preferred{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(69,186,255,.18),rgba(100,221,209,.08)),var(--surface-soft);box-shadow:0 18px 46px rgba(0,0,0,.2)}.pro-dialog .preferred:before{content:'Pro';position:absolute;right:-20px;top:18px;padding:7px 32px;transform:rotate(28deg);background:var(--cyan);color:#061522;font-weight:850}.pro-dialog .preferred ul{margin:10px 0 14px;padding-left:20px;color:var(--muted);font-size:.9rem;line-height:1.55}
.audience-card { min-width:0; }
.audience-card h3 { margin:16px 0 8px; font-size:1rem; line-height:1.4; }
.audience-card p { color:var(--muted); font-size:.875rem; line-height:1.6; }
.audience-art { position:relative; display:grid; align-content:space-between; min-height:116px; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }
.audience-art span { color:var(--muted); font-size:.75rem; font-weight:700; }
.audience-art b { color:var(--ink); font-size:1rem; }
.audience-art i { position:absolute; right:14px; top:40px; color:var(--cyan); font-size:1.7rem; font-style:normal; }
.header-actions a { text-decoration:none; }
.beta-login{white-space:nowrap;flex:none!important;font-size:14px;min-height:44px;display:inline-flex;align-items:center;border-radius:6px}
.site-menu{position:relative}.site-menu summary{cursor:pointer;min-height:44px;padding:12px 8px;font-size:14px}.site-menu-items{position:absolute;right:0;top:100%;width:220px;max-width:calc(100vw - 32px);background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px #0002;padding:8px;z-index:20;border-radius:6px}.site-menu-items>*{display:block;width:100%;text-align:left;padding:10px;white-space:normal}
@media(max-width:600px){.app-header{flex-wrap:wrap}.app-header .brand{width:100%}.header-actions{width:100%;justify-content:space-between}.beta-login{padding:9px 12px}.site-menu-items{right:0}}
@media(max-width:900px) { .audience-grid,.feature-showcase { grid-template-columns:1fr; } }
@media(max-width:480px) { .audience-section { padding:20px; }.audience-grid { grid-template-columns:1fr; }.audience-art { min-height:90px; }.feature-panel{padding:16px}.feature-visual{min-height:210px}.mini-phone{right:16px;width:150px}.click-stack{left:14px;bottom:14px}.click-stack b{width:32px;height:32px} }
@media print { .audience-section,.marketing-strip { display:none!important; } }
.life-calendar-visual { min-width:0; padding:20px; border:1px solid rgba(105,228,221,.28); border-radius:24px; background:linear-gradient(145deg,rgba(26,49,78,.98),rgba(11,25,45,.98)); box-shadow:0 22px 55px rgba(0,0,0,.22); }
.life-calendar-top { display:flex; align-items:center; justify-content:space-between; color:var(--muted-2); font-size:.68rem; font-weight:800; letter-spacing:.12em; }
.life-calendar-top b { padding:5px 8px; border:1px solid rgba(105,228,221,.3); border-radius:999px; color:var(--cyan); font-size:.63rem; letter-spacing:0; }
.life-calendar-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:18px 0 16px; }
.life-calendar-day { min-height:155px; padding:10px 8px; border:1px solid rgba(168,190,222,.18); border-radius:13px; background:rgba(4,12,24,.5); }
.life-calendar-day.off { opacity:.72; }
.life-calendar-day small { display:block; color:var(--muted-2); font-size:.58rem; font-weight:800; letter-spacing:.09em; }
.life-calendar-day strong { display:block; margin:8px 0 12px; color:var(--ink); font-size:1.05rem; }
.life-chip { display:block; margin-top:7px; padding:6px 6px; border-radius:8px; font-size:.59rem; font-weight:750; line-height:1.2; }
.life-chip.work { background:rgba(105,228,221,.14); color:var(--cyan); }
.life-chip.family { background:rgba(255,196,90,.14); color:var(--amber); }
.life-chip.recovery { background:rgba(121,170,255,.14); color:var(--blue); }
.life-calendar-caption { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; color:var(--muted); font-size:.68rem; }
.life-key { width:7px; height:7px; border-radius:50%; }
.work-key { background:var(--cyan); }.family-key { background:var(--amber); }.recovery-key { background:var(--blue); }
@media (max-width: 760px) { .marketing-strip { grid-template-columns:1fr; gap:9px; } .marketing-strip article { min-height:0; padding:14px; } .marketing-strip p { font-size:.79rem; } .life-calendar-grid { gap:4px; } .life-calendar-day { min-height:137px; padding:8px 5px; } .life-calendar-day strong { font-size:.9rem; margin:7px 0 9px; } .life-chip { font-size:.54rem; padding:5px 4px; } }

#firstRunCalendar{grid-column:1/-1}.legacy-calendar{grid-column:1/-1;padding:20px;border:1px solid var(--line);border-radius:12px}.calendar-start-panel,.starter-shortcuts{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.calendar-start-panel{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(280px,1fr);gap:16px;align-items:end}.calendar-start-panel h3,.starter-shortcuts h3{font-size:1.15rem}.calendar-pattern-field{grid-column:auto}.calendar-pattern-field textarea{min-height:92px}.calendar-start-panel .quick-preview{grid-column:2;min-height:38px}.calendar-start-panel .field:not(.calendar-pattern-field){grid-column:1}.calendar-start-panel .member-actions{grid-column:2}.shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.shortcut-grid button{min-height:58px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-weight:720;text-align:left;cursor:pointer}.shortcut-grid button:hover,.shortcut-grid button:focus-visible{border-color:var(--cyan);color:var(--cyan)}#cycleDays{display:grid;gap:10px;margin:20px 0}.cycle-day{display:grid;grid-template-columns:100px 70px minmax(100px,1fr) 110px 110px;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px}.cycle-day input{min-width:0;width:100%}.cycle-preview{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.cycle-preview article{padding:10px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.cycle-preview .off{opacity:.6}.cycle-preview small,.cycle-preview strong{display:block}#firstRunCalendar .member-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}#firstRunCalendar input,#firstRunCalendar select{min-height:44px}#cycleStatus{color:var(--cyan)}.founder-shell{max-width:1080px}.founder-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;align-items:start;padding:44px 0 26px}.founder-hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.04;letter-spacing:-.045em;max-width:11ch}.founder-hero p{max-width:66ch;color:var(--muted);font-size:1.05rem;line-height:1.65}.founder-panel{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.founder-panel strong{display:block;margin-bottom:10px}.founder-panel ul,.founder-section ul{padding-left:20px;color:var(--muted);line-height:1.65}.founder-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.founder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.founder-card,.founder-section{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.founder-card h2,.founder-section h2{font-size:1.28rem}.founder-card p,.founder-section p{color:var(--muted);line-height:1.62}.founder-section{margin:16px 0}.founder-note{border-color:rgba(105,228,221,.35);background:linear-gradient(135deg,rgba(105,228,221,.08),rgba(69,186,255,.05))}@media(max-width:800px){.calendar-start-panel,.shortcut-grid,.founder-grid{grid-template-columns:1fr}.calendar-start-panel .quick-preview,.calendar-start-panel .field:not(.calendar-pattern-field),.calendar-start-panel .member-actions{grid-column:auto}.founder-hero{grid-template-columns:1fr;padding-top:24px}.founder-actions>*{flex:1}}@media(max-width:700px){.cycle-day{grid-template-columns:1fr 1fr}.cycle-day>strong{grid-column:1/-1}.cycle-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.starter-shortcuts,.calendar-start-panel{padding:14px}.shortcut-grid button{min-height:50px}}
#cyclePreview.calendar-preview{display:block;margin:16px 0;overflow-x:auto;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.calendar-preview-header,.calendar-preview-grid{display:grid;grid-template-columns:repeat(7,minmax(74px,1fr));gap:6px;min-width:560px}.calendar-preview-header{margin-bottom:6px}.calendar-preview-header span{padding:4px 7px;color:var(--muted);font-size:.7rem;font-weight:760;letter-spacing:.04em;text-transform:uppercase}.calendar-preview-day{display:grid;align-content:start;gap:7px;min-height:106px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.calendar-preview-day time{color:var(--muted);font-size:.72rem;font-weight:700}.calendar-preview-day strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.83rem;line-height:1.25}.calendar-preview-day>span{display:block;min-width:0;color:var(--muted);font-size:.7rem;line-height:1.25}.calendar-preview-day.off{background:rgba(255,255,255,.025)}.calendar-preview-day.off strong{color:var(--muted);font-weight:600}.calendar-preview-day.work{border-left:3px solid var(--cyan);background:linear-gradient(145deg,rgba(69,186,255,.13),rgba(69,186,255,.035))}.calendar-preview-day.overridden{border-color:var(--amber);box-shadow:inset 0 0 0 1px rgba(255,196,90,.26)}.calendar-preview-day em{align-self:start;width:max-content;padding:3px 5px;border-radius:4px;background:rgba(255,196,90,.15);color:var(--amber);font-size:.61rem;font-style:normal;font-weight:750}@media(max-width:620px){#cyclePreview.calendar-preview{margin-left:-2px;margin-right:-2px;padding:10px;}.calendar-preview-header,.calendar-preview-grid{grid-template-columns:repeat(7,minmax(60px,1fr));gap:4px;min-width:448px}.calendar-preview-header span{padding:3px 4px;font-size:.62rem}.calendar-preview-day{min-height:88px;padding:7px;gap:5px}.calendar-preview-day time{font-size:.62rem}.calendar-preview-day strong{font-size:.72rem}.calendar-preview-day>span{font-size:.62rem}.calendar-preview-day em{font-size:.54rem;padding:2px 3px}}
.cycle-review{margin:22px 0;padding:22px;border:1px solid rgba(69,186,255,.34);border-radius:16px;background:linear-gradient(145deg,rgba(69,186,255,.1),rgba(10,29,48,.64))}.cycle-review h3{font-size:1.3rem;line-height:1.25}.cycle-review>p:not(.step-kicker){max-width:56ch;color:var(--muted);line-height:1.55}.cycle-review-pattern{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;margin:18px 0}.cycle-review-pattern article{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px;border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:10px;background:var(--panel)}.cycle-review-pattern article label:first-child{grid-column:1/-1}.cycle-review-pattern label{display:grid;gap:5px;color:var(--muted);font-size:.72rem;font-weight:700}.cycle-review-pattern input{width:100%;min-width:0}.cycle-review .field{display:grid;gap:7px;max-width:320px;margin:18px 0}.cycle-review .check-card{margin:14px 0}.cycle-review .member-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}@media(max-width:620px){.cycle-review{margin:18px 0;padding:17px}.cycle-review h3{font-size:1.14rem}.cycle-review-pattern{grid-template-columns:1fr}.cycle-review .member-actions{flex-direction:column}.cycle-review .member-actions>*{width:100%}}
.weekend-times{margin:14px 0;padding:15px;border:1px solid rgba(69,186,255,.26);border-radius:12px;background:rgba(8,25,43,.48)}.weekend-times>p{display:grid;gap:3px;margin:0 0 13px}.weekend-times>p span{color:var(--muted);font-size:.84rem;line-height:1.4}.weekend-time-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px}.weekend-time-field{display:grid;gap:7px;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.weekend-time-field strong{font-size:.9rem}.weekend-time-field>span{display:grid;grid-template-columns:1fr 1fr;gap:7px}.weekend-time-field input{width:100%;min-width:0}@media(max-width:620px){.weekend-times{padding:13px}.weekend-time-fields{grid-template-columns:1fr}}
.calendar-start-options{display:grid;gap:10px;margin:22px 0}.calendar-start-choice{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);transition:border-color .18s ease,background .18s ease}.calendar-start-choice[open]{border-color:rgba(69,186,255,.45);background:linear-gradient(145deg,rgba(69,186,255,.075),var(--surface-soft))}.calendar-start-summary{display:flex;align-items:center;min-height:72px;padding:14px 50px 14px 18px;cursor:pointer;position:relative;list-style:none}.calendar-start-summary::-webkit-details-marker{display:none}.calendar-start-summary::after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--cyan);font-size:1.6rem;font-weight:500;line-height:1}.calendar-start-choice[open]>.calendar-start-summary::after{content:'−'}.calendar-start-summary span{display:grid;gap:4px}.calendar-start-summary strong{color:var(--ink);font-size:1rem}.calendar-start-summary small{color:var(--muted);font-size:.84rem;line-height:1.4}.calendar-start-summary:hover,.calendar-start-summary:focus-visible{background:rgba(69,186,255,.07);outline:none}.calendar-start-summary:focus-visible{box-shadow:inset 0 0 0 2px var(--cyan)}.calendar-start-choice-content{padding:0 18px 18px}.calendar-start-choice-content>.calendar-start-panel,.calendar-start-choice-content>.starter-shortcuts{margin:0;padding:18px;border:0;border-radius:11px;background:rgba(4,12,24,.26)}.calendar-start-choice-content>.field-grid{margin-top:8px}.calendar-start-choice-content>.member-actions{margin-bottom:0}.review-status{margin:12px 0 0;padding:11px 13px;border:1px solid rgba(255,196,90,.42);border-radius:9px;background:rgba(255,196,90,.1);color:var(--amber);font-weight:700;line-height:1.45}.cycle-review input[aria-invalid="true"]{border-color:var(--amber);box-shadow:0 0 0 2px rgba(255,196,90,.18)}@media(max-width:620px){.calendar-start-options{margin:18px 0}.calendar-start-summary{min-height:68px;padding:12px 44px 12px 14px}.calendar-start-summary::after{right:14px}.calendar-start-choice-content{padding:0 12px 12px}.calendar-start-choice-content>.calendar-start-panel,.calendar-start-choice-content>.starter-shortcuts{padding:12px}.calendar-start-summary small{font-size:.8rem}}

/* Private free-beta mission. */
.tester-shell{max-width:1040px;padding-bottom:64px}.tester-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:28px;align-items:center;padding:48px 0 28px}.tester-hero h1{max-width:14ch;font-size:clamp(2.25rem,5.6vw,4.5rem);line-height:1.02;letter-spacing:-.05em}.tester-hero>div>p:not(.step-kicker){max-width:62ch;color:var(--muted);font-size:1.08rem;line-height:1.65}.tester-panel,.tester-section{border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.tester-panel{padding:25px}.tester-panel strong{display:block;font-size:1.15rem}.tester-panel p{color:var(--muted);line-height:1.58}.tester-panel b{color:var(--ink)}.tester-facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:22px 0 0}.tester-facts li{padding:7px 10px;border:1px solid rgba(100,221,209,.32);border-radius:999px;background:rgba(100,221,209,.07);color:var(--cyan);font-size:.78rem;font-weight:700}.tester-section{margin:18px 0;padding:28px}.tester-section h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.tester-section>p:not(.step-kicker),.tester-section>ul{color:var(--muted);line-height:1.65}.tester-agreement ul{padding-left:22px}.tester-agreement li{margin:8px 0}.tester-consent{display:flex;align-items:flex-start;gap:11px;margin:22px 0 16px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--muted);line-height:1.5;cursor:pointer}.tester-consent:has(input:checked){border-color:var(--cyan);color:var(--ink)}.tester-consent input{margin-top:4px;accent-color:var(--cyan-deep);flex:0 0 auto}.tester-agreement .primary-button{min-width:260px}.tester-agreement .primary-button:disabled{opacity:.48;cursor:not-allowed}.mission-steps{display:grid;gap:11px;padding:0;list-style:none;counter-reset:none}.mission-steps li{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.mission-steps li>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(100,221,209,.12);color:var(--cyan);font-weight:800}.mission-steps strong{display:block;margin:2px 0 4px}.mission-steps p{margin:0;color:var(--muted);line-height:1.52}.mission-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:22px 0}.mission-actions span{max-width:44ch;color:var(--muted);font-size:.85rem;line-height:1.45}.bonus-mission{margin-top:20px;padding:16px 18px;border:1px solid rgba(100,221,209,.3);border-radius:12px;background:rgba(100,221,209,.06)}.bonus-mission summary{color:var(--cyan);font-weight:750;cursor:pointer}.bonus-mission p{color:var(--muted);line-height:1.6}.tester-feedback>p:not(.step-kicker){max-width:70ch}.tester-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tester-choice-group{margin:5px 0}.tester-feedback select{width:100%}.tester-thanks{text-align:center;border-color:rgba(100,221,209,.4)}.tester-thanks h2{margin-top:0}.tester-thanks .secondary-button{display:inline-flex;align-items:center;justify-content:center;margin-top:10px}@media(max-width:760px){.tester-hero{grid-template-columns:1fr;padding-top:28px}.tester-hero h1{font-size:2.45rem}.tester-section{padding:20px 16px}.tester-form-grid,.tester-choice-group{grid-template-columns:1fr}.tester-agreement .primary-button,.mission-actions .primary-button{width:100%}.mission-steps li{grid-template-columns:36px 1fr;padding:13px}.mission-steps li>span{width:32px;height:32px}.tester-facts{gap:6px}}

/* Mobile rota review: avoid forcing users to pan a tiny seven-column calendar. */
@media(max-width:620px){
  #cyclePreview.calendar-preview{overflow-x:visible}
  #cyclePreview .calendar-preview-header{display:none}
  #cyclePreview .calendar-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;gap:8px}
  #cyclePreview .calendar-preview-day{min-height:92px;padding:9px}
  #cyclePreview .calendar-preview-day time{font-size:.7rem}
  #cyclePreview .calendar-preview-day strong{font-size:.78rem}
  #cyclePreview .calendar-preview-day>span{font-size:.68rem}
}


/* Free public site polish. */
:root {
  --free-focus: #8ce7df;
  --free-shadow: 0 18px 44px rgba(0, 0, 0, .18);
}
.product-intro {
  min-height: 430px;
  align-items: center;
  padding-top: 18px;
}
.product-intro > div:first-child {
  max-width: 650px;
}
.product-intro h1 {
  text-wrap: balance;
}
.hero-actions {
  align-items: center;
  gap: 12px;
}
.hero-actions .primary-button,
.hero-actions .secondary-button {
  min-height: 52px;
  padding-inline: 18px;
}
.hero-actions .primary-button {
  box-shadow: 0 9px 20px rgba(100, 221, 209, .16);
}
.hero-actions .primary-button:hover,
.hero-actions .primary-button:focus-visible {
  box-shadow: 0 12px 26px rgba(100, 221, 209, .24);
  filter: brightness(1.04);
}
.hero-art {
  border: 1px solid rgba(140, 231, 223, .25);
  box-shadow: var(--free-shadow);
}
.hero-art img {
  display: block;
}
.hero-trust {
  gap: 10px 18px;
  margin-top: 18px;
  color: var(--muted);
}
.hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.hero-trust span::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: var(--cyan);
}
.journey-chooser {
  border-color: rgba(140, 231, 223, .24);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .1);
}
.journey-chooser .mode-button {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.journey-chooser .mode-button:hover {
  transform: translateY(-1px);
  border-color: rgba(140, 231, 223, .5);
}
.feature-showcase,
.audience-section,
.marketing-strip {
  scroll-margin-top: 24px;
}
.marketing-strip article {
  border-color: rgba(140, 231, 223, .18);
}
.site-footer a {
  color: var(--muted);
  text-underline-offset: 3px;
}
.site-footer a:hover,
.site-footer a:focus-visible {
  color: var(--cyan);
}
@media (max-width: 760px) {
  .product-intro {
    min-height: 0;
    padding-top: 4px;
  }
  .product-intro h1 {
    max-width: 13ch;
  }
  .hero-actions {
    align-items: stretch;
  }
  .hero-actions .primary-button,
  .hero-actions .secondary-button {
    width: 100%;
  }
  .hero-trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px 12px;
  }
  .hero-trust span {
    align-items: flex-start;
  }
}
@media (max-width: 430px) {
  .hero-trust {
    grid-template-columns: 1fr;
  }
}
