:root{--paper: #f5f3ee;--paper-2: #ebe8e0;--ink: #1a1917;--ink-soft: #5d574c;--rule: #cec8bb;--signal: #6a35c8;--signal-soft: #ece3fb;--good: #356b4f;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}@media(prefers-color-scheme:dark){:root{--paper: #171613;--paper-2: #211f1b;--ink: #f0ece3;--ink-soft: #a49b8a;--rule: #3a362e;--signal: #9b6cf0;--signal-soft: #241a36;--good: #6aab88}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:var(--ink);text-underline-offset:2px}a:hover{color:var(--signal)}.masthead{border-bottom:2px solid var(--ink);padding:0 clamp(16px,4vw,40px)}.masthead__row{max-width:1180px;margin:0 auto;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding:14px 0 12px}.wordmark{font-family:var(--serif);white-space:nowrap;font-size:24px;font-weight:600;letter-spacing:-.015em;text-decoration:none;display:inline-flex;align-items:baseline;gap:9px}.wordmark:before{content:"";width:9px;height:9px;background:var(--signal);border-radius:50%;display:inline-block}.masthead nav{display:flex;flex-wrap:wrap;gap:8px 10px}.masthead nav a{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);white-space:nowrap;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;min-height:34px;padding:0 14px;border:1px solid var(--rule);border-radius:12px}@media(hover:hover)and (pointer:fine){.masthead nav a:hover{color:var(--signal);border-color:var(--signal)}}@media(max-width:430px){.masthead nav{gap:6px;flex-basis:100%;justify-content:center}.masthead nav a{padding:0 9px;letter-spacing:.02em;gap:6px}}@media(max-width:359px){.masthead nav a{font-size:11px;padding:0 7px;gap:5px}.navicon{width:13px;height:13px}}.navicon{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.readout{border-bottom:1px solid var(--rule);padding:0 clamp(16px,4vw,40px);background:var(--paper-2)}.readout__row{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 28px;padding:8px 0;font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--ink-soft);position:relative}.readout b{color:var(--ink);font-weight:600}.readout__k{color:var(--ink-soft)}.readout__stat,.readout__v{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.readout__sub{font-size:10px;letter-spacing:.06em;color:var(--ink-soft)}.readout__why>summary{min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:50%;cursor:pointer;font-style:italic;line-height:1;color:var(--ink-soft);list-style:none}.readout__why>summary::-webkit-details-marker{display:none}.readout__why[open]>summary{color:var(--signal);border-color:var(--signal)}@media(hover:hover)and (pointer:fine){.readout__why>summary:hover{color:var(--signal);border-color:var(--signal)}}@media(max-width:400px){.readout{background:transparent;border-bottom:0;padding:0 16px}.readout__row{display:grid;grid-template-columns:max-content 1fr;gap:0;margin:14px 0 0;padding:2px 16px;background:var(--paper-2);border:1px solid var(--rule);border-radius:12px}.readout__stat{display:contents}.readout__k{padding-right:20px}.readout__stat>*{display:flex;align-items:center;align-self:stretch;padding-top:12px;padding-bottom:12px}.readout__stat+.readout__stat>*{border-top:1px solid var(--rule)}}.readout__note{white-space:normal;position:absolute;z-index:20;top:calc(100% - 4px);left:0;width:min(46ch,90vw);margin:0;padding:12px 14px;background:var(--paper);border:1px solid var(--rule);font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:normal;text-transform:none;color:var(--ink-soft)}@media(min-width:920px){.readout__note{left:auto;right:0;top:calc(100% + 2px)}}@media(min-width:1130px){.readout__why{position:relative}.readout__note{left:0;right:auto;top:calc(100% + 8px)}}main{max-width:1180px;margin:0 auto;padding:clamp(28px,5vw,52px) clamp(16px,4vw,40px) 60px}.lede{max-width:46ch;margin-bottom:clamp(26px,3.5vw,38px)}.lede h1{font-family:var(--serif);font-weight:600;font-size:clamp(30px,5.2vw,46px);line-height:1.08;letter-spacing:-.022em;margin:0 0 14px;text-wrap:balance}.lede p{margin:0 0 10px;color:var(--ink-soft);font-size:17px}.lede strong{color:var(--ink);font-weight:600}.columns{display:grid;gap:clamp(28px,4vw,48px);grid-template-columns:minmax(0,1fr)}@media(min-width:920px){.columns{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start}.lede h1{font-size:clamp(30px,3.1vw,40px)}}.step{border-top:1px solid var(--rule);padding:22px 0 4px}.step:first-of-type{border-top:2px solid var(--ink)}.step__head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.step__num{font-family:var(--mono);font-size:12px;color:var(--signal);letter-spacing:.08em}.step__title{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.01em;margin:0}label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}.field--spaced{margin-top:18px}.swatch--active{background:var(--signal)}.swatch--gone{background:var(--good)}input[type=text],input[type=email],select,input[type=number]{width:100%;padding:11px 12px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,select:focus{outline:2px solid var(--signal);outline-offset:-1px;border-color:var(--signal)}a:focus-visible,button:focus-visible,summary:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,input[type=range]:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.note{margin:7px 0 0;font-size:13px;color:var(--ink-soft)}.note--bad{color:var(--signal)}.note--good{color:var(--good)}.note--working{color:var(--ink-soft);font-style:italic}.radius{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.radius__value{font-family:var(--mono);font-size:30px;font-weight:600;line-height:1}.radius__unit{font-family:var(--mono);font-size:12px;color:var(--ink-soft);letter-spacing:.08em}input[type=range]{width:100%;accent-color:var(--signal);min-height:24px;margin:2px 0 0}input[type=checkbox],input[type=radio]{width:24px;height:24px;flex:none;accent-color:var(--signal)}.channels{display:grid;gap:8px;margin:0 0 14px;padding:0;border:0}.channels legend{padding:0;font-size:13px;font-weight:600;margin-bottom:8px}.channel{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:11px 12px;border:1px solid var(--rule);border-radius:2px;cursor:pointer}.channel:hover{border-color:var(--ink-soft)}.channel:has(input:checked){border-color:var(--signal);background:var(--signal-soft)}.channel input{margin-top:0}.channel__name{font-weight:600;font-size:14.5px}.channel__cost{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-left:7px}.channel__cost--paid{color:var(--signal)}.checks{border:0;padding:0;margin:0}.checks legend{padding:0;font-size:13px;font-weight:600;margin-bottom:8px}.check{display:flex;gap:7px;align-items:center;font-weight:400;font-size:14.5px;margin:0 0 7px}.check input{margin-top:-2px}.consent{font-size:13px;color:var(--ink-soft);border-top:1px solid var(--rule);margin-top:18px;padding-top:16px}button{font-family:var(--sans);font-size:15px;font-weight:600;border-radius:2px;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:12px 18px}button:hover:not(:disabled){background:var(--signal);border-color:var(--signal);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}.button--wide{width:100%;margin-top:20px}.button--ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);width:100%}.button--link{background:none;border:0;color:var(--ink-soft);padding:4px 0;font-size:13.5px;text-decoration:underline;width:auto;min-height:24px}.button--link:hover{background:none;color:var(--signal)}.button--danger{background:transparent;color:var(--signal);border-color:var(--signal)}.button--danger:hover{background:var(--signal);color:#fff}.button-link{display:inline-block;margin-top:10px;padding:11px 18px;background:var(--ink);color:var(--paper);text-decoration:none;border-radius:2px;font-weight:600}.panel{position:sticky;top:20px}.panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:0}.panel__title{font-family:var(--serif);font-size:19px;font-weight:600;margin:0}#map{height:clamp(340px,58vh,620px);border:1px solid var(--rule);border-top:0;background:var(--paper-2)}.panel .note{padding-top:8px;font-family:var(--mono);font-size:12px}.legend{display:flex;gap:18px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase}.legend span{display:inline-flex;align-items:center;gap:6px}.legend .swatch{width:9px;height:9px;border-radius:50%;display:inline-block}.banner{border-left:3px solid var(--signal);background:var(--signal-soft);padding:11px 14px;margin-bottom:22px;font-size:14.5px}.banner--notice{border-left-color:var(--good);background:transparent;border:1px solid var(--rule);border-left:3px solid var(--good)}.sheet{max-width:480px}.sheet h1,.sheet h2{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:-.015em;margin:0 0 14px}.sheet p{color:var(--ink-soft)}.sheet .field{margin-top:18px}.optional{font-weight:400;color:var(--ink-soft)}.section--narrow,.doc{max-width:68ch}.doc h1{font-family:var(--serif);font-size:clamp(28px,4vw,36px);font-weight:600;letter-spacing:-.02em;margin:0 0 6px}.doc h2{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--rule);margin:34px 0 12px;padding-top:14px}.doc p{color:var(--ink-soft);margin:0 0 12px}.doc b{color:var(--ink)}.doc__stamp{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.doc__lede{font-family:var(--serif);font-size:19px;color:var(--ink)!important;margin-top:18px}.doc__list{color:var(--ink-soft);padding-left:18px;margin:0 0 12px}.doc__list li{margin-bottom:8px}.doc__table{width:100%;border-collapse:collapse;font-size:14px;color:var(--ink-soft);margin-bottom:14px}.doc__table th{text-align:left;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--rule);padding:0 10px 6px 0}.doc__table td{border-bottom:1px solid var(--rule);padding:8px 10px 8px 0;vertical-align:top}.code-input{font-family:var(--mono);font-size:26px;letter-spacing:.35em;text-align:center}.section{margin-bottom:40px}.section>h1,.section>h2{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0 0 4px;padding-bottom:8px;border-bottom:2px solid var(--ink)}.watches{list-style:none;margin:0;padding:0}.watches li{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--rule)}.watches h2{margin:0;font-size:16px;font-weight:600}.watches p{margin:3px 0 0;font-size:13.5px;color:var(--ink-soft)}.tick{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule);padding:1px 7px;margin-left:8px;white-space:nowrap}.tick--muted{border-color:var(--ink-soft)}.tick--saved{border-color:var(--good);color:var(--good)}.edit{margin-top:12px}.edit summary{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;width:fit-content}.edit summary:hover{color:var(--signal)}.edit__form{border-left:2px solid var(--rule);padding:12px 0 4px 14px;margin-top:12px;max-width:360px}.edit__row{margin-bottom:12px}.edit__row label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}.edit__form .checks{margin-bottom:10px}.edit__form legend{font-size:12px;font-weight:600;padding:0}.edit__form .note{margin:0 0 12px}.sample{margin:22px 0 0}.sample figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}.sample__card{border:1px solid var(--rule);border-left:3px solid var(--signal);border-radius:4px;padding:12px 14px}.sample__title{display:block;font-size:14.5px;margin-bottom:6px}.sample__body{font-family:var(--mono);font-size:12.5px;line-height:1.55;color:var(--ink-soft);margin:0;white-space:pre-wrap;word-break:break-word}.pause{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.pause__label{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.pause .button--ghost{padding:5px 10px;font-size:12px}.waitlist{margin-top:14px;padding:14px;border:1px solid var(--rule);border-radius:4px;background:var(--surface-sunk, transparent)}.waitlist .note:first-child{margin-top:0}.waitlist .note:last-child:empty{display:none}.log{list-style:none;margin:0;padding:0;font-size:13.5px}.log li{display:grid;grid-template-columns:84px 1fr auto;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--rule)}.log li>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.log time{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);white-space:nowrap}.kind{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.kind--added{color:var(--signal)}.kind--removed{color:var(--good)}.kind--moved,.kind--changed{color:var(--ink-soft)}footer{border-top:1px solid var(--rule);margin-top:20px}.footer__row{max-width:1180px;margin:0 auto;padding:22px clamp(16px,4vw,40px) 44px;color:var(--ink-soft);font-size:13px;max-width:74ch}.footer__row p{margin:0 0 9px}.footer__coffee{text-align:center}.leaflet-popup-content{font-family:var(--sans);font-size:13px}.map-list{margin-top:12px}.map-list summary{cursor:pointer;font-weight:600}.map-list ul{margin:8px 0 0;padding-left:22px}.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:1000}.skip:focus{left:0;color:var(--paper)}main:focus{outline:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:919px){.panel{position:static}}
