@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/InstrumentSans-latin.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f4ec;--surface:#fcfbf7;--surface-sunken:#efebe0;--ink:#1b1a3a;--ink-soft:#3d3c5c;--muted:#5b5976;--line:#d9d4c4;--line-strong:#b9b3a0;--accent:#3730a3;--accent-hover:#2b2582;--on-accent:#fff;--accent-tint:#e8e6f6;--link:#3730a3;--focus:#3730a3;--amber:#f59e0b;--on-amber:#1b1a3a;--ok:#1d6b45;--ok-tint:#e1efe6;--warn:#8a5300;--warn-tint:#f6ead2;--bad:#ac2b22;--bad-tint:#f6dedb;--chart-bar:#3730a3;--chart-bar-dim:#c9c5e8;--chart-grid:#d9d4c4;--font-display:"Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-body:"Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--step--1:.8125rem;--step-0:1rem;--step-1:1.1875rem;--step-2:1.5rem;--step-3:clamp(1.75rem, 1.4rem + 1.4vw, 2.375rem);--step-4:clamp(2.375rem, 1.5rem + 3.6vw, 4.125rem);--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--s-9:6rem;--radius:6px;--radius-lg:10px;--gutter:clamp(1rem, 4vw, 2.5rem);--measure:38rem;--page:72rem;--ease:cubic-bezier(.2, 0, 0, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12112b;--surface:#1a1938;--surface-sunken:#0d0c22;--ink:#f1eee4;--ink-soft:#d2cfe6;--muted:#a9a7c6;--line:#2f2e5a;--line-strong:#4a4880;--accent:#b6b2ff;--accent-hover:#cdcaff;--on-accent:#12112b;--accent-tint:#25245a;--link:#b6b2ff;--focus:#d8d5ff;--ok:#7fd6a6;--ok-tint:#17372a;--warn:#f4bf5c;--warn-tint:#3a2d12;--bad:#ff9f98;--bad-tint:#44201f;--chart-bar:#b6b2ff;--chart-bar-dim:#3b3a78;--chart-grid:#2f2e5a}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--s-7)}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;line-height:1.6;display:flex}main{flex:1 0 auto;width:100%}img,svg{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.012em;text-wrap:balance;margin:0;font-weight:500;line-height:1.12}h1{font-size:var(--step-4);letter-spacing:-.022em}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}p{text-wrap:pretty;margin:0}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}ul,ol{margin:0;padding:0}hr{border:0;border-top:1px solid var(--line);margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}::selection{background:var(--amber);color:var(--on-amber)}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--s-4);z-index:50;background:var(--ink);color:var(--bg);padding:var(--s-3) var(--s-4);border-radius:var(--radius);position:absolute;top:-4rem}.skip-link:focus{top:var(--s-4)}.container{width:100%;max-width:var(--page);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.stack>*+*{margin-top:var(--stack,var(--s-4))}.site-header{border-bottom:1px solid var(--line)}.site-header .container{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:4.25rem;display:flex}.brand{color:inherit;align-items:center;margin-left:-.55rem;display:inline-flex}.brand img{width:auto;height:2.75rem}.nav{gap:var(--s-5);font-size:var(--step--1);font-weight:500;display:flex}.nav a{color:var(--ink-soft);padding-block:var(--s-3);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);text-underline-offset:.4em;text-decoration:underline;text-decoration-thickness:2px}.nav a.nav__featured{color:var(--ink);font-weight:600;position:relative}.nav a.nav__featured:after{content:"";inset-inline:0;background:var(--amber);transform-origin:0;border-radius:2px;height:2px;transition:transform .25s;animation:1.1s ease-out .4s backwards nav-featured-draw;position:absolute;bottom:.4rem;transform:scaleX(.35)}.nav a.nav__featured:hover,.nav a.nav__featured:focus-visible,.nav a.nav__featured[aria-current=page]{text-decoration:none}.nav a.nav__featured:hover:after,.nav a.nav__featured:focus-visible:after,.nav a.nav__featured[aria-current=page]:after{transform:scaleX(1)}@keyframes nav-featured-draw{0%{transform:scaleX(0)}60%{transform:scaleX(.7)}to{transform:scaleX(.35)}}@media (prefers-reduced-motion:reduce){.nav a.nav__featured:after{transition:none;animation:none}}.site-footer{border-top:1px solid var(--line);margin-top:var(--s-9);padding-block:var(--s-6);font-size:var(--step--1);color:var(--muted)}.site-footer .container{justify-content:space-between;gap:var(--s-3) var(--s-6);flex-wrap:wrap;display:flex}.site-footer p{max-width:44rem}.btn{--btn-bg:transparent;--btn-fg:var(--ink);--btn-bd:var(--line-strong);justify-content:center;align-items:center;gap:var(--s-2);border:1px solid var(--btn-bd);border-radius:var(--radius);background:var(--btn-bg);min-height:2.75rem;color:var(--btn-fg);font:inherit;cursor:pointer;transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);padding:.6rem 1.15rem;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{--btn-bd:var(--ink);text-decoration:none}.btn--primary{--btn-bg:var(--accent);--btn-fg:var(--on-accent);--btn-bd:var(--accent)}.btn--primary:hover{--btn-bg:var(--accent-hover);--btn-bd:var(--accent-hover)}.btn--small{min-height:2.25rem;font-size:var(--step--1);padding:.35rem .8rem}.btn--danger{--btn-fg:var(--bad);--btn-bd:var(--bad)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.link-button{font:inherit;color:var(--link);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.tag{letter-spacing:.02em;border:1px solid var(--line-strong);color:var(--ink-soft);white-space:nowrap;border-radius:99px;align-items:center;gap:.4rem;padding:.32rem .55rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.tag--free{border-color:var(--accent);color:var(--accent)}.pro-mark{letter-spacing:.08em;background:var(--amber);color:var(--on-amber);border-radius:3px;padding:.25rem .4rem;font-size:.6875rem;font-weight:700;line-height:1;display:inline-block}.status{background:var(--surface-sunken);color:var(--ink-soft);white-space:nowrap;border-radius:99px;align-items:center;gap:.45rem;padding:.28rem .6rem;font-size:.8125rem;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.status--active{background:var(--ok-tint);color:var(--ok)}.status--expired,.status--exhausted{background:var(--warn-tint);color:var(--warn)}.status--revoked{background:var(--bad-tint);color:var(--bad)}.field{gap:var(--s-2);display:grid}.field>label,.field>.label{font-size:var(--step--1);color:var(--ink-soft);font-weight:600}.input,select.input{background:var(--surface);width:100%;min-height:2.75rem;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;padding:.55rem .75rem;font-size:1rem}.input:hover:not(:disabled){border-color:var(--ink-soft)}.input:disabled{background:var(--surface-sunken);color:var(--muted);cursor:not-allowed}.input[aria-invalid=true]{border-color:var(--bad)}.hint{font-size:var(--step--1);color:var(--muted)}.check{align-items:flex-start;gap:var(--s-3);font-size:.9375rem;line-height:1.45;display:flex}.check input{width:1.25rem;height:1.25rem;accent-color:var(--accent);flex:none;margin:.1rem 0 0}.check label{cursor:pointer}.notice{padding:var(--s-3) var(--s-4);border-left:3px solid var(--line-strong);background:var(--surface-sunken);border-radius:0 var(--radius) var(--radius) 0;font-size:.9375rem}.notice--ok{border-color:var(--ok);background:var(--ok-tint)}.notice--bad{border-color:var(--bad);background:var(--bad-tint)}.notice--warn{border-color:var(--amber);background:var(--warn-tint)}.notice strong{font-weight:600}.hero{padding-block:var(--s-8) var(--s-7)}.hero h1{max-width:16ch}.hero h1 em{color:var(--accent);font-style:italic;font-weight:400}.hero__lede{max-width:34rem;font-size:var(--step-1);color:var(--ink-soft);line-height:1.5}.hero__cta{padding-top:var(--s-2)}@media (width>=52rem){.hero{padding-block:var(--s-9) var(--s-8)}}.toolbar{justify-content:space-between;align-items:center;gap:var(--s-4);padding-block:var(--s-4);border-block:1px solid var(--line);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{min-height:2.5rem;color:var(--ink-soft);border:0;border-left:1px solid var(--line-strong);font:inherit;cursor:pointer;background:0 0;padding:.4rem 1rem;font-size:.9375rem;font-weight:500}.segmented button:first-child{border-left:0}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.segmented button:focus-visible{outline-offset:-3px}.search{flex:14rem;max-width:22rem}.result-count{font-size:var(--step--1);color:var(--muted);min-height:1.5em}.catalog{gap:var(--s-6) var(--s-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr));list-style:none;display:grid}.card{gap:var(--s-4);flex-direction:column;display:flex;position:relative}.card__cover{border:1px solid var(--line);border-radius:var(--radius);aspect-ratio:4/5;background:var(--surface-sunken);transition:border-color .15s var(--ease);display:block;overflow:hidden}.card__cover img,.card__cover svg{object-fit:cover;width:100%;height:100%}.card:hover .card__cover{border-color:var(--ink)}.card__body{gap:var(--s-2);display:grid}.card__meta{align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.card__title{font-size:var(--step-1);line-height:1.2}.card__title a{color:var(--ink);text-decoration:none}.card__title a:after{content:"";position:absolute;inset:0}.card__title a:focus-visible{outline:none}.card:has(.card__title a:focus-visible) .card__cover{outline:2px solid var(--focus);outline-offset:3px}.card__tagline{color:var(--muted);font-size:.9375rem;line-height:1.45}.price{font-variant-numeric:tabular-nums;font-weight:600}.empty{padding:var(--s-7) 0;max-width:30rem}.empty h2{font-size:var(--step-2);margin-bottom:var(--s-2)}@media (width<=34rem){.catalog{gap:var(--s-5);grid-template-columns:1fr}.card{align-items:flex-start;gap:var(--s-4);flex-direction:row}.card__cover{flex:none;width:5.5rem}}.crumbs{padding-block:var(--s-5) 0;font-size:var(--step--1);color:var(--muted)}.crumbs ol{gap:var(--s-2);flex-wrap:wrap;list-style:none;display:flex}.crumbs li+li:before{content:"/";margin-right:var(--s-2);color:var(--line-strong)}.crumbs a{color:var(--muted)}.product{gap:var(--s-7);padding-block:var(--s-6) 0;display:grid}.product__head{gap:var(--s-4);display:grid}.product__head h1{max-width:20ch;font-size:clamp(2rem,1.3rem + 3vw,3.5rem)}.product__tagline{font-size:var(--step-1);color:var(--ink-soft);max-width:34rem;line-height:1.45}.product__main{gap:var(--s-7);min-width:0;display:grid}.section-title{font-size:var(--step-2);margin-bottom:var(--s-4)}.prose{max-width:var(--measure);gap:var(--s-4);color:var(--ink-soft);display:grid}.prose p{line-height:1.7}.features{max-width:var(--measure);border-top:1px solid var(--line);gap:0;list-style:none;display:grid}.features li{padding:var(--s-3) 0 var(--s-3) var(--s-5);border-bottom:1px solid var(--line);line-height:1.5;position:relative}.features li:before{content:"";border:1.5px solid var(--accent);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:1.2rem;left:0}.facts{gap:var(--s-2) var(--s-6);max-width:var(--measure);grid-template-columns:max-content 1fr;margin:0;font-size:.9375rem;display:grid}.facts dt{color:var(--muted)}.facts dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.panel{gap:var(--s-5);align-content:start;display:grid}.panel__cover{border:1px solid var(--line);border-radius:var(--radius);aspect-ratio:4/5;max-width:17rem;display:none;overflow:hidden}.panel__cover img,.panel__cover svg{object-fit:cover;width:100%;height:100%}.panel__price{align-items:baseline;gap:var(--s-3);display:flex}.panel__amount{font-family:var(--font-display);font-size:var(--step-3);font-weight:500;line-height:1}.panel__actions{gap:var(--s-3);display:grid}.block{border-top:1px solid var(--line);padding-top:var(--s-5);gap:var(--s-4);display:grid}.block h2{font-size:var(--step-1);font-family:var(--font-body);letter-spacing:0;font-weight:600}.block--pro{border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:var(--s-5);background:var(--surface)}.block--pro h2{align-items:center;gap:var(--s-3);display:flex}.extras{gap:var(--s-2);color:var(--ink-soft);font-size:.9375rem;list-style:none;display:grid}.extras li{padding-left:1.1rem;line-height:1.45;position:relative}.extras li:before{content:"+";color:var(--accent);font-weight:700;position:absolute;left:0}@media (width>=60rem){.product{column-gap:var(--s-8);row-gap:var(--s-6);grid-template-columns:minmax(0,1fr) 21rem;align-items:start}.product__head{grid-column:1}.product__main{grid-area:2/1}.panel{top:var(--s-5);grid-area:1/2/span 2;position:sticky}.panel__cover{display:block}}.narrow{max-width:34rem;padding-block:var(--s-7) 0;gap:var(--s-6);display:grid}.narrow h1{font-size:clamp(1.9rem,1.4rem + 2vw,2.75rem)}.summary-row{justify-content:space-between;gap:var(--s-4);padding-block:var(--s-3);border-bottom:1px solid var(--line);display:flex}.summary-row:first-child{border-top:1px solid var(--line)}.radio-group{border:1px solid var(--line-strong);border-radius:var(--radius);padding:var(--s-4);gap:var(--s-3);margin:0;display:grid}.radio-group legend{padding-inline:var(--s-2);font-size:var(--step--1);color:var(--ink-soft);font-weight:600}.sim-banner{font-size:var(--step--1);letter-spacing:.04em;text-transform:uppercase;color:var(--warn);font-weight:600}.mail{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);font-size:.9375rem;overflow:hidden}.mail__head{padding:var(--s-3) var(--s-4);background:var(--surface-sunken);border-bottom:1px solid var(--line);font-size:var(--step--1);color:var(--muted);gap:2px;display:grid}.mail__head strong{color:var(--ink)}.mail__body{padding:var(--s-4);gap:var(--s-3);display:grid}.mail__body code{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.8125rem}.counter{font-family:var(--font-display);font-size:var(--step-3);line-height:1}.admin-bar{background:var(--bg);border-bottom:1px solid var(--line)}.admin-bar .container{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-5);flex-wrap:wrap;min-height:3.5rem;display:flex}.admin-bar .brand img{height:2.25rem}.admin-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-strong);border-radius:3px;padding:.2rem .4rem;font-size:.6875rem;font-weight:700}.admin-page{padding-block:var(--s-6) 0;gap:var(--s-6);display:grid}.admin-page>header{justify-content:space-between;align-items:end;gap:var(--s-4);flex-wrap:wrap;display:flex}.admin-page h1{font-size:var(--step-3)}.tiles{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:0;display:grid;overflow:hidden}.tile{padding:var(--s-4) var(--s-5);border-left:1px solid var(--line);gap:var(--s-1);align-content:start;display:grid}.tile:first-child{border-left:0}.tile__label{font-size:var(--step--1);color:var(--muted)}.tile__value{font-family:var(--font-display);font-size:var(--step-3);font-variant-numeric:tabular-nums;line-height:1.1}@media (width<=40rem){.tile{border-left:0;border-top:1px solid var(--line)}.tile:first-child{border-top:0}}.chart-box{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:var(--s-5);gap:var(--s-4);display:grid}.chart-box__head{gap:var(--s-3) var(--s-5);flex-wrap:wrap;justify-content:space-between;align-items:end;display:flex}.chart-box__head h2{font-size:var(--step-1);font-family:var(--font-body);letter-spacing:0;font-weight:600}.chart-controls{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.chart-controls select.input{width:auto;min-height:2.5rem}#chart{width:100%;min-height:15rem}#chart svg{width:100%;height:auto;overflow:visible}.chart-bar{fill:var(--chart-bar)}.chart-bar--zero{fill:var(--chart-bar-dim)}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-base{stroke:var(--line-strong);stroke-width:1px}.chart-text{fill:var(--muted);font-family:var(--font-body);font-size:11px}.chart-value{fill:var(--ink);font-family:var(--font-body);font-size:11px;font-weight:600}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.9375rem}table.data caption{text-align:left;padding:var(--s-4) var(--s-4) var(--s-2);font-weight:600}table.data th,table.data td{padding:var(--s-3) var(--s-4);text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}table.data thead th{font-size:var(--step--1);color:var(--muted);white-space:nowrap;font-weight:600}table.data tbody tr:last-child td,table.data tbody tr:last-child th{border-bottom:0}table.data .r{text-align:right;font-variant-numeric:tabular-nums}table.data .actions{gap:var(--s-2);flex-wrap:wrap;display:flex}table.data .input{min-height:2.25rem;padding:.3rem .5rem;font-size:.9375rem}table.data input.input[type=number]{width:6rem}.form-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));align-items:end;display:grid}.form-grid .span-all{grid-column:1/-1}.card-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:var(--s-5);gap:var(--s-4);display:grid}.card-form h2{font-size:var(--step-1);font-family:var(--font-body);letter-spacing:0;font-weight:600}.toast{left:50%;bottom:var(--s-5);background:var(--ink);max-width:calc(100vw - 2rem);color:var(--bg);padding:var(--s-3) var(--s-5);border-radius:var(--radius);z-index:40;font-size:.9375rem;position:fixed;transform:translate(-50%)}.switch{align-items:center;gap:var(--s-2);font-size:.9375rem;display:inline-flex}.switch input{width:1.25rem;height:1.25rem;accent-color:var(--accent)}@media (width<=44rem){table.stack-sm,table.stack-sm tbody,table.stack-sm tr,table.stack-sm td,table.stack-sm th{display:block}table.stack-sm thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.stack-sm tr{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line)}table.stack-sm tbody tr:last-child{border-bottom:0}table.stack-sm td,table.stack-sm th{padding:var(--s-1) 0;justify-content:space-between;gap:var(--s-4);text-align:right;border:0;display:flex}table.stack-sm td:before{content:attr(data-label);font-size:var(--step--1);color:var(--muted);text-align:left;flex:none;font-weight:600}table.stack-sm td[data-label=""],table.stack-sm td.actions-cell{justify-content:flex-start}table.stack-sm td.actions-cell:before{display:none}table.stack-sm td .input{max-width:11rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-page>*,.product>*,.product__main>*,.narrow>*{min-width:0}#chart{overflow:hidden}.product__head{order:1}.panel{order:2}.product__main{order:3}@media (width>=60rem){.product__head,.panel,.product__main{order:0}}.chart-box,.chart-box__head>*,.chart-controls{min-width:0;max-width:100%}.chart-controls select.input{text-overflow:ellipsis;max-width:100%}@media (width<=40rem){.chart-box__head>.chart-controls,.chart-controls select.input{width:100%}}textarea.input{resize:vertical;min-height:5rem;line-height:1.5}.check.span-all,.field.span-all{grid-column:1/-1}
