@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:var(--fw-medium);font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:var(--fw-medium);font-display:swap;src:url(/fonts/inter-latin-ext-500-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:var(--fw-semibold);font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:var(--fw-semibold);font-display:swap;src:url(/fonts/inter-latin-ext-600-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:var(--fw-bold);font-display:swap;src:url(/fonts/inter-latin-700-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:var(--fw-bold);font-display:swap;src:url(/fonts/inter-latin-ext-700-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:var(--fw-medium);font-display:swap;src:url(/fonts/fraunces-latin-500-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:var(--fw-medium);font-display:swap;src:url(/fonts/fraunces-latin-ext-500-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:var(--fw-semibold);font-display:swap;src:url(/fonts/fraunces-latin-600-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:var(--fw-semibold);font-display:swap;src:url(/fonts/fraunces-latin-ext-600-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:var(--fw-medium);font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:var(--fw-medium);font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:var(--fw-semibold);font-display:swap;src:url(/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:var(--fw-semibold);font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-600-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}:root{--bg:#f3f0e8;--panel:#fbf9f4;--ink:#171a33;--muted:#545876;--line:rgba(120,96,48,.22);--line-strong:rgba(133,103,42,.85);--accent:#3d43c4;--on-accent:#fff;--danger:#b8302b;--ok:#3d43c4;--warn:#7a5e24;--brass:#7a5e24;--flag:#ffd166;--focus:#3d43c4;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:34px;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.2;--lh-body:1.45;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:999px;--dur-fast:120ms;--dur-base:200ms;--dur-slow:320ms;--ease-out:cubic-bezier(.22,.68,.24,1);--ease-inout:ease-in-out;--tap:48px;--font-ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-display:"Fraunces","Iowan Old Style",Georgia,"Noto Serif","Times New Roman",serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Roboto Mono",monospace}@media (prefers-color-scheme:dark){:root{--bg:#0b0e22;--panel:#111531;--ink:#f3efe4;--muted:#b9b4a5;--line:hsla(40,53%,65%,.18);--line-strong:hsla(40,53%,65%,.55);--accent:#a9b3ff;--on-accent:#0b0e22;--danger:#ff7a73;--ok:#a9b3ff;--warn:#d6b678;--brass:#d6b678;--focus:#d6b678}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs-md)/var(--lh-body) var(--font-ui)}a{color:var(--accent)}header.top{display:flex;gap:var(--space-5);align-items:baseline;flex-wrap:wrap;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--line);background:var(--panel)}header.top strong{font-size:var(--fs-md);letter-spacing:-.01em}header.top nav{display:flex;gap:var(--space-4);flex-wrap:wrap}header.top nav a{text-decoration:none;color:var(--muted)}header.top nav a:hover{color:var(--ink)}main{padding:var(--space-5);max-width:1100px}h1{font-size:var(--fs-xl);margin:0 0 var(--space-1)}h2{font-size:var(--fs-md);margin:var(--space-6) 0 var(--space-2)}p.lede{color:var(--muted);margin:0 0 var(--space-4);max-width:70ch}section.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4);margin-bottom:var(--space-4)}table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}td,th{text-align:left;padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:var(--fw-semibold);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:none}.tag{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--fs-xs);border:1px solid var(--line)}.tag.on{color:var(--ok);border-color:var(--ok)}.tag.off{color:var(--muted)}.tag.hot{color:var(--danger);border-color:var(--danger)}.tag.warn{color:var(--warn);border-color:var(--warn)}form.row{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;margin-top:var(--space-3)}label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--fs-xs);color:var(--muted)}input,select{font:inherit;padding:var(--space-2) var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);min-width:150px;min-height:38px;border-color:var(--line-strong)}input:not(.app *),select:not(.app *){min-height:var(--tap)}section.card.flagged{border-color:var(--flag)}.phone h1,h1{font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:-.01em}.tag,code,h2,th{font-family:var(--font-ui)}code{font-family:var(--font-mono)}button{font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer;min-height:38px}button:not(.app *){min-height:var(--tap)}button.small:not(.app *){min-height:44px}header.top nav a{display:inline-flex;align-items:center;min-height:44px}:is(button,a,input,select,summary):focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:active{transform:scale(.98)}button[disabled]{opacity:.6;cursor:not-allowed}button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}button.danger{background:transparent;color:var(--danger);border-color:var(--danger)}button:hover{filter:brightness(1.06)}a.cta{display:block;text-align:center;text-decoration:none;font:inherit;font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent);color:var(--on-accent);min-height:var(--tap)}a.cta:hover{filter:brightness(1.06)}.grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.stat b{display:block;font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em}.note,.stat span{color:var(--muted);font-size:var(--fs-sm)}.err,.note{margin-top:var(--space-2)}.err{color:var(--danger)}.err,code{font-size:var(--fs-sm)}code{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-1)}.phone{max-width:420px;margin:0 auto}.phone h1{font-size:var(--fs-xl);margin-bottom:var(--space-2)}form.stack{display:flex;flex-direction:column;gap:var(--space-3)}form.stack label{gap:var(--space-2)}form.stack input{min-width:0;width:100%}form.stack button[type=submit]{margin-top:var(--space-1)}fieldset.box{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-3) var(--space-3);margin:0;background:var(--panel)}fieldset.box legend{color:var(--muted);font-size:var(--fs-xs);padding:0 var(--space-2)}label.check{flex-direction:row;align-items:center;gap:var(--space-2);color:var(--ink);font-size:var(--fs-md);padding:var(--space-2) 0;cursor:pointer;min-height:var(--tap)}label.check input{min-width:22px;width:22px;height:22px;min-height:22px;margin:0}label.check span{line-height:var(--lh-tight)}button.small{padding:var(--space-1) var(--space-2);min-height:30px;font-size:var(--fs-sm)}.row-actions{display:inline-flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.photo-grid{list-style:none;padding:0;margin:var(--space-3) 0 0;display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.photo-grid li{display:flex;flex-direction:column;gap:var(--space-1)}.photo-gone,.photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.photo-gone{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:var(--fs-xs);border-style:dashed}img.preview{max-width:100%}img.preview,img.thumb{border:1px solid var(--line);border-radius:var(--radius-sm)}img.thumb{width:96px;height:96px;object-fit:cover;background:var(--bg)}ul.tight{margin:0;padding-left:var(--space-4);font-size:var(--fs-sm)}.ok{color:var(--ok)}.small{font-size:var(--fs-xs)}input[type=file]{padding:var(--space-2)}section.card{overflow-x:auto}code{overflow-wrap:anywhere}header.top{padding-top:max(var(--space-3),env(safe-area-inset-top))}header.top,main{padding-left:max(var(--space-5),env(safe-area-inset-left));padding-right:max(var(--space-5),env(safe-area-inset-right))}main{padding-bottom:max(var(--space-5),env(safe-area-inset-bottom))}@media (max-width:560px){main{padding-top:var(--space-4)}header.top,main{padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right))}header.top,header.top nav{gap:var(--space-3)}section.card{padding:var(--space-3)}section.card table{min-width:max-content}section.card table.stack{min-width:0}table.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}table.stack,table.stack tbody,table.stack td,table.stack tr{display:block;width:auto}table.stack tr{padding:var(--space-2) 0;border-bottom:1px solid var(--line)}table.stack td,table.stack tr:last-child{border-bottom:none}table.stack td{padding:var(--space-1) 0}table.stack td:first-child{font-weight:var(--fw-semibold)}table.stack td[data-label]:before{content:attr(data-label);display:block;color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}}