:root{--background:#fffdf5;--surface:#fff;--surface-subtle:#ffedda;--text:#110b06;--text-muted:#54412d;--brand:#fd722f;--brand-hover:#fd864c;--brand-ink:#a63f12;--green:#49aa3d;--green-soft:#ccef99;--accent-text:#24531e;--border:#dfd5c5;--control-border:#8d7d68;--warning:#8a5a00;--warning-soft:#fff1cc;--error:#b3261e;--error-soft:#fbedea;--info:#2f6ca8;--info-soft:#eaf1f8;--protein:#2f6ca8;--fat:#a9502a;--carbs:#4e7326;--text-on-media:#fff;--media-surface:#110b06;--illustration-wheat:#f5ce83;--illustration-leaf:#d8e7bd;--font-display:"Cabinet Grotesk", "Arial", sans-serif;--font-body:"General Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--glass-fill:color-mix(in srgb, var(--surface) 58%, transparent);--glass-border:color-mix(in srgb, var(--surface) 78%, var(--border));--glass-shadow:0 18px 46px -28px color-mix(in srgb, var(--text) 18%, transparent);--ease-spring:cubic-bezier(.22, 1, .36, 1);--radius:26px;--container:1160px;--i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--i-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");--i-x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");--i-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");--i-pencil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E");--i-circle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E");--i-chevron-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--i-chevron-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");--i-arrow-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");--i-circle-x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6'/%3E%3Cpath d='m9 9 6 6'/%3E%3C/svg%3E");--i-circle-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16 9-5.5 5.5L8 12'/%3E%3C/svg%3E");--i-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/svg%3E")}@font-face{font-family:Cabinet Grotesk;src:url(/assets/cabinet-grotesk-DI2t1LFl.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/assets/general-sans-p1VyP7gg.woff2)format("woff2");font-weight:200 700;font-style:normal;font-display:swap}:root{--radius-xs:10px;--radius-sm:14px;--radius-md:20px;--radius-lg:var(--radius);--radius-xl:32px;--pill:999px;--hairline:color-mix(in srgb, var(--border) 72%, transparent);--glass-strong:color-mix(in srgb, var(--surface) 78%, transparent);--glass-soft:color-mix(in srgb, var(--surface) 42%, transparent);--shadow-sm:0 6px 18px -12px color-mix(in srgb, var(--text) 22%, transparent);--shadow-lift:0 22px 40px -26px color-mix(in srgb, var(--text) 30%, transparent);--shadow-brand:0 8px 20px -12px var(--brand-ink), inset 0 1px 0 color-mix(in srgb, var(--surface) 50%, transparent);--scrim:color-mix(in srgb, var(--media-surface) 32%, transparent);--tabbar-space:calc(96px + env(safe-area-inset-bottom))}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{isolation:isolate;min-height:100vh;color:var(--text);background:var(--background);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}h1,h2,h3,h4,p,figure,dl,dd,blockquote{margin:0}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;line-height:1.08}h1{letter-spacing:-.04em;font-size:clamp(32px,8vw,40px);font-weight:800}h2{letter-spacing:-.03em;font-size:23px;font-weight:700}h3{letter-spacing:-.02em;font-size:19px;font-weight:700}h4{letter-spacing:-.01em;font-size:16px;font-weight:700}a{color:var(--accent-text);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}b,strong{font-weight:600}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}[hidden]{display:none!important}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%}:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}::selection{background:var(--green-soft);color:var(--text)}.icon{vertical-align:middle;flex-shrink:0;width:20px;height:20px;display:inline-block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--text-muted)}.num{font-variant-numeric:tabular-nums}.lead{color:var(--text-muted);font-size:16px;line-height:1.65}.skip-link{z-index:100;background:var(--surface);border:1px solid var(--text);border-radius:var(--radius-sm);padding:12px 18px;position:fixed;top:8px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}.wordmark{color:var(--text);font-family:var(--font-display);letter-spacing:-.035em;font-size:30px;font-weight:800;line-height:1.1;text-decoration:none}.marker{isolation:isolate;display:inline-block;position:relative}.marker:before{content:"";z-index:-1;border-radius:var(--pill);background:var(--brand);opacity:.75;transform-origin:0;height:.22em;animation:marker-draw .9s var(--ease-spring) .2s forwards;position:absolute;bottom:.06em;left:-.06em;right:-.04em;transform:rotate(-1.5deg)scaleX(0)}.ambient{z-index:-1;pointer-events:none;background:var(--background);position:fixed;inset:0;overflow:hidden}.ambient>span{filter:blur(64px);opacity:.6;border-radius:50%;position:absolute}.ambient-orange{background:radial-gradient(circle, color-mix(in srgb, var(--brand) 27%, var(--surface-subtle)), transparent 67%);width:90vw;height:90vw;top:-38vw;right:-42vw}.ambient-green{background:radial-gradient(circle, color-mix(in srgb, var(--green-soft) 62%, transparent), transparent 66%);width:90vw;height:90vw;top:42vh;left:-52vw}.ambient-paper{background:var(--surface-subtle);width:80vw;height:80vw;bottom:-60vw;right:-10vw;opacity:.4!important}@media (min-width:1024px){.ambient-orange{width:62vw;height:58vw;top:-30vw;right:-18vw}.ambient-green{width:60vw;height:60vw;top:30vh;left:-30vw}}.glass,.glass-strong{background:var(--glass-fill);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:var(--glass-shadow);position:relative}.glass-strong{background:var(--glass-strong)}.glass:before,.glass-strong:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 35%, transparent), transparent 38%, transparent 80%, color-mix(in srgb, var(--surface) 20%, transparent));box-shadow:inset 0 1px 1px var(--glass-border), inset 0 -1px 1px color-mix(in srgb, var(--text) 5%, transparent);position:absolute;inset:0}.glass-dark{background:color-mix(in srgb, var(--media-surface) 76%, transparent);color:var(--text-on-media);border:1px solid color-mix(in srgb, var(--surface) 30%, transparent);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--surface) 20%, transparent)}@media (min-width:1024px){h1{font-size:44px}h2{font-size:25px}}@keyframes marker-draw{to{transform:rotate(-1.5deg)scaleX(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.marker:before{transform:rotate(-1.5deg)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.glass-strong{background:var(--surface)}.glass-dark{background:var(--media-surface)}}.stack{gap:16px;display:grid}.stack-sm{gap:8px;display:grid}.stack-lg{gap:32px;display:grid}.cluster{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grid{gap:16px;display:grid}.split{gap:24px;display:grid}.measure{max-width:860px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (min-width:640px){.grid-2,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{gap:16px}}@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:28px}.split>.aside{position:sticky;top:24px}}.page-head{gap:18px;margin-bottom:28px;display:grid}.page-head-text{gap:10px;min-width:0;display:grid}.page-head p{max-width:640px;color:var(--text-muted);font-size:15px}.page-head-actions{flex-wrap:wrap;gap:8px;display:flex}.title-row{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.eyebrow{color:var(--brand-ink);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.back-link{border-radius:var(--pill);background:color-mix(in srgb, var(--surface) 55%, transparent);border:1px solid var(--hairline);width:-moz-fit-content;width:fit-content;min-height:36px;color:var(--text-muted);transition:color .2s, background-color .2s, transform .3s var(--ease-spring);align-items:center;gap:6px;margin-bottom:2px;padding:6px 14px 6px 10px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.back-link .icon{width:16px;height:16px;transition:transform .3s var(--ease-spring)}.back-link:hover{color:var(--text);background:var(--surface)}.back-link:hover .icon{transform:translate(-2px)}@media (min-width:1024px){.page-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-bottom:32px}.page-head-actions{justify-content:flex-end}}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:14px;display:flex}.section-head p{color:var(--text-muted);font-size:13px}.section-title{margin:4px 0 14px}.foot-note{margin-top:14px}.toolbar{margin-bottom:20px}.media-row{align-items:center;gap:12px;min-width:0;display:flex}.media-row>div{min-width:0}.list-divided{display:grid}.list-divided>li{padding-block:10px}.list-divided>li+li{border-top:1px solid var(--hairline)}.list-divided>li:first-child{padding-top:0}.list-divided>li:last-child{padding-bottom:0}.text-sm{font-size:13px}.text-xs{font-size:12px}.sticky-bar{z-index:20;border-radius:var(--radius-lg);padding:10px 12px 10px 18px;position:sticky;top:72px}@media (min-width:1024px){.sticky-bar{top:12px}}.shell{min-height:100vh}.main{min-width:0}.page{width:100%;max-width:var(--container);padding:24px 20px calc(var(--tabbar-space) + 24px);margin-inline:auto}.page:focus{outline:none}.page>*{animation:rise .45s var(--ease-spring) both}.brand{min-width:0;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand .wordmark{font-size:26px}.brand-surface{border-radius:var(--pill);background:var(--surface-subtle);min-height:24px;color:var(--brand-ink);white-space:nowrap;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex}.demo-banner{border-radius:var(--pill);background:color-mix(in srgb, var(--info-soft) 82%, transparent);width:-moz-fit-content;width:fit-content;max-width:calc(100% - 40px);color:var(--info);align-items:center;gap:10px;margin:14px auto 0;padding:7px 14px 7px 10px;font-size:12px;line-height:1.45;display:flex}.demo-banner .icon{width:16px;height:16px}.demo-banner b{font-weight:600}.demo-banner .demo-cmd{display:none}@media (min-width:640px){.demo-banner .demo-cmd{display:inline}}.demo-banner code{background:color-mix(in srgb, var(--surface) 70%, transparent);border-radius:6px;padding:1px 6px}.appbar{z-index:40;padding:calc(10px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(20px, env(safe-area-inset-left));border-width:0 0 1px;border-radius:0;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.appbar-account{border:1px solid color-mix(in srgb, var(--text) 10%, transparent);border-radius:var(--pill);background:color-mix(in srgb, var(--surface) 70%, transparent);align-items:center;gap:8px;min-height:44px;padding:4px 4px 4px 14px;font-size:13px;font-weight:550;display:inline-flex}.appbar-account .avatar{width:34px;height:34px;font-size:13px}.sidebar{z-index:70;left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:var(--radius-xl);visibility:hidden;max-height:min(86vh,780px);transition:transform .5s var(--ease-spring), visibility 0s linear .5s;flex-direction:column;gap:6px;padding:14px 12px 16px;display:flex;position:fixed;overflow-y:auto;transform:translateY(calc(100% + 24px))}.sidebar[data-open=true]{visibility:visible;transition:transform .5s var(--ease-spring), visibility 0s;transform:none}.sidebar-head{justify-content:space-between;align-items:center;gap:12px;padding:4px 4px 6px 10px;display:flex}.sidebar-head .brand{display:none}.sidebar-head .sheet-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:21px;font-weight:700}.shell-scrim{z-index:65;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:.3s both fade;position:fixed;inset:0}.context{padding:4px 2px 8px}.context:empty{display:none}.context-card{border:1px solid var(--hairline);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 72%, transparent);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:10px 12px;display:flex}.context-card>div{min-width:0}.context-label{color:var(--text-muted);font-size:12px;line-height:1.4}.context-name{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:17px;font-weight:700;line-height:1.2}.context-meta{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.4}.nav{gap:2px;display:grid}.nav-group{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:14px 0 4px;padding-inline:14px;font-size:11px;font-weight:600}.nav a{border-radius:var(--pill);min-height:44px;color:color-mix(in srgb, var(--text) 80%, transparent);align-items:center;gap:12px;padding:9px 12px 9px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s,box-shadow .3s;display:flex;position:relative}.nav a .icon{color:var(--text-muted);transition:color .2s, transform .35s var(--ease-spring)}.nav a>span:not(.count){flex:1;min-width:0}.nav a:hover{background:color-mix(in srgb, var(--surface) 62%, transparent);color:var(--text)}.nav a:hover .icon{transform:translate(1px)}.nav a[aria-current=page]{background:linear-gradient(160deg, color-mix(in srgb, var(--surface) 92%, transparent), color-mix(in srgb, var(--brand) 10%, color-mix(in srgb, var(--surface) 55%, transparent)));color:var(--brand-ink);box-shadow:0 6px 16px -8px color-mix(in srgb, var(--text) 22%, transparent), inset 1.5px 1.5px 0 -.5px var(--surface), inset 0 0 10px color-mix(in srgb, var(--surface) 55%, transparent);font-weight:600}.nav a[aria-current=page] .icon{color:var(--brand-ink);stroke-width:2.1px}.count{border-radius:var(--pill);background:var(--brand);min-width:24px;height:22px;color:var(--text-on-media);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:600;display:inline-flex}.sidebar-foot{border-top:1px solid var(--hairline);gap:6px;margin-top:auto;padding:14px 6px 0;font-size:13px;display:grid}.sidebar-foot:empty{display:none}.sidebar-foot .muted{overflow-wrap:anywhere;padding-inline:8px}.sidebar-foot .select{margin-bottom:4px}.sidebar-foot .hint{padding-inline:8px}.tabbar{--active:0;--n:5;z-index:60;left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));grid-template-columns:repeat(var(--n), minmax(0, 1fr));background:color-mix(in srgb, var(--surface) 34%, transparent);-webkit-backdrop-filter:blur(12px)saturate(200%)brightness(1.12);backdrop-filter:blur(12px)saturate(200%)brightness(1.12);max-width:460px;box-shadow:0 0 28px -8px color-mix(in srgb, var(--text) 20%, transparent), 0 2px 8px -3px color-mix(in srgb, var(--text) 10%, transparent), inset 0 0 20px color-mix(in srgb, var(--surface) 38%, transparent), inset 0 -12px 22px -16px color-mix(in srgb, var(--text) 16%, transparent), inset 0 10px 18px -14px var(--surface);border-radius:34px;gap:3px;margin-inline:auto;padding:6px;display:grid;position:fixed}.tabbar:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(120% 90% at 12% -10%, color-mix(in srgb, var(--surface) 70%, transparent), transparent 45%), radial-gradient(90% 80% at 92% 120%, color-mix(in srgb, var(--surface) 40%, transparent), transparent 50%);position:absolute;inset:0}.tabbar:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg, var(--surface), color-mix(in srgb, var(--surface) 25%, transparent) 22%, color-mix(in srgb, var(--surface) 5%, transparent) 50%, color-mix(in srgb, var(--surface) 25%, transparent) 76%, color-mix(in srgb, var(--surface) 90%, transparent));-webkit-mask-composite:xor;padding:1.25px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.tabbar-lens{z-index:0;width:calc((100% - 12px - (var(--n) - 1) * 3px) / var(--n));pointer-events:none;background:linear-gradient(160deg, color-mix(in srgb, var(--surface) 72%, transparent), color-mix(in srgb, var(--brand) 9%, color-mix(in srgb, var(--surface) 40%, transparent)));box-shadow:0 6px 16px -8px color-mix(in srgb, var(--text) 22%, transparent), inset 1.5px 1.5px 0 -.5px var(--surface), inset -1px -1px 0 -.25px color-mix(in srgb, var(--surface) 70%, transparent), inset 0 0 10px color-mix(in srgb, var(--surface) 55%, transparent);transform:translateX(calc(var(--active) * (100% + 3px)));transition:transform .6s cubic-bezier(.3, 1.35, .45, 1), scale .35s var(--ease-spring);border-radius:28px;position:absolute;top:6px;bottom:6px;left:6px}.tabbar:has(a:active,button:active) .tabbar-lens{scale:1.1 1.14}.tabbar a,.tabbar button{z-index:1;min-width:0;min-height:54px;color:color-mix(in srgb, var(--text) 72%, transparent);white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:color .3s, transform .3s var(--ease-spring);background:0 0;border:0;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:7px 2px;font-size:10px;font-weight:500;line-height:1.2;text-decoration:none;display:flex;position:relative}.tabbar span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.tabbar .icon{width:22px;height:22px;transition:transform .45s var(--ease-spring)}.tabbar [aria-current]{color:var(--brand-ink);font-weight:600}.tabbar [aria-current] .icon{stroke-width:2.1px;transform:translateY(-1px)}.tabbar a:active,.tabbar button:active{transform:scale(.94)}.tabbar a:focus-visible,.tabbar button:focus-visible{outline-offset:-2px}.tabbar .tab-dot{background:var(--brand);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:8px;left:calc(50% + 8px)}@media (min-width:640px){.page{padding-inline:32px}}@media (min-width:1024px){.shell{grid-template-columns:288px minmax(0,1fr);align-items:start;display:grid}.appbar,.tabbar,.shell-scrim,.sidebar-close,.sidebar-head .sheet-title{display:none!important}.sidebar{visibility:visible;height:calc(100vh - 24px);max-height:none;margin:12px 0 12px 12px;padding:18px 12px 16px;transition:none;position:sticky;inset:12px auto auto;transform:none}.sidebar-head{padding:6px 8px 12px 12px}.sidebar-head .brand{display:inline-flex}.page{padding:36px 40px 96px}.demo-banner{margin-top:18px}}.btn{border:1px solid color-mix(in srgb, var(--text) 12%, transparent);border-radius:var(--pill);background:var(--surface);min-height:48px;color:var(--text);text-align:center;white-space:nowrap;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease-spring), background-color .2s, box-shadow .25s, border-color .2s, color .2s;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:550;line-height:1.4;text-decoration:none;display:inline-flex}.btn .icon{width:18px;height:18px;margin-inline:-2px}.btn:hover{border-color:color-mix(in srgb, var(--text) 24%, transparent);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.98)}.btn-primary{background:var(--brand);color:var(--text-on-media);box-shadow:var(--shadow-brand);border-color:#0000}.btn-primary:hover{background:var(--brand-hover);box-shadow:0 16px 26px -16px var(--brand-ink);border-color:#0000}.btn-quiet{background:color-mix(in srgb, var(--surface) 45%, transparent);box-shadow:none}.btn-quiet:hover{background:var(--surface);box-shadow:var(--shadow-sm)}.btn-dark{background:var(--text);color:var(--background);border-color:#0000}.btn-danger{border-color:color-mix(in srgb, var(--error) 45%, transparent);color:var(--error);box-shadow:none}.btn-danger:hover{border-color:var(--error);background:var(--error-soft);box-shadow:none}.btn-sm{min-height:44px;padding:9px 16px;font-size:13px}.btn-block{width:100%}.btn[disabled],.btn[aria-disabled=true]{border-color:var(--hairline);background:color-mix(in srgb, var(--surface) 50%, transparent);color:var(--text-muted);box-shadow:none;transform:none}.btn[aria-busy=true]{cursor:progress}.btn[aria-busy=true]:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.text-link{min-height:44px;color:var(--accent-text);text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:6px;padding-block:10px;font-size:14px;font-weight:500;text-decoration:underline;display:inline-flex}.text-link .icon{width:16px;height:16px}.text-link:hover{text-decoration-thickness:2px}.link-arrow{align-items:center;gap:4px;font-size:13px;font-weight:550;text-decoration:none;display:inline-flex}.link-arrow:after{content:"";width:16px;height:16px;-webkit-mask:var(--i-arrow-right) center / contain no-repeat;-webkit-mask:var(--i-arrow-right) center / contain no-repeat;mask:var(--i-arrow-right) center / contain no-repeat;transition:transform .3s var(--ease-spring);background:currentColor}.link-arrow:hover:after{transform:translate(3px)}.icon-btn{border:1px solid color-mix(in srgb, var(--text) 12%, transparent);background:var(--surface);width:44px;height:44px;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease-spring), background-color .2s;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-subtle);transform:translateY(-1px)}.icon-btn:disabled{color:var(--border);border-color:var(--hairline);box-shadow:none}.icon-btn .icon{width:18px;height:18px}.form{gap:20px;display:grid}.field{gap:6px;min-width:0;display:grid}.field>label,.field>.label,fieldset>legend{font-size:14px;font-weight:600}.label-opt{color:var(--text-muted);font-weight:400}.hint{color:var(--text-muted);font-size:12px;line-height:1.5}.field-error{color:var(--error);align-items:flex-start;gap:6px;font-size:13px;font-weight:500;display:flex}.field-error:before{content:"";width:15px;height:15px;-webkit-mask:var(--i-circle-x) center / contain no-repeat;-webkit-mask:var(--i-circle-x) center / contain no-repeat;mask:var(--i-circle-x) center / contain no-repeat;background:currentColor;flex-shrink:0;margin-top:2px}.input,.select,.textarea{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:48px;padding:11px 16px;font-size:15px;line-height:1.4;transition:border-color .2s,box-shadow .2s}.input-sm{min-height:44px;padding:8px 14px;font-size:14px}.textarea{resize:vertical;min-height:120px;line-height:1.6}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text) 50%), linear-gradient(135deg, var(--text) 50%, transparent 50%);background-position:calc(100% - 22px),calc(100% - 17px);background-repeat:no-repeat;background-size:5px 5px;padding-right:44px}.input:hover,.select:hover,.textarea:hover{border-color:var(--text)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-text) 85%, transparent);outline:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}.input:disabled,.textarea:disabled,.select:disabled{background:color-mix(in srgb, var(--surface) 50%, transparent);color:var(--text-muted);border-color:var(--border)}.input[readonly]{background:color-mix(in srgb, var(--background) 80%, transparent)}.search-box{display:block;position:relative}.search-box:before{content:"";z-index:1;background:var(--text-muted);width:18px;height:18px;-webkit-mask:var(--i-search) center / contain no-repeat;-webkit-mask:var(--i-search) center / contain no-repeat;mask:var(--i-search) center / contain no-repeat;pointer-events:none;margin-top:-9px;position:absolute;top:50%;left:16px}.search-box .input{padding-left:44px}.char-count{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-self:end;font-size:12px}.char-count.over{color:var(--error);font-weight:600}fieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-errors{scroll-margin-top:96px}.form-errors ul{gap:2px;margin-top:4px;display:grid}.form-errors a{color:var(--error)}.save-state{color:var(--text-muted);font-size:13px}.save-state.dirty{color:var(--warning)}.inline-fields{gap:12px;display:grid}@media (min-width:640px){.inline-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.code-input{letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;font-size:24px}.check{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding-block:10px;font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent-text);flex-shrink:0;margin:1px 0 0}.choices{gap:10px;display:grid}@media (min-width:640px){.choices-2{grid-template-columns:repeat(2,minmax(0,1fr))}.choices-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.choice{border:1px solid var(--control-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 75%, transparent);cursor:pointer;transition:border-color .2s, box-shadow .25s, transform .3s var(--ease-spring);gap:4px;padding:16px 16px 16px 50px;display:grid;position:relative}.choice:hover{border-color:var(--text)}.choice input{width:20px;height:20px;accent-color:var(--accent-text);margin:0;position:absolute;top:19px;left:18px}.choice b{font-size:15px;font-weight:600}.choice span{color:var(--text-muted);font-size:13px}.choice:has(input:checked){border-color:var(--text);background:var(--surface);box-shadow:inset 0 0 0 1px var(--text), var(--shadow-sm)}.choice:has(input:disabled){cursor:default;border-color:var(--border)}.segmented{border:1px solid var(--hairline);border-radius:var(--pill);background:color-mix(in srgb, var(--surface) 55%, transparent);flex-wrap:wrap;gap:4px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:4px;display:inline-flex}.segmented button{border-radius:var(--pill);min-width:44px;min-height:40px;color:var(--text-muted);background:0 0;border:0;padding:8px 16px;font-size:13px;font-weight:550;transition:background-color .2s,color .2s}.segmented button:hover{color:var(--text);background:color-mix(in srgb, var(--surface) 70%, transparent)}.segmented button[aria-pressed=true]{background:var(--text);color:var(--background)}.tabs{border:1px solid var(--hairline);border-radius:var(--pill);background:color-mix(in srgb, var(--surface) 50%, transparent);scrollbar-width:none;gap:4px;width:-moz-fit-content;width:fit-content;max-width:100%;margin-bottom:22px;padding:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{border-radius:var(--pill);min-height:40px;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;flex-shrink:0;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:550;text-decoration:none;transition:background-color .2s,color .2s,box-shadow .25s;display:inline-flex}.tab:hover{color:var(--text)}.tab[aria-selected=true],.tab[aria-current=page]{background:var(--surface);color:var(--brand-ink);box-shadow:0 6px 14px -9px color-mix(in srgb, var(--text) 30%, transparent), inset 0 0 0 1px var(--hairline);font-weight:600}.tab:focus-visible{outline-offset:-2px}.tab .dot{background:var(--error);border-radius:50%;width:7px;height:7px}.text-link-inline{min-height:0;padding:0}.check-end{align-self:end}.field-end{align-content:end}.disclosure summary{cursor:pointer;align-items:center;gap:4px;min-height:32px;list-style:none;display:inline-flex}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary:after{content:"";width:14px;height:14px;-webkit-mask:var(--i-chevron-down) center / contain no-repeat;-webkit-mask:var(--i-chevron-down) center / contain no-repeat;mask:var(--i-chevron-down) center / contain no-repeat;background:currentColor;transition:transform .25s}.disclosure[open] summary:after{transform:rotate(180deg)}input[type=file].input{color:var(--text-muted);padding:6px 14px 6px 6px;font-size:14px}input[type=file]::file-selector-button{border-radius:var(--pill);background:var(--text);min-height:34px;color:var(--background);font:inherit;cursor:pointer;border:0;margin-right:12px;padding:6px 16px;font-size:13px;font-weight:550}.card{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-strong);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);min-width:0;box-shadow:var(--glass-shadow), inset 0 1px 1px var(--glass-border);padding:20px;position:relative}.card-warm{background:linear-gradient(150deg, color-mix(in srgb, var(--surface-subtle) 88%, transparent), color-mix(in srgb, var(--surface) 70%, transparent));border-color:color-mix(in srgb, var(--surface-subtle) 60%, var(--surface))}.card-flat{background:color-mix(in srgb, var(--surface) 42%, transparent);border-color:var(--hairline);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:14px;display:flex}.card-head p{color:var(--text-muted);font-size:13px}.card-head a{font-size:13px;font-weight:550}.card>p+p{margin-top:8px}.card-link{color:inherit;transition:transform .35s var(--ease-spring), box-shadow .35s;text-decoration:none;display:block}.card-link:hover{box-shadow:var(--shadow-lift), inset 0 1px 1px var(--glass-border);transform:translateY(-4px)}@media (min-width:640px){.card{padding:24px}}.icon-tile{border-radius:var(--radius-sm);background:var(--surface-subtle);width:44px;height:44px;color:var(--brand-ink);flex-shrink:0;place-items:center;display:grid}.icon-tile .icon{width:22px;height:22px}.icon-tile-sm{border-radius:12px;width:36px;height:36px}.icon-tile-sm .icon{width:18px;height:18px}.tone-basil{background:var(--green-soft);color:var(--accent-text)}.tone-info{background:var(--info-soft);color:var(--info)}.tone-warn{background:var(--warning-soft);color:var(--warning)}.tone-err{background:var(--error-soft);color:var(--error)}.stat{align-content:start;gap:6px;display:grid}.stat .icon-tile{margin-bottom:10px}.stat-label{color:var(--text-muted);font-size:13px;font-weight:500}.stat-value{font-family:var(--font-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(28px,3vw,36px);font-weight:800;line-height:1.05}.stat-value.unknown{font-family:var(--font-body);color:var(--text-muted);letter-spacing:0;font-size:16px;font-weight:500;line-height:1.5}.stat-meta{color:var(--text-muted);font-size:12px}a.stat{color:inherit;transition:transform .35s var(--ease-spring), box-shadow .35s;text-decoration:none}a.stat:after{content:"";background:var(--text-muted);width:18px;height:18px;-webkit-mask:var(--i-arrow-right) center / contain no-repeat;-webkit-mask:var(--i-arrow-right) center / contain no-repeat;mask:var(--i-arrow-right) center / contain no-repeat;transition:transform .35s var(--ease-spring), background-color .2s;position:absolute;top:22px;right:20px;transform:rotate(-45deg)}a.stat:hover{box-shadow:var(--shadow-lift), inset 0 1px 1px var(--glass-border);transform:translateY(-4px)}a.stat:hover:after{background:var(--brand-ink);transform:rotate(-45deg)translate(3px)}@media (max-width:639px){.grid-4>.stat{padding:16px}.grid-4>.stat .icon-tile{border-radius:12px;width:36px;height:36px;margin-bottom:4px}.grid-4>.stat .icon-tile .icon{width:18px;height:18px}.grid-4>.stat .stat-value{font-size:26px}.grid-4>a.stat:after{top:18px;right:16px}}.rows{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-strong);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:var(--glass-shadow);padding:4px;overflow:hidden}.row{border-radius:var(--radius-md);min-height:56px;color:var(--text);align-items:center;gap:14px;padding:10px 14px;text-decoration:none;transition:background-color .2s;display:flex}.row+.row{box-shadow:0 -1px 0 var(--hairline)}a.row:hover,button.row:hover{background:color-mix(in srgb, var(--surface) 90%, transparent);box-shadow:none}a.row:hover+.row{box-shadow:none}.row-main{flex:1;gap:2px;min-width:0;display:grid}.row-title{overflow-wrap:anywhere;font-size:15px;font-weight:600}.row-sub{color:var(--text-muted);font-size:13px}a.row:after{content:"";background:var(--text-muted);width:18px;height:18px;-webkit-mask:var(--i-chevron-right) center / contain no-repeat;-webkit-mask:var(--i-chevron-right) center / contain no-repeat;mask:var(--i-chevron-right) center / contain no-repeat;transition:transform .3s var(--ease-spring);flex-shrink:0}a.row:hover:after{transform:translate(3px)}.kv{gap:0;display:grid}.kv>div{border-top:1px solid var(--hairline);gap:2px;padding-block:11px;display:grid}.kv>div:first-child{border-top:0;padding-top:0}.kv>div:last-child{padding-bottom:0}.kv dt{color:var(--text-muted);font-size:12px}.kv dd{overflow-wrap:anywhere;font-size:14px}@media (min-width:640px){.kv>div{grid-template-columns:180px minmax(0,1fr);gap:16px}}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.avatar{border:1px solid color-mix(in srgb, var(--brand) 55%, var(--border));background:var(--surface-subtle);width:48px;height:48px;color:var(--brand-ink);font-family:var(--font-display);letter-spacing:-.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;font-weight:800;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-sm{width:40px;height:40px;font-size:15px}.avatar-lg{width:88px;height:88px;font-size:34px}.tag{border-radius:var(--pill);background:var(--surface-subtle);min-height:24px;color:var(--brand-ink);white-space:nowrap;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:550;display:inline-flex}.tag-neutral{background:color-mix(in srgb, var(--surface) 70%, transparent);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--hairline)}.status{--glyph:var(--i-circle);border-radius:var(--pill);background:color-mix(in srgb, var(--surface) 80%, transparent);min-height:26px;color:var(--text);box-shadow:inset 0 0 0 1px var(--hairline);white-space:nowrap;align-items:center;gap:6px;padding:3px 11px 3px 8px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.status:before{content:"";width:13px;height:13px;-webkit-mask:var(--glyph) center / contain no-repeat;-webkit-mask:var(--glyph) center / contain no-repeat;mask:var(--glyph) center / contain no-repeat;background:currentColor;flex-shrink:0}.status-ok{--glyph:var(--i-check);background:var(--green-soft);color:var(--accent-text);box-shadow:none}.status-warn{--glyph:var(--i-alert);background:var(--warning-soft);color:var(--warning);box-shadow:none}.status-err{--glyph:var(--i-x);background:var(--error-soft);color:var(--error);box-shadow:none}.status-info{--glyph:var(--i-info);background:var(--info-soft);color:var(--info);box-shadow:none}.status-draft{--glyph:var(--i-pencil);background:var(--surface-subtle);color:var(--text-muted);box-shadow:none}.status-neutral{color:var(--text-muted)}.status-run{background:var(--info-soft);color:var(--info);box-shadow:none}.status-run:before{background:0 0;border:2px solid;border-right-color:#0000;border-radius:50%;width:9px;height:9px;margin-inline:2px;animation:1s linear infinite spin;-webkit-mask:none;mask:none}.alert{--glyph:var(--i-info);--tone:var(--info);border:1px solid color-mix(in srgb, var(--tone) 14%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--info-soft) 88%, transparent);color:var(--text);grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:14px 18px 14px 14px;font-size:14px;display:grid;position:relative}.alert:before{content:"";background:color-mix(in srgb, var(--surface) 75%, transparent);width:32px;height:32px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 18%, transparent);border-radius:11px;grid-row:span 4}.alert:after{content:"";background:var(--tone);width:18px;height:18px;-webkit-mask:var(--glyph) center / contain no-repeat;-webkit-mask:var(--glyph) center / contain no-repeat;mask:var(--glyph) center / contain no-repeat;margin:7px;position:absolute;top:14px;left:14px}.alert>*{grid-column:2}.alert-title{font-weight:600}.alert .cluster{margin-top:6px}.alert-warn{--glyph:var(--i-alert);--tone:var(--warning);background:color-mix(in srgb, var(--warning-soft) 90%, transparent)}.alert-err{--glyph:var(--i-circle-x);--tone:var(--error);background:color-mix(in srgb, var(--error-soft) 92%, transparent)}.alert-ok{--glyph:var(--i-circle-check);--tone:var(--accent-text);background:color-mix(in srgb, var(--green-soft) 70%, transparent)}.request-id{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.toasts{z-index:90;left:16px;right:16px;bottom:calc(var(--tabbar-space) + 4px);pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed}.toast{border:1px solid color-mix(in srgb, var(--surface) 24%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--media-surface) 86%, transparent);max-width:440px;color:var(--text-on-media);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);box-shadow:var(--shadow-lift);pointer-events:auto;animation:rise .45s var(--ease-spring) both;align-items:center;gap:10px;padding:12px 18px 12px 14px;font-size:14px;display:flex}.toast:before{content:"";background:var(--green-soft);width:18px;height:18px;-webkit-mask:var(--i-circle-check) center / contain no-repeat;-webkit-mask:var(--i-circle-check) center / contain no-repeat;mask:var(--i-circle-check) center / contain no-repeat;flex-shrink:0}.toast-err{background:color-mix(in srgb, var(--error) 92%, transparent)}.toast-err:before{background:var(--text-on-media);-webkit-mask-image:var(--i-circle-x);-webkit-mask-image:var(--i-circle-x);mask-image:var(--i-circle-x)}@media (min-width:1024px){.toasts{justify-items:end;bottom:24px;left:auto;right:24px}}.empty{border:1px dashed color-mix(in srgb, var(--control-border) 55%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 45%, transparent);justify-items:start;gap:10px;padding:32px 26px;display:grid}.empty h2,.empty h3{font-size:21px}.empty p{max-width:520px;color:var(--text-muted)}.empty .cluster{margin-top:6px}.empty .icon-tile{margin-bottom:6px}.empty-art{border-radius:var(--radius-md);background:var(--surface-subtle);width:168px;height:auto;box-shadow:var(--shadow-sm);margin-bottom:4px}.skeleton{border-radius:var(--pill);background:linear-gradient(90deg, color-mix(in srgb, var(--surface-subtle) 80%, transparent), color-mix(in srgb, var(--surface) 80%, transparent), color-mix(in srgb, var(--surface-subtle) 80%, transparent));background-size:200% 100%;height:14px;animation:1.4s ease-in-out infinite shimmer;display:block}.skeleton-lg{border-radius:var(--radius-sm);width:40%;height:36px}.skeleton-block{border-radius:var(--radius-lg);height:128px}.loading-row{color:var(--text-muted);align-items:center;gap:10px;padding:16px 18px;font-size:13px;display:flex}.refreshing{color:var(--text-muted);font-size:12px}.progress{border-radius:var(--pill);background:color-mix(in srgb, var(--surface-subtle) 90%, transparent);height:8px;box-shadow:inset 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);overflow:hidden}.progress>span{border-radius:var(--pill);background:linear-gradient(90deg, var(--green), color-mix(in srgb, var(--green) 70%, var(--green-soft)));height:100%;transition:width .6s var(--ease-spring);display:block}.progress-warn>span{background:linear-gradient(90deg, var(--brand), var(--brand-hover))}.bars{align-items:flex-end;gap:4px;height:160px;padding-top:8px;display:flex}.bars span{background:linear-gradient(180deg, var(--brand-hover), var(--brand));border-radius:8px 8px 3px 3px;flex:1;min-width:4px;transition:opacity .2s}.bars:hover span{opacity:.55}.bars span:hover{opacity:1}.table-wrap{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-strong);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:var(--glass-shadow);overflow-x:auto;container:table/inline-size}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.table thead th{padding-top:16px;padding-bottom:10px}.table th,.table td{vertical-align:top;padding:13px 18px}.table tbody tr{border-top:1px solid var(--hairline);transition:background-color .2s}.table tbody tr[data-href]{cursor:pointer}.table tbody tr[data-href]:hover{background:color-mix(in srgb, var(--surface) 85%, transparent)}.table td a.row-link{color:var(--text);font-weight:600;text-decoration:none}.table td a.row-link:hover{color:var(--brand-ink);text-decoration:underline}.cell-sub{color:var(--text-muted);font-size:12px;font-weight:400;display:block}.thumb{object-fit:cover;background:var(--surface-subtle);border-radius:10px;flex-shrink:0;width:56px;height:42px;display:inline-block}@container table (width<=839px){.table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.table tbody tr{gap:6px;padding:16px 18px;display:grid}.table tbody tr:first-child{border-top:0}.table td{grid-template-columns:110px minmax(0,1fr);gap:12px;padding:0;display:grid}.table td:before{content:attr(data-label);color:var(--text-muted);font-size:12px}.table td[data-label=""]:before,.table td.cell-primary:before{content:none}.table td[data-label=""]{grid-template-columns:minmax(0,1fr)}.table td.cell-primary{grid-template-columns:minmax(0,1fr);margin-bottom:2px}}.list-foot{border-top:1px solid var(--hairline);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:13px;display:flex}.filters{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 42%, transparent);gap:12px;margin-bottom:18px;padding:14px;display:grid}.filters .field{gap:4px}.filters .field>label{color:var(--text-muted);font-size:12px;font-weight:600}@media (min-width:768px){.filters{grid-template-columns:minmax(0,2fr) repeat(auto-fit,minmax(150px,1fr));align-items:end}}.timeline{gap:0;display:grid}.timeline li{border-left:2px solid color-mix(in srgb, var(--green) 30%, var(--border));gap:2px;margin-left:7px;padding:0 0 20px 26px;display:grid;position:relative}.timeline li:last-child{border-left-color:#0000;padding-bottom:0}.timeline li:before{content:"";background:var(--surface);border:2px solid var(--green);width:14px;height:14px;box-shadow:0 0 0 4px color-mix(in srgb, var(--green-soft) 50%, transparent);border-radius:50%;position:absolute;top:3px;left:-8px}.timeline .t-time{color:var(--text-muted);font-size:12px}.timeline .t-title{font-size:14px;font-weight:600}.timeline .t-body{color:var(--text-muted);font-size:13px}.diff{gap:10px;display:grid}.diff-row{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 80%, transparent);gap:6px;padding:12px 14px;font-size:14px;display:grid}.diff-field{color:var(--text-muted);font-size:12px;font-weight:600}.diff-old{border-radius:var(--radius-xs);background:var(--error-soft);padding:6px 10px}.diff-old:before{content:"Było: ";color:var(--error);font-weight:600}.diff-new{border-radius:var(--radius-xs);background:var(--green-soft);padding:6px 10px}.diff-new:before{content:"Będzie: ";color:var(--accent-text);font-weight:600}@media (min-width:768px){.diff-row{grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);align-items:start}}.reorder{gap:10px;display:grid}.reorder-item{border:1px solid var(--hairline);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 82%, transparent);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr);gap:14px;padding:16px;display:grid}.reorder-item[aria-current=true]{border-color:var(--text)}.reorder-handle{align-content:start;justify-items:center;gap:4px;display:grid}.reorder-handle .icon-btn{width:36px;height:36px;box-shadow:none}.reorder-body{gap:10px;min-width:0;display:grid}.reorder-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.step-no{color:var(--brand-ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:22px;font-weight:700;line-height:1.2}.steps-list{gap:14px;display:grid}.steps-list li{align-items:start;gap:16px;display:flex}@container table (width>=840px){.table td[data-label=""] .cluster{flex-wrap:nowrap;justify-content:flex-end}}@media (pointer:fine){.table .btn-sm{min-height:38px;padding:6px 14px}}@media (min-width:768px){.filters-search{grid-template-columns:minmax(0,1fr) auto}}.filters-search>.btn{align-self:end}dialog.dialog{width:min(560px,100vw - 16px);max-height:calc(100dvh - 32px);margin:auto auto max(8px, env(safe-area-inset-bottom));border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--surface) 94%, transparent);color:var(--text);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:0 40px 80px -40px color-mix(in srgb, var(--text) 45%, transparent);animation:rise .45s var(--ease-spring) both;padding:0}dialog.dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:.3s both fade}.dialog-body{gap:16px;padding:26px 26px 8px;display:grid}.dialog-body h2{font-size:24px}.dialog-actions{flex-wrap:wrap-reverse;justify-content:flex-end;gap:8px;padding:18px 26px 24px;display:flex}@media (max-width:639px){.dialog-actions .btn{flex:100%}}@media (min-width:640px){dialog.dialog{margin:auto}}.recipe-sheet{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--glass-shadow);overflow:hidden}.recipe-art{aspect-ratio:36/25;object-fit:cover;background:linear-gradient(150deg, var(--surface-subtle), color-mix(in srgb, var(--green-soft) 45%, var(--surface-subtle)));width:100%;height:auto;display:block}.recipe-body{gap:14px;padding:22px;display:grid}.recipe-body h2{letter-spacing:-.03em;font-size:26px;line-height:1.12}.recipe-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px 20px;font-size:13px;display:flex}.recipe-ingredients li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding-block:9px;font-size:14px;display:flex}.recipe-ingredients li:last-child{border:0}.recipe-ingredients b{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.recipe-step{border-top:1px solid var(--border);align-items:start;gap:16px;padding-top:14px;display:flex}.recipe-step p{color:var(--text-muted);font-size:14px}.locked{border-radius:var(--radius-md);background:var(--surface-subtle);gap:8px;padding:18px;font-size:14px;display:grid}.preview-label{border-radius:var(--pill);background:var(--info-soft);width:-moz-fit-content;width:fit-content;color:var(--info);padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.macros{flex-wrap:wrap;gap:8px;display:flex}.macro{border-radius:var(--pill);background:color-mix(in srgb, var(--surface) 80%, transparent);box-shadow:inset 0 0 0 1px var(--hairline);align-items:baseline;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.macro:before{content:"";border-radius:50%;align-self:center;width:8px;height:8px}.macro-protein:before{background:var(--protein)}.macro-fat:before{background:var(--fat)}.macro-carbs:before{background:var(--carbs)}.macro b{font-variant-numeric:tabular-nums}.cover{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-md);background:var(--surface-subtle);width:100%}.auth{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.auth-top{padding:calc(16px + env(safe-area-inset-top)) 20px 16px;justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-top .brand .wordmark{font-size:28px}.auth-main{width:100%;max-width:var(--container);place-items:center;gap:40px;margin-inline:auto;padding:16px 20px 48px;display:grid}.auth-card{width:100%;max-width:460px;animation:rise .7s var(--ease-spring) both;gap:22px;display:grid}.auth-card .card{border-radius:var(--radius-xl);gap:18px;padding:24px;display:grid}.auth-card h1{font-size:clamp(36px,9vw,48px)}.auth-card .lead{color:var(--text-muted)}.auth-art{border-radius:var(--radius-lg);border:1px solid var(--hairline);background:var(--surface-subtle);width:100%;height:auto}.auth-foot{width:100%;max-width:var(--container);padding:20px 20px calc(20px + env(safe-area-inset-bottom));color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-inline:auto;font-size:13px;display:flex}.auth-stage{isolation:isolate;width:100%;max-width:480px;height:560px;animation:rise 1s var(--ease-spring) .1s both;display:none;position:relative}.auth-stage:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 72% 20%, color-mix(in srgb, var(--green-soft) 80%, transparent), transparent 52%), radial-gradient(ellipse at 27% 60%, color-mix(in srgb, var(--brand) 28%, transparent), transparent 57%), radial-gradient(ellipse at 72% 82%, color-mix(in srgb, var(--illustration-wheat) 52%, transparent), transparent 56%);filter:blur(32px);opacity:.9;position:absolute;inset:-6% -4%}.auth-photo{border:6px solid var(--surface);box-shadow:0 34px 76px -24px color-mix(in srgb, var(--text) 35%, transparent);border-radius:40px;animation:7s ease-in-out infinite float-a;position:absolute;inset:40px 40px 60px 50px;overflow:hidden;transform:rotate(3deg)}.auth-photo img{object-fit:cover;width:100%;height:100%}.auth-chip{z-index:2;background:color-mix(in srgb, var(--surface) 80%, transparent);border-radius:22px;align-items:center;gap:12px;max-width:250px;padding:12px 16px 12px 12px;font-size:12px;line-height:1.35;display:flex;position:absolute}.auth-chip div b{font-size:14px;font-weight:600;display:block}.auth-chip div span{color:var(--text-muted)}.auth-chip:nth-child(2){animation:8s ease-in-out -2s infinite float-b;bottom:90px;left:0;transform:rotate(-5deg)}.auth-chip:nth-child(3){animation:9s ease-in-out -3s infinite float-c;top:70px;right:0;transform:rotate(3deg)}.auth-chip:nth-child(4){animation:6s ease-in-out -1s infinite float-c;bottom:24px;right:10px;transform:rotate(2deg)}@media (min-width:640px){.auth-top,.auth-main,.auth-foot{padding-inline:32px}.auth-card .card{padding:30px}}@media (min-width:1024px){.auth-top{max-width:var(--container);width:100%;margin-inline:auto;padding-top:24px}.auth-main:has(.auth-stage){grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-items:start;gap:64px}.auth-stage{justify-self:center;display:block}}@keyframes float-a{0%,to{transform:translateY(0)rotate(3deg)}50%{transform:translateY(-12px)rotate(1deg)}}@keyframes float-b{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(6px)rotate(-3deg)}}@keyframes float-c{0%,to{transform:translateY(0)rotate(3deg)}50%{transform:translateY(-6px)rotate(1deg)}}
