:root{--bg: #ffffff;--surface: #f5f8f6;--surface-2: #ebf2ee;--text: #17211d;--muted: #4f5d57;--border: #dce5e0;--brand: #0a7350;--brand-strong: #075c40;--brand-soft: #e3f4ec;--sheets: #1557a8;--sheets-soft: #e6f0fc;--warn: #8a5a00;--warn-soft: #fff5db;--danger: #b3261e;--code-bg: #f3f6f4;--shadow: 0 1px 2px rgba(16, 40, 30, .06), 0 4px 16px rgba(16, 40, 30, .06);--radius: 12px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--measure: 70ch;color-scheme:light}html[data-theme=dark]{--bg: #0e1412;--surface: #151d1a;--surface-2: #1c2723;--text: #e5ece9;--muted: #a5b4ae;--border: #2a3632;--brand: #4fd39b;--brand-strong: #7be3b6;--brand-soft: #143328;--sheets: #7fb2f0;--sheets-soft: #15263b;--warn: #f3c969;--warn-soft: #2f2610;--danger: #ff8a80;--code-bg: #121a17;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .25);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.7 var(--font);text-rendering:optimizeLegibility}@media(min-width:900px){body{font-size:18px}}img{max-width:100%;height:auto}a{color:var(--brand);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--brand-strong);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--sheets);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{line-height:1.25;letter-spacing:-.01em}.container{width:min(1200px,100% - 2rem);margin-inline:auto}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:1rem;top:-60px;z-index:100;background:var(--brand);color:#fff;padding:.5rem 1rem;border-radius:8px}.skip-link:focus{top:.5rem;color:#fff}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;gap:1rem;height:60px}.logo{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.2rem;color:var(--text);text-decoration:none;letter-spacing:-.02em}.logo:hover{color:var(--text)}.logo-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--brand);color:#fff;font:700 .8rem/1 var(--mono)}html[data-theme=dark] .logo-mark{color:#0e1412}.logo-accent{color:var(--brand)}.main-nav{margin-left:auto}.main-nav ul{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.main-nav a{display:block;padding:.4rem .7rem;border-radius:8px;color:var(--text);text-decoration:none;font-size:.95rem;font-weight:500}.main-nav a:hover,.main-nav a[aria-current=page]{background:var(--surface-2);color:var(--brand-strong)}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;text-decoration:none}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn svg{width:20px;height:20px}.theme-toggle .moon,html[data-theme=dark] .theme-toggle .sun{display:none}html[data-theme=dark] .theme-toggle .moon{display:block}.menu-btn{display:none}@media(max-width:860px){.menu-btn{display:inline-grid}.main-nav{position:absolute;top:60px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);display:none;margin:0}.main-nav.open{display:block}.main-nav ul{flex-direction:column;padding:.5rem 1rem 1rem}.main-nav a{padding:.75rem}.header-tools{margin-left:auto}}.header-tools{display:flex;gap:.5rem}.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--brand);z-index:60}.site-footer{margin-top:5rem;border-top:1px solid var(--border);background:var(--surface);font-size:.92rem;color:var(--muted)}.footer-grid{display:grid;gap:2rem;grid-template-columns:2fr 1fr 1fr 1fr;padding:3rem 0 2rem}.footer-grid h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin:0 0 .75rem}.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.footer-grid a{color:var(--muted);text-decoration:none}.footer-grid a:hover{color:var(--brand);text-decoration:underline}.footer-bottom{border-top:1px solid var(--border);padding:1.25rem 0 2rem;font-size:.82rem}@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1 / -1}}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:10px;background:var(--brand);color:#fff;font-weight:600;text-decoration:none;border:0;cursor:pointer;font-size:.95rem}html[data-theme=dark] .btn{color:#0e1412}.btn:hover{background:var(--brand-strong);color:#fff}.btn.secondary{background:var(--surface-2);color:var(--text)}.chip{display:inline-block;padding:.2rem .65rem;border-radius:999px;background:var(--surface-2);color:var(--text);font-size:.82rem;text-decoration:none;border:1px solid var(--border)}.chip:hover{border-color:var(--brand);color:var(--brand-strong)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .55rem;border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.02em;background:var(--brand-soft);color:var(--brand-strong);text-decoration:none}.badge.google-sheets{background:var(--sheets-soft);color:var(--sheets)}.badge.templates{background:var(--warn-soft);color:var(--warn)}.badge.tools{background:var(--brand-soft);color:var(--brand-strong)}.badge.type{background:var(--surface-2);color:var(--muted)}.card-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:border-color .15s,box-shadow .15s,transform .15s}.card:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));box-shadow:var(--shadow);transform:translateY(-2px)}.card h3{margin:0;font-size:1.08rem;line-height:1.35}.card h3 a{color:var(--text);text-decoration:none}.card h3 a:after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.card p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.55}.card .meta{margin-top:auto;padding-top:.5rem;font-size:.8rem;color:var(--muted);display:flex;gap:.75rem;flex-wrap:wrap}.card .badges{display:flex;gap:.4rem;flex-wrap:wrap;position:relative;z-index:1}.cluster-card{display:flex;gap:1rem;align-items:flex-start}.cluster-card .icon{font-size:1.6rem;line-height:1}.cluster-card .count{font-size:.8rem;color:var(--muted)}.hero{padding:4rem 0 3rem;background:radial-gradient(1200px 400px at 10% -10%,var(--brand-soft),transparent 60%),radial-gradient(900px 300px at 100% 0%,var(--sheets-soft),transparent 60%);border-bottom:1px solid var(--border)}.hero h1{font-size:clamp(2rem,5vw,3.1rem);margin:0 0 1rem;max-width:18ch}.hero p.lead{font-size:1.15rem;color:var(--muted);max-width:52ch;margin:0 0 1.75rem}.search-form{display:flex;gap:.5rem;max-width:560px}.search-form input{flex:1;min-width:0;padding:.85rem 1rem;font:inherit;font-size:1rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);box-shadow:var(--shadow)}.search-form input:focus{outline:3px solid color-mix(in srgb,var(--brand) 40%,transparent);border-color:var(--brand)}.hero .quick-links{margin-top:1.25rem;display:flex;gap:.5rem;flex-wrap:wrap;font-size:.9rem;color:var(--muted);align-items:center}.formula-ticker{font-family:var(--mono);font-size:.9rem;color:var(--muted);margin-top:2rem}.section{padding:3rem 0 0}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem}.section-head h2{margin:0;font-size:1.5rem}.section-head a{font-size:.95rem;white-space:nowrap}.page-head{padding:2.5rem 0 1.5rem}.page-head h1{margin:.25rem 0 .5rem;font-size:clamp(1.8rem,4vw,2.5rem)}.page-head p{color:var(--muted);max-width:65ch;margin:0}.empty{padding:2rem;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);text-align:center}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;padding:0;margin:0;font-size:.85rem;color:var(--muted)}.breadcrumbs li+li:before{content:"/";margin-right:.35rem;color:var(--border)}.breadcrumbs a{color:var(--muted);text-decoration:none}@media(max-width:700px){.breadcrumbs li:last-child:not(:first-child){display:none}}.breadcrumbs a:hover{color:var(--brand);text-decoration:underline}.article-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem;padding-top:1.75rem}@media(min-width:1080px){.article-layout{grid-template-columns:minmax(0,740px) 280px;justify-content:space-between}}.article-header h1{font-size:clamp(1.85rem,4.2vw,2.6rem);margin:.75rem 0}.article-header .dek{font-size:1.12rem;color:var(--muted);margin:0 0 1rem}.article-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:.88rem;color:var(--muted);align-items:center;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.article-meta .badges{display:flex;gap:.4rem}.sidebar{position:relative}.sidebar-inner{position:sticky;top:84px;display:grid;gap:1.5rem;max-height:calc(100vh - 100px);overflow:auto;padding-bottom:1rem}@media(max-width:1079px){.sidebar{display:none}}.toc{font-size:.9rem}.toc h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .6rem;color:var(--muted)}.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--border)}.toc li a{display:block;padding:.28rem 0 .28rem .9rem;margin-left:-2px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;line-height:1.4}.toc li.d3 a{padding-left:1.7rem;font-size:.85rem}.toc li a:hover{color:var(--text)}.toc li a.active{color:var(--brand-strong);border-left-color:var(--brand);font-weight:600}.toc-mobile{margin:1.25rem 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.toc-mobile summary{cursor:pointer;padding:.8rem 1rem;font-weight:600;font-size:.95rem;list-style:none;display:flex;justify-content:space-between}.toc-mobile summary:after{content:"▾";color:var(--muted)}.toc-mobile[open] summary:after{content:"▴"}.toc-mobile .toc{padding:0 1rem 1rem}@media(min-width:1080px){.toc-mobile{display:none}}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1.1em}.prose h2{font-size:1.6rem;margin:2.4em 0 .6em;padding-top:.25em}.prose h3{font-size:1.25rem;margin:1.9em 0 .5em}.prose h4{font-size:1.05rem;margin:1.6em 0 .4em}.prose p,.prose ul,.prose ol{margin-block:0 1.1em}.prose li+li{margin-top:.35em}.prose li>p{margin:0}.prose strong{font-weight:650}.prose hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.prose blockquote{margin:1.5em 0;padding:.75em 1.25em;border-left:4px solid var(--border);background:var(--surface);border-radius:0 10px 10px 0;color:var(--text)}.prose blockquote>:last-child{margin-bottom:0}.prose :not(pre)>code{font-family:var(--mono);font-size:.86em;background:var(--code-bg);border:1px solid var(--border);padding:.08em .38em;border-radius:5px;overflow-wrap:anywhere}.prose img{border-radius:10px;border:1px solid var(--border);display:block;margin-inline:auto}.prose figure{margin:1.75em 0}.prose figcaption{font-size:.85rem;color:var(--muted);text-align:center;margin-top:.5em}.heading-anchor{opacity:0;margin-left:.35rem;text-decoration:none;color:var(--muted);font-weight:400}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.heading-anchor:focus{opacity:1}.code-wrap{position:relative;margin:1.4em 0}.prose pre{margin:0;padding:1rem 1.1rem;border-radius:10px;border:1px solid var(--border);overflow-x:auto;font:.9rem/1.6 var(--mono);background:var(--code-bg)!important}.prose pre code{font-family:inherit}.copy-btn{position:absolute;top:.45rem;right:.45rem;display:inline-flex;gap:.3rem;align-items:center;padding:.3rem .6rem;font:600 .75rem var(--font);border-radius:7px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;opacity:.92}.copy-btn:hover{border-color:var(--brand);color:var(--brand-strong);opacity:1}.copy-btn.copied{background:var(--brand);color:#fff;border-color:var(--brand)}.code-wrap pre{padding-right:5rem}html[data-theme=dark] .astro-code,html[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}.table-wrap{overflow-x:auto;margin:1.5em 0;border:1px solid var(--border);border-radius:10px}.prose table{width:100%;border-collapse:collapse;font-size:.92rem}.prose th,.prose td{padding:.6rem .8rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.prose th{background:var(--surface);font-weight:650;white-space:nowrap}.prose tr:last-child td{border-bottom:0}.quick-answer{margin:1.75em 0 2em;padding:1.1rem 1.3rem 1rem;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--border));border-left:5px solid var(--brand);border-radius:12px;background:var(--brand-soft)}.quick-answer.labelled:before{content:"⚡ Quick answer";display:block;font:700 .78rem var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-strong);margin-bottom:.4rem}.quick-answer>h2:first-child{display:none}.quick-answer>p:first-child>strong:first-child{color:var(--brand-strong)}.quick-answer>:last-child{margin-bottom:0}.quick-answer pre{background:var(--bg)!important}.shot-placeholder{display:grid;place-items:center;gap:.35rem;text-align:center;min-height:180px;margin:1.75em 0;padding:1.5rem;border:2px dashed #d97706;border-radius:12px;color:#7c3d00;background:repeating-linear-gradient(45deg,#fff7e6,#fff7e6 12px,#ffefcc 12px 24px)}html[data-theme=dark] .shot-placeholder{color:#ffd591;background:repeating-linear-gradient(45deg,#2a1f0d,#2a1f0d 12px,#33260f 12px 24px)}.shot-icon{font-size:2rem}.shot-kind{font:700 .78rem var(--font);text-transform:uppercase;letter-spacing:.1em}.shot-desc{font-size:.95rem;max-width:50ch}.shot-inline,.author-note{background:#ffe7a3;color:#5c3b00;padding:.05em .35em;border-radius:4px;font-size:.92em;outline:1px dashed #d97706}.pending-link{border-bottom:1px dotted var(--muted);cursor:help}.ad-slot{margin:2.25em 0;padding:.5rem 0 .75rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);min-height:120px;text-align:center}.ad-label{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}.ad-preview-box{display:grid;place-items:center;min-height:100px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:.8rem;background:var(--surface)}.sidebar .ad-slot{margin:0;min-height:250px}.author-box{display:flex;gap:1rem;align-items:flex-start;margin:3rem 0 0;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:.93rem}.author-box .avatar{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700}html[data-theme=dark] .author-box .avatar{color:#0e1412}.author-box p{margin:.2rem 0 0;color:var(--muted)}.next-up{display:block;margin:2rem 0 0;padding:1.25rem 1.4rem;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(135deg,var(--brand-soft),var(--surface));text-decoration:none;color:var(--text);transition:box-shadow .15s,transform .15s}.next-up:hover{box-shadow:var(--shadow);transform:translateY(-2px);color:var(--text)}.next-up .kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-strong);font-weight:700}.next-up .t{display:block;font-size:1.15rem;font-weight:700;margin-top:.25rem}.next-up .arrow{float:right;font-size:1.4rem;color:var(--brand)}.tags{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:2rem}.related{margin-top:3rem}.related h2{font-size:1.35rem}.downloads{margin:2rem 0;padding:1.25rem;border-radius:var(--radius);border:1px solid var(--border)}.downloads ul{margin:.5rem 0 0;padding-left:1.2rem}.pagination{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.search-page{min-height:50vh}.pagefind-ui{--pagefind-ui-primary: var(--brand);--pagefind-ui-text: var(--text);--pagefind-ui-background: var(--bg);--pagefind-ui-border: var(--border);--pagefind-ui-tag: var(--surface-2);--pagefind-ui-font: var(--font)}.to-top{position:fixed;right:1rem;bottom:1rem;z-index:40;opacity:0;pointer-events:none;transition:opacity .2s;box-shadow:var(--shadow)}.to-top.show{opacity:1;pointer-events:auto}.static-page{max-width:var(--measure);padding:2rem 0}.cluster-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}@media(max-width:600px){.code-wrap pre{padding:2.3rem .9rem .9rem}.copy-btn{top:.35rem;right:.35rem}.prose pre{font-size:.84rem}}.card-grid>[hidden]{display:none}.show-more-wrap{display:flex;justify-content:center;margin-top:1.5rem}.show-more{min-width:12rem}.tool-layout{padding-bottom:3rem}.calc-panel{margin:1.5rem 0 2rem;padding:1.25rem 1.35rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.calc-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.calc-field label{display:block;font-size:.85rem;font-weight:650;margin-bottom:.35rem}.calc-field input,.calc-field select{width:100%;min-height:2.75rem;padding:.7rem .85rem;font:inherit;font-size:1.05rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.calc-field input:focus,.calc-field select:focus{outline:3px solid color-mix(in srgb,var(--brand) 40%,transparent);border-color:var(--brand)}.calc-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.calc-results{margin-top:1.15rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.calc-result{padding:.85rem 1rem;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.calc-result .k{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.calc-result .v{display:block;margin-top:.25rem;font-size:1.65rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2}.calc-error{margin-top:1rem;color:#9b1c1c;font-weight:600}.card.card{text-decoration:none;color:inherit}@media(max-width:640px){.calc-result .v{font-size:1.4rem}}.calc-field-span{grid-column:1 / -1}.calc-hint{display:block;margin-top:.3rem;font-size:.8rem;color:var(--muted)}.calc-note{margin:.85rem 0 0;font-size:.88rem;color:var(--muted)}.calc-check{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;font-size:.95rem}.calc-check input{width:1.15rem;height:1.15rem;flex:none;accent-color:var(--brand)}.calc-formula{margin-top:1rem;padding:.85rem 1rem;border-radius:10px;background:var(--bg);border:1px dashed var(--border);font-family:var(--mono);font-size:.9rem;overflow-x:auto}.calc-formula[hidden]{display:none}.calc-rows{width:100%;border-collapse:collapse}.calc-rows th{text-align:left;font-size:.8rem;color:var(--muted);font-weight:650;padding:.2rem .35rem .4rem}.calc-rows td{padding:.25rem .35rem;vertical-align:middle}.calc-rows input{width:100%;min-height:2.5rem;padding:.55rem .7rem;font:inherit;font-size:1.05rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.calc-rows .calc-del{min-width:2.5rem}.calc-week-wrap{overflow-x:auto;margin:1rem 0}.calc-week{width:100%;border-collapse:collapse;font-size:.95rem}.calc-week th,.calc-week td{padding:.5rem .55rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.calc-week th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.calc-week input{width:100%;min-width:6.5rem;min-height:2.5rem;padding:.45rem .5rem;font:inherit;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.calc-week input:focus{outline:3px solid color-mix(in srgb,var(--brand) 40%,transparent);border-color:var(--brand)}.calc-week td[data-hours]{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}
