@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/bricolage-700-latin.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/bricolage-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Figtree;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/figtree-latin.woff2)format("woff2");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:Figtree;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/figtree-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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{color-scheme:light;--paper:#f6f3ec;--surface:#fffdf9;--sunken:#efeadf;--ink:#26221c;--ink-soft:#494237;--muted:#6b6459;--line:#e0d9cb;--line-strong:#bdb3a0;--accent:#46538f;--accent-hover:#3a4677;--accent-edge:#2f3a66;--accent-soft:#e9eaf4;--accent-line:#b7bedd;--mark:#a04f2c;--good:#3f6b4a;--warn-bg:#fdf2e2;--warn-line:#e0c188;--bad:#9e3b32;--bad-bg:#fbecea;--r-sm:8px;--r:12px;--r-lg:20px;--shadow-sm:0 1px 2px #26221c0f;--shadow:0 1px 2px #26221c0d, 0 10px 24px #46538f17;--shadow-lift:0 2px 4px #26221c12, 0 18px 34px #26221c1a;--display:"Bricolage Grotesque", "Segoe UI", system-ui, -apple-system, sans-serif;--body:"Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--gutter:clamp(1rem, 4vw, 2rem)}*,:before,:after{box-sizing:border-box}body{font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.62}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;color:var(--ink);margin:0;font-weight:700;line-height:1.12}h1{letter-spacing:-.038em;margin-bottom:.5rem;font-size:clamp(2.05rem,1.45rem + 2.7vw,3.05rem);line-height:1.05}h2{margin-top:3rem;margin-bottom:.7rem;font-size:clamp(1.45rem,1.2rem + 1.05vw,1.9rem)}h3{letter-spacing:-.02em;margin-bottom:.3rem;font-size:1.12rem}p,ul,ol,table{margin-block:0 1.1rem}a{color:var(--accent);text-underline-offset:.16em;text-decoration-thickness:from-font}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.site-header-inner,main,.site-footer-inner{max-width:74rem;padding-inline:var(--gutter);margin:0 auto}main{padding-block:2.2rem 4rem}main.narrow{max-width:50rem}.lead{color:var(--ink-soft);max-width:44ch;font-size:1.16rem;line-height:1.55}main.narrow .lead,.prose{max-width:62ch}.skip-link{background:var(--accent);color:#fff;z-index:10;border-radius:0 0 var(--r-sm) 0;padding:.6rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.75rem;padding-block:.85rem;display:flex}.site-logo{font-family:var(--display);letter-spacing:-.035em;color:var(--ink);align-items:center;gap:.55rem;font-size:1.14rem;font-weight:700;text-decoration:none;display:flex}.logo-mark{border-radius:var(--r-sm);background:var(--accent);flex:none;place-items:center;width:1.55rem;height:1.55rem;display:grid}.logo-mark:after{content:"";border:1.6px solid #fff;border-radius:2px;width:.72rem;height:.46rem}.site-nav{flex-wrap:wrap;gap:.2rem 1.35rem;font-size:.94rem;display:flex}.site-nav a{color:var(--muted);padding-block:.15rem;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent);font-weight:500}.hero{justify-items:start;gap:.9rem;margin-bottom:2.4rem;display:grid}.hero h1{max-width:17ch;margin-bottom:0}.hero .lead{margin-bottom:0}.trust{flex-wrap:wrap;gap:.5rem;margin:.2rem 0 0;padding:0;list-style:none;display:flex}.trust li{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .75rem .34rem;font-size:.85rem;font-weight:500;display:flex}.trust li:before{content:"";background:currentColor;border-radius:50%;width:.34rem;height:.34rem}button,.button{font:inherit;font-family:var(--display);letter-spacing:-.02em;border-radius:var(--r-sm);background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 2px 0 var(--accent-edge);border:0;padding:.6rem 1.05rem;font-weight:700}button:hover{background:var(--accent-hover)}button:active{box-shadow:0 1px 0 var(--accent-edge);transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:0 2px 0 var(--line-strong)}.secondary-button{background:var(--surface);color:var(--accent);border:1px solid var(--accent-line);box-shadow:0 2px 0 var(--line)}.secondary-button:hover{background:var(--accent-soft);color:var(--accent-hover)}.breadcrumbs{color:var(--muted);margin-bottom:.7rem;font-size:.85rem}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--accent);text-decoration:underline}.card-grid{grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:.85rem;padding:0;list-style:none;display:grid}.layout-card{border:1px solid var(--line);border-radius:var(--r);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:2.9rem 1fr;align-items:center;gap:.85rem;padding:.85rem .95rem;text-decoration:none;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.layout-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow);color:var(--ink);transform:translateY(-1px)}.layout-card strong{font-family:var(--display);letter-spacing:-.03em;font-size:1.16rem;font-weight:700;display:block}.layout-card span{color:var(--muted);font-size:.85rem;line-height:1.4;display:block}.sheet-thumbnail{border:1px solid var(--line-strong);background:#fff;border-radius:3px;width:100%;height:auto}.sheet-thumbnail rect.label{fill:var(--accent-soft);stroke:var(--accent-line);stroke-width:4px}.chip-links{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.chip-links a{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:999px;padding:.4rem .9rem;font-size:.92rem;font-weight:500;text-decoration:none;display:inline-block}.chip-links a:hover{border-color:var(--accent-line);background:var(--accent-soft)}.specs{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);width:100%;max-width:42rem;font-size:.97rem;overflow:hidden}.specs th,.specs td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:.62rem .85rem}.specs tr:first-child th,.specs tr:first-child td{border-top:0}.specs th{color:var(--muted);width:42%;font-weight:500}.specs td{font-variant-numeric:tabular-nums}.steps{padding-left:1.3rem}.steps li{margin-bottom:.45rem}.two-column{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:0 2.5rem;display:grid}.two-column h2{margin-top:2.2rem}.word-list{gap:.6rem;padding:0;list-style:none;display:grid}.word-list li{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;padding:.75rem .95rem;font-size:.95rem;display:flex}.word-list a{text-decoration:none}.word-list a:hover{text-decoration:underline}.word-list strong{font-family:var(--display);letter-spacing:-.03em;font-size:1.08rem}.template-downloads{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:2rem}.site-footer-inner{padding-block:2.4rem 2rem}.footer-columns{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.6rem 2rem;display:grid}.footer-columns h2{font-size:.78rem;font-family:var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem;font-weight:600}.footer-columns ul{gap:.3rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.footer-columns a{color:var(--ink-soft);text-decoration:none}.footer-columns a:hover{color:var(--accent);text-decoration:underline}.footer-note{border-top:1px solid var(--line);color:var(--muted);max-width:70ch;margin:1.8rem 0 0;padding-top:1.1rem;font-size:.83rem}.footer-note+.footer-note{border-top:0;margin-top:.4rem;padding-top:0}.tool-skeleton{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;display:grid;overflow:hidden}.tool-shell--narrow .tool-skeleton{grid-template-columns:minmax(0,1fr);max-width:50rem}.tool-skeleton-panel{min-height:36rem}.tool-shell--narrow .tool-skeleton-panel{min-height:19rem}.tool-skeleton-sheet{aspect-ratio:8.5/11;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);background:#fff;margin:1.4rem}.tool-shell:has(.tool) .tool-skeleton,.tool-shell:has(.tool-narrow) .tool-skeleton{display:none}@media (width<=860px){.tool-skeleton{grid-template-columns:minmax(0,1fr)}.tool-skeleton-panel{min-height:42rem}}.faq-list{border-top:1px solid var(--line);max-width:62ch}.faq-item{border-bottom:1px solid var(--line)}.faq-item>summary{cursor:pointer;font-family:var(--display);letter-spacing:-.025em;color:var(--ink);justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.95rem;font-size:1.05rem;font-weight:700;line-height:1.3;list-style:none;display:flex}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary::marker{content:""}.faq-item>summary:hover{color:var(--accent)}.faq-item>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.faq-item>summary:after{content:"";border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform-origin:50%;flex:none;width:.52rem;height:.52rem;margin-top:.15rem;transition:transform .2s;transform:rotate(45deg)}.faq-item[open]>summary:after{transform:rotate(-135deg)}.faq-answer{color:var(--ink-soft);padding-bottom:1.05rem}.faq-answer p{margin:0}@supports selector(::details-content){:root{interpolate-size:allow-keywords}.faq-item::details-content{block-size:0;transition:block-size .25s ease, content-visibility .25s ease allow-discrete;overflow:clip}.faq-item[open]::details-content{block-size:auto}}.prose li{margin-bottom:.45rem}.callout{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r-sm);background:var(--surface);max-width:62ch;box-shadow:var(--shadow-sm);margin-block:1.5rem;padding:1rem 1.15rem}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.symptoms{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);width:100%;font-size:.97rem;overflow:hidden}.symptoms th,.symptoms td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:.7rem .85rem}.symptoms thead th{background:var(--sunken);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top:0;font-size:.78rem;font-weight:600}.symptoms th{width:30%;font-weight:600}.symptoms td:last-child{color:var(--ink-soft)}@media (width<=640px){.symptoms,.symptoms tbody,.symptoms tr,.symptoms th,.symptoms td{width:auto;display:block}.symptoms{border-radius:var(--r)}.symptoms thead{display:none}.symptoms tr{border-top:1px solid var(--line);padding:.8rem .85rem}.symptoms tr:first-child{border-top:0}.symptoms th,.symptoms td{border-top:0;padding:0 0 .3rem}.symptoms td:last-child{padding-bottom:0}.specs,.specs tbody,.specs tr,.specs th,.specs td{width:auto;display:block}.specs tr{border-top:1px solid var(--line);padding:.6rem .85rem}.specs tr:first-child{border-top:0}.specs th,.specs td{border-top:0;padding:0}.specs th{font-size:.8rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}button:active{transform:none}}.finder{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);max-width:34rem;box-shadow:var(--shadow-sm);margin-bottom:1.6rem;padding:1rem 1.1rem 1.1rem}.finder-field{color:var(--muted);gap:.35rem;font-size:.88rem;font-weight:500;display:grid}.finder-field input{font:inherit;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;padding:.55rem .7rem;font-size:1.02rem;font-weight:500}.finder-result:not(:empty){margin-top:.8rem}.finder-hit{border:1px solid var(--accent-line);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--ink);gap:.15rem;padding:.7rem .85rem;text-decoration:none;display:grid}.finder-hit:hover{border-color:var(--accent);color:var(--ink)}.finder-hit strong{font-family:var(--display);letter-spacing:-.03em;font-size:1.2rem}.finder-hit span{color:var(--ink-soft);font-size:.88rem}.finder-go{font-weight:600;color:var(--accent)!important}.finder-partial{gap:.3rem;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.finder-partial a{border-radius:var(--r-sm);color:var(--ink-soft);padding:.35rem .5rem;text-decoration:none;display:block}.finder-partial a:hover{background:var(--accent-soft);color:var(--accent)}.finder-partial strong{font-family:var(--display);color:var(--ink)}.finder-miss{color:var(--muted);margin:0;font-size:.9rem}.guide-list{gap:.7rem;max-width:50rem;padding:0;list-style:none;display:grid}.guide-list a{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);gap:.2rem;padding:.95rem 1.1rem;text-decoration:none;transition:border-color .14s,box-shadow .14s;display:grid}.guide-list a:hover{border-color:var(--accent-line);box-shadow:var(--shadow);color:var(--ink)}.guide-list strong{font-family:var(--display);letter-spacing:-.028em;font-size:1.1rem;font-weight:700}.guide-list span{color:var(--muted);font-size:.92rem}.diagram{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);max-width:50rem;box-shadow:var(--shadow-sm);margin-block:1.4rem;padding:1.1rem 1.1rem .9rem}.diagram svg{width:100%;height:auto;display:block}.diagram figcaption{color:var(--muted);margin-top:.7rem;font-size:.88rem}.diagram figcaption strong{color:var(--ink)}.dg-paper{fill:#fff;stroke:var(--line-strong);stroke-width:1px}.dg-target{fill:none;stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:4 3}.dg-printed{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.2px}.dg-bad{fill:#f7e0dc;stroke:var(--bad);stroke-width:1.2px}.dg-label{font-family:var(--body);fill:var(--muted);font-size:11px}.dg-title{font-family:var(--display);letter-spacing:-.02em;fill:var(--ink);font-size:13px;font-weight:700}.tool{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch;min-height:36rem;display:grid;overflow:hidden}@media (width<=860px){.tool{grid-template-columns:minmax(0,1fr);min-height:0}}.tool-input{align-content:start;gap:1.35rem;padding:1.4rem;display:grid}.tool-narrow{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);gap:1.1rem;max-width:50rem;padding:1.4rem;display:grid}.steps-list{gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.step{grid-template-columns:1.75rem minmax(0,1fr);gap:.85rem;display:grid}.step-num{background:var(--accent);color:#fff;width:1.75rem;height:1.75rem;font-family:var(--display);border-radius:50%;place-items:center;font-size:.92rem;font-weight:700;line-height:1;display:grid}.step--done .step-num{background:var(--good)}.step-body{gap:.6rem;min-width:0;display:grid}.step-title{font-family:var(--display);letter-spacing:-.028em;margin:.15rem 0 0;font-size:1.05rem;font-weight:700;line-height:1.25}.layout-picker{gap:.45rem;display:grid}.sheet-choice{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);grid-template-columns:2.1rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.6rem .7rem;display:grid}.sheet-choice:focus-within{border-color:var(--accent-line)}.sheet-choice svg{border:1px solid var(--line-strong);background:#fff;border-radius:2px;width:100%;height:auto}.sheet-choice svg rect.label{fill:var(--accent-soft);stroke:var(--accent-line);stroke-width:5px}.layout-compatible{color:var(--muted);margin:0;font-size:.82rem}:is(.tool,.tool-narrow) textarea,:is(.tool,.tool-narrow) input[type=number],:is(.tool,.tool-narrow) select{font:inherit;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;padding:.5rem .6rem;font-size:.95rem}:is(.tool,.tool-narrow) select{cursor:pointer;background:0 0;border:0;padding:.15rem 0;font-weight:600}:is(.tool,.tool-narrow) textarea{font-family:var(--mono);resize:vertical;min-height:11rem;font-size:.88rem;line-height:1.7}.tool-field{color:var(--muted);gap:.3rem;font-size:.88rem;display:grid}.tool-field--inline{grid-template-columns:auto 7rem;align-items:center}.tool-mode{border:0;gap:.4rem;margin:0;padding:0;display:grid}.tool-mode legend{color:var(--muted);padding:0;font-size:.88rem}.segmented{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem;display:grid}.segmented label{text-align:center;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--muted);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .7rem;font-size:.9rem;font-weight:500;display:flex}.segmented label:hover{border-color:var(--accent-line)}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.upload-bar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.sample-flag{color:var(--muted);background:var(--sunken);border-radius:var(--r-sm);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .65rem;font-size:.85rem;display:flex}.sample-flag b{color:var(--ink);letter-spacing:.09em;text-transform:uppercase;background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.sample-flag .link-button{margin-left:auto}.download-button{width:100%;padding:.8rem 1.1rem;font-size:1.05rem}.tool-hint{color:var(--muted);margin:0;font-size:.85rem}.tool-hint strong{color:var(--ink)}.tool-extras{gap:.5rem;margin-top:.2rem;display:grid}:is(.more-options,.calibration){border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:.9rem}:is(.more-options,.calibration)>summary{cursor:pointer;color:var(--ink-soft);padding:.55rem .7rem;font-weight:600;list-style-position:inside}:is(.more-options,.calibration)>summary:hover{color:var(--accent)}:is(.more-options,.calibration)[open]{gap:.6rem;padding-bottom:.75rem;display:grid}:is(.more-options,.calibration)[open]>summary{border-bottom:1px solid var(--line);margin-bottom:.15rem}.more-options>:not(summary),.calibration>:not(summary){margin-inline:.7rem}.calibration--open{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);gap:.6rem;padding:.75rem .7rem;font-size:.9rem;display:grid}.calibration--open>*{margin-inline:0}.tool-options{flex-wrap:wrap;align-items:center;gap:.55rem 1.1rem;font-size:.9rem;display:flex}.tool-options label{white-space:nowrap;align-items:center;gap:.35rem;display:flex}.summary-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:.5rem;padding:.05rem .5rem;font-size:.78rem;font-weight:600}.cal-steps{counter-reset:cal;gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.cal-steps>li{counter-increment:cal;grid-template-columns:4.2rem 1fr;align-items:center;gap:.75rem;display:grid}.cal-steps p{margin:0 0 .35rem;line-height:1.4}.cal-steps li>p:last-child,.cal-steps li>div>p:last-child{margin-bottom:0}.cal-steps p strong:before{content:counter(cal) ". ";color:var(--accent)}.cal-art{background:var(--sunken);border-radius:6px;width:4.2rem;height:auto}.cal-art .art-paper{fill:#fff;stroke:var(--line-strong);stroke-width:.8px}.cal-art .art-body{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.2px}.cal-art .art-cell{fill:none;stroke:var(--accent-line);stroke-width:.6px}.cal-art .art-dot{fill:var(--good)}.cal-art .art-sky{fill:#dbe8f4}.cal-art .art-frame{fill:none;stroke:var(--ink-soft);stroke-width:1.6px}.cal-art .art-sheet{fill:#f4f1ea}.cal-art .art-label{fill:var(--accent-soft);stroke:var(--accent);stroke-width:.6px}.cal-art .art-print{fill:#fff;opacity:.55;stroke:var(--line-strong);stroke-width:.5px}.cal-art .art-cell-line{fill:none;stroke:var(--ink-soft);stroke-width:.7px}.cal-art .art-label-real{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1px;stroke-dasharray:2 1.4}.cal-art .art-scale{fill:none;stroke:var(--ink);stroke-width:.8px}.cal-art .art-hit{fill:none;stroke:var(--mark);stroke-width:1.3px}.cal-art .art-badge{fill:var(--ink)}.cal-art .art-badge-text{fill:#fff;font:700 5px var(--body);text-anchor:middle}.cal-wide{grid-column:1/-1;gap:.5rem;display:grid}.cal-example{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;max-width:20rem;height:auto}.cal-example .ex-real{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:4 2.5}.cal-example .ex-printed{stroke:var(--muted);stroke-width:1.4px}.cal-example .ex-scale{stroke:var(--ink);stroke-width:1px}.cal-example .ex-num{font:500 7.5px var(--body);fill:var(--ink);text-anchor:middle}.cal-example .ex-num--zero{font-weight:800}.cal-example .ex-hit{fill:none;stroke:var(--mark);stroke-width:1.8px}.cal-example .art-badge{fill:var(--ink)}.cal-example .ex-badge{font:700 8.5px var(--body);fill:#fff;text-anchor:middle}.cal-example .ex-note{font:500 7px var(--body);fill:var(--muted)}.cal-example .ex-note--real{fill:var(--accent)}.cal-example .ex-answer{font:800 11px var(--body);fill:var(--mark)}.readings{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.reading{align-items:center;gap:.35rem;display:flex}.scale-badge{background:var(--ink);color:#fff;width:1.45rem;height:1.45rem;font:700 .8rem/1 var(--body);border-radius:50%;place-items:center;display:inline-grid}:is(.tool,.tool-narrow) .reading input{text-align:center;width:4.6rem;padding-block:.35rem}.cal-status{border-radius:var(--r-sm);background:var(--accent-soft);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:.2rem .45rem;margin:0;padding:.5rem .65rem;font-size:.88rem;display:flex}.cal-status>span:first-child{color:var(--good);font-weight:700}.cal-status>span:nth-child(2){flex:12rem}.cal-status--new{box-shadow:inset 0 0 0 1px var(--accent-line)}.offset-status{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:is(.tool,.tool-narrow) input.input-narrow{flex:none;width:5.2rem;padding-block:.35rem}:is(.tool,.tool-narrow) .link-button{color:var(--accent);box-shadow:none;font-family:var(--body);background:0 0;border:0;padding:.2rem;font-size:.88rem;font-weight:600;text-decoration:underline}:is(.tool,.tool-narrow) .link-button:hover{color:var(--accent-hover);background:0 0}.tool-message{border-radius:var(--r-sm);border:1px solid var(--accent-line);background:var(--accent-soft);margin:0;padding:.6rem .75rem;font-size:.89rem}.feedback-line{color:var(--muted);overflow-wrap:anywhere;margin-top:.3rem;font-size:.84rem;display:block}.feedback-line a{color:var(--accent);font-weight:600}.tool-message--warning{background:var(--warn-bg);border-color:var(--warn-line)}.tool-message--error{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}.tool-preview{border-left:1px solid var(--line);background:var(--sunken);align-content:start;gap:.75rem;padding:1.4rem;display:grid}@media (width<=860px){.tool-preview{border-left:0;border-top:1px solid var(--line)}}.preview-bar{color:var(--muted);justify-content:space-between;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.preview-count{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.tool-pager{font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;display:flex}:is(.tool,.tool-narrow) .pager-button{background:var(--surface);color:var(--ink-soft);border:1px solid var(--line-strong);box-shadow:none;font-family:var(--body);border-radius:var(--r-sm);padding:.15rem .5rem;font-size:.85rem;font-weight:600}:is(.tool,.tool-narrow) .pager-button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}:is(.tool,.tool-narrow) .pager-button:disabled{opacity:.4;box-shadow:none}.sheet{border:1px solid var(--line-strong);width:100%;height:auto;box-shadow:var(--shadow-lift);background:#fff;border-radius:4px}.sheet-label{fill:none;stroke:#cfd3d9;stroke-width:.6px;stroke-dasharray:3 2.5}.sheet-label--filled{fill:#eef0f8;stroke:#9aa3cb;stroke-width:.8px;stroke-dasharray:none}.sheet-label--warning{fill:var(--warn-bg);stroke:#d09a3c;stroke-dasharray:none;stroke-width:.9px}.next-hint{color:var(--muted);margin:0;font-size:.85rem}.next-hint strong{color:var(--accent);font-weight:600}.muted{color:var(--muted)}.tool-input--dragging{outline:2px dashed var(--accent);outline-offset:-.6rem}.table-source{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sunken);gap:.7rem;padding:.85rem;display:grid}.table-source-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.92rem;display:flex}.table-source-row{flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;font-size:.88rem;display:flex}.table-source-row select{border:1px solid var(--line-strong);background:var(--surface);width:auto;padding:.25rem .4rem}.data-preview{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);overflow-x:auto}.data-preview table{border-collapse:collapse;white-space:nowrap;margin:0;font-size:.8rem}.data-preview th,.data-preview td{border-bottom:1px solid var(--line);text-align:left;padding:.35rem .6rem}.data-preview th{background:var(--sunken);font-weight:600}.chips{flex-wrap:wrap;gap:.35rem;display:flex}:is(.tool,.tool-narrow) .chip{background:var(--surface);color:var(--ink-soft);border:1px solid var(--line-strong);font-family:var(--body);box-shadow:none;border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:500}:is(.tool,.tool-narrow) .chip:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.cleanup{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);gap:.4rem;padding:.6rem .75rem .75rem;font-size:.89rem;display:grid}.cleanup legend{padding:0 .3rem;font-weight:600}.cleanup select{border:1px solid var(--line-strong);background:var(--surface);width:auto;padding:.15rem .35rem;font-size:.85rem}.report{font-size:.87rem}.report-summary{margin:0 0 .3rem;font-weight:600}.report details{margin-top:.3rem}.report ul{max-height:12rem;margin:.4rem 0;padding-left:1.2rem;overflow-y:auto}
