@font-face{font-family:Kalnia;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/kalnia-latin-wght-normal-BCbItjW8.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mozilla Text;font-style:normal;font-weight:200 700;font-display:swap;src:url(/assets/mozilla-text-latin-wght-normal-BIbEDCab.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Recursive;font-style:normal;font-weight:300 1000;font-display:swap;src:url(/assets/recursive-latin-wght-normal-DXH_iCWo.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kalnia Fallback;src:local(Georgia),local(Times New Roman),local(Liberation Serif);size-adjust:119%;ascent-override:87.8%;descent-override:25.2%;line-gap-override:0%}@font-face{font-family:Mozilla Fallback;src:local(Arial),local(Helvetica),local(Liberation Sans);size-adjust:111.2%;ascent-override:85%;descent-override:22.9%;line-gap-override:0%}@font-face{font-family:Recursive Fallback;src:local(Arial),local(Helvetica),local(Liberation Sans);size-adjust:114%;ascent-override:83.3%;descent-override:21.9%;line-gap-override:0%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Kalnia", "Kalnia Fallback", Georgia, serif;--font-body:"Mozilla Text", "Mozilla Fallback", Arial, sans-serif;--font-num:"Recursive", "Recursive Fallback", Arial, sans-serif;--bg:#edf1f0;--bg-deep:#e2e8e6;--frost:#f8faf9;--paper:#fdfefd;--ink:#15231e;--ink-soft:#2e3f38;--muted:#4d5d56;--line:#c8d2ce;--line-strong:#9fb0a9;--spruce:#1c4a37;--spruce-hover:#153b2c;--spruce-soft:#dfeae4;--on-spruce:#fff;--brass:#b18a3d;--brass-ink:#6f531a;--brass-soft:#f2e8d2;--silver:#c4ccd0;--silver-hi:#f4f6f7;--blush:#e2b2ab;--blush-deep:#b9736b;--teal:#3d8482;--teal-deep:#24605f;--box:#1c4a37;--box-cell:#f6f8f7;--box-cup:#e6ece9;--box-label:#f3ead6;--warn:#8f3b1c;--warn-soft:#f8e6dc;--ok:#1f6a46;--ok-soft:#e0f0e6;--focus:#b07d12;--shadow:0 1px 2px #15231e0f, 0 6px 22px #15231e12;--radius:14px;--wire:#2c3a33;--bulb-glow:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1814;--bg-deep:#08120f;--frost:#10211b;--paper:#132820;--ink:#eef3ef;--ink-soft:#d3ddd8;--muted:#a7b8b0;--line:#2a4238;--line-strong:#3e5a4e;--spruce:#8fd0ad;--spruce-hover:#a9dfc1;--spruce-soft:#173429;--on-spruce:#0b1814;--brass:#d8b46a;--brass-ink:#e3c27f;--brass-soft:#2a2412;--silver:#7d8b90;--silver-hi:#c7d0d3;--blush:#d39a92;--blush-deep:#e0aaa2;--teal:#5fb0ad;--teal-deep:#7cc5c2;--box:#b8934a;--box-cell:#10231c;--box-cup:#18322a;--box-label:#2a2412;--warn:#f2a986;--warn-soft:#3a2018;--ok:#8fd0ad;--ok-soft:#14332a;--focus:#f0c66b;--shadow:0 1px 2px #0006, 0 8px 26px #00000059;--wire:#6f7f78;--bulb-glow:1}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1814;--bg-deep:#08120f;--frost:#10211b;--paper:#132820;--ink:#eef3ef;--ink-soft:#d3ddd8;--muted:#a7b8b0;--line:#2a4238;--line-strong:#3e5a4e;--spruce:#8fd0ad;--spruce-hover:#a9dfc1;--spruce-soft:#173429;--on-spruce:#0b1814;--brass:#d8b46a;--brass-ink:#e3c27f;--brass-soft:#2a2412;--silver:#7d8b90;--silver-hi:#c7d0d3;--blush:#d39a92;--blush-deep:#e0aaa2;--teal:#5fb0ad;--teal-deep:#7cc5c2;--box:#b8934a;--box-cell:#10231c;--box-cup:#18322a;--box-label:#2a2412;--warn:#f2a986;--warn-soft:#3a2018;--ok:#8fd0ad;--ok-soft:#14332a;--focus:#f0c66b;--shadow:0 1px 2px #0006, 0 8px 26px #00000059;--wire:#6f7f78;--bulb-glow:1}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--bg);background-image:radial-gradient(120% 60% at 50% -10%, var(--frost) 0%, transparent 60%);color:var(--ink);font-family:var(--font-body);overflow-wrap:break-word;background-repeat:no-repeat;margin:0;font-size:1.0625rem;line-height:1.6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body{background-image:radial-gradient(circle at 8% 14%,#f0b45a29 0 26px,#0000 60px),radial-gradient(circle at 92% 9%,#ffc8781f 0 34px,#0000 80px),radial-gradient(circle at 78% 38%,#f0a06e14 0 22px,#0000 52px),radial-gradient(circle at 15% 62%,#ffd28c12 0 30px,#0000 70px),radial-gradient(circle at 88% 80%,#e6aa6417 0 24px,#0000 60px),radial-gradient(circle at 40% 92%,#ffc8820f 0 36px,#0000 90px),radial-gradient(120% 70% at 50% 0,#11251e 0%,#0000 70%);background-repeat:no-repeat;background-attachment:fixed}}:root[data-theme=dark] body{background-image:radial-gradient(circle at 8% 14%,#f0b45a29 0 26px,#0000 60px),radial-gradient(circle at 92% 9%,#ffc8781f 0 34px,#0000 80px),radial-gradient(circle at 78% 38%,#f0a06e14 0 22px,#0000 52px),radial-gradient(circle at 15% 62%,#ffd28c12 0 30px,#0000 70px),radial-gradient(circle at 88% 80%,#e6aa6417 0 24px,#0000 60px),radial-gradient(circle at 40% 92%,#ffc8820f 0 36px,#0000 90px),radial-gradient(120% 70% at 50% 0,#11251e 0%,#0000 70%);background-repeat:no-repeat;background-attachment:fixed}img,svg{max-width:100%}[hidden]{display:none!important}a{color:var(--spruce);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--spruce-hover);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.005em;font-weight:560;line-height:1.15}h1{margin:.15em 0 .3em;font-size:clamp(2rem,1.4rem + 2.6vw,3.1rem)}h2{margin:1.6em 0 .5em;font-size:clamp(1.45rem,1.2rem + 1vw,1.95rem)}h3{margin:1.3em 0 .4em;font-size:1.22rem}p{margin:0 0 1em}.num,.tnum{font-family:var(--font-num);font-variant-numeric:tabular-nums}.icon{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}.wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:16px}@media (width>=720px){.wrap{padding-inline:28px}}.sr-only,.offscreen{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{z-index:50;background:var(--spruce);color:var(--on-spruce);border-radius:8px;padding:10px 16px;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.masthead{background:color-mix(in srgb, var(--paper) 82%, transparent);border-bottom:1px solid var(--line)}.masthead__bar{align-items:center;gap:16px;min-height:68px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;min-height:44px;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand__mark{flex:none;width:40px;height:40px}.brand__name{font-family:var(--font-display);letter-spacing:.005em;white-space:nowrap;font-size:1.5rem;font-weight:600}.brand__mark .mk-needle{fill:none;stroke:var(--spruce);stroke-width:2px;stroke-linecap:round}.brand__mark .mk-stem{fill:none;stroke:var(--brass-ink);stroke-width:2.2px;stroke-linecap:round}.brand__mark .mk-thread{stroke:var(--brass-ink);stroke-width:1.2px}.brand__mark .mk-cap{fill:var(--brass)}.brand__mark .mk-ball{fill:var(--teal)}.brand__mark .mk-shine{fill:none;stroke:#fff;stroke-width:1.6px;stroke-linecap:round;opacity:.8}.masthead__tag{color:var(--muted);margin:0;font-size:.92rem;display:none}@media (width>=860px){.masthead__tag{border-left:1px solid var(--line);padding-left:16px;display:block}}.theme-toggle{border:1px solid var(--line-strong);background:var(--paper);min-width:40px;min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:0 12px;font-size:.9rem;display:inline-flex}.theme-toggle:hover{border-color:var(--spruce)}.tt{align-items:center;gap:6px;display:none}:root:not([data-theme]) .tt--system,:root[data-theme=light] .tt--light,:root[data-theme=dark] .tt--dark{display:inline-flex}@media (width<=420px){.tt span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}.site-nav ul{scrollbar-width:none;gap:4px;margin:0;padding:0 0 2px;list-style:none;display:flex;overflow-x:auto}.site-nav ul::-webkit-scrollbar{display:none}.site-nav a{min-height:42px;color:var(--ink-soft);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;padding:0 12px;font-size:.97rem;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--spruce);border-bottom-color:var(--line-strong)}.site-nav a[aria-current=page]{color:var(--spruce);border-bottom-color:var(--brass);font-weight:600}.bulbs{width:100%;height:34px;color:var(--wire);display:block}.bulbs .w{fill:none;stroke:var(--wire);stroke-width:1.6px}.bulbs .cap{fill:var(--wire)}.bulbs .b1{fill:var(--teal)}.bulbs .b2{fill:var(--blush)}.bulbs .b3{fill:var(--brass)}.bulbs .b4{fill:var(--silver)}.bulbs .glint{fill:none;stroke:#fff;stroke-width:1.2px;stroke-linecap:round;opacity:.6}.bulbs .halo{opacity:calc(var(--bulb-glow) * .22)}.divider{margin:8px 0 0}.hero{grid-template-columns:minmax(0,1fr);gap:8px 32px;padding-top:22px;padding-bottom:10px;display:grid}@media (width>=900px){.hero{grid-template-columns:minmax(0,1fr) 210px;align-items:start}}.kicker{color:var(--brass-ink);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.9rem;font-weight:600}.lead{color:var(--ink-soft);max-width:70ch;margin-bottom:.4em;font-size:1.08rem}.hero__art{display:none}@media (width>=900px){.hero__art{width:210px;height:170px;display:block}}.bauble .bb-silver{fill:var(--silver)}.bauble .bb-blush{fill:var(--blush)}.bauble .bb-teal{fill:var(--teal)}.bauble .band{fill:none;stroke:var(--brass);stroke-width:1.2px;opacity:.7}.bauble .cap{fill:var(--brass)}.bauble .loop{fill:none;stroke:var(--brass);stroke-width:2px}.bauble .thread{stroke:var(--line-strong);stroke-width:1.2px}.bauble .speck{fill:#fff;opacity:.35}.bauble .shine{fill:#fff;opacity:.6}.bauble .shade{fill:#000;opacity:.12}.tool{padding-top:14px;padding-bottom:8px}.tool-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;display:grid}@media (width>=980px){.tool-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}@media (width>=720px){.panel{padding:22px 24px}}.panel-title{margin:0 0 10px;font-size:1.3rem}fieldset{border:0;min-width:0;margin:0 0 14px;padding:0}legend,.field-label{color:var(--ink);margin:0 0 6px;padding:0;font-size:.98rem;font-weight:600}.fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:10px 14px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>label{color:var(--ink-soft);font-size:.92rem}.input,select{font:inherit;color:var(--ink);background:var(--frost);border:1px solid var(--line-strong);border-radius:9px;width:100%;min-width:0;min-height:44px;padding:8px 11px;font-size:1rem}.input{font-family:var(--font-num);font-variant-numeric:tabular-nums}.input[aria-invalid=true]{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}.combo{gap:6px;display:flex}.combo .input{flex:auto}.combo select{flex:none;width:auto}.field-error{min-height:1.3em;color:var(--warn);margin:0;font-size:.85rem;line-height:1.3}.hint{color:var(--muted);margin:6px 0 0;font-size:.88rem}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg input{opacity:0;width:1px;height:1px;position:absolute}.seg label{border:1px solid var(--line-strong);background:var(--frost);cursor:pointer;border-radius:999px;align-items:center;min-height:42px;padding:6px 13px;font-size:.94rem;line-height:1.25;display:inline-flex}.seg input:checked+label{background:var(--spruce);border-color:var(--spruce);color:var(--on-spruce)}.seg input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}.check{align-items:center;gap:8px;min-height:40px;font-size:.95rem;display:flex}.check input{width:20px;height:20px;accent-color:var(--spruce)}details.more{border-top:1px dashed var(--line);margin-top:4px;padding-top:8px}details.more>summary{cursor:pointer;min-height:40px;color:var(--spruce);align-items:center;font-size:.95rem;font-weight:600;display:flex}.actions,.result-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.btn{border:1px solid var(--line-strong);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--spruce);color:var(--spruce)}.btn--primary{background:var(--spruce);border-color:var(--spruce);color:var(--on-spruce)}.btn--primary:hover{background:var(--spruce-hover);border-color:var(--spruce-hover);color:var(--on-spruce)}.btn--quiet{color:var(--spruce);background:0 0;border-color:#0000;padding-inline:8px}.presets{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--frost);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.88rem}.chip[aria-pressed=true]{border-color:var(--brass);background:var(--brass-soft);box-shadow:inset 0 0 0 1px var(--brass)}.repeat{gap:8px;display:grid}.repeat-row{grid-template-columns:1fr 1fr .8fr;align-items:end;gap:8px;display:grid}.repeat-row .row-name{grid-column:1/-1;margin:4px 0 -2px;font-size:.92rem;font-weight:600}.obox{background:var(--box);box-shadow:var(--shadow);color:var(--ink);border-radius:16px;padding:10px}.obox__inner{background:var(--paper);border:2px solid var(--brass);border-radius:9px;overflow:hidden}.obox__label{background:var(--box-label);border-bottom:2px solid var(--brass);text-align:center;padding:12px 16px 10px}.obox__kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink);margin:0;font-size:.78rem;font-weight:700}.obox__title{font-family:var(--font-display);margin:2px 0 0;font-size:1.32rem;font-weight:600;line-height:1.2}.obox__grid{background:var(--line-strong);border-bottom:2px solid var(--brass);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}@media (width>=560px){.obox__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.obox__grid>div{background:var(--box-cell);text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;min-height:118px;margin:0 1px 1px 0;padding:14px 10px 12px;display:flex;position:relative}.obox__grid>div:before{content:"";background:radial-gradient(circle at 50% 40%, transparent 52%, var(--box-cup) 53%, var(--box-cup) 70%, transparent 71%);opacity:.9;pointer-events:none;border-radius:50%;width:74px;height:74px;margin-left:-37px;position:absolute;top:6px;left:50%}.obox dt{color:var(--muted);letter-spacing:.02em;order:2;margin-top:4px;font-size:.8rem;line-height:1.3;position:relative}.obox dd{order:1;margin:0;position:relative}.obox .big{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink);margin-top:8px;font-size:1.7rem;font-weight:640;line-height:1.15;display:block}.obox .sub{color:var(--ink-soft);margin-top:2px;font-size:.85rem;line-height:1.35;display:block}.obox .sub .num{font-size:.95em}.obox__grid>.is-warn .big{color:var(--warn)}.obox__grid>.is-ok .big{color:var(--ok)}.obox__body{padding:14px 16px 6px}.obox__art{width:100%;max-width:340px;height:auto;margin:0 auto 6px;display:block}.obox__notes{color:var(--ink-soft);margin:0 0 10px;padding-left:1.1em;font-size:.92rem}.obox__notes li{margin:0 0 4px}.obox__foot{color:var(--muted);border-top:1px dashed var(--line);margin:0;padding:8px 16px 12px;font-size:.82rem}.obox__empty{text-align:center;color:var(--ink-soft);padding:26px 18px}.obox__empty strong{font-family:var(--font-display);color:var(--ink);margin-bottom:4px;font-size:1.2rem;display:block}.reminder{border-left:3px solid var(--brass);background:var(--brass-soft);border-radius:0 8px 8px 0;min-height:3em;margin:0 0 8px;padding:8px 12px;font-size:.95rem}.flag{border-radius:999px;padding:1px 8px;font-size:.8rem;font-weight:700;display:inline-block}.flag--ok{background:var(--ok-soft);color:var(--ok)}.flag--warn{background:var(--warn-soft);color:var(--warn)}.art{color:var(--ink)}.art .wall,.art .frame{fill:none;stroke:var(--ink-soft);stroke-width:2px}.art .floor{stroke:var(--ink-soft);stroke-width:2.5px}.art .dim{stroke:var(--brass);stroke-width:1.3px;fill:none}.art .dimtext,.art text{font-family:var(--font-body);fill:var(--ink-soft);font-size:13px}.art .dimtext{fill:var(--brass-ink);font-weight:600}.art .tree{fill:var(--spruce-soft);stroke:var(--spruce);stroke-width:2px}.art .trunk{fill:var(--brass)}.art .stand{fill:var(--ink-soft)}.art .star{fill:var(--brass)}.art .wire-front{fill:none;stroke:var(--wire);stroke-width:1.8px}.art .wire-back{fill:none;stroke:var(--wire);stroke-width:1px;opacity:.35;stroke-dasharray:3 3}.art .bulb{stroke:none}.art .bulb.c1{fill:var(--teal)}.art .bulb.c2{fill:var(--blush-deep)}.art .bulb.c3{fill:var(--brass)}.art .heat{fill:var(--warn-soft);stroke:var(--warn);stroke-width:1.5px}.art .ring{fill:none;stroke:var(--warn);stroke-width:1.5px;stroke-dasharray:5 4}.art .room{fill:var(--frost);stroke:var(--ink-soft);stroke-width:2.5px}.art .door{fill:var(--box-cell);stroke:var(--ink-soft);stroke-width:2px}.art .glass{fill:var(--silver-hi);stroke:var(--silver);stroke-width:1.5px}.art .wreath{fill:none;stroke:var(--spruce);stroke-linecap:round}.art .berry{fill:var(--blush-deep)}.art .bow{fill:var(--blush-deep);stroke:var(--blush-deep);stroke-width:1.6px;stroke-linejoin:round}.art-pair{flex-wrap:wrap;justify-content:center;gap:4px 12px;display:flex}.art .eye{stroke:var(--teal-deep);stroke-width:1.4px;stroke-dasharray:6 4}.art .eyetext{fill:var(--teal-deep);font-weight:600}.art .rail{stroke:var(--brass);stroke-width:5px;stroke-linecap:round}.art .post{stroke:var(--ink-soft);stroke-width:2px}.art .garland{fill:none;stroke:var(--spruce);stroke-width:6px;stroke-linecap:round}.art .mantel,.art .roof{fill:var(--bg-deep);stroke:var(--ink-soft);stroke-width:2px}.art .shrub{fill:var(--spruce-soft);stroke:var(--spruce);stroke-width:1.5px}.content{padding-top:6px}.prose{max-width:74ch}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-bottom:.4em}.prose figure{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin:1.4em 0;padding:14px}.prose figcaption{color:var(--muted);margin-top:8px;font-size:.9rem}.formula{font-family:var(--font-num);background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--brass);white-space:nowrap;border-radius:8px;padding:10px 14px;overflow-x:auto}.table-wrap{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin:1em 0 1.4em;overflow-x:auto}.ref-table{border-collapse:collapse;width:100%;font-size:.95rem}.ref-table th,.ref-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}.ref-table thead th{background:var(--bg-deep);font-weight:600}.ref-table td.n,.ref-table th.n{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ref-table tr:last-child>*{border-bottom:0}.muted{color:var(--muted)}.obox .table-wrap{margin:0 0 12px}.obox .ref-table{font-size:.82rem}.obox .ref-table th,.obox .ref-table td{padding:6px 7px}.note{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;margin:1.2em 0;padding:12px 16px}.note--safety{border-left-color:var(--warn)}.note p:last-child{margin-bottom:0}.callout{background:var(--brass-soft);border:1px solid color-mix(in srgb, var(--brass) 50%, transparent);border-radius:var(--radius);grid-template-columns:auto 1fr;gap:4px 14px;margin:1.6em 0;padding:16px 18px;display:grid}.callout .icon{width:26px;height:26px;color:var(--brass-ink);grid-row:span 2;margin-top:2px}.callout h3{margin:0;font-size:1.12rem}.callout p{margin:.3em 0 0}.section{padding-top:10px}.section-head h2{margin-bottom:.2em}.section-head p{color:var(--muted);margin:0 0 14px}.toolgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.toolgrid a{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);height:100%;color:var(--ink);box-shadow:var(--shadow);padding:18px;text-decoration:none;display:block}.toolgrid a:hover{border-color:var(--brass)}.toolgrid h3{margin:8px 0 4px;font-size:1.15rem}.toolgrid p{color:var(--ink-soft);margin:0;font-size:.95rem}.glyph{width:44px;height:44px;color:var(--spruce)}.recs{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.rec{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;padding:18px 20px;display:flex}.rec+.rec{border-top-color:var(--blush)}.rec__label{letter-spacing:.06em;text-transform:uppercase;color:var(--brass-ink);font-size:.8rem;font-weight:700}.rec h3{margin:4px 0 6px}.rec p{color:var(--ink-soft);flex:auto}.faq{max-width:80ch}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 0;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{color:var(--brass-ink);transition:transform .2s}.faq details[open] summary .icon{transform:rotate(180deg)}.faq details>div{color:var(--ink-soft);padding:0 0 12px}.sources{padding-top:6px;padding-bottom:28px}.sources ul{max-width:90ch;color:var(--ink-soft);padding-left:1.2em;font-size:.93rem}.sources li{margin-bottom:.5em}.page-note{max-width:80ch;color:var(--muted);font-size:.9rem}.site-footer{background:var(--paper);border-top:1px solid var(--line);margin-top:36px;padding-bottom:24px}.footer-note{background:var(--warn-soft);color:var(--ink);border-radius:10px;align-items:flex-start;gap:10px;margin:18px 0;padding:12px 14px;font-size:.9rem;display:flex}.footer-note .icon{color:var(--warn);margin-top:3px}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px 28px;display:grid}.footer-col h2{margin:.6em 0 .5em;font-size:1.05rem}.footer-col ul{margin:0;padding:0;list-style:none}.footer-col li{margin:0 0 8px;font-size:.93rem}.footer-col li a{align-items:center;min-height:28px;display:inline-flex}.footer-col .desc{color:var(--muted);font-size:.85rem;display:block}.footer-about p{color:var(--ink-soft);font-size:.93rem}.brand--footer .brand__name{font-size:1.3rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:18px;padding-top:14px;font-size:.9rem;display:flex}.footer-bottom p{margin:0}.footer-bottom ul{gap:16px;margin:0;padding:0;list-style:none;display:flex}.cal{border-collapse:separate;border-spacing:3px;table-layout:fixed;width:100%;font-size:.82rem}.cal th{color:var(--muted);padding:2px 0;font-size:.75rem;font-weight:600}.cal td{vertical-align:top;background:var(--box-cell);border:1px solid var(--line);text-align:center;border-radius:7px;padding:3px 2px 4px}.cal td.out{background:0 0;border-color:#0000}.cal td.mark{border-color:var(--brass);background:var(--brass-soft)}.cal td.today{outline:2px solid var(--spruce);outline-offset:0}.cal .d{font-family:var(--font-num);font-size:.85rem;font-weight:600;display:block}.cal .m{color:var(--brass-ink);text-overflow:ellipsis;white-space:nowrap;min-height:1.15em;font-size:.66rem;line-height:1.15;display:block;overflow:hidden}.cal label{cursor:pointer;justify-content:center;align-items:center;width:100%;min-height:40px;display:inline-flex}.cal input{width:18px;height:18px;accent-color:var(--spruce);margin:0}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin:8px 0 10px;padding:0;font-size:.85rem;list-style:none;display:flex}.toast-region{z-index:60;pointer-events:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--bg);opacity:0;border-radius:999px;padding:10px 18px;font-size:.95rem;transition:opacity .2s,transform .2s;transform:translateY(8px)}.toast.is-visible{opacity:1;transform:none}.simple{max-width:78ch;padding-top:24px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.masthead,.site-footer,.no-print,.bulbs,form,.content,.section,.sources,.hero__art{display:none!important}body{color:#000;background:#fff}.tool-grid{display:block}.obox{box-shadow:none}}
