@font-face{font-family:"Geist";src:url(fonts/geist-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
--font-ui:"Geist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
--font-display:"Instrument Serif",ui-serif,Georgia,"Times New Roman",serif;
--bg:#F3F0E8;--bg-2:#E9E4D8;--surface:#fff;--surface-2:#F7F5EF;--surface-3:#ECE8DE;
--line:rgba(20,20,16,.09);--line-strong:rgba(20,20,16,.16);
--ink:#141410;--ink-2:#57544B;--ink-3:#77736A;--on-ink:#F7F5EF;
--hero:#151511;--on-hero:#F7F5EF;
--accent:#D4F36B;--accent-strong:#B9DC3F;--on-accent:#141410;
--fridge:#3E7BBF;--fridge-bg:#E6F0FB;--warn:#8F5200;--warn-bg:#FFF1D9;--danger:#D2472E;--danger-bg:#FDE8E3;--ok:#2F7D4F;--ok-bg:#E4F4E8;
--protein:#FF7A59;--carbs:#F4C542;--fat:#8EA8FF;
--mark:#FFE9A8;--mark-ink:#5a3d00;
--shadow-card:0 1px 0 rgba(20,20,16,.03),0 8px 24px -12px rgba(20,20,16,.12);
--shadow-phone:0 50px 90px -30px rgba(40,34,20,.45),0 30px 60px -40px rgba(40,34,20,.5);
--r-sm:14px;--r-md:20px;--r-lg:28px;
color-scheme:light}
@media(prefers-color-scheme:dark){:root{
--bg:#0E0E0C;--bg-2:#080807;--surface:#1A1A17;--surface-2:#151513;--surface-3:#25251F;
--line:rgba(255,255,255,.08);--line-strong:rgba(255,255,255,.16);
--ink:#F4F2EA;--ink-2:#B3AFA3;--ink-3:#8C887E;--on-ink:#141410;--hero:#22221E;--on-hero:#F4F2EA;
--fridge:#8AB8F0;--fridge-bg:rgba(62,123,191,.18);--warn:#F2B45A;--warn-bg:rgba(184,106,0,.2);--danger:#FF8A72;--danger-bg:rgba(210,71,46,.2);--ok:#7FD39D;--ok-bg:rgba(47,125,79,.22);
--mark:rgba(212,243,107,.16);--mark-ink:#E8F7B0;
--shadow-card:0 0 0 1px rgba(255,255,255,.04);--shadow-phone:0 50px 90px -30px rgba(0,0,0,.9);
color-scheme:dark}}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--font-ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--on-ink);padding:10px 16px;border-radius:99px;z-index:100}
.skip:focus{top:12px}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
h1,h2,h3{margin:0;font-weight:400}
.serif,h1,h2{font-family:var(--font-display);letter-spacing:-.015em;line-height:1.02}
h1 em,h2 em{font-style:italic;color:var(--ink-2)}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);margin:0 0 14px;display:inline-flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-strong)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-family:var(--font-display);font-size:1.9rem;text-decoration:none;letter-spacing:-.02em;line-height:1;display:inline-flex;align-items:center;gap:8px}
.brand i{width:26px;height:26px;border-radius:8px;background:var(--accent);color:var(--on-accent);font:normal 400 1.2rem/26px var(--font-display);text-align:center}
.nav{display:flex;align-items:center;gap:6px}
.nav a{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--ink-2);padding:8px 12px;border-radius:99px}
.nav a:hover{color:var(--ink);background:var(--surface-3)}
.nav .hide-m{display:none}
@media(min-width:800px){.nav .hide-m{display:inline-block}}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:99px;background:var(--ink);color:var(--on-ink);font-weight:600;font-size:.92rem;padding:10px 18px;text-decoration:none}
.nav a.pill{color:var(--on-ink)}
.nav a.pill:hover{background:var(--ink);opacity:.85}
.badge{display:inline-flex;align-items:center;gap:10px;background:var(--hero);color:var(--on-hero);border-radius:99px;padding:12px 22px 12px 16px;font-weight:600;font-size:.95rem;cursor:default;user-select:none}
.badge svg{width:18px;height:18px}
.badge small{font-weight:400;opacity:.7}

/* hero */
.hero{padding:44px 0 24px;overflow:hidden}
.hero .wrap{display:grid;gap:40px;align-items:center}
.hero h1{font-size:clamp(3rem,11vw,5.6rem)}
.hero p.sub{font-size:1.15rem;color:var(--ink-2);max-width:34em;margin:22px 0 28px}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.hero-cta span.note{font-size:.88rem;color:var(--ink-2)}
.hero-stage{position:relative;display:flex;justify-content:center;padding:10px 0 0}
.hero-stage::before{content:"";position:absolute;inset:8% 4% 0;background:radial-gradient(60% 60% at 50% 40%,var(--accent) 0,transparent 70%);opacity:.55;filter:blur(30px);z-index:0}
.hero-stage .phone{position:relative;z-index:1}
@media(min-width:900px){.hero{padding:80px 0 40px}.hero .wrap{grid-template-columns:1.1fr .9fr;gap:60px}.hero-stage{justify-content:flex-end}}

/* sections */
section.block{padding:72px 0}
@media(min-width:900px){section.block{padding:110px 0}}
.head{max-width:720px;margin-bottom:44px}
.head h2{font-size:clamp(2.4rem,7vw,4rem)}
.head p{color:var(--ink-2);font-size:1.1rem;margin:18px 0 0}

/* steps */
.steps{display:grid;gap:14px;counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-card);counter-increment:s}
.steps li::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--on-accent);font:400 1.4rem/1 var(--font-display);margin-bottom:18px}
.steps h3{font:600 1.1rem/1.3 var(--font-ui);margin-bottom:6px}
.steps p{margin:0;color:var(--ink-2);font-size:.96rem}
@media(min-width:700px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.steps{grid-template-columns:repeat(4,1fr)}}

/* features */
.features{display:grid;gap:16px}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:20px;min-width:0}
.feat h3{font:600 1.15rem/1.3 var(--font-ui);margin-bottom:6px}
.feat p{margin:0;color:var(--ink-2);font-size:.96rem}
.feat .demo{background:var(--bg);border-radius:var(--r-md);padding:14px;order:-1;border:1px solid var(--line)}
@media(min-width:700px){.features{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.features{grid-template-columns:repeat(3,1fr)}}
.more{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chip{display:inline-flex;align-items:center;font-size:.86rem;font-weight:500;padding:7px 14px;border-radius:99px;background:var(--surface);border:1px solid var(--line-strong);color:var(--ink)}
.chip.on{background:var(--accent);border-color:transparent;color:var(--on-accent)}
.chip.dark{background:var(--ink);color:var(--on-ink);border-color:transparent}

/* mini ui */
.ui{font-size:.8rem;line-height:1.35;color:var(--ink)}
.ui .row{display:flex;align-items:center;gap:10px;padding:9px 10px;background:var(--surface);border-radius:12px;margin-bottom:6px;border:1px solid var(--line)}
.ui .row:last-child{margin-bottom:0}
.ui .grow{flex:1;min-width:0}
.ui b{font-weight:600}
.ui .mut{color:var(--ink-2)}
.ui .tag{font-size:.68rem;font-weight:600;padding:3px 8px;border-radius:99px;background:var(--surface-3);color:var(--ink-2);white-space:nowrap}
.ui .tag.acc{background:var(--accent);color:var(--on-accent)}
.ui .tag.ok{background:var(--ok-bg);color:var(--ok)}
.ui .tag.blue{background:var(--fridge-bg);color:var(--fridge)}
.ui .tag.warn{background:var(--warn-bg);color:var(--warn)}
.ui .thumb{width:34px;height:34px;border-radius:10px;flex:none;background:var(--surface-3)}
.ui .t1{background:linear-gradient(135deg,#F4C542,#FF7A59)}.ui .t2{background:linear-gradient(135deg,#B9DC3F,#2F7D4F)}.ui .t3{background:linear-gradient(135deg,#8EA8FF,#5B5BD6)}.ui .t4{background:linear-gradient(135deg,#FF7A59,#D2472E)}
.ui .cb{width:18px;height:18px;border-radius:6px;border:1.6px solid var(--line-strong);flex:none;display:grid;place-items:center}
.ui .cb.x{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.ui .cb.x::after{content:"";width:8px;height:4px;border:solid currentColor;border-width:0 0 2px 2px;transform:rotate(-45deg) translate(1px,-1px)}
.ui .done{text-decoration:line-through;color:var(--ink-3)}
.ui .aisle{font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:8px 2px 5px}
.ui .aisle:first-child{margin-top:0}
.bar{height:7px;border-radius:99px;background:var(--surface-3);overflow:hidden;display:flex}
.bar i{display:block;height:100%}
.avatar{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font:600 .78rem/1 var(--font-ui);color:#141410}
.a1{background:#D4F36B}.a2{background:#FFB59E}.a3{background:#B6C6FF}.a4{background:#F4D87A}
.timer{display:flex;align-items:center;gap:12px;background:var(--hero);color:var(--on-hero);border-radius:14px;padding:12px 14px}
.timer .t{font:400 1.9rem/1 var(--font-display);font-variant-numeric:tabular-nums}
.ring{position:relative;width:64px;height:64px;flex:none}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring span{position:absolute;inset:0;display:grid;place-items:center;font:400 1.15rem/1 var(--font-display)}
.offline{display:flex;align-items:center;gap:8px;background:var(--surface-3);border-radius:99px;padding:6px 12px;font-size:.72rem;font-weight:600;color:var(--ink-2);margin-bottom:8px;width:max-content;max-width:100%}
.offline::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--warn)}

/* phone */
.phone{--w:264px;width:var(--w);aspect-ratio:9/19;background:#0b0b09;border-radius:44px;padding:9px;box-shadow:var(--shadow-phone),inset 0 0 0 1.5px #3a3a35;position:relative;flex:none}
.phone .scr{width:100%;height:100%;border-radius:36px;background:var(--bg);overflow:hidden;position:relative;color:var(--ink);font-size:11px;line-height:1.3;display:flex;flex-direction:column}
.phone .scr::before{content:"";position:absolute;top:8px;left:50%;width:70px;height:20px;background:#0b0b09;border-radius:99px;transform:translateX(-50%);z-index:5}
.phone .sb{height:38px;flex:none;display:flex;align-items:flex-end;justify-content:space-between;padding:0 20px 4px;font-weight:600;font-size:10px}
.phone .body{flex:1;padding:6px 14px 0;overflow:hidden;min-height:0}
.phone h4{margin:0 0 2px;font:400 28px/1 var(--font-display);letter-spacing:-.01em}
.phone h4 em{font-style:italic;color:var(--ink-2)}
.phone .sub{color:var(--ink-2);font-size:10.5px;margin:0 0 10px}
.phone .seg{display:flex;background:var(--surface-3);border-radius:99px;padding:3px;margin-bottom:10px}
.phone .seg span{flex:1;text-align:center;padding:5px 0;border-radius:99px;font-weight:600;font-size:10px;color:var(--ink-2)}
.phone .seg .on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.phone .days{display:flex;justify-content:space-between;margin-bottom:10px}
.phone .days span{width:31px;text-align:center;padding:5px 0;border-radius:12px;font-size:9px;color:var(--ink-2)}
.phone .days b{display:block;font-size:13px;font-weight:600;color:var(--ink)}
.phone .days .on{background:var(--ink);color:var(--on-ink)}.phone .days .on b{color:var(--on-ink)}
.phone .slot{font-size:8.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:9px 2px 4px;display:flex;justify-content:space-between}
.phone .card{background:var(--surface);border-radius:16px;padding:8px;display:flex;gap:9px;align-items:center;box-shadow:var(--shadow-card);margin-bottom:5px}
.phone .card .thumb{width:38px;height:38px;border-radius:11px;flex:none}
.phone .card b{font-weight:600;font-size:11px;display:block}
.phone .card small{color:var(--ink-2);font-size:9.5px}
.phone .thumb.t1{background:linear-gradient(135deg,#F4C542,#FF7A59)}.phone .thumb.t2{background:linear-gradient(135deg,#B9DC3F,#2F7D4F)}.phone .thumb.t3{background:linear-gradient(135deg,#8EA8FF,#5B5BD6)}.phone .thumb.t4{background:linear-gradient(135deg,#FF7A59,#D2472E)}
.phone .kcal{background:var(--hero);color:var(--on-hero);border-radius:18px;padding:10px 12px;display:flex;align-items:center;gap:12px;margin-bottom:6px}
.phone .kcal .ring{width:46px;height:46px}.phone .kcal .ring span{font-size:14px}
.phone .kcal small{opacity:.7;font-size:9.5px;display:block}
.phone .tabs{flex:none;display:flex;justify-content:space-around;padding:8px 8px 14px;border-top:1px solid var(--line);background:var(--surface);font-size:8.5px;font-weight:500;color:var(--ink-3)}
.phone .tabs span{display:flex;flex-direction:column;align-items:center;gap:3px}
.phone .tabs span::before{content:"";width:16px;height:16px;border-radius:5px;background:currentColor;opacity:.35}
.phone .tabs .on{color:var(--ink)}.phone .tabs .on::before{background:var(--accent-strong);opacity:1}
.phone .btn{display:block;text-align:center;background:var(--ink);color:var(--on-ink);border-radius:99px;padding:10px;font-weight:600;font-size:11px;margin-top:8px}
.phone .ui .row{font-size:10.5px}
.phones{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.showcase{background:var(--bg-2);border-radius:var(--r-lg);padding:40px 16px 0;overflow:hidden;display:flex;justify-content:center;gap:20px}
.showcase .phone{--w:230px;margin-bottom:-60px}
.showcase .phone:nth-child(2){margin-top:30px}
.showcase .phone:nth-child(3){display:none}
@media(min-width:800px){.showcase{padding:56px 40px 0;gap:36px}.showcase .phone{--w:250px}.showcase .phone:nth-child(3){display:flex}}
@media(max-width:520px){.showcase .phone:nth-child(2){display:none}}
.phone-cap{text-align:center;font-size:.9rem;color:var(--ink-2);margin-top:10px}

/* family */
.family{display:grid;gap:36px;align-items:center}
.family .card-big{background:var(--hero);color:var(--on-hero);border-radius:var(--r-lg);padding:22px;display:grid;gap:10px}
.member{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:rgba(255,255,255,.06);border-radius:18px;padding:12px 14px}
.member .avatar{width:38px;height:38px}
.member b{font-weight:600;display:block}
.member small{opacity:.7}
.member .k{font:400 1.7rem/1 var(--font-display);text-align:right}
.member .k small{display:block;font:400 .72rem var(--font-ui)}
.family ul{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
.family li{padding-left:34px;position:relative;color:var(--ink-2)}
.family li::before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--accent)}
.family li::after{content:"";position:absolute;left:6px;top:10px;width:8px;height:4px;border:solid var(--on-accent);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.family li b{color:var(--ink)}
@media(min-width:900px){.family{grid-template-columns:1fr 1fr;gap:70px}}

/* privacy */
.privacy{background:var(--hero);color:var(--on-hero);border-radius:var(--r-lg);padding:36px 24px}
.privacy .eyebrow{color:var(--on-hero);opacity:.75}
.privacy h2 em{color:var(--on-hero);opacity:.65}
.privacy .head p{color:var(--on-hero);opacity:.75}
.pgrid{display:grid;gap:14px}
.pgrid div{background:rgba(255,255,255,.07);border-radius:var(--r-md);padding:20px}
.pgrid h3{font:600 1rem/1.3 var(--font-ui);margin-bottom:6px}
.pgrid p{margin:0;font-size:.93rem;opacity:.78}
.privacy .link{display:inline-block;margin-top:26px;color:var(--on-accent);background:var(--accent);border-radius:99px;padding:11px 20px;font-weight:600;text-decoration:none}
@media(min-width:700px){.privacy{padding:56px}.pgrid{grid-template-columns:repeat(3,1fr)}}

/* pricing */
.plans{display:grid;gap:16px;max-width:860px}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:6px}
.plan.hl{background:var(--accent);color:var(--on-accent);border-color:transparent}
.plan h3{font:400 2.2rem/1 var(--font-display)}
.plan .for{margin:0 0 14px;color:var(--ink-2);font-size:.95rem}
.plan.hl .for{color:rgba(20,20,16,.75)}
.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price strong{font:400 3rem/1 var(--font-display)}
.price span{font-size:.95rem;opacity:.8}
.plan .alt{margin:2px 0 16px;font-size:.95rem}
.plan ul{list-style:none;margin:auto 0 0;padding:16px 0 0;border-top:1px solid var(--line-strong);display:grid;gap:8px;font-size:.93rem}
.plan.hl ul{border-color:rgba(20,20,16,.2)}
.plan li::before{content:"\2713";font-weight:700;margin-right:9px}
@media(min-width:700px){.plans{grid-template-columns:1fr 1fr}}
.fine{font-size:.9rem;color:var(--ink-2);margin-top:22px;max-width:60em}

/* faq */
.faq{max-width:780px}
details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;box-shadow:var(--shadow-card)}
summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:600;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:400 1.6rem/1 var(--font-display);flex:none}
details[open] summary::after{content:"\2212"}
details p{margin:0;padding:0 22px 20px;color:var(--ink-2)}
details p a{color:var(--ink)}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:56px 0 40px;margin-top:40px}
.foot{display:grid;gap:32px}
.foot p{color:var(--ink-2);font-size:.92rem;max-width:26em;margin:12px 0 0}
.foot h2{font:600 .78rem/1 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot ul a{text-decoration:none;font-size:.95rem}
.foot ul a:hover{text-decoration:underline}
.foot .cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.copy{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:.85rem;color:var(--ink-2)}
@media(min-width:800px){.foot{grid-template-columns:1.2fr 1.6fr}}

/* legal */
.legal-hero{padding:56px 0 20px}
.legal-hero h1{font-size:clamp(2.6rem,9vw,4.6rem)}
.legal-hero .meta{color:var(--ink-2);margin:16px 0 0}
.legal{display:grid;gap:32px;padding-bottom:40px}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 22px;align-self:start}
.toc h2{font:600 .78rem/1 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px}
.toc ol{margin:0;padding-left:20px;display:grid;gap:6px;font-size:.93rem}
.toc a{text-decoration:none;color:var(--ink-2)}.toc a:hover{color:var(--ink);text-decoration:underline}
.prose{max-width:68ch;min-width:0}
.prose h2{font-size:2.1rem;margin:2.4em 0 .5em;scroll-margin-top:80px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--ink-2)}
.prose p{margin:0 0 1em}
.prose strong{color:var(--ink)}
.prose ul{padding-left:1.2em;margin:0 0 1em;display:grid;gap:.4em}
.prose a{color:var(--ink);text-decoration-thickness:1.5px}
.tablewrap{overflow-x:auto;margin:0 0 1.4em;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);background:var(--surface-2)}
tr:last-child td{border-bottom:0}
td{color:var(--ink-2)}td:first-child{color:var(--ink);font-weight:500}
.callout{background:var(--accent);color:var(--on-accent);border-radius:var(--r-md);padding:22px 24px;margin:0 0 1.4em}
.callout h3{font:400 1.7rem/1.1 var(--font-display);margin-bottom:8px}
.callout p,.callout li{color:rgba(20,20,16,.85)}
.callout p:last-child{margin:0}
.callout a{color:var(--on-accent)}
.key{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 22px;margin:0 0 1.4em;box-shadow:var(--shadow-card)}
.key h3{font:400 1.5rem/1.1 var(--font-display);margin-bottom:8px}
.key p:last-child{margin:0}
.notice{background:var(--warn-bg);color:var(--warn);border-radius:var(--r-md);padding:14px 18px;font-size:.93rem;margin:22px 0 0;max-width:68ch}
.todo,.check{background:var(--mark);color:var(--mark-ink);border-radius:6px;padding:1px 7px;font-weight:600;font-size:.88em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.check{background:var(--warn-bg);color:var(--warn)}
.toc{position:relative}.legal-hero .meta:empty{display:none}
@media(min-width:960px){.legal{grid-template-columns:260px minmax(0,1fr);gap:64px}.toc{position:sticky;top:84px}}
.feat .demo{min-height:170px;display:flex;flex-direction:column;justify-content:center}.feat .demo>.row,.feat .demo>.timer{width:100%}
@media(max-width:520px){th,td{padding:11px 10px;font-size:.86rem}}
