:root{--color-crust:#8e5f42;--color-char:#201813;--color-flour:#faf6ef;--color-stone:#a4a59f;--color-tin:#8d8d93;--bg:var(--color-flour);--fg:var(--color-char);--action:var(--color-crust);--action-fg:var(--color-flour);--line:var(--color-tin);--surface:#2018130f;--surface-warm:#8e5f4224;--s-3:3px;--s-9:9px;--s-12:12px;--s-16:16px;--s-21:21px;--s-28:28px;--s-38:38px;--s-50:50px;--s-67:67px;--s-90:90px;--s-120:120px;--s-159:159px;--s-213:213px;--s-284:284px;--s-378:378px;--s-504:504px;--s-672:672px;--s-896:896px;--radius-none:0;--radius-3:3px;--radius-9:9px;--radius-12:12px;--radius-16:16px;--radius-21:21px;--radius-28:28px;--radius-38:38px;--radius-full:9999px;--text-1:.9rem;--text-2:1rem;--text-3:clamp(1rem, .911rem + .446vw, 1.313rem);--text-4:clamp(1.313rem, 1.188rem + .625vw, 1.75rem);--text-5:clamp(1.75rem, 1.571rem + .893vw, 2.375rem);--text-6:clamp(2.375rem, 2.161rem + 1.071vw, 3.125rem);--text-7:clamp(3.125rem, 2.821rem + 1.518vw, 4.188rem);--font-head:"Catamaran", "Trebuchet MS", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", Verdana, system-ui, sans-serif;--container:1220px;--container-wide:1440px;--control:var(--s-50);--control-lg:var(--s-67);--icon:var(--s-21);--icon-lg:var(--s-28);--gutter:var(--s-21);--app-column:var(--s-504)}[data-theme=dark]{--bg:var(--color-char);--fg:var(--color-flour);--action:var(--color-flour);--action-fg:var(--color-char);--line:#faf6ef33;--surface:#faf6ef14;--surface-warm:#faf6ef24}.tabular{font-variant-numeric:tabular-nums}@font-face{font-family:Catamaran;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/catamaran-latin-wght-normal-B4Mq1_Zn.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-3);margin:0;line-height:1.5}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--fg);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-head);line-height:1.1}.visually-hidden{width:var(--s-3);height:var(--s-3);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden}.screen{background:var(--bg);min-height:100vh;color:var(--fg)}.app{max-width:var(--app-column);min-height:100vh;padding:var(--s-28) var(--gutter) var(--s-38);gap:var(--s-28);flex-direction:column;margin:0 auto;display:flex}.topbar{min-height:var(--s-50);justify-content:space-between;align-items:center;gap:var(--s-12);display:flex}.wordmark{align-items:center;gap:var(--s-9);font-family:var(--font-head);font-weight:800;font-size:var(--text-4);line-height:1;display:flex}.wordmark svg{width:var(--icon-lg);height:var(--icon-lg);flex-shrink:0}.icon{width:var(--icon);height:var(--icon);flex-shrink:0}.btn{min-height:var(--control);padding:0 var(--s-21);border-radius:var(--radius-full);font-size:var(--text-3);justify-content:center;align-items:center;gap:var(--s-9);border:0;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{min-height:var(--control-lg);background:var(--action);width:100%;color:var(--action-fg);font-size:var(--text-4)}.btn-secondary{color:var(--fg);border:2px solid var(--line);background:0 0}.btn-quiet{color:var(--fg);text-underline-offset:.2em;padding:0 var(--s-12);background:0 0;text-decoration:underline}.btn-row{gap:var(--s-12);flex-wrap:wrap;display:flex}.actions{gap:var(--s-12);flex-direction:column;margin-top:auto;display:flex}.segmented{min-height:var(--control);padding:var(--s-3);border-radius:var(--radius-full);background:var(--surface);gap:var(--s-3);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.segmented button{border-radius:var(--radius-full);font-size:var(--text-1);background:0 0;border:0;font-weight:600}.segmented button[aria-pressed=true]{background:var(--fg);color:var(--bg);font-weight:700}.choices{gap:var(--s-9);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.choice{min-height:var(--control);border-radius:var(--radius-12);background:var(--surface-warm);font-size:var(--text-2);border:0;font-weight:600}.choice[aria-pressed=true]{background:var(--fg);color:var(--bg);font-weight:700}.sentence{gap:var(--s-16);font-family:var(--font-head);font-size:var(--text-4);flex-direction:column;font-weight:500;line-height:1.1;display:flex}.sentence-line{min-height:var(--control);align-items:center;gap:var(--s-12);flex-wrap:wrap;display:flex}.blank{min-height:var(--control);padding:0 var(--s-12);border-radius:var(--radius-12);background:var(--surface-warm);font-family:inherit;font-size:inherit;align-items:center;gap:var(--s-9);text-align:left;border:0;font-weight:600;display:inline-flex}.blank .icon{color:var(--color-crust)}.stepper{align-items:center;gap:var(--s-9);display:inline-flex}.stepper button{width:var(--control);height:var(--control);border-radius:var(--radius-full);background:var(--surface-warm);border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.stepper button:disabled{color:var(--color-tin);cursor:not-allowed}.stepper output{min-width:var(--s-28);text-align:center;font-family:var(--font-body);font-size:var(--text-5);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.stepper-small output{font-size:var(--text-4)}.kitchen{gap:var(--s-9);flex-direction:column;display:flex}.kitchen .choices{font-family:var(--font-body)}.card{padding:var(--s-21);border-radius:var(--radius-21);background:var(--surface);gap:var(--s-9);flex-direction:column;display:flex}.card-title{font-size:var(--text-4);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.3}.card-link{min-height:var(--control);text-underline-offset:.2em;background:0 0;border:0;align-self:flex-start;padding:0;font-weight:700;text-decoration:underline}.adjust{gap:var(--s-12);padding-top:var(--s-9);border-top:1px solid var(--line);flex-direction:column;display:flex}.adjust-row{justify-content:space-between;align-items:center;gap:var(--s-12);flex-wrap:wrap;display:flex}.check{min-height:var(--control);align-items:center;gap:var(--s-12);display:flex}.check input{width:var(--icon-lg);height:var(--icon-lg);accent-color:var(--color-char);margin:0}.banner{padding:var(--s-16) var(--s-21);border-radius:var(--radius-21);background:var(--surface-warm);align-items:flex-start;gap:var(--s-9);flex-direction:column;display:flex}dialog{width:100%;max-width:var(--app-column);max-height:100%;padding:var(--s-21) var(--gutter) var(--s-28);border-radius:var(--radius-21) var(--radius-21) 0 0;background:var(--bg);color:var(--fg);border:0;margin:auto auto 0}dialog::backdrop{background:var(--color-char);opacity:.6}.dialog-body{gap:var(--s-21);flex-direction:column;display:flex}.dialog-head{justify-content:space-between;align-items:center;gap:var(--s-12);display:flex}.dialog-head h2{font-size:var(--text-5)}.icon-button{width:var(--control);height:var(--control);border-radius:var(--radius-full);background:var(--surface);border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.group-label{font-size:var(--text-1);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.option-list{gap:var(--s-9);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.option{width:100%;min-height:var(--control);padding:var(--s-12) var(--s-16);border-radius:var(--radius-12);background:var(--surface);text-align:left;gap:var(--s-3);border:2px solid #0000;flex-direction:column;display:flex}.option[aria-pressed=true]{border-color:var(--fg)}.option-name{font-family:var(--font-head);font-size:var(--text-4);font-weight:700;line-height:1.2}.option-detail{font-size:var(--text-2)}.days{grid-template-columns:repeat(auto-fill, minmax(var(--s-120), 1fr));gap:var(--s-9);display:grid}.field{gap:var(--s-9);flex-direction:column;display:flex}.field input{min-height:var(--control);padding:0 var(--s-16);border:2px solid var(--line);border-radius:var(--radius-12);background:var(--bg);font-size:var(--text-4);font-variant-numeric:tabular-nums}.headline{font-size:var(--text-6)}.subhead{font-size:var(--text-5)}.section{gap:var(--s-12);flex-direction:column;display:flex}.section h2{font-size:var(--text-5)}.ingredients{margin:0;padding:0;list-style:none}.ingredients li{min-height:var(--control);padding:var(--s-9) 0;border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:var(--s-3) var(--s-12);flex-wrap:wrap;display:flex}.ingredients .grams{font-variant-numeric:tabular-nums;font-weight:700}.ingredients .detail{font-size:var(--text-2);flex-basis:100%}.timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline li{padding:var(--s-12) 0;border-bottom:1px solid var(--line);grid-template-columns:var(--s-67) 1fr;gap:var(--s-12);display:grid}.timeline .day{padding-top:var(--s-12);font-size:var(--text-1);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;font-weight:700}.timeline .day:first-child{padding-top:0}.timeline time{font-variant-numeric:tabular-nums;font-weight:700}.timeline .stage-name{font-weight:700}.timeline .stage-length{font-size:var(--text-2)}.method{padding-left:var(--s-21);gap:var(--s-16);flex-direction:column;margin:0;display:flex}.method .stage-name{font-weight:700}.finish-note{font-size:var(--text-2)}.bake .app{gap:var(--s-21)}.progress-label{font-size:var(--text-1);color:var(--color-stone);font-weight:700}.progress{height:var(--s-9);border-radius:var(--radius-full);background:var(--surface-warm);overflow:hidden}.progress span{background:var(--color-flour);height:100%;display:block}.bake-stage{font-size:var(--text-5)}.countdown{font-size:var(--text-7);color:var(--color-stone);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.countdown-note{font-size:var(--text-2);color:var(--color-stone)}.cue{font-size:var(--text-4);font-weight:700;line-height:1.35}.instruction{font-size:var(--text-3)}.fold{padding:var(--s-9) var(--s-16);border-radius:var(--radius-12);background:var(--surface-warm);font-variant-numeric:tabular-nums;align-self:flex-start;font-weight:700}.label-on-dark{font-size:var(--text-1);color:var(--color-stone);letter-spacing:.04em;text-transform:uppercase;font-weight:700}a.option{color:inherit;text-decoration:none}.tag{padding:var(--s-9) var(--s-16);border:2px solid var(--line);border-radius:var(--radius-12);font-size:var(--text-2);align-self:flex-start;font-weight:700}h1[tabindex="-1"]:focus{outline:none}h1[tabindex="-1"]:focus-visible{outline:3px solid var(--fg)}
