:root{--bg:#0b0f17;--bg-warm:#10151f;--bg-deep:#070a10;--surface:#151b27;--surface-2:#1c2432;--ink:#f2f5fa;--ink-2:#b7c0d0;--ink-3:#8b95a7;--ink-on-brand:#07101c;--brand:#3ddc97;--brand-dim:#2bb77b;--brand-soft:#3ddc971f;--accent:#6ea8fe;--accent-soft:#6ea8fe24;--border:#232c3b;--border-w:1px;--hairline:#f2f5fa14;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;--shadow-1:0 1px 2px #0006;--shadow-2:0 6px 20px #00000073;--lift:translateY(-2px);--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--t-xs:.75rem;--t-sm:.875rem;--t-md:1rem;--t-lg:1.125rem;--t-xl:1.375rem;--t-2xl:1.75rem;--t-3xl:2.25rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--dur-1:.14s;--dur-2:.24s;--measure:42rem;--measure-wide:68rem}.tool-calc{background:var(--surface);border:var(--border-w) solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-2);margin-bottom:var(--s-6)}.tool-calc--compact{padding:var(--s-4);box-shadow:none}.tool-calc__header{margin-bottom:var(--s-4);padding-bottom:var(--s-3);border-bottom:var(--border-w) solid var(--border)}.tool-calc__presets{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.preset-label{font-size:var(--t-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin-right:var(--s-1);font-weight:600}.preset-btn{background:var(--bg);color:var(--ink-2);border:var(--border-w) solid var(--border);padding:var(--s-1) var(--s-3);border-radius:var(--r-pill);font-size:var(--t-xs);cursor:pointer;transition:all var(--dur-1);font-family:inherit}.preset-btn:hover{border-color:var(--brand);color:var(--ink)}.preset-btn.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}.tool-calc__grid{gap:var(--s-5);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (max-width:50rem){.tool-calc__grid{grid-template-columns:1fr}}.tool-calc__form{gap:var(--s-4);flex-direction:column;display:flex}.form-group{gap:var(--s-1);flex-direction:column;display:flex}.form-group label{font-size:var(--t-sm);color:var(--ink-2);font-weight:500}.form-row{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.input-wrap{background:var(--bg);border:var(--border-w) solid var(--border);border-radius:var(--r-md);padding:0 var(--s-3);transition:border-color var(--dur-1);align-items:center;display:flex}.input-wrap:focus-within{border-color:var(--brand);outline:1px solid var(--brand)}.input-wrap input,.input-wrap select,.input-wrap textarea{width:100%;color:var(--ink);font-size:var(--t-md);padding:var(--s-2) 0;font-family:var(--font-mono);background:0 0;border:0;outline:none}.input-wrap select{cursor:pointer}.input-wrap select option{background:var(--bg);color:var(--ink)}.input-prefix,.input-suffix{color:var(--ink-3);font-size:var(--t-sm);font-family:var(--font-mono)}.input-prefix{margin-right:var(--s-2)}.input-suffix{margin-left:var(--s-2)}.field-hint{font-size:var(--t-xs);color:var(--ink-3)}.tool-calc__results{background:var(--bg-warm);border:var(--border-w) solid var(--border);border-radius:var(--r-md);padding:var(--s-4);gap:var(--s-4);flex-direction:column;display:flex}.result-banner{background:var(--bg);border:1px solid var(--brand);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);text-align:center;transition:border-color var(--dur-1);position:relative}.copy-summary-btn{background:var(--surface);border:1px solid var(--border);color:var(--ink-2);font-size:var(--t-xs);border-radius:var(--r-pill);cursor:pointer;margin-top:var(--s-2);transition:all var(--dur-1);align-items:center;gap:4px;padding:4px 10px;font-family:inherit;display:inline-flex}.copy-summary-btn:hover{border-color:var(--brand);color:var(--brand)}.copy-summary-btn.copied{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.result-badge{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em;padding:2px var(--s-2);border-radius:var(--r-pill);margin-bottom:var(--s-1);font-weight:700;display:inline-block}.badge-pos{background:var(--brand-soft);color:var(--brand)}.badge-neg{color:#ff5b5b;background:#ff5b5b26}.badge-warn{color:#ffb800;background:#ffb80026}.badge-info{background:var(--accent-soft);color:var(--accent)}.result-value{font-size:var(--t-3xl);font-weight:800;font-family:var(--font-mono);letter-spacing:-.02em}.result-value.pos{color:var(--brand)}.result-value.neg{color:#ff5b5b}.result-value.warn{color:#ffb800}.result-value.neutral{color:var(--ink)}.result-subtitle{font-size:var(--t-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.result-breakdown{gap:var(--s-2);font-size:var(--t-sm);border-top:var(--border-w) solid var(--border);padding-top:var(--s-3);flex-direction:column;display:flex}.breakdown-row{color:var(--ink-2);justify-content:space-between;align-items:center;display:flex}.breakdown-row strong{font-family:var(--font-mono);color:var(--ink)}.breakdown-row strong.pos{color:var(--brand)}.breakdown-row strong.neg{color:#ff5b5b}.breakdown-row strong.warn{color:#ffb800}.breakdown-row--total{border-top:1px dashed var(--border);padding-top:var(--s-2);font-weight:700}.result-note{font-size:var(--t-xs);color:var(--ink-2);background:var(--surface);border-radius:var(--r-xs);padding:var(--s-3);border-left:3px solid var(--brand);line-height:1.5}.radar-checklist{gap:var(--s-2);flex-direction:column;display:flex}.radar-item{align-items:flex-start;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-xs);background:var(--bg);cursor:pointer;display:flex}.radar-item input[type=checkbox]{accent-color:var(--brand);cursor:pointer;width:16px;height:16px;margin-top:4px}.radar-text{flex-direction:column;display:flex}.radar-title{font-size:var(--t-sm);color:var(--ink);font-weight:600}.radar-desc{font-size:var(--t-xs);color:var(--ink-3)}.task-category-bar{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.task-item{padding:var(--s-2) var(--s-3);background:var(--bg);border:var(--border-w) solid var(--border);border-radius:var(--r-sm);margin-bottom:var(--s-2);transition:opacity var(--dur-1);justify-content:space-between;align-items:center;display:flex}.task-item.completed{opacity:.6}.task-item.completed .task-label{color:var(--ink-3);text-decoration:line-through}.task-left,.task-actions{align-items:center;gap:var(--s-2);display:flex}.btn-sm{border:1px solid var(--border);color:var(--ink-2);padding:2px var(--s-2);border-radius:var(--r-xs);font-size:var(--t-xs);cursor:pointer;background:0 0}.btn-sm:hover{border-color:var(--brand);color:var(--ink)}.btn-del:hover{color:#ff5b5b;border-color:#ff5b5b}.heatmap-grid{margin-top:var(--s-2);grid-template-columns:repeat(24,1fr);gap:2px;display:grid}.heatmap-cell{aspect-ratio:1;cursor:pointer;border-radius:2px;position:relative}.heatmap-cell:hover:after{content:attr(data-tooltip);background:var(--surface-2);border:1px solid var(--border);color:var(--ink);white-space:nowrap;z-index:100;pointer-events:none;border-radius:3px;padding:2px 4px;font-size:10px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.chain-table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}.chain-table th,.chain-table td{padding:var(--s-2);text-align:left;border-bottom:1px solid var(--border)}.chain-table th{color:var(--ink-3);font-weight:500;font-size:var(--t-xs)}.chain-badge{color:var(--ink);align-items:center;gap:4px;font-weight:600;display:inline-flex}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}h1,h2,h3,h4{margin:0 0 var(--s-3);font-weight:700;line-height:1.25}.skip-link{left:var(--s-2);background:var(--brand);color:var(--ink-on-brand);padding:var(--s-2) var(--s-4);border-radius:var(--r-xs);font-size:var(--t-sm);z-index:2000;transition:top var(--dur-1);font-weight:600;position:absolute;top:-40px}.skip-link:focus{top:var(--s-2)}:where(a,button):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-xs)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:var(--measure-wide);padding:0 var(--s-4);margin:0 auto}.wrap--text{max-width:var(--measure)}.page-head{padding:var(--s-7) 0 var(--s-5)}.page-head h1{font-size:var(--t-3xl);margin-bottom:var(--s-2)}.page-head p{color:var(--ink-2);max-width:var(--measure);margin:0}.card-grid{gap:var(--s-5);padding-bottom:var(--s-7);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));margin:0;list-style:none;display:grid}.card{background:var(--surface);border:var(--border-w) solid var(--border);border-radius:var(--r-md);transition:transform var(--dur-1), box-shadow var(--dur-1), background var(--dur-1);flex-direction:column;display:flex;overflow:hidden}.card:hover{transform:var(--lift);box-shadow:var(--shadow-2);background:var(--surface-2)}.card__media{aspect-ratio:16/9;background:var(--bg-warm);display:block}.card__media img{object-fit:cover;width:100%;height:100%;display:block}.card__body{padding:var(--s-4);gap:var(--s-2);flex-direction:column;flex:1;display:flex}.card__title{font-size:var(--t-lg);margin:0}.card__title a{color:var(--ink)}.card__title a:hover{color:var(--brand);text-decoration:none}.card__excerpt{color:var(--ink-2);font-size:var(--t-sm);margin:0}.card__meta{color:var(--ink-3);font-size:var(--t-xs);margin-top:auto}.pagination{justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-5) 0 var(--s-8);flex-wrap:wrap;display:flex}.pagination a,.pagination span{padding:var(--s-2) var(--s-4);border:var(--border-w) solid var(--border);border-radius:var(--r-pill);font-size:var(--t-sm)}.pagination a{color:var(--ink-2)}.pagination a:hover{color:var(--ink);border-color:var(--brand);text-decoration:none}.pagination .is-current{background:var(--brand-soft);border-color:var(--brand);color:var(--ink);font-weight:600}.pagination .is-gap{color:var(--ink-3);border-color:#0000}.chrome{border-bottom:var(--border-w) solid var(--border);background:var(--bg-deep);z-index:50;position:sticky;top:0}.chrome__inner{align-items:center;gap:var(--s-5);height:60px;display:flex}.chrome__mark{font-weight:800;font-size:var(--t-lg);color:var(--ink);letter-spacing:-.02em}.chrome__mark:hover{text-decoration:none}.chrome__mark b{color:var(--brand)}.chrome__nav{gap:var(--s-4);font-size:var(--t-sm);margin-left:auto;display:flex}.chrome__nav a{color:var(--ink-2)}.chrome__nav a:hover,.chrome__nav a[aria-current=page]{color:var(--ink);text-decoration:none}.footer{border-top:var(--border-w) solid var(--border);background:var(--bg-deep);padding:var(--s-6) 0;margin-top:var(--s-8);color:var(--ink-3);font-size:var(--t-sm)}.footer__inner{gap:var(--s-5);flex-wrap:wrap;justify-content:space-between;display:flex}.footer nav{gap:var(--s-4);flex-wrap:wrap;display:flex}.footer a{color:var(--ink-2)}.article{padding:var(--s-6) 0 var(--s-7)}.article__head{margin-bottom:var(--s-5)}.article__title{font-size:var(--t-3xl)}.article__meta{color:var(--ink-3);font-size:var(--t-sm);gap:var(--s-3);flex-wrap:wrap;display:flex}.article__hero{border-radius:var(--r-md);border:var(--border-w) solid var(--border);margin-bottom:var(--s-5);width:100%}.article__tags{gap:var(--s-2);padding:var(--s-6) 0 0;flex-wrap:wrap;margin:0;list-style:none;display:flex}.article__tags li{font-size:var(--t-xs);color:var(--ink-2);background:var(--accent-soft);border-radius:var(--r-pill);padding:var(--s-1) var(--s-3)}.article__back{margin-top:var(--s-6);font-size:var(--t-sm);display:inline-block}.article-body{font-size:var(--t-lg)}.article-body>:first-child{margin-top:0}.article-body h1{font-size:var(--t-2xl);margin:var(--s-6) 0 var(--s-3)}.article-body h2{font-size:var(--t-xl);margin:var(--s-6) 0 var(--s-3)}.article-body h3{font-size:var(--t-lg);margin:var(--s-5) 0 var(--s-2)}.article-body h4{font-size:var(--t-md);margin:var(--s-5) 0 var(--s-2);color:var(--ink-2)}.article-body p{margin:0 0 var(--s-4)}.article-body ul,.article-body ol{margin:0 0 var(--s-4);padding-left:var(--s-5)}.article-body li{margin-bottom:var(--s-2)}.article-body img{border-radius:var(--r-sm);margin:var(--s-4) 0}.article-body hr{border:0;border-top:var(--border-w) solid var(--border);margin:var(--s-6) 0}.article-body blockquote{margin:var(--s-5) 0;padding:var(--s-2) var(--s-5);border-left:3px solid var(--brand);color:var(--ink-2)}.article-body code{font-family:var(--font-mono);background:var(--surface);padding:0 var(--s-1);border-radius:var(--r-xs);font-size:.9em}.article-body pre{background:var(--surface);padding:var(--s-4);border-radius:var(--r-sm);overflow-x:auto}.article-body table{border-collapse:collapse;width:100%;margin:var(--s-5) 0;font-size:var(--t-sm);display:block;overflow-x:auto}.article-body th,.article-body td{border:var(--border-w) solid var(--border);padding:var(--s-2) var(--s-3);text-align:left}.article-body>h1:first-child{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:40rem){.page-head h1,.article__title{font-size:var(--t-2xl)}.chrome__inner{height:52px}.chrome__nav{gap:var(--s-3)}}
