@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-work-sans), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, "Cascadia Mono", monospace;--color-amber-700:#b75000;--color-emerald-700:#007956;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-relaxed:1.625;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-work-sans), ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:var(--font-geist-mono), ui-monospace, "Cascadia Mono", monospace;--font-display:var(--font-fraunces), Georgia, "Times New Roman", serif;--font-script:var(--font-parisienne), "Segoe Script", cursive;--font-hand:var(--font-montserrat), "Helvetica Neue", Arial, sans-serif}@supports (color:lab(0% 0 0)){:root,:host{--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-emerald-700:lab(44.4871% -41.0396 11.0361)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}input,button,textarea,select{font:inherit;color:inherit}}@layer components{.brand-mark{background:var(--oxblood);width:28px;height:28px;box-shadow:none;border-radius:8px;flex-shrink:0;position:relative}[data-theme=dark] .brand-mark{background:#a94f4b}.brand-mark:after{content:"";clip-path:polygon(0 50%,50% 0,100% 50%,50% 100%);background:#f1e4bfd9;background:lab(90.9396% .568956 19.6185/.85);border-radius:50%;position:absolute;inset:6px 8px;transform:rotate(-12deg)}.nav-section{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);padding:14px 10px 6px;font-size:10px}.nav-item{border-radius:var(--r-sm);color:var(--ink-2);text-align:left;width:100%;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:14px;font-weight:500;display:flex}.nav-item svg{opacity:.8;flex-shrink:0;width:16px;height:16px}.nav-item:hover{background:var(--paper-3);color:var(--ink)}.nav-item.active{background:var(--paper-2);color:var(--oxblood);box-shadow:inset 3px 0 0 var(--oxblood)}.nav-item.active svg{opacity:1}.nav-item .count{font-size:11px;font-family:var(--font-mono);color:var(--ink-3);background:var(--paper);border:1px solid var(--line);border-radius:999px;margin-left:auto;padding:1px 6px}.nav-item.active .count{background:var(--paper)}.h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(34px,4vw,48px);font-weight:400;line-height:1.05}.h1 em{color:var(--oxblood);font-style:italic;font-weight:400}.crumbs{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:11px}.btn{border-radius:var(--r-sm);background:var(--paper-2);color:var(--ink);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:500;display:inline-flex}.btn:hover{background:var(--paper-3)}.btn:active{transform:translateY(.5px)}.btn-ghost{border-color:var(--line);background:0 0}.btn-ghost:hover{background:var(--paper-2);border-color:var(--line-strong)}.btn-primary{background:var(--oxblood);color:var(--on-accent);border-color:var(--oxblood)}.btn-primary:hover{background:#642421;border-color:#642421}[data-theme=dark] .btn-primary{color:var(--on-accent);background:#a94f4b;border-color:#a94f4b}[data-theme=dark] .btn-primary:hover{background:#99433f;border-color:#99433f}.btn-danger{background:var(--danger-action);border-color:var(--danger-action);color:var(--on-accent)}.btn-danger:hover{background:var(--danger-action-hover);border-color:var(--danger-action-hover);color:var(--on-accent)}.btn-quiet{background:0 0;padding:6px 10px;font-size:12.5px}.btn-quiet:hover{background:var(--paper-3)}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-block{justify-content:center;width:100%}.btn[disabled]{opacity:.45;cursor:not-allowed}.goals-auto-split{background:var(--draft);border-color:var(--draft);color:#fcfaf4;color:lab(98.3099% -.248939 3.04239);font-weight:700;animation:1.8s ease-in-out infinite goalsActionPulse}.goals-auto-split:hover{background:#aa5910;background:lab(47.1083% 30.5254 51.8556);border-color:#aa5910;border-color:lab(47.1083% 30.5254 51.8556)}.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:none}.card-pad{padding:20px}.input{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;padding:10px 12px;font-size:14px;display:block}.input:focus{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-soft)}.label{color:var(--ink-2);margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.field{margin-bottom:14px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.help{color:var(--ink-3);margin-top:6px;font-size:12px}.avatar{background:var(--oxblood);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:grid}.avatar-lg{background:var(--oxblood);color:#faf8f1;color:lab(97.742% -.305504 3.80692);width:64px;height:64px;font-family:var(--font-display);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-size:22px;font-weight:600;display:grid;box-shadow:inset 0 0 0 1px #ffffff26,0 1px 3px #0000000f}.auth-shell{border:1px solid var(--line);background:var(--paper);border-radius:18px;grid-template-columns:1.05fr 1fr;gap:0;width:100%;max-width:1040px;display:grid;overflow:hidden;box-shadow:0 1px 2px #00000008,0 12px 40px -16px #0000001f}.auth-illu{color:#fff;flex-direction:column;justify-content:flex-end;min-height:540px;display:flex;position:relative;overflow:hidden}.auth-illu-bg{background:var(--oxblood);position:absolute;inset:0}.auth-card-1{color:#2a241c;background:#faf7f0f5;border-radius:12px;width:220px;padding:16px;position:absolute;top:18%;left:12%;transform:rotate(-4deg);box-shadow:0 12px 32px -12px #0000004d,0 0 0 1px #ffffff26}.auth-card-strip{background:#efe9e0;border-radius:4px;height:8px;margin-bottom:8px}.auth-card-strip:first-child{background:#e7d2cf}.auth-pill{font-family:var(--font-mono);letter-spacing:.05em;background:var(--oxblood);color:#fff;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600}.auth-pill.ghost{color:#554c48;background:#f6f1e9}.auth-card-2{-webkit-backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #fff3;border-radius:14px;align-items:center;gap:14px;padding:14px 18px;display:flex;position:absolute;bottom:22%;right:10%;transform:rotate(3deg);box-shadow:0 12px 32px -12px #0000004d}.auth-illu-copy{z-index:2;padding:28px 36px 32px;position:relative}.auth-quote{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;text-wrap:balance;max-width:380px;margin:6px 0 0;font-size:26px;font-weight:500;line-height:1.25}.auth-panel{background:var(--paper);flex-direction:column;min-height:540px;padding:44px 48px;display:flex;overflow-y:auto}.auth-form{width:100%;max-width:400px;margin:0 auto}.auth-h{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 8px;font-size:32px;font-weight:500;line-height:1.1}.auth-sub{color:var(--ink-2);margin:0 0 24px;font-size:14px;line-height:1.5}.auth-switch{border-top:1px solid var(--line);color:var(--ink-2);text-align:center;margin-top:22px;padding-top:18px;font-size:13px}.auth-switch a{color:var(--sage-deep);font-weight:600}.onb-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--sage-deep);margin-bottom:8px;font-size:11px}@media (max-width:880px){.auth-shell{grid-template-columns:1fr;max-width:480px}.auth-illu{display:none}.auth-panel{min-height:0;padding:32px 28px}}.btn-icon{background:var(--paper-2);border:1px solid var(--line);cursor:pointer;width:34px;height:34px;transition:background var(--t-fast);border-radius:999px;place-items:center;padding:0;display:grid}.btn-icon:hover{background:var(--paper-3)}.btn-icon.danger{color:var(--danger)}.btn-icon.danger:hover{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.btn-icon.danger:hover{border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}}.btn-icon.danger:hover{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.btn-icon.danger:hover{background:color-mix(in srgb, var(--danger) 8%, var(--paper))}}.chip{background:var(--paper-3);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.div{background:var(--line);height:1px;margin:16px 0}.macro-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.bar{background:var(--paper-3);border-radius:999px;height:6px;overflow:hidden}.bar>span{border-radius:999px;height:100%;transition:width .4s;display:block}.tbl{border-collapse:collapse;width:100%;font-size:13.5px}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:11.5px;font-weight:500;font-family:var(--font-mono);border-bottom:1px solid var(--line);padding:10px 12px}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px}.tbl tr:last-child td{border-bottom:0}.tbl tr:hover td{background:var(--paper-2)}.seg{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.seg-opt{border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--paper);text-align:left;cursor:pointer;transition:all var(--t-fast);flex-direction:column;gap:6px;padding:14px 12px;display:flex}.seg-opt:hover{border-color:var(--line-strong)}.seg-opt.active{border-color:var(--sage);background:var(--sage-tint);box-shadow:0 0 0 3px var(--sage-soft)}.seg-opt .seg-ico{background:var(--paper-3);width:28px;height:28px;color:var(--ink-2);border-radius:8px;place-items:center;display:grid}.seg-opt.active .seg-ico{background:var(--sage-soft);color:var(--sage-deep)}.seg-opt b{font-size:13px;font-weight:600}.seg-opt span{color:var(--ink-3);font-size:11.5px;line-height:1.3}.ai-pulse{background:#007dab;background:lab(47.9793% -21.2597 -38.5482);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite aiPulse}.ai-analysis{border:1px solid var(--info-line);background:var(--paper-2);border-radius:14px;align-items:center;gap:16px;padding:15px;animation:.25s ease-out both fadeInUp;display:flex;overflow:hidden}.ai-orbit{flex:0 0 54px;place-items:center;width:54px;height:54px;display:grid;position:relative}.ai-orbit-core{z-index:2;color:#fff;background:#006b93;background:lab(40.9402% -20.4445 -41.0358);border-radius:50%;place-items:center;width:32px;height:32px;animation:1.7s ease-in-out infinite aiCore;display:grid;position:relative;box-shadow:0 7px 20px #005e8440;box-shadow:0 7px 20px lab(36.285% -18.8644 -38.2791/.25)}.ai-orbit-ring{border:1px solid #1292c059;border:1px solid lab(56.1574% -20.2881 -33.3659/.35);border-top-color:oklch(49% .15 230);border-radius:50%;animation:1.4s linear infinite aiOrbit;position:absolute;inset:1px}.ai-orbit-ring:after{content:"";background:#0086b4;background:lab(51.4807% -21.7955 -38.6215);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:5px;box-shadow:0 0 0 4px #0086b41f;box-shadow:0 0 0 4px lab(51.4807% -21.7955 -38.6215/.12)}.ai-analysis-step{color:var(--ink-3);opacity:.58;align-items:center;gap:8px;font-size:11.5px;transition:color .25s,transform .25s,opacity .25s;display:flex}.ai-analysis-step.active{color:var(--ink-1);opacity:1;transform:translate(2px)}.ai-analysis-step.done{color:var(--sage-deep);opacity:.82}.ai-analysis-dot{border:1px solid var(--line-strong);border-radius:50%;flex:0 0 14px;place-items:center;width:14px;height:14px;display:grid}.ai-analysis-step.active .ai-analysis-dot{background:#007399;background:lab(44.4752% -20.6522 -38.4715);border-color:#007399;border-color:lab(44.4752% -20.6522 -38.4715);animation:1.1s ease-in-out infinite aiStep;box-shadow:0 0 0 4px #0073991f;box-shadow:0 0 0 4px lab(44.4752% -20.6522 -38.4715/.12)}.ai-analysis-step.done .ai-analysis-dot{border-color:var(--sage);background:var(--sage);color:#fff}.ai-source{letter-spacing:.05em;border-radius:999px;padding:2px 6px;font-size:9px}.ai-source.live{color:var(--info-text);background:var(--info-soft)}.ai-source.fallback{color:var(--ink-3);background:var(--paper-3)}.ai-rationale{border-left:3px solid var(--info);background:var(--info-soft);color:var(--info-text)}.ai-rationale b{color:var(--info)}.skeleton{background:var(--paper-3);vertical-align:middle;background-size:200% 100%;border-radius:4px;height:1em;animation:1.4s linear infinite shimmer;display:inline-block}.streaming-line{position:relative}.streaming-line:after{content:"▍";color:var(--sage);margin-left:1px;animation:1s steps(2,end) infinite caret}.parse-row{animation:.25s fadeInUp}input[type=range].range{appearance:none;width:100%;height:18px;accent-color:var(--sage-deep);cursor:pointer;background:0 0}input[type=range].range::-webkit-slider-runnable-track{background:var(--paper-3);border:1px solid var(--line);border-radius:999px;height:6px}input[type=range].range::-moz-range-track{background:var(--paper-3);border:1px solid var(--line);border-radius:999px;height:6px}input[type=range].range::-webkit-slider-thumb{appearance:none;background:var(--range-thumb,var(--sage-deep));border:2px solid var(--paper);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;margin-top:-6px}input[type=range].range::-moz-range-thumb{background:var(--range-thumb,var(--sage-deep));border:2px solid var(--paper);width:12px;height:12px;box-shadow:var(--shadow-sm);border-radius:50%}.onb-wrap{background:var(--paper);z-index:800;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.onb-top{justify-content:space-between;align-items:center;padding:22px 32px;display:flex}.onb-progress{gap:6px;display:flex}.onb-progress span{background:var(--paper-3);width:24px;height:4px;transition:background var(--t-med), width var(--t-med);border-radius:999px}.onb-progress span.done{background:var(--sage-deep)}.onb-progress span.active{background:var(--sage-deep);width:48px}.onb-body{justify-content:center;align-items:flex-start;min-height:0;padding:24px 32px 40px;display:flex;overflow-y:auto}.onb-card{width:100%;max-width:620px}.onb-h{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 12px;font-size:40px;font-weight:500;line-height:1.05}.onb-h em{color:var(--sage-deep);font-style:italic;font-weight:500}.onb-sub{color:var(--ink-2);margin-bottom:28px;font-size:15px;line-height:1.5}.onb-bottom{justify-content:space-between;padding:22px 32px;display:flex}.pill{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--paper-3);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.pill.draft{background:var(--draft-soft);color:var(--draft);border-color:#eec4a9;border-color:lab(82.3813% 12.3644 19.5278)}[data-theme=dark] .pill.draft{border-color:#6a4225;border-color:lab(32.3951% 15.666 24.7663)}.pill.draft .dot{background:var(--draft);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite pillPulse}.pill.ok{background:var(--sage-soft);color:var(--sage-deep);border-color:var(--line-strong)}[data-theme=dark] .pill.ok{border-color:var(--line-strong)}.tabs{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.tab{color:var(--ink-2);cursor:pointer;transition:all var(--t-fast);background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500}.tab.active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}.tab:hover:not(.active){color:var(--ink)}.thumb{background:var(--paper-3);border-radius:var(--r-sm);background-position:50%;background-size:cover;position:relative;overflow:hidden}.thumb:after{content:"";pointer-events:none;background:#2a23210d;position:absolute;inset:0}.thumb-placeholder{background:var(--paper-3);font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.rcard-wrap{border-radius:var(--r-md);min-width:0;display:flex;position:relative}.rcard-wrap>.rcard{width:100%}.rcard-wrap.selected>.rcard{border-color:var(--oxblood);box-shadow:0 0 0 2px #7a2e2b1f}.rcard-select{z-index:4;color:#fff;cursor:pointer;background:#fffffff0;border:1px solid #2a232147;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:12px;right:12px}.rcard-select[aria-checked=true]{background:var(--oxblood);border-color:var(--oxblood)}.rcard{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;text-align:left;transition:transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);flex-direction:column;padding:0;display:flex;overflow:hidden}.rcard:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-1px)}.rcard .thumb{aspect-ratio:4/3;border-radius:0}.rcard-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 16px;display:flex}.rcard-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px;font-weight:500;line-height:1.2}.rcard-meta{font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:10px;margin-top:auto;padding-top:8px;font-size:11px;display:flex}.rcard-meta .dot{background:var(--ink-3);border-radius:50%;width:3px;height:3px}.ring-wrap{display:inline-block;position:relative}.ring-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center .num{font-family:var(--font-display);letter-spacing:-.02em;font-size:26px;font-weight:500;line-height:1}.ring-center .lbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;font-size:10px}.macro-legend{flex-direction:column;gap:10px;display:flex}.macro-row{align-items:center;gap:10px;font-size:13px;display:flex}.macro-row .name{color:var(--ink-2);flex:1}.macro-row .val{font-family:var(--font-mono);font-size:12px}.modal-bg{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#1e1a1473;place-items:center;padding:32px;animation:.2s modalFadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:1080px;max-height:calc(100vh - 64px);animation:.25s cubic-bezier(.2,.7,.2,1) modalIn;display:flex;overflow:hidden}.modal-hd{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.modal-hd h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:500}.modal-body{overscroll-behavior:contain;flex:1;min-height:0;padding:22px;overflow-y:auto}.modal-ft{border-top:1px solid var(--line);background:var(--paper-2);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;display:flex}.modal>form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.notifications-popover{width:min(300px,100vw - 24px);left:0}.textarea{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);transition:border-color var(--t-fast), box-shadow var(--t-fast);resize:vertical;outline:none;min-height:100px;padding:10px 12px;font-size:14px;display:block}.textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-soft)}.input-flush{box-shadow:none!important;background:0 0!important;border:1px solid #0000!important;border-radius:4px!important;padding:6px 8px!important}.input-flush:hover{background:var(--paper-2)!important;border-color:var(--line)!important}.input-flush:focus{background:var(--paper)!important;border-color:var(--sage)!important;box-shadow:0 0 0 2px var(--sage-soft)!important}.input-flush[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-flush[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-flush[type=number]{appearance:textfield}.tbl-edit td{border-bottom:1px dashed var(--line)!important;padding:4px 6px!important}.tbl-edit tr:hover td{background:0 0!important}.plan-toolbar{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);max-width:1680px;margin:0 auto 16px;overflow:hidden;box-shadow:0 1px #2a241c08}.plan-toolbar-main{grid-template-columns:auto minmax(280px,1fr) auto;align-items:center;gap:16px;min-height:58px;padding:8px 10px;display:grid}.plan-period-switch{border:1px solid var(--line);background:var(--paper-2);border-radius:9px;align-items:center;gap:2px;padding:2px;display:flex}.plan-period-switch button{min-height:30px;color:var(--ink-3);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);background:0 0;border:1px solid #0000;border-radius:7px;padding:4px 10px;font-size:11px;font-weight:600}.plan-period-switch button:hover{color:var(--ink)}.plan-period-switch button.active{border-color:var(--line);background:var(--paper);color:var(--sage-deep);box-shadow:0 1px 2px #2a241c0f}.plan-period-nav{justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.plan-period-label{text-align:center;min-width:230px}.plan-period-context{color:var(--ink-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:600}.plan-period-title{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;margin-top:1px;font-size:16px;font-weight:600;overflow:hidden}.plan-toolbar-meta{justify-content:flex-end;align-items:center;gap:10px;display:flex}.plan-item-count{color:var(--ink-3);font-family:var(--font-mono);white-space:nowrap;font-size:10.5px}@media (max-width:1100px){.plan-toolbar-main{grid-template-columns:auto minmax(260px,1fr);gap:8px 12px}.plan-toolbar-meta{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;padding-top:7px}}@media (max-width:640px){.plan-toolbar-main{flex-wrap:wrap;display:flex}.plan-period-switch{width:100%}.plan-period-switch button{flex:1}.plan-period-nav{width:100%}.plan-period-label{flex:1;min-width:0}.plan-period-title{font-size:14px}.plan-toolbar-meta{width:100%}.plan-item-count{text-overflow:ellipsis;overflow:hidden}}.plan-person-picker{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);align-items:center;gap:12px;margin-bottom:18px;padding:7px;display:flex}.plan-toolbar>.plan-person-picker{border:0;border-top:1px solid var(--line);border-radius:0;margin-bottom:0;padding:5px 7px}.plan-person-picker-label{color:var(--ink-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;align-items:center;gap:6px;padding:0 7px;font-size:10px;font-weight:600;display:flex}.plan-person-options{scrollbar-width:thin;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.plan-person-option{min-height:34px;color:var(--ink-2);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);background:0 0;border:1px solid #0000;border-radius:9px;flex-shrink:0;align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.plan-person-option:hover{border-color:var(--line);background:var(--paper);color:var(--ink)}.plan-person-option.active{border-color:var(--sage);background:var(--paper);color:var(--sage-deep);box-shadow:0 1px 2px #2a241c0f}.plan-person-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.plan-person-option small{background:var(--sage-soft);color:var(--sage-deep);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:1px 5px;font-size:8px;font-weight:600}.plan-scroll{-webkit-overflow-scrolling:touch;padding-bottom:4px;overflow-x:auto}.plan-board{max-width:1680px;margin-inline:auto}.plan-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:72px repeat(7,1fr);gap:1px;min-width:900px;display:grid;overflow:hidden}.plan-grid>*{background:var(--paper)}.plan-head{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);background:var(--paper-2);padding:7px 10px}.plan-head .day-num{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;text-transform:none;font-size:17px;font-weight:500}.plan-head.today .day-num{color:var(--sage-deep)}.plan-meal-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);background:var(--paper-2);flex-direction:column;justify-content:center;padding:6px 10px;font-size:10px;display:flex}.plan-meal-label b{font-family:var(--font-sans);text-transform:none;letter-spacing:0;color:var(--ink);margin-bottom:2px;font-size:12px;font-weight:600}.plan-cell{min-height:88px;transition:background var(--t-fast);padding:6px;position:relative}.plan-cell.dragover{background:var(--sage-soft);outline:2px dashed var(--sage);outline-offset:-3px}.plan-member-slot+.plan-member-slot{border-top:1px dashed var(--line);margin-top:6px;padding-top:6px}.plan-member-label{min-width:0;color:var(--ink-3);align-items:center;gap:4px;margin-bottom:4px;font-size:9.5px;display:flex;overflow:hidden}.plan-slot-tiles{flex-direction:column;gap:4px;display:flex}.plan-entry-tile{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-sm);min-width:0;transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);padding:0;font-size:11px;line-height:1.3;overflow:hidden;box-shadow:0 1px #2a241c0a}.plan-entry-tile:hover,.plan-entry-tile:focus-within{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.plan-entry-main{min-width:0}.plan-entry-link{flex-direction:column;align-items:stretch;min-width:0;text-decoration:none;display:flex}.plan-entry-thumb{background:var(--paper-3);width:100%;height:52px;overflow:hidden}.plan-entry-thumb .thumb{height:100%}.plan-entry-title{color:var(--ink);padding:4px 8px 0;font-size:12px;line-height:1.25}.plan-entry-tile .plan-entry-title{white-space:nowrap;text-overflow:ellipsis;min-height:0;display:block;overflow:hidden}.plan-entry-tile b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.plan-product-tile{background:var(--paper);border-left:3px solid var(--sage-soft-2);padding:6px 8px}.plan-product-tile .plan-entry-main b{color:var(--ink);font-size:12px}.plan-product-amount{font-family:var(--font-mono);color:var(--ink-3);margin-top:1px;font-size:9px}.plan-entry-nutrition{padding:4px 8px 6px}.plan-product-tile .plan-entry-nutrition{padding:4px 0 2px}.plan-entry-topline{flex-wrap:wrap;align-items:baseline;gap:1px 7px;display:flex}.plan-entry-topline .plan-entry-macros{margin-top:0}.plan-entry-nutrition>strong{color:var(--ink-2);font-family:var(--font-mono);font-size:10px;font-weight:600;display:block}.plan-entry-topline>strong{display:inline-block}.plan-entry-scale{color:var(--ink-3);font:9px var(--font-mono);align-items:center;gap:4px;margin-top:3px;display:flex}.plan-entry-scale input{border:1px solid var(--line);background:var(--paper);width:28px;color:var(--ink);text-align:center;border-radius:5px;padding:1px 2px}.plan-entry-scale button{border:1px solid var(--line);background:var(--paper);width:17px;height:17px;color:var(--ink-2);cursor:pointer;border-radius:50%;place-items:center;display:grid}.plan-entry-scale button:disabled{opacity:.35;cursor:not-allowed}.plan-entry-macros{color:var(--ink-3);font-family:var(--font-mono);flex-wrap:wrap;gap:3px 7px;margin-top:3px;font-size:8.5px;line-height:1.25;display:flex}.plan-entry-macros span{white-space:nowrap}.plan-tile-actions{flex-shrink:0;align-items:center;gap:3px;display:flex}.plan-entry-tile>.plan-tile-actions{border-top:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.plan-tile-action{border:1px solid var(--line);background:var(--paper);width:24px;height:24px;color:var(--ink-3);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast), transform var(--t-fast);border-radius:7px;place-items:center;padding:0;display:grid}.plan-entry-tile>.plan-tile-actions .plan-tile-action{border:0;border-right:1px solid var(--line);width:auto;height:24px;color:var(--ink-3);font-family:var(--font-sans);border-radius:0;justify-content:center;align-items:center;gap:0;font-size:10px;font-weight:600;text-decoration:none;display:flex}.plan-entry-tile>.plan-tile-actions .plan-tile-action:last-child{border-right:0}.plan-entry-tile>.plan-tile-actions .plan-tile-action-primary{color:var(--sage-deep)}.plan-tile-action:hover{background:var(--paper-3);color:var(--ink);transform:translateY(-1px)}.plan-entry-tile>.plan-tile-actions .plan-tile-action:hover{transform:none}.plan-tile-remove:hover{border-color:var(--draft);background:var(--draft-soft);color:var(--draft)}.plan-entry-tile>.plan-product-actions{grid-template-columns:1fr;margin:4px -8px -6px}.plan-add-tile{border:1px dashed var(--line-strong);border-radius:var(--r-sm);width:100%;min-height:22px;color:var(--ink-3);cursor:pointer;opacity:0;visibility:hidden;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast), transform var(--t-fast), opacity var(--t-fast), visibility var(--t-fast);background:0 0;justify-content:center;align-items:center;gap:6px;padding:2px 6px;font-size:10px;font-weight:600;display:flex}.plan-member-slot:hover .plan-add-tile,.plan-member-slot:focus-within .plan-add-tile{opacity:1;visibility:visible}.plan-add-tile:hover,.plan-add-tile:focus-visible{border-color:var(--sage);background:var(--sage-tint);color:var(--sage-deep)}.plan-add-tile:hover{transform:translateY(-1px)}.plan-add-icon{background:var(--sage-soft);width:18px;height:18px;color:var(--sage-deep);border-radius:999px;place-items:center;display:grid}@media (hover:none){.plan-add-tile{opacity:1;visibility:visible}}.plan-slot-more{border:1px dashed var(--line-strong);border-radius:var(--r-sm);min-height:20px;color:var(--ink-3);font-family:var(--font-sans);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast);background:0 0;justify-content:center;align-items:center;gap:5px;padding:2px 8px;font-size:10px;font-weight:600;display:flex}.plan-slot-more:hover,.plan-slot-more:focus-visible{border-color:var(--sage);background:var(--sage-tint);color:var(--sage-deep)}.plan-slot-more .chev{transition:transform var(--t-fast);place-items:center;display:grid}.plan-slot-more.open .chev{transform:rotate(180deg)}.plan-slot-more-kcal{color:var(--ink-3);font-family:var(--font-mono);font-weight:400}.plan-view-switch{border:1px solid var(--line);background:var(--paper-2);border-radius:9px;align-items:center;gap:2px;padding:2px;display:inline-flex}.plan-view-switch button{color:var(--ink-3);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;display:flex}.plan-view-switch button:hover{color:var(--ink)}.plan-view-switch button.active{border-color:var(--line);background:var(--paper);color:var(--sage-deep);box-shadow:0 1px 2px #2a241c0f}@media (max-width:640px){.plan-view-switch button span{display:none}}.plan-list{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);flex-direction:column;display:flex;overflow:hidden}.plan-list-day+.plan-list-day{border-top:1px solid var(--line)}.plan-list-day{transition:background var(--t-fast);padding:10px 14px 12px}.plan-list-day.today{box-shadow:inset 3px 0 0 var(--sage)}.plan-list-day-head{flex-wrap:wrap;align-items:baseline;gap:2px 14px;margin-bottom:4px;display:flex}.plan-list-day-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);align-items:baseline;gap:7px;font-size:10.5px;display:flex}.plan-list-day-title b{font-family:var(--font-display);letter-spacing:-.01em;text-transform:none;color:var(--ink);font-size:17px;font-weight:500}.plan-list-day.today .plan-list-day-title b{color:var(--sage-deep)}.plan-list-day-title .today-mark{color:var(--sage-deep);text-transform:none;letter-spacing:0;font-weight:600}.plan-list-day-stats{font-family:var(--font-mono);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-left:auto;font-size:9.5px;display:flex}.plan-list-day-kcal{white-space:nowrap;font-size:11px;font-weight:600}.plan-list-day-balance{white-space:nowrap}.plan-list-day-stats .plan-entry-macros{margin-top:0}.plan-list-meal{align-items:flex-start;gap:10px;padding:6px 0 2px;display:flex}.plan-list-meal+.plan-list-meal{border-top:1px dashed var(--line)}.plan-list-meal-name{width:104px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);flex-shrink:0;padding-top:6px;font-size:9px}.plan-list-items{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.plan-list-item{min-height:30px;transition:background var(--t-fast);border-radius:7px;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 -6px;padding:3px 6px;font-size:12px;display:flex}.plan-list-item:hover{background:var(--paper-2)}.plan-list-item-main{flex-direction:column;flex:1;gap:1px;min-width:140px;display:flex}.plan-list-item-title{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px;font-weight:600;text-decoration:none;overflow:hidden}a.plan-list-item-title:hover{color:var(--sage-deep);text-decoration:underline}.plan-list-item .plan-entry-scale{margin-top:0}.plan-list-item .plan-batch-note{flex-shrink:0;margin-top:0}.plan-list-item-meta{font-family:var(--font-mono);color:var(--ink-3);flex-shrink:0;align-items:center;gap:9px;font-size:9.5px;display:flex}.plan-list-item-meta>strong{color:var(--ink-2);white-space:nowrap;font-size:10.5px}.plan-list-item-meta .plan-product-amount{margin-top:0}.plan-list-item-actions{flex-shrink:0;align-items:center;gap:3px;display:flex}.plan-list-add{border:1px dashed var(--line-strong);width:24px;height:24px;color:var(--ink-3);cursor:pointer;opacity:.55;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast), opacity var(--t-fast);background:0 0;border-radius:999px;flex-shrink:0;place-items:center;padding:0;display:grid}.plan-list-add:hover,.plan-list-add:focus-visible{opacity:1;border-color:var(--sage);background:var(--sage-tint);color:var(--sage-deep)}.plan-month{border:1px solid var(--line);border-radius:var(--r-md);background:var(--line);grid-template-columns:repeat(7,minmax(105px,1fr));gap:1px;min-width:780px;display:grid;overflow:hidden}.plan-month-weekday{background:var(--paper-2);color:var(--ink-3);font-family:var(--font-mono);text-align:right;text-transform:uppercase;letter-spacing:.07em;padding:7px 9px;font-size:9px;font-weight:600}.plan-month-spacer{background:var(--paper-2);min-height:106px}.plan-month-day{background:var(--paper);min-width:0;min-height:106px;color:var(--ink);text-align:left;cursor:pointer;transition:background var(--t-fast), box-shadow var(--t-fast);border:0;flex-direction:column;gap:7px;padding:8px 9px;display:flex}.plan-month-day:hover,.plan-month-day:focus-visible{z-index:1;background:var(--sage-tint);box-shadow:inset 0 0 0 1px var(--sage);outline:none;position:relative}.plan-month-day.today{box-shadow:inset 3px 0 0 var(--sage)}.plan-month-day.empty{color:var(--ink-3)}.plan-month-day-head{justify-content:space-between;align-items:center;gap:5px;display:flex}.plan-month-day-head b{font-family:var(--font-display);font-size:16px;font-weight:600}.plan-month-day.today .plan-month-day-head b{color:var(--sage-deep)}.plan-month-day-head span{color:var(--sage-deep);font-family:var(--font-mono);text-transform:uppercase;font-size:8px;font-weight:700}.plan-month-items{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.plan-month-item{min-width:0;color:var(--ink-2);align-items:center;gap:5px;font-size:10px;display:flex}.plan-month-item>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-month-item-dot{background:var(--sage);border-radius:999px;flex-shrink:0;width:5px;height:5px}.plan-month-item-dot.product{background:var(--f)}.plan-month-more,.plan-month-empty{color:var(--ink-3);font-family:var(--font-mono);align-items:center;gap:3px;font-size:8.5px;display:flex}.plan-month-empty{opacity:.7;margin-top:7px}.plan-month-day-foot{color:var(--ink-3);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:5px;font-size:8.5px;display:flex}.plan-month-day-foot span:first-child{font-weight:600}.plan-board-day{max-width:1120px}.plan-board-day .plan-target-editor{min-width:0}.plan-day-summary-grid{grid-template-columns:72px repeat(7,1fr);gap:5px;min-width:900px;margin-top:8px;display:grid}.plan-day-summary-label,.plan-day-summary{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper)}.plan-day-summary-label{background:var(--paper-2);flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:7px 8px;display:flex}.plan-day-summary-label-icon{background:var(--sage-soft);width:22px;height:22px;color:var(--sage-deep);border-radius:7px;place-items:center;margin-bottom:1px;display:grid}.plan-day-summary-label b{font-size:11.5px;line-height:1.2}.plan-day-summary-label>span:last-child{color:var(--ink-3);font-size:9.5px;line-height:1.3}.plan-day-summary{min-width:0;padding:6px 8px;box-shadow:0 1px #2a241c0a}.plan-day-summary.today{border-color:var(--sage);box-shadow:0 0 0 2px var(--sage-soft)}.plan-day-summary.empty{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.plan-day-summary.empty{background:color-mix(in srgb, var(--paper) 75%, var(--paper-2))}}.plan-day-summary-head{justify-content:space-between;align-items:center;gap:4px;margin-bottom:3px;display:flex}.plan-day-summary-head b{text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;font-size:10.5px;overflow:hidden}.plan-day-summary-head span{color:var(--ink-3);font-family:var(--font-mono);flex-shrink:0;font-size:8.5px}.plan-day-summary-head>div{align-items:center;gap:3px;display:flex}.plan-day-edit{width:22px;height:22px;color:var(--ink-3);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:grid}.plan-day-edit:hover,.plan-day-edit:focus-visible{border-color:var(--line);background:var(--paper-2);color:var(--sage-deep)}.plan-day-kcal{white-space:nowrap;align-items:baseline;gap:3px;display:flex}.plan-day-kcal strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:16px;font-weight:600}.plan-day-kcal span{color:var(--ink-3);font-family:var(--font-mono);text-overflow:ellipsis;font-size:8.5px;overflow:hidden}.plan-day-balance{min-height:12px;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:8.5px;font-weight:600;overflow:hidden}.plan-day-kcal-bar,.plan-day-macro-bar{background:var(--paper-3);border-radius:999px;overflow:hidden}.plan-day-kcal-bar{height:3px;margin:4px 0 6px}.plan-day-kcal-bar span,.plan-day-macro-bar span{border-radius:inherit;height:100%;transition:width .3s ease-out;display:block}.plan-day-macros{flex-direction:column;gap:5px;display:flex}.plan-day-macro-row>div:first-child{font-family:var(--font-mono);justify-content:space-between;align-items:baseline;gap:4px;font-size:8.5px;display:flex}.plan-day-macro-row b{font-size:9px}.plan-day-macro-row span{color:var(--ink-3);white-space:nowrap}.plan-day-macro-bar{height:3px;margin-top:2px}.plan-target-editor{border:1px solid var(--sage);border-radius:var(--r-md);background:var(--sage-tint);min-width:900px;box-shadow:var(--shadow-sm);margin-top:8px;padding:14px}.plan-target-editor-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.plan-target-editor-head b{font-size:13px}.plan-target-editor-head b span{text-transform:capitalize;color:var(--sage-deep)}.plan-target-editor-head p{color:var(--ink-3);margin-top:3px;font-size:11px}.plan-target-editor-rows{flex-direction:column;gap:6px;display:flex}.plan-target-editor-row{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);grid-template-columns:minmax(130px,1.25fr) repeat(4,minmax(82px,.7fr)) auto;align-items:end;gap:8px;padding:9px;display:grid}.plan-target-member{align-self:center;min-width:0}.plan-target-member b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.plan-target-member span{color:var(--ink-3);font-family:var(--font-mono);margin-top:3px;font-size:8.5px;display:inline-block}.plan-target-member span.override{color:var(--sage-deep);font-weight:600}.plan-target-field{min-width:0}.plan-target-field>span{color:var(--ink-3);font-family:var(--font-mono);margin-bottom:3px;font-size:8.5px;font-weight:600;display:block}.plan-target-field .input{width:100%;height:32px;padding:5px 7px;font-size:11px}.plan-target-editor-actions{justify-content:flex-end;align-items:center;gap:5px;min-width:150px;display:flex}.drag-recipe{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);cursor:grab;transition:border-color var(--t-fast), box-shadow var(--t-fast);gap:10px;padding:8px;display:flex}.drag-recipe:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.drag-recipe.dragging{opacity:.5}.drag-recipe[data-draft=true]{opacity:.55;cursor:not-allowed}.drag-recipe .thumb{border-radius:8px;flex-shrink:0;width:44px;height:44px}.drag-recipe .info{flex:1;min-width:0}.drag-recipe .info b{font-size:12.5px;font-weight:600;line-height:1.2;display:block}.drag-recipe .info span{font-family:var(--font-mono);color:var(--ink-3);font-size:10.5px}.plan-picker-scale{color:var(--ink-3);font:10px var(--font-mono);flex:none;align-items:center;gap:6px;display:flex}.plan-picker-scale input{border:1px solid var(--line);border-radius:var(--r-xs);background:var(--paper);text-align:center;width:48px;padding:6px 4px}.aisle-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);align-items:center;gap:10px;padding:16px 0 8px;font-size:10.5px;display:flex}.aisle-head:after{content:"";background:var(--line);flex:1;height:1px}.shop-row{border-radius:var(--r-sm);transition:background var(--t-fast);align-items:center;gap:12px;padding:10px 12px;display:flex}.shop-row:hover{background:var(--paper-2)}.shop-row.checked .name{color:var(--ink-3);text-decoration:line-through}.shop-row.checked .qty{color:var(--ink-3)}.shop-row .name{flex:1;font-size:14px}.shop-row .qty{font-family:var(--font-mono);color:var(--ink-2);background:var(--paper-2);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:12.5px}.shop-row .src{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);white-space:nowrap}.shop-approx{min-width:72px;font-family:var(--font-mono);color:var(--sage-deep);white-space:nowrap;text-align:right;font-size:11.5px}.shop-row-editable{gap:8px}@media (max-width:720px){.shop-row-editable{flex-wrap:wrap}.shop-row-editable>.input:first-child{flex-basis:100%}}.cm-root{z-index:1500;background:var(--paper);color:var(--ink);flex-direction:column;animation:.25s cubic-bezier(.2,.7,.2,1) cmIn;display:flex;position:fixed;inset:0}body.cm-active{overflow:hidden}.cm-top{border-bottom:1px solid var(--line);background:var(--paper-2);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:18px 28px;display:grid}.cm-close{justify-self:start}.cm-title{text-align:center;min-width:0}.cm-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:4px;font-size:10.5px;display:block}.cm-title h2{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:22px;font-weight:500;overflow:hidden}.cm-portion{background:var(--paper);border:1px solid var(--line);border-radius:999px;justify-self:end;align-items:center;gap:14px;padding:6px 8px;display:flex}.cm-step-btn{border:1px solid var(--line);background:var(--paper-2);width:38px;height:38px;color:var(--ink);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);border-radius:50%;place-items:center;font-size:22px;font-weight:500;display:grid}.cm-step-btn:hover{background:var(--sage-soft);border-color:var(--sage);color:var(--sage-deep)}.cm-step-btn:disabled{opacity:.4;cursor:not-allowed}.cm-portion-meta{text-align:center;min-width:90px}.cm-portion-num{justify-content:center;align-items:baseline;gap:6px;font-size:22px;line-height:1;display:flex}.cm-portion-word{color:var(--ink-2);font-size:12.5px;font-weight:500}.cm-portion-mult{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;margin-top:4px;font-size:10.5px}.cm-progress{flex-wrap:wrap;justify-content:center;gap:8px;padding:18px 28px 8px;display:flex}.cm-dot{border:1.5px solid var(--line-strong);width:32px;height:32px;color:var(--ink-3);font-family:var(--font-mono);cursor:pointer;transition:all var(--t-fast);background:0 0;border-radius:50%;place-items:center;font-size:12px;display:grid}.cm-dot:hover{border-color:var(--sage);color:var(--sage-deep)}.cm-dot[data-state=done]{background:var(--sage-soft);border-color:var(--sage);color:var(--sage-deep)}.cm-dot[data-state=active]{background:var(--sage-deep);border-color:var(--sage-deep);color:var(--paper);box-shadow:0 0 0 4px var(--sage-soft);transform:scale(1.15)}[data-theme=dark] .cm-dot[data-state=active]{color:#1b1812;color:lab(8.3854% .856303 4.282)}.cm-body{flex:1;grid-template-columns:1fr 380px;display:grid;position:relative;overflow:hidden}.cm-body[data-sidebar=closed]{grid-template-columns:1fr 0}.cm-body[data-sidebar=closed] .cm-side{display:none}.cm-stage{flex-direction:column;padding:24px 36px 20px;display:flex;overflow:hidden}.cm-stage-inner{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:720px;margin:0 auto;padding:24px 0;display:flex;overflow-y:auto}.cm-step-meta{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:18px;font-size:11px}.cm-step-meta .muted{color:var(--ink-3);margin-left:6px}.cm-step-text{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);text-wrap:pretty;margin:0 0 28px;font-size:38px;font-weight:400;line-height:1.25}.cm-step-desc{color:var(--ink-2);text-wrap:pretty;margin:-14px 0 28px;font-size:16px;line-height:1.6}.cm-timers-row{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.cm-timer-trigger{background:var(--sage-soft);border:1px solid var(--sage);color:var(--sage-deep);cursor:pointer;transition:all var(--t-fast);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:500;display:inline-flex}.cm-timer-trigger:hover{background:var(--sage-soft-2)}.cm-timer-trigger b{font-weight:600}.cm-timers-active{z-index:1600;flex-direction:column;gap:12px;width:min(340px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.cm-timer{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-md);overflow:hidden}.cm-timer[data-done="1"]{background:var(--sage-soft);border-color:var(--sage);animation:1.2s ease-in-out infinite cmTimerPulse}.cm-timer-bar{background:var(--paper-3);height:4px}.cm-timer-bar>span{background:var(--sage-deep);height:100%;transition:width 1s linear;display:block}.cm-timer-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.cm-timer-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:2px;font-size:11px}.cm-timer[data-done="1"] .cm-timer-label{color:var(--sage-deep);font-weight:600}.cm-timer-display{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:24px;font-weight:500}.cm-nav{border-top:1px solid var(--line);justify-content:space-between;gap:12px;width:100%;max-width:720px;margin:0 auto;padding-top:18px;display:flex}.cm-nav-btn{padding:14px 22px;font-size:15px}.cm-nav-next{justify-content:center;min-width:220px}.cm-nav-btn:disabled{opacity:.35;cursor:not-allowed}.cm-side{border-left:1px solid var(--line);background:var(--paper-2);flex-direction:column;display:flex;overflow:hidden}.cm-side-hd{justify-content:space-between;align-items:center;padding:18px 20px 10px;display:flex}.cm-side-hd h3{font-family:var(--font-display);margin:0;font-size:18px;font-weight:500}.cm-side-toggle{width:30px;height:30px}.cm-side-scale{font-family:var(--font-mono);letter-spacing:.04em;color:var(--sage-deep);border-bottom:1px dashed var(--line);margin-bottom:8px;padding:0 20px 12px;font-size:11px}.cm-ing-list{flex:1;margin:0;padding:8px 12px 24px;list-style:none;overflow-y:auto}.cm-ing{border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 8px;display:flex}.cm-ing:last-child{border-bottom:0}.cm-ing:hover{background:var(--paper-3)}.cm-ing[data-checked="1"]{opacity:.55}.cm-ing[data-checked="1"] .cm-ing-name{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-3);-webkit-text-decoration-color:var(--ink-3);-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.cm-ing-name{flex:1;font-size:14.5px;line-height:1.35}.cm-ing-qty{font-family:var(--font-mono);color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.cm-side-reopen{background:var(--paper-2);border:1px solid var(--line);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);writing-mode:vertical-rl;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;font-size:13px;display:inline-flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)rotate(180deg)}.cm-side-reopen:hover{background:var(--paper-3);border-color:var(--sage)}.cm-start{flex:1;padding:28px 36px 40px;overflow-y:auto}.cm-start-inner{flex-direction:column;gap:22px;max-width:680px;margin:0 auto;display:flex}@media (max-width:900px){.cm-body{grid-template-columns:1fr}.cm-side{z-index:5;width:min(360px,90vw);position:absolute;inset:0 0 0 auto;box-shadow:-10px 0 30px #1e1a1440}.cm-step-text{font-size:28px}.cm-top{grid-template-columns:auto 1fr auto;gap:10px;padding:12px 16px}.cm-title h2{font-size:16px}}.check{border:1.5px solid var(--line-strong);background:var(--paper);cursor:pointer;width:18px;height:18px;transition:all var(--t-fast);border-radius:5px;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.check.checked{background:var(--sage-deep);border-color:var(--sage-deep)}.check.checked svg{color:#fff}[data-theme=dark] .check.checked svg{color:#1b1812;color:lab(8.3854% .856303 4.282)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-\[11px\]{inset:11px}.-top-1{top:calc(var(--spacing) * -1)}.-top-3{top:calc(var(--spacing) * -3)}.-top-6{top:calc(var(--spacing) * -6)}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-\[10px\]{top:10px}.top-\[14px\]{top:14px}.top-\[calc\(100\%\+10px\)\]{top:calc(100% + 10px)}.-right-1{right:calc(var(--spacing) * -1)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-\[6px\]{right:6px}.right-\[10px\]{right:10px}.right-\[14px\]{right:14px}.right-\[22px\]{right:22px}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-\[18px\]{bottom:18px}.bottom-\[calc\(100\%\+8px\)\]{bottom:calc(100% + 8px)}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-5{left:calc(var(--spacing) * 5)}.left-\[10px\]{left:10px}.left-\[22px\]{left:22px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[51\]{z-index:51}.z-\[60\]{z-index:60}.z-\[61\]{z-index:61}.col-span-full{grid-column:1/-1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-\[1px\]{margin-top:1px}.mt-\[2px\]{margin-top:2px}.mt-\[4px\]{margin-top:4px}.mt-\[6px\]{margin-top:6px}.mt-\[10px\]{margin-top:10px}.mt-\[14px\]{margin-top:14px}.mt-\[18px\]{margin-top:18px}.mt-\[22px\]{margin-top:22px}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mr-\[6px\]{margin-right:6px}.-mb-px{margin-bottom:-1px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-9{margin-bottom:calc(var(--spacing) * 9)}.mb-\[2px\]{margin-bottom:2px}.mb-\[6px\]{margin-bottom:6px}.mb-\[10px\]{margin-bottom:10px}.mb-\[14px\]{margin-bottom:14px}.mb-\[18px\]{margin-bottom:18px}.mb-\[22px\]{margin-bottom:22px}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-\[6px\]{margin-left:6px}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-44{width:calc(var(--spacing) * 44);height:calc(var(--spacing) * 44)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-\[5px\]{height:5px}.h-\[6px\]{height:6px}.h-\[8px\]{height:8px}.h-\[10px\]{height:10px}.h-\[14px\]{height:14px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[30px\]{height:30px}.h-\[64px\]{height:64px}.h-\[86px\]{height:86px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-0{min-height:0}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-\[20px\]{min-height:20px}.min-h-\[48px\]{min-height:48px}.min-h-\[72px\]{min-height:72px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-64{width:calc(var(--spacing) * 64)}.w-\[6px\]{width:6px}.w-\[8px\]{width:8px}.w-\[22px\]{width:22px}.w-\[26px\]{width:26px}.w-\[28px\]{width:28px}.w-\[30px\]{width:30px}.w-\[56px\]{width:56px}.w-\[80px\]{width:80px}.w-\[86px\]{width:86px}.w-\[112px\]{width:112px}.w-\[220px\]{width:220px}.w-\[300px\]{width:300px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[320px\]{max-width:320px}.max-w-\[360px\]{max-width:360px}.max-w-\[380px\]{max-width:380px}.max-w-\[420px\]{max-width:420px}.max-w-\[440px\]{max-width:440px}.max-w-\[520px\]{max-width:520px}.max-w-\[720px\]{max-width:720px}.max-w-\[760px\]{max-width:760px}.max-w-\[980px\]{max-width:980px}.max-w-full{max-width:100%}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[16px\]{min-width:16px}.min-w-\[140px\]{min-width:140px}.min-w-\[150px\]{min-width:150px}.min-w-\[160px\]{min-width:160px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-\[1\.2deg\]{rotate:1.2deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_300px\]{grid-template-columns:1fr 300px}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[10px_1fr_auto\]{grid-template-columns:10px 1fr auto}.grid-cols-\[34px_1fr_auto\]{grid-template-columns:34px 1fr auto}.grid-cols-\[232px_1fr\]{grid-template-columns:232px 1fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-rows-\[auto_1fr_auto\]{grid-template-rows:auto 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-\[2px\]{gap:2px}.gap-\[5px\]{gap:5px}.gap-\[6px\]{gap:6px}.gap-\[7px\]{gap:7px}.gap-\[10px\]{gap:10px}.gap-\[14px\]{gap:14px}.gap-\[18px\]{gap:18px}.gap-\[22px\]{gap:22px}.gap-\[26px\]{gap:26px}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-\[10px\]{border-radius:10px}.rounded-\[14px\]{border-radius:14px}.rounded-\[var\(--r-md\)\]{border-radius:var(--r-md)}.rounded-\[var\(--r-sm\)\]{border-radius:var(--r-sm)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--r-lg)}.rounded-md{border-radius:var(--r-md)}.rounded-sm{border-radius:var(--r-sm)}.rounded-xl{border-radius:var(--r-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-current{border-color:currentColor}.border-draft{border-color:var(--draft)}.border-draft-soft{border-color:var(--draft-soft)}.border-line{border-color:var(--line)}.border-line-strong{border-color:var(--line-strong)}.border-rust,.border-rust\/25{border-color:var(--rust)}@supports (color:color-mix(in lab, red, red)){.border-rust\/25{border-color:color-mix(in oklab, var(--rust) 25%, transparent)}}.border-sage{border-color:var(--sage)}.border-sage-deep{border-color:var(--sage-deep)}.border-t-sage-deep{border-top-color:var(--sage-deep)}.border-t-transparent{border-top-color:#0000}.bg-danger-soft{background-color:var(--danger-soft)}.bg-draft-soft{background-color:var(--draft-soft)}.bg-line{background-color:var(--line)}.bg-paper{background-color:var(--paper)}.bg-paper-2,.bg-paper-2\/40{background-color:var(--paper-2)}@supports (color:color-mix(in lab, red, red)){.bg-paper-2\/40{background-color:color-mix(in oklab, var(--paper-2) 40%, transparent)}}.bg-paper-2\/60{background-color:var(--paper-2)}@supports (color:color-mix(in lab, red, red)){.bg-paper-2\/60{background-color:color-mix(in oklab, var(--paper-2) 60%, transparent)}}.bg-paper-3{background-color:var(--paper-3)}.bg-paper\/90{background-color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.bg-paper\/90{background-color:color-mix(in oklab, var(--paper) 90%, transparent)}}.bg-rust{background-color:var(--rust)}.bg-rust-soft,.bg-rust-soft\/40{background-color:var(--rust-soft)}@supports (color:color-mix(in lab, red, red)){.bg-rust-soft\/40{background-color:color-mix(in oklab, var(--rust-soft) 40%, transparent)}}.bg-sage{background-color:var(--sage)}.bg-sage-deep{background-color:var(--sage-deep)}.bg-sage-soft{background-color:var(--sage-soft)}.bg-sage-tint{background-color:var(--sage-tint)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[6px\]{padding:6px}.p-\[10px\]{padding:10px}.p-\[14px\]{padding:14px}.p-\[30px\]{padding:30px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[3px\]{padding-inline:3px}.px-\[5px\]{padding-inline:5px}.px-\[6px\]{padding-inline:6px}.px-\[10px\]{padding-inline:10px}.px-\[14px\]{padding-inline:14px}.px-\[18px\]{padding-inline:18px}.px-\[22px\]{padding-inline:22px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-\[1px\]{padding-block:1px}.py-\[2px\]{padding-block:2px}.py-\[4px\]{padding-block:4px}.py-\[6px\]{padding-block:6px}.py-\[7px\]{padding-block:7px}.py-\[9px\]{padding-block:9px}.py-\[10px\]{padding-block:10px}.py-\[18px\]{padding-block:18px}.py-\[22px\]{padding-block:22px}.py-\[26px\]{padding-block:26px}.py-\[36px\]{padding-block:36px}.py-\[44px\]{padding-block:44px}.py-\[60px\]{padding-block:60px}.py-px{padding-block:1px}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-\[2px\]{padding-top:2px}.pt-\[6px\]{padding-top:6px}.pt-\[10px\]{padding-top:10px}.pt-\[14px\]{padding-top:14px}.pt-\[18px\]{padding-top:18px}.pt-\[24px\]{padding-top:24px}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-\[6px\]{padding-bottom:6px}.pb-\[14px\]{padding-bottom:14px}.pb-\[22px\]{padding-bottom:22px}.pb-\[26px\]{padding-bottom:26px}.pb-\[60px\]{padding-bottom:60px}.pb-\[64px\]{padding-bottom:64px}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-\[22px\]{padding-left:22px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-fraunces), Georgia, "Times New Roman", serif}.font-mono{font-family:var(--font-geist-mono), ui-monospace, "Cascadia Mono", monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[30px\]{font-size:30px}.text-\[32px\]{font-size:32px}.text-\[36px\]{font-size:36px}.text-\[56px\]{font-size:56px}.leading-\[1\.3\]{--tw-leading:1.3;line-height:1.3}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-\.01em\],.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[\.07em\]{--tw-tracking:.07em;letter-spacing:.07em}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[0\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.07em\]{--tw-tracking:.07em;letter-spacing:.07em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-700{color:var(--color-amber-700)}.text-danger{color:var(--danger)}.text-draft{color:var(--draft)}.text-emerald-700{color:var(--color-emerald-700)}.text-ink{color:var(--ink)}.text-ink-2{color:var(--ink-2)}.text-ink-3{color:var(--ink-3)}.text-rust{color:var(--rust)}.text-sage-deep{color:var(--sage-deep)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-current\/30{text-decoration-color:currentColor}@supports (color:color-mix(in lab, red, red)){.decoration-current\/30{-webkit-text-decoration-color:color-mix(in oklab, currentcolor 30%, transparent);-webkit-text-decoration-color:color-mix(in oklab, currentcolor 30%, transparent);-webkit-text-decoration-color:color-mix(in oklab, currentcolor 30%, transparent);text-decoration-color:color-mix(in oklab, currentcolor 30%, transparent)}}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--sage-deep\)\],.accent-sage-deep{accent-color:var(--sage-deep)}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-\[0_12px_32px_-10px_rgba\(0\,0\,0\,\.28\)\]{--tw-shadow:0 12px 32px -10px var(--tw-shadow-color,#00000047);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-md\)\]{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.group-open\:rotate-45:is(:where(.group):is([open],:popover-open,:open) *){rotate:45deg}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-sage:hover{border-color:var(--sage)}.hover\:border-sage-deep:hover{border-color:var(--sage-deep)}.hover\:bg-paper-2:hover{background-color:var(--paper-2)}.hover\:bg-paper-3:hover{background-color:var(--paper-3)}.hover\:text-ink:hover{color:var(--ink)}.hover\:text-sage-deep:hover{color:var(--sage-deep)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:bg-paper-3:focus-visible{background-color:var(--paper-3)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-sage:focus-visible{--tw-ring-color:var(--sage)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media not all and (min-width:900px){.max-\[900px\]\:block{display:block}.max-\[900px\]\:flex{display:flex}.max-\[900px\]\:grid{display:grid}.max-\[900px\]\:hidden{display:none}.max-\[900px\]\:grid-cols-\[1fr\]{grid-template-columns:1fr}.max-\[900px\]\:pb-16{padding-bottom:calc(var(--spacing) * 16)}}@media (min-width:40rem){.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[240px_1fr\]{grid-template-columns:240px 1fr}.sm\:items-center{align-items:center}.sm\:gap-5{gap:calc(var(--spacing) * 5)}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1\.5fr_1fr_1fr\]{grid-template-columns:1.5fr 1fr 1fr}.md\:gap-8{gap:calc(var(--spacing) * 8)}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.05fr_1fr\]{grid-template-columns:1.05fr 1fr}.lg\:pt-16{padding-top:calc(var(--spacing) * 16)}.lg\:pb-20{padding-bottom:calc(var(--spacing) * 20)}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}:root{--papier:#f6f1e9;--atrament:#2a2321;--oxblood:#7a2e2b;--mosiadz:#b98a3e;--kamien:#a79c8a;--paper:var(--papier);--paper-2:#fff;--paper-3:#efe9e0;--line:#a79c8a61;--line-strong:#7a2e2b61;--ink:var(--atrament);--ink-2:#554c48;--ink-3:#77706a;--rust:var(--oxblood);--rust-soft:#f3e8e5;--herb:var(--oxblood);--hair:var(--line);--sage:var(--oxblood);--sage-deep:var(--oxblood);--sage-soft:#f3e8e5;--sage-soft-2:#e7d2cf;--sage-tint:#fbf6f4;--p:var(--oxblood);--p-soft:#f3e8e5;--f:var(--mosiadz);--f-soft:#f5eeda;--c:#756b5c;--c-soft:#eeeae3;--draft:#bd7138;--draft-soft:#ffebd4;--danger:#bd4334;--danger-soft:#ffe6e0;--danger-line:#ffb5a8;--danger-action:#8f2f2b;--danger-action-hover:#742522;--on-accent:#fff;--info:#004f6e;--info-soft:#d4f0fe;--info-text:#063344;--info-line:#9dcce4;--meal-chip-bg:#f4efe8;--meal-chip-fg:var(--ink-2);--meal-chip-border:var(--line);--diet-chip-bg:#f7eeec;--diet-chip-fg:var(--oxblood);--diet-chip-border:#e4cecb;--diet-chip-active-bg:var(--oxblood);--r-xs:6px;--r-sm:10px;--r-md:16px;--r-lg:18px;--r-xl:20px;--shadow-sm:0 1px 2px #2a232109;--shadow-md:0 8px 24px -18px #2a232138;--shadow-lg:0 24px 54px -34px #2a232157;--t-fast:.12s cubic-bezier(.4,0,.2,1);--t-med:.22s cubic-bezier(.4,0,.2,1)}@supports (color:lab(0% 0 0)){:root{--draft:lab(55.331% 27.3865 44.0275);--draft-soft:lab(94.2025% 4.94936 14.6758);--danger:lab(46.2982% 49.2951 36.5282);--danger-soft:lab(93.7777% 14.7519 9.83272);--danger-line:lab(80.6599% 26.8738 18.1031);--info:lab(30.489% -16.5827 -32.8513);--info-soft:lab(93.1675% -7.24223 -10.1309);--info-text:lab(18.9151% -9.45 -15.3218);--info-line:lab(79.3166% -11.9411 -17.1648)}}[data-theme=dark]{--paper:#211d1c;--paper-2:#2a2523;--paper-3:#342e2b;--line:#f6f1e924;--line-strong:#da8b866b;--ink:#f6f1e9;--ink-2:#d2c9bd;--ink-3:#a79c8a;--rust:#d78c87;--rust-soft:#422b2a;--herb:#d78c87;--hair:var(--line);--sage:#d78c87;--sage-deep:#e4a09b;--sage-soft:#422b2a;--sage-soft-2:#5a3533;--sage-tint:#302322;--p:#d78c87;--f:#d1a65e;--c:#b8ac9b;--p-soft:#422b2a;--f-soft:#3d3425;--c-soft:#36312d;--draft-soft:#492b0f;--danger-soft:#47211b;--danger-line:#843d33;--danger-action:#a94f4b;--danger-action-hover:#99433f;--info:#93d5f5;--info-soft:#123240;--info-text:#d5e8f2;--info-line:#346b84;--meal-chip-bg:#342e2b;--meal-chip-fg:#d2c9bd;--meal-chip-border:var(--line);--diet-chip-bg:#422b2a;--diet-chip-fg:#e4a09b;--diet-chip-border:#68413e;--diet-chip-active-bg:#a94f4b;--shadow-sm:0 1px 0 #0000004d, 0 1px 2px #0000004d;--shadow-md:0 1px 0 #0000004d, 0 6px 22px -8px #00000080;--shadow-lg:0 1px 0 #0000004d, 0 30px 70px -28px #000000b3}@supports (color:lab(0% 0 0)){[data-theme=dark]{--draft-soft:lab(20.886% 12.3676 23.2899);--danger-soft:lab(18.2578% 18.2297 12.6988);--danger-line:lab(35.2877% 30.4943 21.494);--info:lab(81.6837% -15.5144 -22.7414);--info-soft:lab(18.9107% -8.12362 -12.6214);--info-text:lab(90.8136% -5.22623 -7.26267);--info-line:lab(42.1798% -12.814 -19.6771)}}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--sage-deep);outline-offset:2px}::selection{background:var(--sage-soft-2);color:var(--ink)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:14px}[data-theme=dark] body{background:var(--paper)}.app-topbar{z-index:30;background:var(--paper-2);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px;position:sticky;top:0}.app-topbar .brand-mark{width:26px;height:26px}.app-burger{border:1px solid var(--line);background:var(--paper);width:40px;height:40px;color:var(--ink);cursor:pointer;transition:background var(--t-fast);border-radius:10px;flex-shrink:0;place-items:center;padding:0;display:grid}.app-burger:hover{background:var(--paper-3)}.app-bottomnav{z-index:40;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:var(--paper-2);border-top:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;position:fixed;bottom:0;left:0;right:0}.app-tab{min-width:0;color:var(--ink-3);text-align:center;transition:color var(--t-fast);background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:10.5px;font-weight:500;display:flex}.app-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.app-tab svg{opacity:.85;width:20px;height:20px}.app-tab.active{color:var(--sage-deep)}.app-tab.active svg{opacity:1}.app-drawer-scrim{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e1a1473;animation:.2s modalFadeIn;position:fixed;inset:0}.app-drawer{z-index:61;width:min(288px,86vw);padding:18px 14px calc(18px + env(safe-area-inset-bottom,0px));background:var(--paper-2);border-right:1px solid var(--line);box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;animation:.24s cubic-bezier(.2,.7,.2,1) drawerIn;position:fixed;inset:0 auto 0 0;overflow-y:auto}@keyframes drawerIn{0%{transform:translate(-100%)}}@media (max-width:860px){.mobile-stack{grid-template-columns:1fr!important}.mobile-stats{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:900px){.notifications-popover{left:auto;right:0}}@media (max-width:640px){.app-main .px-8{padding-left:1.15rem;padding-right:1.15rem}.h1{font-size:26px}.onb-h{font-size:30px}.field-row{grid-template-columns:1fr}.seg{grid-template-columns:repeat(2,1fr)}.modal-bg{align-items:flex-end;padding:0}.modal{border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92dvh;animation:.26s cubic-bezier(.2,.7,.2,1) sheetIn;max-width:100%!important}.modal-hd{padding:14px 16px}.modal-body{padding:18px 16px}.modal-ft{flex-wrap:wrap;padding:12px 16px}.modal-ft>:last-child{margin-left:auto}.modal-ft>div{flex-wrap:wrap;justify-content:flex-end}.onb-top,.onb-bottom{padding-left:20px;padding-right:20px}.onb-body{padding:20px 20px 32px}.plan-person-picker{flex-direction:column;align-items:flex-start;gap:5px}.plan-person-options{width:100%}}.today-page{width:100%;max-width:1500px;margin:0 auto}.today-count,.today-status,.today-batch-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.today-count{color:var(--oxblood)}.today-family-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.today-member-card{overflow:hidden}.today-member-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.today-member-card h3,.today-batch-card h3{font-family:var(--font-display);margin:2px 0 0;font-size:20px;font-weight:400;line-height:1.2}.today-member-kicker{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.today-status{color:var(--oxblood)}.today-status.done{color:var(--ink-3)}.today-meal-list{flex-direction:column;display:flex}.today-meal-row{border-bottom:1px solid var(--line);min-height:76px;transition:background var(--t-fast), opacity var(--t-fast);align-items:center;gap:12px;padding:13px 16px;display:flex}.today-meal-row:last-child{border-bottom:0}.today-meal-row:hover{background:var(--sage-tint)}.today-meal-row.eaten{opacity:.58;background:var(--paper)}.today-meal-row.eaten .today-recipe-title{text-decoration:line-through;-webkit-text-decoration-color:var(--kamien);-webkit-text-decoration-color:var(--kamien);-webkit-text-decoration-color:var(--kamien);text-decoration-color:var(--kamien)}.today-check{border:1px solid var(--line-strong);background:var(--paper-2);color:#fff;cursor:pointer;border-radius:7px;flex:none;place-items:center;width:25px;height:25px;display:grid}.today-check[aria-checked=true]{background:var(--oxblood);border-color:var(--oxblood)}.today-check:disabled{opacity:.45}.today-meal-name{font:9px var(--font-mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;display:block}.today-recipe-title{color:var(--ink);font-size:13px;font-weight:600;line-height:1.3;display:block}.today-recipe-title:hover{color:var(--oxblood)}.today-meal-meta{font:10px var(--font-mono);color:var(--ink-3);margin-top:3px;display:block}.today-cook{border:1px solid var(--line);color:var(--oxblood);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-size:11px;font-weight:600;display:inline-flex}.today-cook:hover{border-color:var(--oxblood);background:var(--sage-tint)}.today-insights-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.today-pacing+.today-pacing,.today-protein+.today-protein{border-top:1px solid var(--line);padding-top:17px}.today-pacing>div:first-child>span{font:11px var(--font-mono)}.today-pacing .on-target{color:var(--ink-2)}.today-pacing .over{color:var(--oxblood)}.today-pacing .under{color:var(--ink-3)}.today-progress{background:var(--paper-3);border-radius:2px;height:5px;margin:8px 0 6px;overflow:hidden}.today-progress>span{background:var(--oxblood);max-width:100%;height:100%;transition:width var(--t-med);display:block}.today-cause{color:var(--ink-3);margin:7px 0 0;font-size:11px;line-height:1.45}.today-protein>div:first-child>span{font:10px var(--font-mono);color:var(--ink-3)}.today-protein-row{grid-template-columns:minmax(72px,1fr) 2fr 36px;align-items:center;gap:8px;font-size:10.5px;display:grid}.today-macro-row{grid-template-columns:minmax(30px,auto) 1.4fr minmax(96px,auto);align-items:center;gap:10px;font-size:11px;display:grid}.today-macro-row>span{color:var(--ink-2);font-weight:600}.today-macro-row>b{font:10.5px var(--font-mono);text-align:right;white-space:nowrap}.today-macro-subhead{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0 8px;padding-top:12px;display:flex}.today-macro-subhead>b{font-size:11.5px;font-weight:700}.today-macro-subhead>span{font:10px var(--font-mono);color:var(--ink-3)}.today-protein-row>span{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.today-protein-row>b{font:10px var(--font-mono);text-align:right}.today-protein-bar{background:var(--paper-3);border-radius:2px;height:4px;overflow:hidden}.today-protein-bar i{background:var(--mosiadz);height:100%;display:block}.today-batch-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px;display:grid}.today-batch-card{overflow:hidden}.today-batch-card .thumb{border-radius:0}.today-batch-card h3{margin-top:7px}.today-batch-card p{min-height:2.8em;color:var(--ink-3);margin:6px 0 0;font-size:12px;line-height:1.4}.today-batch-label{color:var(--oxblood)}.today-batch-label.expiring{color:var(--mosiadz)}.today-batch-card.suggestion{border-style:dashed}.batch-panel{overflow:hidden}.batch-panel-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.batch-panel-head h2{font-family:var(--font-display), serif;letter-spacing:-.02em;margin:4px 0 0;font-size:24px;font-weight:500}.batch-panel-head p{max-width:650px;color:var(--ink-3);margin:7px 0 0;font-size:13px;line-height:1.5}.batch-eyebrow,.batch-status{color:var(--oxblood);font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.batch-window-setting{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);align-items:center;gap:10px;margin-top:18px;padding:11px 13px;font-size:12px;display:flex}.batch-window-setting label{color:var(--ink-2);font-weight:650}.batch-window-setting select,.batch-recipe-select select{border:1px solid var(--line);background:var(--paper);min-height:34px;color:var(--ink);border-radius:7px;padding:0 30px 0 10px}.batch-window-setting>span{color:var(--ink-3)}.batch-suggestions{margin-top:20px}.batch-suggestions>h3{margin:0 0 8px;font-size:12px;font-weight:700}.batch-suggestion-list{gap:7px;display:grid}.batch-suggestion-row{border:1px dashed var(--oxblood);justify-content:space-between;align-items:center;gap:15px;display:flex}@supports (color:color-mix(in lab, red, red)){.batch-suggestion-row{border:1px dashed color-mix(in srgb, var(--oxblood) 35%, var(--line))}}.batch-suggestion-row{border-radius:var(--r-sm);background:var(--paper);padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.batch-suggestion-row{background:color-mix(in srgb, var(--paper) 94%, var(--oxblood))}}.batch-suggestion-row b,.batch-suggestion-row span{display:block}.batch-suggestion-row b{font-size:13px}.batch-suggestion-row span{color:var(--ink-3);margin-top:2px;font-size:11px}.batch-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:18px;display:grid}.batch-overview-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);box-shadow:var(--shadow-sm);padding:15px}.batch-overview-card.expiring{border-color:var(--mosiadz)}@supports (color:color-mix(in lab, red, red)){.batch-overview-card.expiring{border-color:color-mix(in srgb, var(--mosiadz) 55%, var(--line))}}.batch-overview-card.expiring .batch-status{color:var(--mosiadz)}.batch-overview-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.batch-overview-actions{flex:none;gap:6px;display:flex}.batch-overview-top h3{font-family:var(--font-display), serif;margin:5px 0 0;font-size:19px;font-weight:500}.batch-amounts{justify-content:space-between;align-items:baseline;gap:10px;margin-top:12px;font-size:12px;display:flex}.batch-amounts strong{font-family:var(--font-mono), monospace;font-size:15px}.batch-amounts span{color:var(--ink-3)}.batch-progress-label{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:11px;display:flex}.batch-progress-label span{color:var(--ink-3);font-family:var(--font-mono), monospace}.batch-progress{background:var(--paper-3);border-radius:999px;height:7px;margin-top:6px;overflow:hidden}.batch-progress>span{border-radius:inherit;background:var(--sage-deep);height:100%;transition:width .25s;display:block}.batch-adjust{justify-content:space-between;align-items:center;gap:12px;margin-top:11px;display:flex}.batch-adjust>span{max-width:190px;color:var(--ink-3);font-size:10px;line-height:1.35}.batch-adjust>div{gap:5px;display:flex}.batch-card-actions{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.batch-empty{border:1px dashed var(--line);border-radius:var(--r-sm);color:var(--ink-3);text-align:center;grid-column:1/-1;padding:20px;font-size:12px;line-height:1.5}.batch-error{border-radius:var(--r-sm);background:var(--danger);margin-top:12px;padding:9px 11px}@supports (color:color-mix(in lab, red, red)){.batch-error{background:color-mix(in srgb, var(--danger) 9%, transparent)}}.batch-error{color:var(--danger);font-size:12px}.batch-editor{width:min(640px,100vw - 32px);max-width:640px}.batch-editor .modal-hd p{color:var(--ink-3);margin:4px 0 0;font-size:12px;font-weight:400}.batch-recipe-select{gap:6px;margin-bottom:14px;font-size:11px;font-weight:700;display:grid}.batch-editor-summary{color:var(--ink-2);font-family:var(--font-mono), monospace;margin-bottom:9px;font-size:11px}.batch-slot-options{gap:6px;max-height:380px;display:grid;overflow:auto}.batch-slot-option{border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:10px;min-height:52px;padding:8px 10px;display:flex}.batch-slot-option:has(input:checked){border-color:var(--sage-deep)}@supports (color:color-mix(in lab, red, red)){.batch-slot-option:has(input:checked){border-color:color-mix(in srgb, var(--sage-deep) 60%, var(--line))}}.batch-slot-option:has(input:checked){background:var(--sage-soft)}.batch-slot-option.disabled{cursor:not-allowed;opacity:.55}.batch-slot-option input{width:16px;height:16px;accent-color:var(--sage-deep)}.batch-slot-option>span{flex:1;min-width:0}.batch-slot-option b,.batch-slot-option small{display:block}.batch-slot-option b{font-size:12px}.batch-slot-option small{color:var(--ink-3);margin-top:2px;font-size:10px}.batch-slot-option em{color:var(--ink-3);font-size:10px;font-style:normal}.plan-batch-note,.today-batch-source{color:var(--oxblood);align-items:center;gap:4px;margin-top:4px;font-size:9px;font-weight:700;line-height:1.3;display:flex}.plan-batch-note.cooked,.today-batch-source.cooked{color:var(--sage-deep)}.today-batch-source{font-size:10px}.today-batch-adjust{grid-template-columns:34px 1fr 34px;align-items:center;gap:5px;margin-top:9px;display:grid}.today-batch-adjust span{color:var(--ink-3);text-align:center;font-size:9px}.today-batch-adjust button{border:1px solid var(--line);background:var(--paper);height:28px;color:var(--ink-2);cursor:pointer;border-radius:6px;font-size:10px;font-weight:700}.today-batch-adjust button:hover{border-color:var(--sage-deep);color:var(--sage-deep)}@media (max-width:700px){.batch-panel-head,.batch-suggestion-row,.batch-window-setting{flex-direction:column;align-items:stretch}.batch-window-setting{gap:6px}.batch-window-setting select{width:100%}.batch-card-actions>.btn{flex:1}.batch-adjust{flex-direction:column;align-items:flex-start}.batch-editor .modal-ft{flex-direction:column;align-items:stretch}.batch-editor .modal-ft>div{justify-content:flex-end}}@media (max-width:900px){.today-insights-grid{grid-template-columns:1fr}}@media (max-width:640px){.today-heading,.today-page{padding-left:18px!important;padding-right:18px!important}.today-family-grid{grid-template-columns:1fr}.today-cook span{display:none}}@keyframes sheetIn{0%{opacity:0;transform:translateY(24px)}}@keyframes pillPulse{50%{opacity:.35}}@keyframes goalsActionPulse{0%,to{box-shadow:0 0 0 3px var(--draft-soft)}50%{box-shadow:0 0 0 7px #0000}}@keyframes cmIn{0%{opacity:0;transform:scale(.99)}}@keyframes cmTimerPulse{0%,to{box-shadow:0 0 0 0 var(--sage-soft-2)}50%{box-shadow:0 0 0 8px #0000}}@keyframes modalFadeIn{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)scale(.985)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.undo-toast{z-index:1200;border-radius:var(--r-md);background:var(--ink);max-width:min(520px,100vw - 28px);color:var(--paper);align-items:center;gap:11px;padding:11px 13px;font-size:12px;animation:.25s ease-out toastIn;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #2a232133}.undo-toast>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.undo-toast button{border-radius:var(--r-sm);color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff47;border:1px solid lab(100% 0 0/.28);margin-left:4px;padding:5px 10px;font-weight:700}.undo-toast button:hover{background:#ffffff1a;background:lab(100% 0 0/.1)}@keyframes aiPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.4);box-shadow:0 0 0 6px #007dab26;box-shadow:0 0 0 6px lab(47.9793% -21.2597 -38.5482/.15)}}@keyframes aiOrbit{to{transform:rotate(360deg)}}@keyframes aiCore{0%,to{transform:scale(.96)}50%{transform:scale(1.04)}}@keyframes aiStep{0%,to{transform:scale(.82)}50%{transform:scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes caret{50%{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.ai-orbit-core,.ai-orbit-ring,.ai-analysis-step.active .ai-analysis-dot,.ai-analysis,.goals-auto-split{animation:none}}.sm-root{z-index:1500;background:var(--paper);color:var(--ink);flex-direction:column;animation:.25s cubic-bezier(.2,.7,.2,1) cmIn;display:flex;position:fixed;inset:0}body.sm-active{overflow:hidden}.sm-top{border-bottom:1px solid var(--line);background:var(--paper-2);flex-shrink:0;align-items:center;gap:12px;padding:10px 14px;display:flex}.sm-title{min-width:0;font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:17px;font-weight:500;overflow:hidden}.sm-bar{background:var(--paper-3);flex-shrink:0;height:4px}.sm-bar>span{background:var(--sage-deep);height:100%;transition:width .3s;display:block}.sm-body{-webkit-overflow-scrolling:touch;padding:6px 12px calc(28px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.sm-body .aisle-head{padding:18px 4px 8px}.sm-row{border-radius:var(--r-sm);text-align:left;width:100%;min-height:60px;color:var(--ink);cursor:pointer;transition:background var(--t-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:14px;padding:8px 10px;font-size:17px;display:flex}.sm-row:active{background:var(--paper-2)}.sm-row .name{flex:1;min-width:0;line-height:1.3}.sm-row .qty{font-family:var(--font-mono);color:var(--ink-2);white-space:nowrap;text-align:right;font-size:14px}.sm-row[aria-checked=true] .name{color:var(--ink-3);text-decoration:line-through}.sm-row[aria-checked=true] .qty{color:var(--ink-3)}.sm-check{border:2px solid var(--line-strong);background:var(--paper);color:#fff;width:28px;height:28px;transition:all var(--t-fast);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.sm-row[aria-checked=true] .sm-check{background:var(--sage-deep);border-color:var(--sage-deep)}[data-theme=dark] .sm-row[aria-checked=true] .sm-check{color:#1b1812;color:lab(8.3854% .856303 4.282)}.sm-done-block{border-top:1px dashed var(--line);margin-top:26px;padding-top:6px}.sm-done-head{border-radius:var(--r-sm);width:100%;min-height:44px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);cursor:pointer;transition:background var(--t-fast);background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:11px;display:flex}.sm-done-head:active{background:var(--paper-2)}.sm-done-head .label{flex:0 auto}.rp-card{--rp-ink:#2a2321;--rp-ink-soft:#77706a;--rp-rust:#7a2e2b;--rp-herb:#7a2e2b;--rp-hair:#a79c8a61;color:var(--rp-ink);box-shadow:none;background:#fff;border:1px solid #2a241c24;border-radius:16px;padding:26px 30px 18px}.rp-title-row{justify-content:space-between;align-items:center;gap:16px;padding:2px 0 10px;display:flex}.rp-title{font-family:var(--font-script);color:var(--rp-ink);overflow-wrap:anywhere;margin:0;font-size:clamp(40px,6vw,58px);font-weight:400;line-height:1.05}.rp-hero-wrap{flex-direction:column;flex:none;align-items:center;gap:2px;display:flex;position:relative}.rp-hero{width:116px;height:94px;color:var(--rp-ink)}.rp-hero-btn{color:var(--rp-ink-soft);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:10px}.rp-hero-btn:hover{color:var(--rp-ink);background:#2a241c0f}.rp-motif-pop{z-index:20;background:#fff;border:1px solid #2a241c2e;border-radius:10px;grid-template-columns:repeat(4,64px);gap:6px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 34px -12px #1e190f59}.rp-motif-pop button{cursor:pointer;color:var(--rp-ink);background:0 0;border:1px solid #2a241c1f;border-radius:8px;place-items:center;padding:4px;display:grid}.rp-motif-pop button:hover{border-color:var(--rp-rust)}.rp-motif-pop button[data-on="1"]{border-color:var(--rp-herb);box-shadow:0 0 0 2px #5f6b3e40}.rp-motif-pop svg{width:52px;height:42px}.rp-metabar{background:#2a241c0b;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:6px 0 12px;padding:7px 12px;display:flex}.rp-pill{letter-spacing:.05em;text-transform:uppercase;color:var(--rp-herb);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.rp-sep{background:var(--rp-hair);width:1px;height:12px}.rp-mitem{color:var(--rp-ink-soft);align-items:center;gap:5px;font-size:12px;display:flex}.rp-mitem b{color:var(--rp-ink);font-weight:600}.rp-mitem svg{width:13px;height:13px}.rp-portions-input{border:0;border-bottom:1px solid var(--rp-hair);width:38px;color:var(--rp-ink);font:600 12px/1 var(--font-mono);text-align:center;background:0 0;outline:none}.rp-portions-input:focus{border-bottom-color:var(--rp-herb)}.rp-scale-btn{width:22px;height:22px;color:var(--rp-ink);cursor:pointer;background:0 0;border:1px solid #2a241c4d;border-radius:50%;place-items:center;padding:0;font-size:14px;line-height:1;display:grid}.rp-scale-btn:hover{background:#2a241c12}.rp-scale-btn:disabled{opacity:.35;cursor:not-allowed}.rp-rule{background:var(--rp-hair);height:1px;margin:0 0 12px}.rp-h2{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--rp-rust);align-items:center;gap:6px;margin:0 0 8px;font-size:11px;font-weight:600;display:flex}.rp-h2 svg{width:14px;height:14px}.rp-ing{margin-bottom:14px}.rp-ing ul{columns:2;font-family:var(--font-hand);letter-spacing:.005em;column-gap:26px;margin:0;padding:0;font-size:13px;font-weight:400;line-height:1.65;list-style:none}@media (max-width:560px){.rp-ing ul{columns:1}}.rp-ing li{break-inside:avoid;align-items:flex-start;gap:9px;padding:2px 0;display:flex}.rp-ing .qty{color:var(--rp-ink-soft);white-space:nowrap}.rp-check{cursor:pointer;color:#0000;width:17px;height:17px;transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border:1.5px solid #2a241c66;border-radius:50%;flex:none;place-items:center;margin-top:4px;padding:0;display:grid}.rp-check:hover{border-color:var(--rp-herb)}.rp-check[data-on="1"]{background:var(--rp-herb);border-color:var(--rp-herb);color:#fff}.rp-ing li[data-on="1"] .ing-text{color:var(--rp-ink-soft);-webkit-text-decoration:line-through #2a241c59;text-decoration:line-through #2a241c59}.rp-steps ol{counter-reset:rpstep;font-family:var(--font-hand);letter-spacing:.005em;margin:0;padding:0;font-size:13px;font-weight:400;line-height:1.6;list-style:none}.rp-steps li{counter-increment:rpstep;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.rp-steps li:before{content:counter(rpstep);font-family:var(--font-display);color:var(--rp-rust);flex:none;width:17px;margin-top:3px;font-size:15px;font-weight:600}.rp-steps .step-desc{color:var(--rp-ink-soft);font-size:12.5px;font-weight:400;line-height:1.55;display:block}.rp-steps .step-timer{font-family:var(--font-sans);color:var(--rp-ink-soft);border:1px solid var(--rp-hair);vertical-align:2px;border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:1px 8px;font-size:10.5px;display:inline-flex}.rp-macro{border-top:1px solid var(--rp-hair);font-family:var(--font-sans);color:var(--rp-ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-top:8px;padding-top:10px;font-size:11.5px;display:flex}.rp-macro .rp-kcal{font-family:var(--font-display);color:var(--rp-ink);font-size:15px;font-weight:600}.rp-macro .rp-portions{color:var(--rp-herb);font-weight:600}.print-sheet,.rp-print{display:none}@media print{@page{size:176mm 250mm;margin:0}.no-print{display:none!important}.app-shell{display:block!important}.app-main{overflow:visible!important}.recipe-detail-content{padding:0!important}.recipe-detail-layout{display:block!important}.recipe-detail-main{max-width:none!important}.shop-layout{display:block!important}.shop-row:hover{background:0 0}body{background:#fff!important}.print-page{color:#2a241c;box-sizing:border-box;width:176mm;min-height:250mm;padding:10mm 10mm 6mm 8.8mm;display:block;position:relative}.print-punch{width:.2mm;position:absolute;top:0;bottom:0;left:4.4mm}.print-punch span{border:.3mm dashed #2a241c59;border-radius:50%;width:3.2mm;height:3.2mm;position:absolute;left:-1.6mm}.print-punch span:first-child{top:22mm}.print-punch span:nth-child(2){margin-top:-1.6mm;top:50%}.print-punch span:nth-child(3){bottom:22mm}.print-content{flex-direction:column;min-height:226mm;margin-left:7.2mm;display:flex}.print-footer{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:#b0a896;justify-content:space-between;margin-top:auto;padding-top:3mm;font-size:8.5pt;display:flex}.rp-print{display:block}.rp-print .pt-title-row{justify-content:space-between;align-items:center;gap:5mm;padding:2mm 0 4mm;display:flex}.rp-print h1{font-family:var(--font-script);margin:0;font-size:18mm;font-weight:400;line-height:1.05}.rp-print .pt-hero{color:#2a241c;flex:none;width:37mm;height:30mm}.rp-print .pt-metabar{background:#2a241c0b;border-radius:3.2mm;flex-wrap:wrap;align-items:center;gap:2.4mm 4mm;margin:2.4mm 0 4mm;padding:2.4mm 4mm;display:flex}.rp-print .pt-pill{font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:#7a2e2b;align-items:center;gap:1.6mm;font-size:10pt;font-weight:600;display:flex}.rp-print .pt-sep{background:#2a241c21;width:.3mm;height:4.4mm}.rp-print .pt-item{font-family:var(--font-sans);color:#726a5c;align-items:center;gap:1.6mm;font-size:10.5pt;display:flex}.rp-print .pt-item b{color:#2a241c;font-weight:600}.rp-print .pt-item svg{width:4.8mm;height:4.8mm}.rp-print .pt-rule{background:#2a241c21;height:.3mm;margin:0 0 4mm}.rp-print h2{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:#7a2e2b;align-items:center;gap:2.4mm;margin:0 0 2.4mm;font-size:9.5pt;font-weight:600;display:flex}.rp-print h2 svg{width:5.2mm;height:5.2mm}.rp-print .pt-ing{margin-bottom:4mm}.rp-print .pt-ing ul{columns:2;font-family:var(--font-hand);letter-spacing:.005em;column-gap:7.2mm;margin:0;padding:0;font-size:11.5pt;font-weight:300;line-height:1.65;list-style:none}.rp-print .pt-ing li{break-inside:avoid;gap:2.4mm;display:flex}.rp-print .pt-ing li:before{content:"";background:#7a2e2b;border-radius:50%;flex:none;width:1.4mm;height:1.4mm;margin-top:3.4mm}.rp-print .pt-steps{flex:1 0 auto}.rp-print .pt-steps ol{counter-reset:ptstep;font-family:var(--font-hand);letter-spacing:.005em;margin:0;padding:0;font-size:11.5pt;font-weight:300;line-height:1.6;list-style:none}.rp-print .pt-steps li{counter-increment:ptstep;break-inside:avoid;align-items:flex-start;gap:3.2mm;margin-bottom:3.2mm;display:flex}.rp-print .pt-steps li:before{content:counter(ptstep);font-family:var(--font-display);color:#7a2e2b;flex:none;width:6mm;margin-top:.8mm;font-size:12.5pt;font-weight:600}.rp-print .pt-macro{font-family:var(--font-sans);color:#726a5c;border-top:.3mm solid #2a241c21;justify-content:space-between;align-items:baseline;margin-top:2.4mm;padding-top:3.2mm;font-size:10pt;display:flex}.rp-print .pt-macro .kcal{font-family:var(--font-display);color:#2a241c;font-size:12.5pt;font-weight:600}.rp-print .pt-macro .portions{color:#7a2e2b;font-weight:600}.print-sheet{display:block}.print-title{font-family:var(--font-script);transform-origin:0 100%;margin:2mm 0 3mm;font-size:13mm;font-weight:700;line-height:.95;transform:rotate(-1.2deg)}.print-meta{font-family:var(--font-sans);color:#726a5c;border-bottom:.3mm solid #2a241c21;margin-bottom:5mm;padding-bottom:3mm;font-size:9pt}.print-aisle-head{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.14em;color:#7a2e2b;break-after:avoid;border-bottom:.3mm solid #2a241c21;margin-bottom:1.6mm;padding:4mm 0 1.2mm;font-size:9.5pt;font-weight:600}.print-row{break-inside:avoid;font-family:var(--font-hand);align-items:baseline;gap:3mm;padding:.8mm 0;font-size:13.5pt;line-height:1.4;display:flex}.print-box{border:.35mm solid #2a241c;border-radius:.8mm;flex-shrink:0;align-self:center;width:3.6mm;height:3.6mm}.print-box.filled{background:#2a241c}.print-name.done{color:#726a5c;text-decoration:line-through}.print-dots{border-bottom:.35mm dotted #b0a896;flex:1;min-width:8mm}.print-qty{font-family:var(--font-display);color:#2a241c;white-space:nowrap;font-size:10.5pt;font-weight:600}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
