@font-face{font-family:Fraunces;src:url(../fonts/fraunces-latin-var.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+20-7E,U+A0-FF}@font-face{font-family:Inter;src:url(../fonts/inter-latin-var.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+20-7E,U+A0-FF}@font-face{font-family:IBM Plex Mono;src:url(../fonts/ibm-plex-mono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+20-7E,U+A0-FF}@font-face{font-family:IBM Plex Mono;src:url(../fonts/ibm-plex-mono-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+20-7E,U+A0-FF}:root{--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;--font-head:var(--font-display);--t-display:2.25rem;--t-h1:1.75rem;--t-h2:1.375rem;--t-h3:1.1875rem;--t-body:1.0625rem;--t-sub:.9375rem;--t-caption:.875rem;--t-tiny:var(--t-caption);--lh-display:1.08;--lh-heading:1.2;--lh-body:1.6;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--page-pad-x:var(--s-5);--card-pad-x:var(--s-4);--card-pad-y:var(--s-4);--r-pill:999px;--r-input:8px;--radius:16px;--radius-sm:9px;--radius-xs:6px;--radius-lg:22px;--radius-control:12px;--radius-tile:14px;--radius-sheet:18px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tap:48px;--appbar-h:58px;--nav-h:66px;--search-h:54px;--appbar-total-h:calc(var(--appbar-h) + env(safe-area-inset-top));--t-fast:.12s cubic-bezier(.2, 0, 0, 1);--t-med:.22s cubic-bezier(.2, 0, 0, 1);--t-slow:.32s cubic-bezier(.16, 1, .3, 1);--t-spring:.4s cubic-bezier(.34, 1.56, .64, 1);--motion-ease-out:cubic-bezier(.16, 1, .3, 1);--motion-ease-in-out:cubic-bezier(.65, 0, .35, 1);--motion-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--motion-duration-xs:90ms;--motion-duration-sm:.16s;--motion-duration-md:.24s;--motion-duration-lg:.36s;--motion-duration-xl:.56s;--motion-illustration-duration-trace:1.1s;--motion-illustration-duration-stagger:80ms}:root,[data-theme=light]{--bg:#fff;--surface:#f7f8f7;--surface-2:#eef1ef;--rule:#dce1de;--ink:#121815;--ink-2:#47514c;--gold:#e0a526;--on-gold:#121815;--accent-text:#245b41;--pine:#2f6b4f;--focus:#2f6b4f;--mat:#183a2f;--mat-2:#21483b;--mat-ink:#eef4ef;--mat-dim:#a8c3b6;--mat-line:#f2c14e;--mat-grid:#2c5446;--mat-ok:#7fcba4;--mat-danger:#ff9a90;--danger:#b3261e;--danger-bg:#fbeae7;--danger-ink:#6e1a14;--status-bar:#fff;--ink-3:#59625d;--surface-3:#121815;--border:#dce1de;--border-strong:#47514c;--signal:#e0a526;--signal-2:#c98f17;--signal-tint:#e0a52629;--signal-text:#245b41;--signal-fg:#121815;--danger-tint:#fbeae7;--danger-text:#6e1a14;--success:#2f6b4f;--green:#2f6b4f;--green-text:#245b41;--accent-2:#2f6b4f;--accent-2-tint:#2f6b4f1f;--accent-2-text:#245b41;--sand:#eef1ef;--walnut:#0c1410;--shadow-paper:0 1px 2px #0c14100d, 0 6px 16px #0c14100f;--overlay-scrim:#0c141085;--duo-hi:#eef1ea;--duo-lo:#183a2f;--scrim:#0c1410db;--chrome-bg:#fffffff0;--elev-chrome:0 1px 0 var(--rule), 0 6px 18px #0c14100f;--surface2:var(--surface-2);--surface3:var(--surface-2);--border-hi:var(--border-strong);--text:var(--ink);--text-muted:var(--ink-2);--text-faint:var(--ink-3);--shadow:#0c14101f;--elev-1:0 1px 2px #0c14100d, 0 2px 6px #0c14100d;--elev-2:0 1px 2px #0c14100d, 0 4px 10px #0c14100d, 0 12px 28px #0c141014;--elev-3:0 2px 4px #0c14100f, 0 8px 20px #0c141012, 0 24px 56px #0c14101f;--shadow-card:var(--elev-1);--pressed-shadow:inset 0 1.5px 3px #0c141024, inset 0 -1px 1px #fff9, 0 1px 1px #0c14100d;--graph-line:#2f6b4f0f;--graph-line-major:#2f6b4f1c;--gold-shadow:0 1px 3px #0c141014, 0 6px 14px #0c141012, 0 18px 36px #0c14100f;--grain-opacity:.04;--nav-blur:blur(12px);--drawer-blur:blur(2px);--nav-bg:#ffffffeb;--appbar-bg:#fffffff2;--amber:var(--signal-text);--amber-dim:var(--signal-2);--amber-glow:var(--signal-tint);--amber-faint:var(--signal-tint)}[data-theme=dark]{--bg:#101513;--surface:#18201c;--surface-2:#212b26;--rule:#314039;--ink:#edf2ef;--ink-2:#b4c1ba;--gold:#f2b93b;--on-gold:#101513;--accent-text:#7fcba4;--pine:#7fcba4;--focus:#f2b93b;--mat:#173a2e;--mat-2:#21483b;--mat-ink:#eef4ef;--mat-dim:#a8c3b6;--mat-line:#f2c14e;--mat-grid:#2c5446;--mat-ok:#7fcba4;--mat-danger:#ff9a90;--danger:#ff8a80;--danger-bg:#3a1a17;--danger-ink:#ffd9d4;--status-bar:#101513;--ink-3:#8e9c95;--surface-3:#edf2ef;--border:#314039;--border-strong:#6f8079;--signal:#f2b93b;--signal-2:#e0a526;--signal-tint:#f2b93b24;--signal-text:#7fcba4;--signal-fg:#101513;--danger-tint:#3a1a17;--danger-text:#ffd9d4;--success:#7fcba4;--green:#7fcba4;--green-text:#7fcba4;--accent-2:#7fcba4;--accent-2-tint:#7fcba424;--accent-2-text:#7fcba4;--sand:#212b26;--walnut:#0c1410;--shadow-paper:0 2px 8px #0006, 0 1px 2px #0000004d;--overlay-scrim:#0c1410b8;--duo-hi:#d9cba8;--duo-lo:#0e1c17;--scrim:#0c1410db;--chrome-bg:#101513f0;--elev-chrome:0 1px 0 var(--rule), 0 6px 18px #00000059;--surface2:var(--surface-2);--surface3:var(--surface-2);--border-hi:var(--border-strong);--text:var(--ink);--text-muted:var(--ink-2);--text-faint:var(--ink-3);--shadow:#00000080;--elev-1:0 1px 2px #00000059, 0 2px 6px #0006;--elev-2:0 1px 2px #00000059, 0 4px 10px #0006, 0 12px 28px #00000073;--elev-3:0 4px 10px #00000073, 0 10px 24px #00000080, 0 24px 56px #0000008c;--shadow-card:var(--elev-1);--pressed-shadow:inset 0 1.5px 3px #0000008c, inset 0 -1px 1px #ffffff0d, 0 1px 1px #0000004d;--graph-line:#7fcba40d;--graph-line-major:#7fcba417;--gold-shadow:0 1px 2px #0006, 0 4px 12px #0000006b, 0 0 0 1px #f2b93b12, 0 10px 30px #f2b93b12;--grain-opacity:.05;--nav-blur:blur(12px);--drawer-blur:blur(2px);--nav-bg:#101513e6;--appbar-bg:#101513eb;--amber:var(--signal-text);--amber-dim:var(--signal-2);--amber-glow:var(--signal-tint);--amber-faint:var(--signal-tint)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;line-height:1.5}html{font-size:100%}body{font-size:var(--t-body);line-height:var(--lh-body)}html[data-text-size=large]{font-size:111.8%}html[data-text-size=larger]{font-size:123.5%}body{overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--signal-text);text-decoration:none}body:before{content:"";pointer-events:none;z-index:0;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}.appbar{height:calc(var(--appbar-h) + env(safe-area-inset-top));background:var(--chrome-bg,var(--appbar-bg));-webkit-backdrop-filter:var(--nav-blur);border-bottom:1px solid var(--rule);box-shadow:var(--elev-chrome,none);padding:0 12px;padding-top:env(safe-area-inset-top);z-index:100;view-transition-name:tg-appbar;transition:box-shadow var(--t-med);align-items:center;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}body.tg-scrolled .appbar{box-shadow:var(--elev-2)}.hamburger-btn{background:var(--surface-2);color:var(--ink);cursor:pointer;width:var(--tap);height:var(--tap);border-radius:var(--radius-control);transition:background var(--t-fast);-webkit-tap-highlight-color:transparent;border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.hamburger-btn:hover,.hamburger-btn:active,.hamburger-btn[aria-expanded=true]{background:var(--rule)}.hamburger-btn svg{width:24px;height:24px;display:block}.appbar-crumbs{flex:auto;min-width:0}.appbar-crumbs ol{align-items:center;min-width:0;margin:0;padding:0;list-style:none;display:flex}.appbar-crumbs li{flex:0 3 auto;align-items:center;min-width:0;display:flex}.appbar-crumbs li:last-child{flex:0 auto}.appbar-crumbs li+li:before{content:"/";text-align:center;width:18px;color:var(--ink-3);flex:none}.appbar-crumbs a,.appbar-crumbs [aria-current]{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:min(var(--t-body), 19px);line-height:var(--tap);display:block;overflow:hidden}.appbar-crumbs li:has(>a){min-width:44px}.appbar-crumbs li+li:has(>a){min-width:62px}@media (width<=599px){.appbar-crumbs li:not(:first-child):not(:nth-last-child(-n+2)){display:none}}.appbar-crumbs a{min-width:44px;font-size:min(var(--t-sub), 17px);color:var(--ink-2);font-weight:var(--fw-semibold);text-decoration:none}.appbar-crumbs a:hover{color:var(--ink);text-decoration:underline}.appbar-crumbs [aria-current]{color:var(--ink);font-family:var(--font-head);font-weight:var(--fw-bold)}.appbar-logo-link{width:var(--tap);height:var(--tap);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.appbar-logo{border-radius:50%;width:32px;height:32px;display:block}.appbar-right{flex:none;align-items:center;gap:8px;display:flex}.search-wrap{background:0 0;align-items:center;padding:12px 16px 4px;display:flex;position:relative}.search-icon{width:20px;height:20px;color:var(--ink-2);z-index:1;pointer-events:none;position:absolute;left:30px}.search{background:var(--surface);border:1.5px solid var(--rule);border-radius:var(--radius-control);min-width:0;color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);height:var(--tap);appearance:none;transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;flex:1;padding:0 48px 0 46px}.search:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--signal-tint)}.search::placeholder{color:var(--ink-3)}.search::-webkit-search-cancel-button{display:none}.search-clear{color:var(--ink-2);cursor:pointer;width:var(--tap);height:var(--tap);transition:color var(--t-fast), background var(--t-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:absolute;right:16px}.search-clear[hidden]{display:none!important}@media (hover:hover){.search-clear:hover{color:var(--ink);background:var(--surface-2)}}.search-clear:active{color:var(--signal-text)}.search-clear svg{width:18px;height:18px}body.tg-admin .search-wrap,body.tg-no-search .search-wrap{display:none}.view{top:var(--appbar-total-h);bottom:var(--nav-h);-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 20px);position:fixed;left:0;right:0;overflow-y:auto}.view-content{padding:16px 16px 20px;display:block}.view h1{font-family:var(--font-head);font-size:var(--t-h1);font-weight:var(--fw-bold);color:var(--ink);letter-spacing:-.005em;margin:0 0 10px;line-height:1.2}.view h2{font-family:var(--font-head);font-size:var(--t-h3);font-weight:var(--fw-bold);color:var(--ink);margin:22px 0 10px;line-height:1.25}.view p{color:var(--ink);margin:0 0 12px}@media (width<=520px){.profile-chip--anon{width:var(--tap);justify-content:center;padding:4px}.profile-chip--anon .profile-chip-label{display:none}}.bottomnav{min-height:var(--nav-h);background:var(--nav-bg);-webkit-backdrop-filter:var(--nav-blur);border-top:1px solid var(--rule);z-index:100;padding:4px 4px env(safe-area-inset-bottom);view-transition-name:tg-bottomnav;align-items:stretch;transition:transform .2s cubic-bezier(.2,.8,.3,1);display:flex;position:fixed;bottom:0;left:0;right:0}body.tg-admin{--nav-h:0px}body.tg-admin .bottomnav{display:none}body.tg-focus-task{--nav-h:0px}body.tg-focus-task .bottomnav{display:none}body.tg-keyboard-open{--nav-h:0px;--sticky-viz-h:clamp(170px, 44vw, 210px)}body.tg-keyboard-open .view{scroll-padding-top:calc(var(--sticky-viz-h) + var(--s-4))}body.tg-keyboard-open .bottomnav{pointer-events:none;visibility:hidden;transition:transform .2s cubic-bezier(.2,.8,.3,1),visibility 0s linear .2s;transform:translateY(100%)}@media (prefers-reduced-motion:reduce){.bottomnav,body.tg-keyboard-open .bottomnav{transition:none}}.bottomnav-tab{color:var(--ink-2);cursor:pointer;min-height:var(--tap);min-width:0;transition:color var(--t-fast);font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:4px;padding:2px;text-decoration:none;display:flex;position:relative}.bottomnav-tab:after{content:none}.bottomnav-tab:hover{color:var(--ink)}.bottomnav-icon{border-radius:var(--r-pill);width:52px;height:30px;transition:background var(--t-fast), color var(--t-fast);flex:none;justify-content:center;align-items:center;display:inline-flex}.bottomnav-icon svg{width:24px;height:24px;display:block}.nav-icon{width:24px;height:24px}.bottomnav-label{max-width:100%;font-family:var(--font-body);font-size:var(--t-caption);font-weight:var(--fw-medium);letter-spacing:0;text-align:center;white-space:nowrap;line-height:1.2;display:block;overflow:hidden}.bottomnav-tab[aria-current=page]{color:var(--ink)}.bottomnav-tab[aria-current=page] .bottomnav-icon{background:var(--gold);color:var(--on-gold)}.bottomnav-tab[aria-current=page] .bottomnav-label{font-weight:var(--fw-bold)}.bottomnav[data-density=wrap] .bottomnav-tab{flex:auto;min-width:max-content}.bottomnav[data-density=wrap] .bottomnav-label,.bottomnav[data-density=stack] .bottomnav-label{white-space:normal;overflow-wrap:normal;overflow:visible}.bottomnav[data-density=stack]{flex-wrap:wrap}.bottomnav[data-density=stack] .bottomnav-tab{flex:auto;min-width:max-content}.drawer-backdrop{z-index:199;-webkit-backdrop-filter:var(--drawer-blur);opacity:0;transition:opacity var(--t-med);background:#00000080;position:fixed;inset:0}.drawer-backdrop.open{opacity:1}.drawer{background:var(--surface);border-right:1px solid var(--border-hi);z-index:200;width:min(320px,86vw);box-shadow:8px 0 32px var(--shadow);transition:transform var(--t-med);padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.drawer.open{transform:translate(0)}.drawer[hidden],#bf-buy-row[hidden],#drawer-admin-link[hidden]{display:none!important}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.drawer-title{font-family:var(--font-head);color:var(--ink);letter-spacing:.01em;font-size:1.1rem;font-weight:700}.drawer-close{color:var(--text-muted);cursor:pointer;width:36px;min-width:48px;height:36px;min-height:48px;transition:color var(--t-fast), background var(--t-fast);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.drawer-close:hover{color:var(--text);background:var(--surface2)}.drawer-close svg{width:18px;height:18px;display:block}.drawer-nav{flex-direction:column;gap:4px;padding:8px;display:flex}.drawer-nav .list-item,.drawer-footer .list-item{text-align:left;cursor:pointer;width:100%;min-height:56px;font:inherit;color:inherit;background:0 0;border:0}.drawer-nav .list-item:hover,.drawer-footer .list-item:hover{background:var(--surface-2)}.drawer-display{border-top:1px solid var(--rule);margin:0 12px;padding:16px 4px 8px}.drawer-section-title{color:var(--ink);font-family:var(--font-body);font-size:var(--t-sub);font-weight:var(--fw-semibold);letter-spacing:0;margin:0 0 8px}.drawer-row{justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:4px 0;display:flex}.drawer-row--stack{flex-direction:column;justify-content:center;align-items:stretch;gap:6px;padding:8px 0}.drawer-row-label{color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);font-weight:var(--fw-medium);line-height:1.3}.drawer-row--stack .drawer-row-label{color:var(--ink-2);font-size:var(--t-caption);font-weight:var(--fw-semibold)}.drawer-display .ui-segmented{width:100%}.drawer-choice-help{color:var(--ink-2);font-size:var(--t-caption);margin:8px 0 0;line-height:1.45}.drawer-footer{border-top:1px solid var(--rule);margin:8px 8px 16px;padding-top:8px}.page-header{margin-bottom:20px}.page-title.page-title{font-family:var(--font-display);font-size:var(--t-h1);color:var(--text);font-weight:700;line-height:var(--lh-heading);letter-spacing:-.005em;margin-bottom:4px}.page-title.page-title--hero{letter-spacing:-.018em;margin:0 0 6px;font-size:clamp(36px,7.5vw,56px);line-height:1.04}.amp{font-style:italic;font-weight:400}.page-title,.fd-page-title{font-variation-settings:"SOFT" 55}.hero-photo-content .page-title{font-variation-settings:"SOFT" 55, "WONK" 1}p.page-sub,.page-sub{font-size:var(--t-sub);color:var(--text-muted);font-weight:400}.role-badge{vertical-align:middle;font-family:var(--font-body);font-size:var(--t-caption);border-radius:var(--r-pill);background:var(--signal-tint);color:var(--signal-text);border:1px solid var(--signal-text);margin-left:8px;padding:2px 8px;font-weight:600;line-height:1.4;display:inline-block}.role-badge--on-cover{color:var(--mat-ink);border-color:var(--signal);background:#0a09078c}.role-crosslink{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:var(--t-sub);transition:border-color var(--t-fast), background var(--t-fast);align-items:center;gap:10px;margin:0 0 18px;padding:10px 14px;line-height:1.35;text-decoration:none;display:flex}.role-crosslink:hover{border-color:var(--signal-text);background:var(--signal-tint)}.role-crosslink:hover .role-crosslink-text{text-decoration:underline}.role-crosslink-icon{width:18px;height:18px;color:var(--signal-text);flex-shrink:0}.role-crosslink-text{flex:1}.callout-ink{background:var(--surface-3);color:var(--bg);border-radius:var(--radius-xs);margin:24px 0;padding:16px 20px}.callout-ink-eyebrow{font:600 var(--t-caption)/1.2 var(--font-body);text-transform:none;letter-spacing:0;color:var(--signal);margin:0 0 6px;display:block}.callout-ink-title{font:600 16px/1.3 var(--font-display);color:inherit;margin:0 0 8px}.callout-ink-body{font:400 15px/1.55 var(--font-body);color:inherit;margin:0}.pull-quote{border-left:3px solid var(--signal);font:italic 600 18px/1.4 var(--font-display);color:var(--ink);margin:24px 0;padding:8px 0 8px 16px}.pull-quote-attribution{font:500 var(--t-caption)/1.4 var(--font-body);color:var(--ink-2);margin-top:8px;font-style:normal;display:block}.section-heading{font-size:var(--t-sub);color:var(--text-muted);margin:24px 0 10px;font-weight:700}.card-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=600px){.card-grid{grid-template-columns:repeat(3,1fr)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);transition:border-color var(--t-fast), background var(--t-fast);box-shadow:var(--shadow-card);text-align:left;min-height:80px;font:inherit;flex-direction:column;gap:5px;padding:16px 14px;text-decoration:none;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--signal);opacity:0;width:3px;height:100%;transition:opacity var(--t-fast);border-radius:3px 0 0 3px;position:absolute;top:0;left:0}@media (hover:hover){.card:hover{border-color:var(--ink-3);background:var(--surface-2)}.card:hover:before{opacity:1}}.card:active{border-color:var(--ink-3);background:var(--surface-2)}.card-icon{color:var(--ink-2);justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:2px;font-size:1.4rem;line-height:1;display:inline-flex}.card-icon svg{width:28px;height:28px}.card--thumb{align-items:stretch;gap:0;padding:0}.card-thumb{aspect-ratio:16/9;background:var(--surface-2);border-bottom:1px solid var(--border);border-top-left-radius:calc(var(--radius) - 1px);border-top-right-radius:calc(var(--radius) - 1px);width:100%;position:relative;overflow:hidden}.card-thumb img{object-fit:contain;width:100%;height:100%;display:block}.card-body{flex-direction:column;gap:5px;padding:12px 14px 14px;display:flex}.card-title{font-family:var(--font-head);color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.95rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.card-sub{font-size:var(--t-caption);color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.cover-image{border-radius:var(--radius);background:var(--walnut);height:200px;box-shadow:var(--shadow-paper);isolation:isolate;margin:2px 0 14px;position:relative;overflow:hidden}.cover-image img{object-fit:cover;object-position:center 42%;width:100%;height:100%;display:block;position:absolute;inset:0}.cover-image:after{content:"";pointer-events:none;background:linear-gradient(#1e140c00 0%,#1e140c1a 38%,#1e140c8c 70%,#1e140ceb 100%);position:absolute;inset:0}.cover-image--solid{background:linear-gradient(165deg, var(--mat-2) 0%, var(--mat) 45%, var(--walnut) 100%)}.cover-image--solid:after{background:linear-gradient(#1e140c00 60%,#1e140c59 100%)}.cover-image-content{z-index:1;color:var(--mat-ink);background:linear-gradient(#140e0800 0%,#140e088c 10%,#140e08eb 22%,#140e08f0 100%);padding:34px 20px 16px;position:absolute;bottom:0;left:0;right:0}.cover-image-eyebrow{font:600 var(--t-caption)/1.2 var(--font-body);text-transform:none;letter-spacing:0;color:#f0e6d3d1;margin:0 0 6px}.cover-image .cover-image-title{font:700 24px/1.1 var(--font-display);color:var(--mat-ink);margin:0}.cover-image-sub{font:400 var(--t-caption)/1.4 var(--font-body);color:#f0e6d3d1;margin:4px 0 0}@media (width>=600px){.cover-image{height:240px}.cover-image-content{bottom:22px;left:28px;right:28px}.cover-image .cover-image-title{font-size:var(--t-h1)}}.card-hero{background:var(--surface2);border-color:var(--border-hi);flex-direction:row;grid-column:1/-1;align-items:center;gap:16px;min-height:88px;padding:20px 18px}.card-hero .card-title{font-size:1.1rem}.card-hero .card-sub{font-size:var(--t-caption)}.card-hero-badge{background:var(--signal);color:var(--signal-fg);font-size:var(--t-caption);border-radius:4px;margin-bottom:4px;padding:3px 7px;font-weight:700;display:inline-block}.list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);transition:border-color var(--t-fast), background var(--t-fast);min-height:var(--tap);box-shadow:var(--shadow-card);align-items:center;gap:12px;margin-bottom:8px;padding:14px;text-decoration:none;display:flex;position:relative}@media (hover:hover){.list-item:hover{border-color:var(--ink-3);background:var(--surface-2)}}.list-item:active{border-color:var(--ink-3);background:var(--surface-2)}.list-item-chevron{color:var(--text-faint);flex-shrink:0;width:16px;height:16px;margin-left:auto}.list-item-title{font-size:.95rem;font-weight:600;font-family:var(--font-body)}.list-item-sub{font-size:var(--t-caption);color:var(--text-muted);margin-top:2px}.list-item-thumb{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.list-item-thumb img{object-fit:contain;width:100%;height:100%;display:block}.list-item-body{flex:1;min-width:0}.list-item--thumb .list-item-icon{background:var(--surface-2);border:1px solid var(--border);width:56px;height:56px;color:var(--ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.back-btn{color:var(--signal-text);cursor:pointer;font-size:.88rem;font-weight:600;font-family:var(--font-body);min-height:48px;transition:opacity var(--t-fast);letter-spacing:.01em;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:14px;padding:8px 0;display:inline-flex}.back-btn:hover{opacity:.7}.back-btn svg{width:16px;height:16px}.bench-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.bench-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;color:var(--text);transition:border-color var(--t-fast), background var(--t-fast);box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:110px;padding:20px 14px 16px;text-decoration:none;display:flex}@media (hover:hover){.bench-card:hover{border-color:var(--ink-3);background:var(--surface-2)}}.bench-card-icon{background:var(--surface-2);border:1px solid var(--border);width:40px;height:40px;color:var(--ink);font-size:var(--t-h2);border-radius:10px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.bench-card-title{font-family:var(--font-head);color:var(--text);font-size:.92rem;font-weight:600}.bench-card-sub{font-size:var(--t-caption);color:var(--text-muted)}.bench-card--thumb{text-align:left;justify-content:flex-start;align-items:stretch;gap:0;padding:0}.bench-card-thumb{aspect-ratio:16/9;background:var(--surface-2);border-bottom:1px solid var(--border);border-top-left-radius:calc(var(--radius) - 1px);border-top-right-radius:calc(var(--radius) - 1px);width:100%;position:relative;overflow:hidden}.bench-card-thumb img{object-fit:contain;width:100%;height:100%;display:block}.bench-card--thumb .bench-card-body{flex-direction:column;gap:4px;padding:12px 14px 14px;display:flex}.field-group{margin-bottom:16px}.field-label{font-size:var(--t-caption);color:var(--text-muted);font-weight:600;font-family:var(--font-body);margin-bottom:7px;display:block}.field-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-body);height:var(--tap);transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);background:var(--surface-2);box-shadow:none;outline:none;padding:10px 14px;font-size:1.05rem}.field-input:focus{border-color:var(--signal);background:var(--surface-2);box-shadow:0 0 0 3px var(--signal-tint)}select.field-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239a8a72' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.btn{background:var(--signal);color:var(--signal-fg);border-radius:var(--radius-sm);font-family:var(--font-body);height:var(--tap);cursor:pointer;min-width:100px;transition:background var(--t-fast), box-shadow var(--t-fast);box-shadow:0 2px 8px var(--signal-tint);letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:.95rem;font-weight:700;display:inline-flex}.btn[hidden]{display:none!important}.btn:hover{background:var(--signal-2);box-shadow:0 4px 14px var(--signal-tint)}.btn:active{box-shadow:none}.btn-outline{color:var(--signal-text);border:1.5px solid var(--signal-text);box-shadow:none;background:0 0}.btn-outline:hover{background:var(--signal-tint);box-shadow:none}.btn-ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border);box-shadow:none}.btn-ghost:hover{background:var(--surface3)}.btn-danger{background:var(--danger);color:var(--danger-bg);box-shadow:none}.result-box{background:var(--surface2);border:1px solid var(--border-hi);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-top:16px;padding:18px 16px;position:relative;overflow:hidden}.result-box:before{content:"";background:linear-gradient(90deg, var(--signal), transparent);height:2px;position:absolute;top:0;left:0;right:0}.result-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--signal-text);letter-spacing:-.01em;font-size:2.2rem;font-weight:500;line-height:1.1}.result-fact-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--t-sub);color:var(--text);text-align:right}.result-note{font-size:var(--t-caption);color:var(--text-muted);margin-top:8px;line-height:1.5}.warning-banner{background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius-sm);font-size:var(--t-sub);color:var(--danger-text);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;line-height:1.5;display:flex}.warning-banner[hidden]{display:none!important}.topic-body{color:var(--text);font-size:.95rem;line-height:1.75}.topic-body h2{font-family:var(--font-head);color:var(--text);border-bottom:1px solid var(--border);text-transform:none;letter-spacing:0;margin:20px 0 8px;padding-bottom:4px;font-size:1.05rem;font-weight:700}.topic-body p{margin-bottom:10px}.topic-body ul,.topic-body ol{margin-bottom:12px;padding-left:22px}.topic-body li{margin-bottom:5px}.topic-body strong{color:var(--ink);font-weight:700}.topic-body table{border-collapse:collapse;width:100%;font-size:var(--t-sub);border-radius:var(--radius-xs);margin:14px 0;overflow:hidden}.topic-body th{background:var(--surface2);color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);font-weight:700;font-size:var(--t-caption);padding:9px 12px}.topic-body td{border-bottom:1px solid var(--border);background:var(--surface);padding:9px 12px}.topic-body tr:last-child td{border-bottom:none}.search-results .result-section-title{font-size:var(--t-sub);color:var(--text-muted);padding:14px 0 6px;font-weight:700}.search-hit{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast);color:var(--text);margin-bottom:7px;padding:13px 14px;text-decoration:none;display:block}@media (hover:hover){.search-hit:hover{border-color:var(--ink-3);background:var(--surface-2)}}.search-hit-title{font-size:.92rem;font-weight:600}.search-hit-path{font-size:var(--t-caption);color:var(--text-muted);margin-top:2px}mark{background:var(--signal-tint);color:var(--signal-text);border-radius:2px;padding:0 2px}.empty-state{text-align:center;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px 20px}.empty-state-icon{background:var(--mat);border-radius:var(--radius-sm);width:64px;height:64px;color:var(--mat-ink);justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.empty-state-title{font-family:var(--font-head);color:var(--text);margin-bottom:6px;font-size:1.1rem;font-weight:600}.empty-state-sub{font-size:var(--t-sub)}.empty-state-action,.error-state-retry{min-height:var(--tap);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;margin-top:16px;padding:0 18px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.error-state .empty-state-icon{background:var(--surface-2);color:var(--danger-text,var(--ink-2))}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.route-loading{padding:4px 0}.skel{background:linear-gradient(90deg, var(--surface2) 25%, var(--surface3) 37%, var(--surface2) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s ease-in-out infinite skel-shimmer;display:block}.skel-backbar{border-radius:999px;width:96px;height:20px;margin-bottom:20px}.skel-title{width:60%;height:28px;margin-bottom:14px}.skel-sub{width:40%;height:14px;margin-bottom:22px}.skel-box{width:100%;height:160px}.skel-row{width:100%;height:56px;margin-bottom:10px}@keyframes skel-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.library-list{margin:0;padding:0;list-style:none}.lib-row-item{margin:0}.lib-row{min-height:var(--tap);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);color:var(--text);transition:border-color var(--t-fast), background var(--t-fast);align-items:center;gap:12px;margin-bottom:8px;padding:14px;text-decoration:none;display:flex}@media (hover:hover){.lib-row:hover{border-color:var(--ink-3);background:var(--surface-2)}}.lib-row:active{border-color:var(--ink-3);background:var(--surface-2)}.lib-row-icon{width:24px;height:24px;color:var(--signal-text);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.lib-row-icon svg{width:24px;height:24px}.lib-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.lib-row-label{font-size:.95rem;font-weight:600;font-family:var(--font-body)}.lib-row-desc{font-size:var(--t-caption);color:var(--text-muted);margin-top:2px}.lib-row-count{font-size:var(--t-caption);font-variant-numeric:tabular-nums;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:999px;flex-shrink:0;margin-inline-start:4px;padding:2px 9px;font-weight:600}.lib-row-chevron{margin-inline-start:4px;margin-left:0}.ref-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ref-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);font-size:var(--t-caption);justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.ref-item-key{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.ref-item-val{color:var(--text-muted);font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.flex{display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-8{gap:8px}.text-amber{color:var(--signal-text)}.text-muted{color:var(--text-muted)}.text-sm{font-size:var(--t-caption)}.bold{font-weight:700}.w-full{width:100%}:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.view h1[tabindex="-1"]:focus{outline:none}.toast{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px);background:var(--surface3);color:var(--text);border:1px solid var(--border-hi);pointer-events:none;opacity:0;visibility:hidden;z-index:250;box-shadow:0 4px 16px var(--shadow);border-radius:999px;padding:.65rem 1.1rem;font-size:.9rem;transition:transform .25s,opacity .25s,visibility 0s linear .25s;position:fixed;transform:translate(-50%)translateY(150%)}.toast.show{opacity:1;visibility:visible;transition:transform .25s,opacity .25s,visibility linear;transform:translate(-50%)translateY(0)}.topic-diagram{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;margin:8px 0 18px;padding:10px}.topic-diagram img{aspect-ratio:480/280;object-fit:contain;width:100%;max-width:720px;height:auto;margin:0 auto;display:block}.topic-diagram--hero{margin-top:0}.result-label{font-size:var(--t-caption);color:var(--text-muted);font-weight:700}.cut-cb{width:1.25rem;height:1.25rem;accent-color:var(--signal);cursor:pointer}.miter-svg{text-align:center;margin-top:10px}.miter-svg svg{max-width:100%;height:auto}details.tips-more{margin-top:4px}details.tips-more>summary{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;list-style:none}details.tips-more>summary::-webkit-details-marker{display:none}details.tips-more>summary::marker{content:""}.tips-more-toggle{justify-content:center;align-items:center;gap:var(--s-2);width:100%;min-height:var(--tap);margin-top:var(--s-3);padding:0 var(--s-4);border:1.5px solid var(--ink);border-radius:var(--radius-control);color:var(--ink);font-weight:var(--fw-semibold);background:0 0;display:flex}.tips-more-toggle:hover{background:var(--surface-2)}.tips-more-chevron{width:18px;height:18px;color:var(--text-muted);transition:transform var(--t-fast);flex-shrink:0}details.tips-more[open]>summary .tips-more-chevron{transform:rotate(180deg)}.tips-more-body{flex-direction:column;gap:0;margin-top:4px;display:flex}.last-updated{font-size:var(--t-caption);color:var(--text-muted);text-align:right;margin-top:16px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-filter{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);appearance:none;height:40px;transition:border-color var(--t-fast), background var(--t-fast);border-radius:10px;outline:none;margin:0 0 14px;padding:0 14px;font-size:1rem;display:block}.page-filter:focus{border-color:var(--amber);background:var(--surface2);box-shadow:0 0 0 3px var(--amber-glow)}.page-filter::placeholder{color:var(--text-faint)}.page-filter::-webkit-search-cancel-button{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a8a72' stroke-width='2.5' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");background-size:contain;width:16px;height:16px}.back-to-top{right:16px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px + var(--btt-lift,0px));background:var(--signal);width:46px;height:46px;color:var(--signal-fg);z-index:90;cursor:pointer;box-shadow:0 4px 16px var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--t-med), transform var(--t-med), visibility 0s linear var(--t-med);-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:fixed;transform:translateY(8px)}.back-to-top[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--t-med), transform var(--t-med), visibility 0s linear 0s;transform:translateY(0)}.back-to-top:active{transform:translateY(0)scale(.96)}.back-to-top:focus-visible{outline:2px solid var(--signal-text);outline-offset:3px}.back-to-top svg{width:22px;height:22px;display:block}@media (width<=768px){input,select,textarea{font-size:16px!important}}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@media (hover:none) and (pointer:coarse){button:active,a:active,[data-link]:active{opacity:.75}.card:active,.bench-card:active,.list-item:active,.btn:active,.btn-outline:active,.btn-ghost:active{transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.card:active,.bench-card:active,.list-item:active,.btn:active,.btn-outline:active,.btn-ghost:active{transform:none!important}}html[data-motion=reduce] :is(.card,.bench-card,.list-item,.btn,.btn-outline,.btn-ghost):active{transform:none!important}@media (prefers-reduced-transparency:reduce){:root,[data-theme=dark],[data-theme=light]{--nav-blur:none;--drawer-blur:none}.appbar,.search-wrap,.bottomnav{background:var(--bg)}.drawer-backdrop{background:#000000b3}}.hero-photo img{transform:translateY(calc(var(--hero-scroll-y,0) * 1px));transition:transform linear}@supports (animation-timeline:scroll()){.hero-photo img{animation:linear both tg-hero-photo-parallax;animation-timeline:scroll(root);animation-range:0 50vh}@keyframes tg-hero-photo-parallax{0%{opacity:1;transform:translateY(0)}to{opacity:.7;transform:translateY(-10px)}}}@keyframes tg-illust-line-trace{0%{stroke-dashoffset:var(--path-length,1000);opacity:.4}to{stroke-dashoffset:0;opacity:1}}.illust-trace.illust-traced path[data-illust-trace],.illust-trace.illust-traced .illust-trace-path{stroke-dasharray:var(--path-length,1000);animation:tg-illust-line-trace var(--motion-illustration-duration-trace) var(--motion-ease-out) both}@keyframes tg-illust-fade-in{0%{opacity:0}to{opacity:1}}.illust-fade-in.illust-revealed{animation:tg-illust-fade-in var(--motion-duration-md) var(--motion-ease-out) both}@keyframes tg-card-grid-stagger{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-grid.illust-revealed>.card{animation:tg-card-grid-stagger var(--motion-duration-md) var(--motion-ease-out) backwards;animation-delay:calc(var(--stagger-index,0) * var(--motion-illustration-duration-stagger))}.card--thumb .card-thumb img{transition:transform var(--motion-duration-sm) var(--motion-ease-out), filter var(--motion-duration-sm) var(--motion-ease-out);will-change:transform}@media (hover:hover){.card--thumb:hover .card-thumb img,.card--thumb:focus-visible .card-thumb img{filter:brightness(1.06);transform:scale(1.04)}}.card--thumb:focus-visible .card-thumb img{filter:brightness(1.06);transform:scale(1.04)}@keyframes tg-list-item-slide-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.list-stagger.illust-revealed>*{animation:tg-list-item-slide-in .28s var(--motion-ease-out) backwards;animation-delay:min(calc(var(--stagger-index,0) * var(--motion-illustration-duration-stagger)), .48s)}.bench-grid.list-stagger.illust-revealed>*{animation-name:tg-card-grid-stagger;animation-duration:var(--motion-duration-md)}@keyframes tg-route-fade-out{0%{opacity:1}to{opacity:0}}.view.route-out{animation:tg-route-fade-out 80ms var(--motion-ease-in-out) both}@keyframes tg-route-fade-in{0%{opacity:0}to{opacity:1}}.view.route-in{animation:tg-route-fade-in .24s var(--motion-ease-in-out) both}.drawer{transition:transform var(--motion-duration-md) var(--motion-ease-out)}@keyframes tg-drawer-backdrop-fade{0%{opacity:0}to{opacity:1}}.drawer-backdrop{transition:opacity var(--motion-duration-md) var(--motion-ease-out)}.search{transition:border-color var(--motion-duration-sm) var(--motion-ease-out), background var(--motion-duration-sm) var(--motion-ease-out), box-shadow var(--motion-duration-sm) var(--motion-ease-out)}@keyframes tg-search-focus-glow{0%{box-shadow:0 0 0 0 var(--signal-tint)}to{box-shadow:0 0 0 3px var(--signal-tint)}}.search:focus-visible{animation:tg-search-focus-glow var(--motion-duration-sm) var(--motion-ease-out) both}.back-to-top{transition:opacity var(--motion-duration-md) var(--motion-ease-out), transform var(--motion-duration-md) var(--motion-ease-out), visibility 0s linear var(--motion-duration-md)}.back-to-top[data-visible=true]{transition:opacity var(--motion-duration-md) var(--motion-ease-out), transform var(--motion-duration-md) var(--motion-ease-out), visibility 0s linear 0s}@keyframes tg-back-to-top-float-in{0%{opacity:0;transform:translateY(8px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tg-illust-joint-mate-left{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes tg-illust-joint-mate-right{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}[data-illust=joint-mate] path:first-of-type,[data-illust=joint-mate] g:first-of-type{transform-origin:50%;transform-box:fill-box;animation:tg-illust-joint-mate-left var(--motion-duration-xl) var(--motion-ease-out) both}[data-illust=joint-mate] path:nth-of-type(2),[data-illust=joint-mate] g:nth-of-type(2){transform-origin:50%;transform-box:fill-box;animation:tg-illust-joint-mate-right var(--motion-duration-xl) var(--motion-ease-out) both;animation-delay:.12s}@media (prefers-reduced-motion:reduce){.hero-photo img{animation:none!important;transform:none!important}.illust-trace.illust-traced path[data-illust-trace],.illust-trace.illust-traced .illust-trace-path{animation:tg-fade-in-reduced var(--motion-duration-sm) linear both!important;stroke-dashoffset:0!important;stroke-dasharray:none!important}.illust-fade-in.illust-revealed{animation:tg-fade-in-reduced var(--motion-duration-sm) linear both!important}.card-grid.illust-revealed>.card{animation:tg-fade-in-reduced var(--motion-duration-sm) linear both!important;animation-delay:0s!important;transform:none!important}.card--thumb:hover .card-thumb img,.card--thumb:focus-visible .card-thumb img{filter:none!important;transform:none!important}.list-stagger.illust-revealed>*{animation:tg-fade-in-reduced var(--motion-duration-sm) linear both!important;animation-delay:0s!important;transform:none!important}.view.route-out,.view.route-in{animation-duration:var(--motion-duration-sm)!important}.drawer{transition:opacity var(--motion-duration-sm) linear!important;transform:none!important}.drawer.open{opacity:1!important;transform:none!important}.drawer:not(.open){opacity:0!important}.search:focus-visible{outline:2px solid var(--signal-text)!important;outline-offset:2px!important;box-shadow:none!important;animation:none!important}.back-to-top,.back-to-top[data-visible=true]{transition:opacity var(--motion-duration-sm) linear!important;transform:none!important}[data-illust=joint-mate] path:first-of-type,[data-illust=joint-mate] path:nth-of-type(2),[data-illust=joint-mate] g:first-of-type,[data-illust=joint-mate] g:nth-of-type(2){animation:tg-fade-in-reduced var(--motion-duration-sm) linear both!important;animation-delay:0s!important;transform:none!important}}@keyframes tg-fade-in-reduced{0%{opacity:0}to{opacity:1}}::view-transition-old(root){animation-duration:var(--motion-duration-md);animation-timing-function:var(--motion-ease-out)}::view-transition-new(root){animation-duration:var(--motion-duration-md);animation-timing-function:var(--motion-ease-out)}::view-transition-old(root){animation-name:tg-vt-out}::view-transition-new(root){animation-name:tg-vt-in}.vt-back::view-transition-new(root){animation-name:tg-vt-in-back}@keyframes tg-vt-out{to{opacity:0}}@keyframes tg-vt-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes tg-vt-in-back{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-image-pair(*){animation:none!important}}@keyframes tg-result-pop{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}.result-pop{animation:tg-result-pop .36s var(--motion-ease-spring)}span.result-pop{display:inline-block}html[data-motion=reduce] *,html[data-motion=reduce] :before,html[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html[data-motion=reduce]{scroll-behavior:auto!important}html[data-motion=reduce]::view-transition-old(root){animation:none!important}html[data-motion=reduce]::view-transition-new(root){animation:none!important}html[data-motion=reduce]::view-transition-group(*){animation:none!important}html[data-motion=reduce]::view-transition-image-pair(*){animation:none!important}html[data-motion=reduce] .hero-photo img{animation:none!important;transform:none!important}html[data-motion=reduce] .bench-card-anim *,html[data-motion=reduce] .calc-live-viz *{animation-delay:0s!important}html[data-motion=reduce] .bench-card-anim,html[data-motion=reduce] .calc-live-viz{opacity:1;transition:none}html[data-motion=reduce] .illust-trace.illust-traced path[data-illust-trace],html[data-motion=reduce] .illust-trace.illust-traced .illust-trace-path{stroke-dashoffset:0!important;stroke-dasharray:none!important}.appbar-profile-chip-slot{align-items:center;display:inline-flex}.profile-chip{color:var(--text-muted);border-radius:var(--r-pill);background:var(--surface2);border:1px solid var(--border);font-family:var(--font-body);transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);align-items:center;gap:6px;min-height:48px;padding:4px 12px 4px 6px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.profile-chip:hover{color:var(--ink);background:var(--surface);border-color:var(--border-strong)}.profile-chip:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.profile-chip--anon{padding:4px 12px}.profile-chip--anon svg{width:22px;height:22px}.profile-chip-label{white-space:nowrap}.profile-chip-avatar{background:var(--signal);width:28px;height:28px;color:var(--signal-fg);font-weight:700;font-family:var(--font-display);font-size:var(--t-sub);object-fit:cover;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.profile-chip-avatar--initial{line-height:1}.password-wrap{position:relative}.password-wrap .field-input{padding-right:48px}.password-toggle{width:40px;min-width:48px;height:40px;min-height:48px;color:var(--ink-2);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{color:var(--ink);background:var(--surface-2)}.password-toggle:focus-visible{outline:2px solid var(--signal-text);outline-offset:1px}.password-toggle svg{width:20px;height:20px}.auth-cta{width:100%;margin-top:var(--s-2);position:relative}.auth-cta:disabled{opacity:.7;cursor:not-allowed}.auth-cta-spinner{border:2px solid var(--signal-fg);border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite auth-spin;display:inline-block}.auth-cta-spinner[hidden]{display:none!important}@keyframes auth-spin{to{transform:rotate(360deg)}}.terms-link{margin:-12px -4px;padding:12px 4px;display:inline-block}.error-banner{background:var(--danger-tint);color:var(--danger-text);border-left:3px solid var(--danger);border-radius:var(--radius-xs);margin-bottom:var(--s-3);padding:10px 14px;font-size:.88rem;line-height:1.45}.success-banner{background:var(--surface-2);color:var(--green-text);border-left:3px solid var(--green-text);border-radius:var(--radius-xs);margin-bottom:var(--s-3);padding:10px 14px;font-size:.88rem;line-height:1.45}.eyebrow--danger{color:var(--danger-text)}.danger-zone{margin-top:var(--s-2);padding:var(--s-4);border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-tint)}.danger-zone-title{color:var(--ink);margin-bottom:var(--s-2);font-size:1.05rem;font-weight:700}.danger-zone-body{color:var(--ink-2);margin-bottom:var(--s-3);font-size:.9rem;line-height:1.5}.delete-confirm{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--danger)}.delete-confirm-instructions{color:var(--ink-2);margin-bottom:var(--s-3);font-size:.9rem;line-height:1.5}.delete-confirm-actions{gap:var(--s-2);margin-top:var(--s-3);display:flex}.delete-confirm-actions .btn{flex:1}.danger-zone .btn:focus-visible{outline-color:var(--ink);outline-offset:2px}.danger-zone .btn:disabled,.danger-zone .btn[disabled]{opacity:.55;cursor:not-allowed}.settings-section{margin-top:var(--s-8);padding-top:var(--s-6);border-top:1px solid var(--border)}.settings-section:first-of-type{margin-top:var(--s-5);border-top:none;padding-top:0}.settings-section .settings-section-title{margin:0 0 var(--s-2)}.settings-section .settings-section-sub{font-size:var(--t-sub);color:var(--text-muted);margin:-2px 0 var(--s-4);line-height:1.5}.settings-field{margin-bottom:var(--s-4);border:0;min-inline-size:0;padding:0}.settings-field:last-child{margin-bottom:0}.avatar-placeholder{align-items:center;gap:var(--s-3);display:flex}.avatar-placeholder-mark{background:var(--surface-2);border:1px solid var(--border);width:96px;height:96px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-placeholder-mark svg{width:44px;height:44px}.avatar-placeholder-hint{flex:1;min-inline-size:0;margin:0}.field-textarea{resize:vertical;height:auto;min-height:84px;padding-top:10px;line-height:1.5}.settings-section .field-hint{font-size:var(--t-caption);color:var(--text-faint);margin:var(--s-1) 0 0;line-height:1.4}.settings-section .field-counter{text-align:right;font-variant-numeric:tabular-nums}.settings-actions{align-items:center;gap:var(--s-3);margin-top:var(--s-4);display:flex}.settings-status{min-width:0;font-size:var(--t-caption);color:var(--text-muted);flex:1}.settings-actions .btn{flex:none}.settings-actions .btn:disabled,.settings-actions .btn[disabled]{opacity:.5;box-shadow:none;cursor:not-allowed}.settings-row{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:var(--tap);padding:var(--s-3) 0;display:flex}.settings-row+.settings-row{border-top:1px solid var(--border)}.settings-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-row-label{font-family:var(--font-body);font-size:var(--t-body);color:var(--ink);font-weight:600;line-height:1.3}.settings-row-sub{font-family:var(--font-body);font-size:var(--t-caption);color:var(--ink-2);line-height:1.4}.settings-section .settings-row-hint{margin:0 0 var(--s-2)}.sync-settings-card{gap:var(--s-3);height:650px;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow-y:auto}.sync-settings-status{align-items:flex-start;gap:var(--s-3);min-height:64px;display:flex}.sync-status-dot{background:var(--text-faint);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--text-faint) 16%, transparent);border-radius:50%;flex:0 0 12px;margin-top:5px}.sync-settings-status[data-sync-tone=success] .sync-status-dot{background:var(--green-text);box-shadow:0 0 0 4px color-mix(in srgb, var(--green-text) 16%, transparent)}.sync-settings-status[data-sync-tone=signal] .sync-status-dot{background:var(--signal-text);box-shadow:0 0 0 4px color-mix(in srgb, var(--signal-text) 16%, transparent)}.sync-settings-status[data-sync-tone=warning] .sync-status-dot{background:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb, var(--amber) 16%, transparent)}.sync-settings-status[data-sync-tone=danger] .sync-status-dot{background:var(--danger-text);box-shadow:0 0 0 4px color-mix(in srgb, var(--danger-text) 16%, transparent)}.sync-status-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.sync-status-copy strong{color:var(--ink);font-size:.95rem}.sync-status-copy span{height:2.9em;color:var(--ink-2);font-size:var(--t-caption);line-height:1.45;overflow-y:auto}.sync-scope-copy{height:130px;padding:var(--s-3);border-radius:var(--radius-xs);background:var(--surface-2);overflow-y:auto}.settings-section .sync-scope-copy p{color:var(--ink-2);font-size:var(--t-caption);margin:0;line-height:1.45}.settings-section .sync-scope-copy p+p{margin-top:var(--s-2)}.sync-device-field{min-height:104px;margin:0}.sync-settings-actions{gap:var(--s-2);grid-template-columns:repeat(2,minmax(0,1fr));min-height:160px;display:grid}.sync-settings-actions .btn{width:100%;min-width:0;min-height:var(--tap);height:auto;padding:9px 12px;line-height:1.25}.sync-settings-actions .btn:disabled,.sync-settings-actions .btn[disabled]{opacity:.5;box-shadow:none;cursor:not-allowed}.sync-delete-data-btn:not(:disabled){color:var(--danger-text);border-color:var(--danger)}.settings-section .sync-action-message{height:3.3em;color:var(--ink-2);font-size:var(--t-caption);margin:0;line-height:1.45;overflow-y:auto}.sync-settings-meta{padding-top:var(--s-2);border-top:1px solid var(--border);color:var(--text-faint);font-size:var(--t-caption);font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;margin-top:auto;display:flex}body.action-dialog-open{overflow:hidden}.action-dialog-overlay{z-index:2200;padding:max(var(--s-4), env(safe-area-inset-top)) var(--s-4) max(var(--s-4), env(safe-area-inset-bottom));background:var(--overlay-scrim);place-items:center;display:grid;position:fixed;inset:0}.action-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(100%,520px);max-height:min(90dvh,760px);color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.action-dialog--danger{border-color:var(--danger)}.action-dialog-title{padding:var(--s-5) var(--s-5) var(--s-2);color:var(--ink);margin:0;font-size:1.25rem}.action-dialog-description{padding:0 var(--s-5) var(--s-3);color:var(--ink-2);margin:0;font-size:.9rem;line-height:1.45}.action-dialog-content{min-height:0;padding:0 var(--s-5);overflow-y:auto}.action-dialog-stack{gap:var(--s-3);flex-direction:column;display:flex}.action-dialog-stack>p{margin:0}.sync-dialog-scope{padding:var(--s-3);border-radius:var(--radius-xs);background:var(--surface-2);color:var(--ink-2);font-size:var(--t-caption);line-height:1.45}.sync-dialog-scope p{margin:0}.sync-dialog-scope ul{margin:var(--s-2) 0;padding-left:1.2rem}.action-dialog-check{gap:var(--s-2);min-height:var(--tap);color:var(--ink-2);cursor:pointer;grid-template-columns:24px minmax(0,1fr);align-items:start;font-size:.88rem;line-height:1.45;display:grid}.action-dialog-check input{width:22px;height:22px;accent-color:var(--signal-text);margin:1px 0 0}.action-dialog-error{min-height:58px;margin:var(--s-3) var(--s-5) 0;visibility:hidden}.action-dialog-error.is-visible{visibility:visible}.action-dialog-actions{gap:var(--s-2);padding:var(--s-3) var(--s-5) var(--s-5);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto;display:grid}.action-dialog-actions .btn{width:100%;min-width:0}.action-dialog-actions .btn:disabled,.action-dialog-actions .btn[disabled]{background:var(--surface-2);color:var(--text-faint);border:1px solid var(--border);opacity:.72;box-shadow:none;cursor:not-allowed}@media (width<=390px){.sync-settings-card{height:700px}.sync-settings-actions{grid-template-columns:1fr;min-height:330px}.action-dialog-title,.action-dialog-description,.action-dialog-content{padding-left:var(--s-4);padding-right:var(--s-4)}.action-dialog-error{margin-left:var(--s-4);margin-right:var(--s-4)}.action-dialog-actions{padding-left:var(--s-4);padding-right:var(--s-4)}}.community-controls{margin-bottom:var(--s-4)}.chip-row{margin-bottom:var(--s-3);flex-wrap:wrap;gap:8px;display:flex}.chip-row--scroll{margin:0 calc(var(--page-pad-x) * -1) var(--s-3);padding:2px var(--page-pad-x);scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-inline:var(--page-pad-x);flex-wrap:nowrap;overflow-x:auto}.chip-row--scroll::-webkit-scrollbar{display:none}.chip-row--scroll .chip{scroll-snap-align:start;flex:none}.chip{background:var(--surface);border:1px solid var(--border);color:var(--ink-2);border-radius:var(--r-pill);font-family:var(--font-body);font-size:var(--t-caption);cursor:pointer;min-height:48px;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex}.chip:hover{background:var(--surface-2)}.chip:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.chip--active,.chip-amber{background:var(--signal-tint);color:var(--signal-text);border-color:var(--signal)}.chip--radio{cursor:pointer}.chip--radio input{opacity:0;pointer-events:none;position:absolute}.chip--radio:has(input:checked){background:var(--signal-tint);color:var(--signal-text);border-color:var(--signal)}.chip--radio:has(input:focus-visible){outline:2px solid var(--signal-text);outline-offset:2px}.byline{align-items:center;gap:8px;display:flex}.byline-name{font-family:var(--font-body);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;overflow:hidden}.byline-meta{font-size:var(--t-caption);color:var(--ink-2);white-space:nowrap;flex-shrink:0;margin-left:auto}.profile-head--centered{text-align:center;align-items:center;gap:var(--s-2);margin-top:var(--s-4);flex-direction:column;display:flex}.profile-head--centered .avatar--lg{margin-bottom:var(--s-2)}.profile-name{font-family:var(--font-display);font-size:var(--t-h1);color:var(--ink);margin:0;font-weight:700;line-height:1.15}.profile-sub{font-family:var(--font-body);font-size:var(--t-sub);color:var(--ink-2);margin:0}.profile-badges{justify-content:center;gap:var(--s-2);margin-top:var(--s-1);flex-wrap:wrap;display:flex}.profile-edit-link{margin-top:var(--s-2);align-self:center;width:auto;min-width:0}.profile-bio{margin-top:var(--s-4);color:var(--ink-2);line-height:1.55}.profile-bio--centered{text-align:center}.profile-detail .stat-card-row{margin-top:var(--s-5)}.profile-detail .stat-card-row--single{grid-template-columns:1fr}.security-log{margin-top:var(--s-3)}.security-item{align-items:center}.security-badge{font-family:var(--font-body);font-size:var(--t-caption);border-radius:var(--r-pill);padding:3px 8px;font-weight:500}.security-badge--success{color:var(--success);background:#5a8d4a26}.security-badge--danger{background:var(--danger-tint);color:var(--danger)}.security-badge--muted{background:var(--surface-2);color:var(--ink-2)}.bottomnav-tab--more{cursor:pointer;background:0 0;border:0;font-family:inherit}:is(.chip--active,.chip--radio:has(input:checked),.chip-amber),.chip:active{box-shadow:var(--pressed-shadow)}.topic-diagram--clickable{cursor:zoom-in;transition:transform .12s,box-shadow .12s}.topic-diagram--clickable:hover,.topic-diagram--clickable:focus-visible{box-shadow:0 4px 14px var(--shadow,#0000001f);outline:none;transform:translateY(-1px)}.topic-diagram--clickable:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.diagram-lightbox{z-index:1000;padding:var(--s-5,20px);-webkit-tap-highlight-color:transparent;background:#0a0907e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.diagram-lightbox[hidden]{display:none}.diagram-lightbox-img{background:var(--surface);border-radius:var(--radius,8px);width:auto;max-width:min(96vw,1200px);height:auto;max-height:90vh;padding:16px;box-shadow:0 8px 40px #00000080}.diagram-lightbox-close{top:max(env(safe-area-inset-top), 16px);background:var(--surface);width:44px;height:44px;color:var(--ink);border:1px solid var(--border,transparent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;inset-inline-end:max(env(safe-area-inset-right), 16px);box-shadow:0 2px 10px #00000059}.diagram-lightbox-close:hover,.diagram-lightbox-close:focus-visible{background:var(--surface-2);outline:none}.diagram-lightbox-close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){.topic-diagram--clickable{transition:none}.topic-diagram--clickable:hover,.topic-diagram--clickable:focus-visible{transform:none}}.bench-section{margin-bottom:22px}.bench-section+.bench-section{margin-top:8px}.bench-section-heading{align-items:center;gap:6px;display:flex}.view h2.bench-section-heading{margin:24px 2px 10px}.pro-bench-heading,.view h2.pro-bench-heading{color:var(--signal-text)}.pro-bench-sparkle{width:14px;height:14px;color:var(--signal);justify-content:center;align-items:center;display:inline-flex}.pro-bench-sparkle svg{width:100%;height:100%}.bench-filter{margin-block:4px 14px;position:relative}.bench-filter-icon{color:var(--text-muted);pointer-events:none;display:inline-flex;position:absolute;inset-block-start:50%;inset-inline-start:12px;transform:translateY(-50%)}.bench-filter .field-input{padding-inline-start:38px}a.bench-card[hidden],.bench-section[hidden]{display:none!important}.bench-filter-empty{padding-block:32px}.bench-session{margin:0 0 28px}.bench-session-heading,.bench-tools-heading,.bench-reading-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.bench-session-heading{align-items:center}.bench-session-heading .page-title{margin-bottom:0}.bench-session-sub{max-width:48ch;font-size:var(--t-sub);color:var(--ink-2)!important;margin:8px 0 16px!important}.bench-projects-link{min-height:var(--tap);color:var(--accent-text);font-size:var(--t-sub);font-weight:var(--fw-semibold);flex:none;align-items:center;text-decoration:none;display:inline-flex}.bench-session-grid{gap:var(--s-3);grid-template-columns:minmax(0,1fr);display:grid}.bench-pickup{gap:var(--s-1);min-width:0;padding:var(--s-5);border-radius:var(--radius-sheet);background:var(--mat);color:var(--mat-ink);flex-direction:column;display:flex}.bench-reading{min-width:0;padding:var(--s-4);border:1px solid var(--rule);border-radius:var(--radius-tile);background:var(--surface)}.bench-card-kicker{color:var(--ink-2);font:var(--fw-semibold) var(--t-sub)/1.3 var(--font-body)}.bench-pickup .bench-card-kicker{color:var(--mat-dim)}.view h2.bench-reading-title,.view h2.bench-tools-title{color:var(--ink);font-family:var(--font-body);font-size:var(--t-h3);font-weight:var(--fw-semibold);line-height:var(--lh-heading);letter-spacing:-.01em;text-transform:none}.view h2.bench-pickup-title{color:var(--mat-ink);font-family:var(--font-display);font-size:var(--t-h2);font-weight:700;line-height:var(--lh-heading);letter-spacing:0;text-transform:none;overflow-wrap:anywhere;margin:0}.bench-pickup-title a{color:inherit;text-decoration:none}.bench-pickup-title a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (hover:hover){.bench-pickup-title a:hover{text-underline-offset:4px;text-decoration:underline}}.bench-pickup>p{color:var(--mat-dim);font-size:var(--t-sub);margin:0;line-height:1.4}.bench-stage-selector{margin-top:var(--s-3);border-radius:var(--radius-control);background:var(--mat-2);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:2px;display:grid}.bench-stage-chip{min-width:0;min-height:var(--tap);border-radius:calc(var(--radius-control) - 2px);color:var(--mat-ink);font:var(--fw-semibold) var(--t-sub)/1.15 var(--font-body);overflow-wrap:anywhere;cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;padding:0 4px}.bench-stage-chip[aria-pressed=true]{background:var(--mat-ink);color:var(--mat)}.bench-stage-chip:focus-visible{outline:2px solid var(--mat-line);outline-offset:1px}.bench-pickup-action{min-height:var(--tap);margin-top:var(--s-4);padding:0 var(--s-5);border-radius:var(--radius-control);background:var(--gold);color:var(--on-gold);font-size:var(--t-body);justify-content:center;align-self:flex-start;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.bench-pickup-action:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.view h2.bench-reading-title{margin:5px 0 10px}.bench-reading-list{grid-template-columns:minmax(0,1fr);gap:7px;display:grid}.bench-reading-row{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;min-height:60px;color:var(--ink);transition:border-color var(--t-fast), background var(--t-fast);justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.bench-reading-row:hover{border-color:var(--border-strong);background:var(--surface-2)}.bench-reading-row>span{min-width:0}.bench-reading-row strong,.bench-reading-row small{display:block}.bench-reading-row strong{color:var(--ink);font-size:var(--t-caption);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bench-reading-row small{color:var(--ink-2);font-size:var(--t-tiny);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;line-height:1.35;overflow:hidden}.bench-reading-row svg{width:16px;height:16px;color:var(--ink-3);flex:0 0 16px}.bench-reading-empty{font-size:var(--t-sub);color:var(--ink-2)!important}.bench-tools-heading{align-items:flex-end;margin:0 2px 10px}.view h2.bench-tools-title{font-size:var(--t-h2);margin:0}.bench-tools-heading>span{color:var(--ink-2);font:var(--fw-medium) var(--t-caption)/1.4 var(--font-body);font-variant-numeric:tabular-nums}@media (width>=700px){.bench-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.view.view--cut-card{padding:0 0 calc(var(--nav-h) + env(safe-area-inset-bottom) + 18px);background:var(--surface-2)}.view.view--graph{background-image:linear-gradient(var(--graph-line-major) 1px, transparent 1px), linear-gradient(90deg, var(--graph-line-major) 1px, transparent 1px), linear-gradient(var(--graph-line) 1px, transparent 1px), linear-gradient(90deg, var(--graph-line) 1px, transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-attachment:local,local,local,local}.view--graph .field-label{text-transform:none;letter-spacing:.01em;font-size:var(--t-tiny)}.measure-hud{right:14px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 18px);z-index:90;background:color-mix(in srgb, var(--surface) 78%, transparent);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:max-content;max-width:min(72vw,320px);box-shadow:var(--elev-3);-webkit-backdrop-filter:var(--nav-blur);opacity:0;pointer-events:none;transition:opacity var(--motion-duration-sm) var(--motion-ease-out);position:fixed;overflow:hidden}.measure-hud.is-shown{opacity:1;pointer-events:auto}.measure-hud:hover,.measure-hud:focus-within{background:var(--surface)}@supports not (background:color-mix(in srgb, red 50%, blue)){.measure-hud{background:var(--surface)}}@media (prefers-reduced-transparency:reduce){.measure-hud{background:var(--surface)}}.measure-hud-bar{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:5px 10px;display:flex}.measure-hud-bar:active{cursor:grabbing}.measure-hud-title,.measure-hud-label{font-family:var(--font-mono);font-size:var(--t-caption);font-weight:var(--fw-medium);color:var(--ink-2)}.measure-hud-grip{background:var(--rule);width:14px;height:2px;box-shadow:0 4px 0 var(--rule);border-radius:1px;margin-left:auto}.measure-hud-body{flex-direction:column;gap:2px;padding:8px 12px 10px;display:flex}.measure-hud-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.measure-hud-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--t-body);color:var(--signal-text)}.cut-card{background:var(--surface);width:min(100%,760px);min-height:100%;margin:0 auto}.cut-card-header{z-index:3;border-bottom:1px solid var(--border);background:var(--appbar-bg);min-height:76px;-webkit-backdrop-filter:var(--nav-blur);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 16px;display:grid;position:sticky;top:0}.cut-card-header .eyebrow{margin:0 0 2px}.view .cut-card-header h1{color:var(--ink);font-family:var(--font-body);font-size:var(--t-h3);font-weight:var(--fw-semibold);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.25;overflow:hidden}.cut-card-back,.cut-card-project-link{border-radius:var(--radius-sm);min-width:48px;min-height:48px;color:var(--signal-text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.cut-card-back svg{width:20px;height:20px}.cut-card-project-link{min-width:0;font-size:var(--t-caption);font-weight:var(--fw-semibold);padding:0 6px;text-decoration:none}.cut-card-progress-wrap{border-bottom:1px solid var(--border);padding:20px 18px 16px}.cut-card-progress-copy{gap:4px;display:grid}.cut-card-progress-copy strong{color:var(--ink);font-size:var(--t-body)}.cut-card-progress-copy span{color:var(--ink-2);font-size:var(--t-caption);line-height:1.45}.cut-card-progress{border-radius:var(--r-pill);background:var(--surface-2);height:8px;margin-top:13px;overflow:hidden}.cut-card-progress>span{width:var(--cut-progress,0%);border-radius:inherit;background:var(--success);height:100%;transition:width var(--t-med);display:block}.cut-card-list{align-content:start;gap:8px;min-height:190px;padding:16px 18px;display:grid}.cut-card-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;min-height:64px;transition:border-color var(--t-fast), background var(--t-fast);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid;position:relative}.cut-card-row:hover{border-color:var(--border-strong);background:var(--surface-2)}.cut-card-check{z-index:1;opacity:0;cursor:pointer;width:52px;height:100%;margin:0;position:absolute;inset:0 auto 0 0}.cut-card-checkmark{border:2px solid var(--ink-3);background:var(--surface);border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.cut-card-check:checked+.cut-card-checkmark{border-color:var(--success);background:var(--success)}.cut-card-check:checked+.cut-card-checkmark:after{content:"";border-bottom:2px solid var(--surface);border-left:2px solid var(--surface);width:8px;height:4px;transform:translateY(-1px)rotate(-45deg)}.cut-card-check:focus-visible+.cut-card-checkmark{outline:2px solid var(--signal-text);outline-offset:3px}.cut-card-part{min-width:0}.cut-card-part strong,.cut-card-part small{display:block}.cut-card-part strong{color:var(--ink);font-size:var(--t-sub);font-weight:var(--fw-semibold)}.cut-card-part small{color:var(--ink-2);font-size:var(--t-caption);margin-top:2px}.cut-card-part .cut-card-note{color:var(--ink-3);font-style:italic}.cut-card-row.is-done .cut-card-part strong{color:var(--ink-2);text-decoration:line-through}.cut-card-empty{min-height:156px;color:var(--ink-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:24px;display:flex}.cut-card-empty strong{color:var(--ink)}.cut-card-empty span{max-width:38ch;font-size:var(--t-caption)}.cut-card-add-toggle{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);width:calc(100% - 36px);min-height:48px;color:var(--signal-text);font:var(--fw-semibold) var(--t-sub)/1 var(--font-body);cursor:pointer;justify-content:center;align-items:center;gap:8px;margin:0 18px 14px;display:inline-flex}.cut-card-add-toggle svg{width:18px;height:18px}.cut-card-add-reveal{transition:grid-template-rows var(--t-med);grid-template-rows:0fr;display:grid}.cut-card-add-reveal.is-open{grid-template-rows:1fr}.cut-card-add-clip{min-height:0;overflow:hidden}.cut-card-add-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin:0 18px 20px;padding:16px}.cut-card-form-grid{grid-template-columns:minmax(0,1fr) 92px;gap:0 10px;display:grid}.cut-card-field--label{grid-column:1/-1}@media (prefers-reduced-motion:reduce){.cut-card-add-reveal{transition-duration:1ms}}.bench-card[data-tier=pro]{border-left:2px solid var(--signal-2);position:relative}.pro-cta{background:var(--signal);color:var(--signal-fg,var(--bg));border:1px solid var(--signal-2);border-radius:var(--radius);text-align:center;font-family:var(--font-head);box-shadow:var(--shadow-card);transition:transform var(--t-fast), background var(--t-fast);margin:18px 2px 8px;padding:14px 18px;font-size:.95rem;font-weight:700;text-decoration:none;display:block}@media (hover:hover){.pro-cta:hover{background:var(--signal-2)}}.pro-cta:active{transform:scale(.99)}@media (prefers-reduced-motion:reduce){.pro-cta{transition:none}.pro-cta:active{transform:none}}body.action-sheet-open{overflow:hidden}.action-sheet{z-index:200;visibility:hidden;pointer-events:none;transition:visibility 0s linear var(--t-med);position:fixed;inset:0}.action-sheet.is-open{visibility:visible;pointer-events:auto;transition-delay:0s}.action-sheet-backdrop{background:var(--overlay-scrim);opacity:0;cursor:pointer;width:100%;height:100%;transition:opacity var(--t-fast);border:0;padding:0;position:absolute;inset:0}.action-sheet.is-open .action-sheet-backdrop{opacity:1}.action-sheet-panel{border:1px solid var(--border-strong);background:var(--bg);width:min(100%,620px);max-height:calc(100dvh - 36px);box-shadow:var(--elev-3);transition:transform var(--t-med);border-bottom:0;border-radius:20px 20px 0 0;flex-direction:column;margin-inline:auto;display:flex;position:absolute;inset:auto 0 0;transform:translateY(104%)}.action-sheet.is-open .action-sheet-panel{transform:translateY(0)}.action-sheet-handle{border-radius:var(--r-pill);background:var(--border-strong);flex:none;width:38px;height:4px;margin:10px auto 12px}@media (prefers-reduced-motion:reduce){.action-sheet,.action-sheet-backdrop,.action-sheet-panel{transition:none}}.manuals-filter-panel{height:auto;padding:0 16px calc(16px + env(safe-area-inset-bottom))}.manuals-filter-title{color:var(--ink);font:var(--fw-bold) var(--t-h3)/1.25 var(--font-body);margin:0}.manuals-filter-body{gap:var(--s-2);overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.manuals-filter-label{margin:var(--s-3) 0 0;color:var(--ink-2);font:var(--fw-semibold) var(--t-sub)/1.3 var(--font-body)}.manuals-filter-panel .sort-row{margin:0}.manuals-filter .chip{min-height:var(--tap);padding:0 var(--s-4);font-size:var(--t-sub)}.manuals-filter-done{width:100%;margin-top:var(--s-4);flex:none}.manuals-reorder-btn{min-width:var(--tap);min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-2);color:var(--ink);font-size:var(--t-caption);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);flex-shrink:0;line-height:1}.manuals-reorder-btn:hover:not(:disabled){background:var(--surface);border-color:var(--border-strong)}.manuals-reorder-btn:disabled{opacity:.35;cursor:default}.manuals-reorder-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.manuals-rename-row{align-items:center;gap:var(--s-2);width:100%;flex-wrap:wrap;margin-block-start:var(--s-2);display:flex}.manuals-rename-row .field-input{flex:1;min-width:160px}.manuals-picker{padding:var(--s-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-block-end:var(--s-4)}.manuals-picker-head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-block-end:var(--s-3);display:flex}.manuals-picker-rows{gap:var(--s-1);flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.manuals-picker-row{min-height:var(--tap);align-items:center;gap:var(--s-3);padding:var(--s-2);border-radius:var(--radius-xs);cursor:pointer;display:flex}.manuals-picker-row:hover{background:var(--surface-2)}.manuals-picker-row input[type=checkbox]{flex-shrink:0;width:20px;height:20px}.manuals-picker-row:focus-within{outline:2px solid var(--focus);outline-offset:-2px}.manuals-picker-label{flex-direction:column;min-width:0;display:flex}.net-status-banner{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 56px);z-index:97;background:var(--ink);max-width:calc(100vw - 32px);color:var(--bg);font-size:var(--t-caption);font-weight:var(--fw-semibold,600);text-align:center;box-shadow:var(--elev-3);pointer-events:none;border-radius:999px;padding:9px 16px;line-height:1.3;position:fixed;transform:translate(-50%)}.net-status-banner[hidden]{display:none}.sw-update-prompt{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 96px);z-index:240;background:var(--surface3);max-width:calc(100vw - 32px);color:var(--text);border:1px solid var(--border-hi);box-shadow:var(--elev-3);border-radius:999px;align-items:center;gap:12px;padding:9px 9px 9px 16px;font-size:.88rem;display:flex;position:fixed;transform:translate(-50%)}.sw-update-prompt__msg{line-height:1.3}.sw-update-prompt__btn{min-height:var(--tap);background:var(--ink);color:var(--bg);font-size:var(--t-caption);font-weight:var(--fw-semibold,600);cursor:pointer;border:none;border-radius:999px;flex:none;padding:6px 16px}.sw-update-prompt__btn:disabled{cursor:default;background:var(--ink-3,var(--ink))}body.is-offline .profile-chip--anon{opacity:.55}.report-dialog-overlay{padding:var(--s-4);z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.report-dialog{background:var(--surface);width:100%;max-width:420px;max-height:90vh;color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--s-5);overflow-y:auto;box-shadow:0 18px 48px #00000052}.report-dialog-title{font-size:var(--t-h2,20px);margin:0 0 var(--s-2);color:var(--ink);font-weight:600}.report-dialog-sub{font-size:var(--t-caption,14px);color:var(--ink-2);margin:0 0 var(--s-4)}.report-dialog .field-group{margin-bottom:var(--s-4)}.report-dialog-actions{gap:var(--s-3);margin-top:var(--s-5);justify-content:flex-end;display:flex}.report-submit-spinner[hidden]{display:none!important}.report-submit-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite report-spin;display:inline-block}@keyframes report-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.report-submit-spinner{animation:none}}.field-input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-tint)}.field-error{font-size:var(--t-caption);color:var(--danger-text);margin:6px 0 0;line-height:1.4}.skill-badge{vertical-align:middle;font-family:var(--font-body);font-size:var(--t-caption);border-radius:var(--r-pill);white-space:nowrap;border:1px solid #0000;align-items:center;padding:2px 9px;font-weight:600;line-height:1.4;display:inline-flex}.skill-badge--apprentice{background:var(--signal-tint);color:var(--signal-text);border-color:var(--signal)}.skill-badge--journeyman{background:var(--accent-2-tint);color:var(--accent-2-text);border-color:var(--accent-2)}.skill-badge--master{background:var(--signal);color:var(--signal-fg);border-color:var(--signal)}[data-theme=dark] .skill-badge--journeyman{background:var(--surface-2)}.avatar{background:var(--signal);width:40px;height:40px;color:var(--signal-fg);font-family:var(--font-display);object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.avatar--sm{width:40px;height:40px;font-size:1rem}.avatar--lg{width:96px;height:96px;font-size:2.25rem}.avatar--pine{background:var(--accent-2);color:var(--surface)}.wm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-paper);padding:var(--card-pad-y) var(--card-pad-x);color:var(--ink)}.stat-card{gap:var(--s-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-paper);padding:var(--s-4);text-align:left;flex-direction:column;display:flex}.stat-card-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.75rem;font-weight:600;line-height:1.05}.stat-card-value--mono{font-family:var(--font-mono);font-weight:600}.stat-card-label{font-family:var(--font-body);font-size:var(--t-caption);color:var(--ink-2);font-weight:500}.stat-card-row{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);align-items:stretch;gap:2px;padding:3px;display:inline-flex}.segmented:where(fieldset){min-inline-size:0;margin:0}.segmented-option{min-height:40px;padding:0 var(--s-4);border-radius:var(--r-pill);color:var(--ink-2);font-family:var(--font-body);font-size:var(--t-sub);cursor:pointer;white-space:nowrap;transition:background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);background:0 0;border:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.segmented-option:hover{color:var(--ink)}.segmented-option:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.segmented-option.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-paper)}.segmented-option:has(input:checked){background:var(--surface);color:var(--ink);box-shadow:var(--shadow-paper)}.segmented-option:has(input:focus-visible){outline:2px solid var(--signal-text);outline-offset:2px}.segmented-option input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.toggle{cursor:pointer;flex-shrink:0;align-items:center;width:46px;height:28px;display:inline-flex;position:relative}.toggle input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.toggle-track{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);transition:background var(--t-med), border-color var(--t-med);position:absolute;inset:0}.toggle-knob{background:var(--surface);width:20px;height:20px;transition:left var(--t-med), background var(--t-med);border-radius:50%;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 1px 2px #28211b40}.toggle input:checked~.toggle-track{background:var(--accent-2);border-color:var(--accent-2)}.toggle input:checked~.toggle-knob{left:calc(100% - 23px)}.toggle input:focus-visible~.toggle-track{outline:2px solid var(--signal-text);outline-offset:2px}.back-link{align-items:center;gap:var(--s-1);min-height:var(--tap);margin:0 0 var(--s-2) calc(-1 * var(--s-2));padding:0 var(--s-3) 0 var(--s-1);border-radius:var(--radius-control);color:var(--accent-text);font-family:var(--font-body);font-size:var(--t-sub);font-weight:var(--fw-semibold);-webkit-tap-highlight-color:transparent;text-decoration:none;display:inline-flex}.back-link .ui-chevron{flex:none;width:22px;height:22px}.back-link:hover{background:var(--surface-2)}.back-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin:var(--s-6) 0 var(--s-3);display:flex}.view .section-head-title{font-family:var(--font-display);font-size:var(--t-h2);font-weight:700;line-height:var(--lh-heading);color:var(--ink);letter-spacing:0;margin:0}.section-head-link{min-height:var(--tap);color:var(--accent-text);font-size:var(--t-sub);font-weight:var(--fw-semibold);text-underline-offset:3px;flex:none;align-items:center;text-decoration:underline;display:inline-flex}.photo-tile{aspect-ratio:3/4;border-radius:var(--radius-tile);background:var(--mat);color:var(--mat-ink);isolation:isolate;text-decoration:none;display:block;position:relative;overflow:hidden}.photo-tile--wide{aspect-ratio:16/9;grid-column:span 2}.photo-tile-img{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.photo-tile:after{content:"";z-index:-1;background:linear-gradient(#0000 40%,#0c1410e6);position:absolute;inset:0}.photo-tile-text{padding:var(--s-8) var(--s-3) var(--s-3);background:linear-gradient(transparent, #0c1410c7 var(--s-8));flex-direction:column;gap:2px;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-tile-title{font-family:var(--font-display);font-size:var(--t-body);font-weight:600;line-height:var(--lh-heading)}.photo-tile-sub{font-size:var(--t-caption);color:var(--mat-ink);line-height:1.3}.photo-tile:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.photo-tile--diagram{flex-direction:column;display:flex}.photo-tile--diagram .photo-tile-img{width:100%;min-height:0;padding:var(--s-2) var(--s-2) 0;object-fit:contain;z-index:auto;flex:1 1 0;position:static}.photo-tile--diagram .photo-tile-text{padding-top:var(--s-2);background:0 0;position:static}.photo-tile--diagram:after{display:none}.list-row{align-items:center;gap:var(--s-3);min-height:60px;padding:var(--s-2) var(--s-1);border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;display:flex}.list-row-lead{border-radius:var(--radius-control);background:var(--surface-2);width:44px;height:44px;color:var(--ink);flex:none;justify-content:center;align-items:center;display:inline-flex}.list-row-lead svg{width:24px;height:24px}.list-row-lead--thumb{background:var(--mat);overflow:hidden}.list-row-lead--thumb img{object-fit:cover;width:100%;height:100%}.list-row-lead--thumb img[src$=\.svg]{object-fit:contain;padding:3px}.list-row-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.list-row-title{font-size:var(--t-body);font-weight:var(--fw-semibold);line-height:1.3}.list-row-sub{font-size:var(--t-sub);color:var(--ink-2);line-height:1.4}.list-row-trail{font-size:var(--t-sub);color:var(--ink-2);flex:none}.list-row-value{font-family:var(--font-mono)}.list-row-trail--chevron{color:var(--ink-3);display:inline-flex}.list-row-trail--chevron .ui-chevron{width:20px;height:20px}a.list-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.chip-set{gap:var(--s-2);padding:2px 2px var(--s-1);scrollbar-width:none;display:flex;overflow-x:auto}.chip-set::-webkit-scrollbar{display:none}.chip-set-chip{min-height:var(--tap);padding:0 var(--s-4);border:1.5px solid var(--rule);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:var(--t-sub);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;flex:none}.chip-set-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.ui-segmented{border:1.5px solid var(--rule);border-radius:var(--radius-control);background:var(--surface);flex-wrap:wrap;gap:2px;width:100%;padding:3px;display:flex}.ui-segmented .segmented-option{min-width:min-content;min-height:var(--tap);padding:0 var(--s-2);color:var(--ink);font-size:var(--t-sub);white-space:normal;overflow-wrap:break-word;border-radius:10px;flex:1 1 0;line-height:1.2}.ui-segmented .segmented-option[aria-pressed=true]{background:var(--ink);color:var(--bg);box-shadow:none}.stepper{align-items:center;gap:var(--s-2);display:inline-flex}.stepper-btn{width:var(--tap);height:var(--tap);border:1.5px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font-size:var(--t-h3);cursor:pointer;font-weight:700;line-height:1}.stepper-btn:disabled{opacity:.45;cursor:default}.stepper-value{text-align:center;min-width:4ch;font-family:var(--font-mono);font-size:var(--t-h3);color:var(--ink);font-weight:600}.stepper-unit{font-size:var(--t-sub);color:var(--ink-2)}.ui-btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-5);border-radius:var(--radius-control);font-family:var(--font-body);font-size:var(--t-body);cursor:pointer;font-weight:700;text-decoration:none;display:inline-flex}.ui-btn--primary{background:var(--gold);color:var(--on-gold);border:0}.ui-btn--primary:active{background:var(--signal-2)}.ui-btn--secondary{color:var(--ink);border:1.5px solid var(--ink);background:0 0}.ui-btn--quiet{padding:0 var(--s-2);color:var(--accent-text);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.ui-btn[hidden]{display:none!important}.ui-switch{width:60px;height:var(--tap);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;padding:0;position:relative}.ui-switch:before{content:"";border:1.5px solid var(--ink-2);background:var(--surface-2);width:52px;height:32px;transition:background var(--t-fast), border-color var(--t-fast);border-radius:16px;position:absolute;top:8px;left:4px}.ui-switch-thumb{background:var(--ink-2);width:20px;height:20px;transition:transform var(--t-fast), background var(--t-fast);border-radius:50%;position:absolute;top:14px;left:10px}.ui-switch[aria-checked=true]:before{background:var(--ink);border-color:var(--ink)}.ui-switch[aria-checked=true] .ui-switch-thumb{background:var(--bg);transform:translate(20px)}.chip-set-chip:focus-visible,.ui-segmented .segmented-option:focus-visible,.stepper-btn:focus-visible,.ui-switch:focus-visible,.ui-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.result-box.result-sheet{margin-top:var(--s-4);padding:var(--s-4);border-radius:var(--radius-sheet);background:var(--mat);color:var(--mat-ink);box-shadow:none;border:0}.result-sheet-diagram:empty{display:none}.result-sheet-diagram{margin:0 0 var(--s-3)}.result-sheet .result-sheet-label{font-size:var(--t-sub);font-weight:var(--fw-semibold);color:var(--mat-dim);margin:0}.result-sheet .result-value{font-family:var(--font-mono);font-size:var(--t-display);color:var(--mat-ink);font-weight:600;line-height:1.15}.result-sheet .result-sheet-note{margin:var(--s-2) 0 0;font-size:var(--t-sub);color:var(--mat-dim)}.safety-box{margin:var(--s-5) 0;padding:var(--s-4);border:1px solid var(--rule);border-left:4px solid var(--danger);border-radius:var(--radius-tile);background:var(--surface);color:var(--ink)}.view .safety-box-title{align-items:center;gap:var(--s-2);margin:0 0 var(--s-3);font-family:var(--font-body);font-size:var(--t-body);color:var(--ink);letter-spacing:0;font-weight:750;display:flex}.safety-box-title svg{color:var(--danger);flex:none}.safety-list{gap:var(--s-2);margin:0;padding-left:1.25em;list-style:decimal;display:grid}.safety-list--more{margin-top:var(--s-2)}.safety-list[hidden]{display:none!important}.safety-rule{font-size:var(--t-body);line-height:var(--lh-body)}.safety-rule-head{font-weight:700}.safety-toggle{min-height:var(--tap);margin-top:var(--s-2);color:var(--accent-text);font:inherit;font-weight:var(--fw-semibold);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.safety-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.view:has(.hero-photo)>.search-wrap{z-index:2;position:absolute;top:0;left:0;right:0}.view-content:has(.hero-photo){padding-top:0}.hero-photo{--hero-h:300px;margin:0 -16px var(--s-5);padding:calc(var(--hero-h) - 64px) 16px 0;isolation:isolate;position:relative}.hero-photo img{z-index:-2;width:100%;height:var(--hero-h);object-fit:cover;object-position:92% 50%;display:block;position:absolute;top:0;left:0}.hero-photo:before,.hero-photo:after{content:"";z-index:-1;height:var(--hero-h);pointer-events:none;position:absolute;top:0;left:0;right:0}.hero-photo:before{background:linear-gradient(90deg, var(--bg) 0 34%, transparent 58%)}.hero-photo:after{background:linear-gradient(180deg, transparent 52%, var(--bg))}.hero-photo-content{gap:var(--s-2);display:grid;position:relative}.hero-photo .page-title.home-hero-title{max-width:18ch;color:var(--ink);font-size:clamp(var(--t-h1), 7vw, var(--t-display));margin:0;font-weight:800;line-height:1.1}.hero-photo .home-hero-sub{max-width:34ch;color:var(--ink-2);font-size:var(--t-body);margin:0;line-height:1.45}.home-continue{gap:var(--s-1);padding:var(--s-5);border-radius:var(--radius-sheet);background:var(--mat);color:var(--mat-ink);text-decoration:none;display:grid}.home-continue:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.home-continue-kicker{color:var(--mat-dim);font-size:var(--t-sub);font-weight:var(--fw-semibold)}.home-continue-title{color:var(--mat-ink);font-family:var(--font-display);font-size:var(--t-h2);font-weight:700;line-height:var(--lh-heading);overflow-wrap:anywhere}.home-continue-sub{color:var(--mat-dim);font-size:var(--t-sub);line-height:1.4}.home-continue-bar{height:8px;margin:var(--s-2) 0 var(--s-1);background:var(--mat-2);border-radius:4px;display:block;overflow:hidden}.home-continue-bar i{background:var(--mat-line);height:100%;display:block}.home-continue-meta{justify-content:space-between;gap:var(--s-1) var(--s-3);flex-wrap:wrap;display:flex}.home-continue-next{color:var(--mat-dim);font-size:var(--t-sub);line-height:1.4}.home-continue-cta{justify-self:start;align-items:center;gap:var(--s-1);min-height:var(--tap);margin-top:var(--s-3);padding:0 var(--s-3) 0 var(--s-4);border-radius:var(--radius-control);background:var(--gold);color:var(--on-gold);font-size:var(--t-body);font-weight:700;display:inline-flex}.home-continue-cta .ui-chevron{width:20px;height:20px}.home-rail{gap:var(--s-3);padding:0 0 var(--s-2);overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin:0;list-style:none;display:flex;overflow-x:auto}.home-rail::-webkit-scrollbar{display:none}.home-rail-item{scroll-snap-align:start;flex:0 0 9.5rem}.home-calc-list .list-row:last-child,.home-more .list-row:last-child{border-bottom:0}@media (width>=600px){.hero-photo{--hero-h:420px}.home-rail-item{flex-basis:11rem}}.home-drawing{isolation:isolate;gap:var(--s-4);margin:-20px -16px var(--s-6);padding:var(--s-5) var(--s-5) var(--s-6);background-color:var(--mat);color:var(--mat-ink);display:grid;position:relative}.home-drawing:before{content:"";z-index:-1;background-image:linear-gradient(var(--mat-grid) 1px, transparent 1px), linear-gradient(90deg, var(--mat-grid) 1px, transparent 1px);opacity:.55;pointer-events:none;background-position:-1px -1px;background-size:24px 24px;position:absolute;inset:0}.hd-drawing{justify-self:center;width:100%;max-width:520px;height:auto;display:block}.hd-line path{fill:none;stroke:var(--mat-ink);stroke-width:2px;stroke-linejoin:round}.hd-line .hd-pin{fill:var(--mat-2)}.hd-line .hd-grain{stroke:var(--mat-dim);stroke-width:1px;opacity:.7}.hd-measure path{fill:none;stroke:var(--mat-line);stroke-width:1.25px}.hd-measure .hd-arrow{fill:var(--mat-line);stroke:none}.hd-measure .hd-gap{fill:var(--mat);stroke:none}.hd-measure text{fill:var(--mat-line);font-family:var(--font-mono);font-size:15px;font-weight:600}.home-drawing .page-title.hd-title{max-width:16ch;margin:0 0 var(--s-2);color:var(--mat-ink);font-size:clamp(var(--t-h1), 8vw, var(--t-display));line-height:var(--lh-display)}.home-drawing .hd-sub{max-width:34ch;color:var(--mat-dim);font-size:var(--t-body);margin:0;line-height:1.45}.hd-titleblock{gap:var(--s-3);padding:var(--s-4);border:1.5px solid var(--mat-dim);border-radius:var(--radius-xs);background:var(--mat);display:grid}.hd-cells{border:1px solid var(--mat-grid);grid-template-columns:1fr 1fr;margin:0;display:grid}.hd-cell{padding:var(--s-2) var(--s-3)}.hd-cell+.hd-cell{border-left:1px solid var(--mat-grid)}.hd-cell dt{color:var(--mat-dim);font-size:var(--t-caption);font-weight:var(--fw-semibold)}.hd-cell dd{color:var(--mat-ink);font-size:var(--t-body);font-weight:var(--fw-semibold);overflow-wrap:anywhere;margin:0}.hd-cta,.hb-cta{justify-self:start;align-items:center;gap:var(--s-1);min-height:var(--tap);padding:0 var(--s-3) 0 var(--s-4);border-radius:var(--radius-control);background:var(--gold);color:var(--on-gold);font-size:var(--t-body);font-weight:700;text-decoration:none;display:inline-flex}.hd-cta:focus-visible,.hb-card:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.hd-cta .ui-chevron,.hb-cta .ui-chevron{width:20px;height:20px}.home-bench{margin:var(--s-4) 0 var(--s-8)}.home-bench .page-title.hb-title{max-width:12ch;margin:0 0 var(--s-3);color:var(--ink);letter-spacing:-.02em;font-size:clamp(2.5rem,12vw,4rem);line-height:1.02}.home-bench .hb-lede{max-width:32ch;margin:0 0 var(--s-6);color:var(--ink-2);font-size:var(--t-body);line-height:1.5}.hb-card{gap:var(--s-2);padding:var(--s-5);border:1px solid var(--rule);border-radius:var(--radius-sheet);background:var(--surface);box-shadow:var(--elev-1);color:var(--ink);text-decoration:none;display:grid}.hb-kicker{color:var(--accent-text);font-size:var(--t-sub);font-weight:var(--fw-semibold)}.hb-name{color:var(--ink);font-family:var(--font-display);font-size:var(--t-h2);font-weight:700;line-height:var(--lh-heading);overflow-wrap:anywhere}.hb-sub{color:var(--ink-2);font-size:var(--t-sub);line-height:1.4}.hb-cta{margin-top:var(--s-2)}.hb-board{height:40px;margin:var(--s-2) 0 var(--s-1);gap:3px;display:flex}.hb-piece{border:1.5px solid var(--border-strong);background:var(--surface-2);border-radius:3px;flex:1 1 0;min-width:6px}.hb-piece.is-done{border-color:var(--pine);background:var(--pine)}.hb-board--blank{border:1.5px solid var(--border-strong);background:var(--surface-2);border-radius:3px;position:relative}.hb-mark{border-left:2px dashed var(--ink-3);position:absolute;top:-6px;bottom:-6px}.hb-mark:first-child{left:30%}.hb-mark:nth-child(2){left:55%}.hb-mark:nth-child(3){left:78%}.home-editorial{margin:var(--s-2) 0 var(--s-8)}.he-photo{aspect-ratio:4/3;margin-bottom:var(--s-5);border-radius:var(--radius-sheet);background:var(--surface-2) url(../hero/hero-dark.jpg) 80% 50% / cover no-repeat;box-shadow:var(--elev-2)}.home-editorial .page-title.he-title{max-width:15ch;margin:0 0 var(--s-2);color:var(--ink);font-size:clamp(var(--t-h1), 9vw, 3rem);line-height:var(--lh-display);letter-spacing:-.015em}.home-editorial .he-lede{max-width:34ch;color:var(--ink-2);font-size:var(--t-body);margin:0;line-height:1.5}@media (width>=600px){.home-drawing{padding:var(--s-10) var(--s-8);align-items:center;column-gap:var(--s-8);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.hd-drawing{grid-area:1/2/span 2}.hd-copy{grid-area:1/1}.hd-titleblock{grid-area:2/1}.he-photo{aspect-ratio:16/7}}.tools-filter{margin:0 0 var(--s-2)}.tools-count{margin:0 0 var(--s-3);font-size:var(--t-sub);color:var(--ink-2)}.tools-grid{gap:var(--s-3);margin-bottom:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=600px){.tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){.tools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.reading-hero{margin:0 0 var(--s-4);aspect-ratio:16/9;border-radius:var(--radius-sheet);background:var(--mat);overflow:hidden}.reading-hero-img{object-fit:cover;width:100%;height:100%;display:block}.reading-role{margin:var(--s-2) 0 0}.reading-page .role-badge{font-family:var(--font-body);font-size:var(--t-caption);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0}.reading-page .role-crosslink{font-size:var(--t-sub);min-height:var(--tap);align-items:center;display:inline-flex}.reading-meta{gap:var(--s-4);margin:var(--s-2) 0 var(--s-4);color:var(--ink-2);font-size:var(--t-sub);flex-wrap:wrap;display:flex}.reading-meta span{align-items:center;gap:6px;display:inline-flex}.reading-meta svg{flex:none;width:18px;height:18px}.reading-page .topic-diagram,.fd-page .topic-diagram{margin:var(--s-4) 0;padding:var(--s-3);border-radius:var(--radius-sheet);background:var(--mat);border:0}.reading-page .topic-diagram img,.fd-page .topic-diagram img{border-radius:var(--radius-tile);width:100%;height:auto;display:block}.reading-steps{gap:var(--s-4);margin:0;padding:0;list-style:none;display:grid}.reading-steps li{gap:var(--s-3);grid-template-columns:36px 1fr;display:grid}.reading-step-num{font:600 var(--t-h3)/1.3 var(--font-mono);color:var(--pine)}.reading-steps strong{font-size:var(--t-body);line-height:var(--lh-body);display:block}.reading-steps p{margin:var(--s-1) 0 0;color:var(--ink-2);font-size:var(--t-body);line-height:var(--lh-body)}.reading-spec{border-top:1px solid var(--rule)}.reading-spec .list-row{min-height:48px;padding:var(--s-3) 0}.reading-note{margin:var(--s-4) 0;padding:var(--s-3) var(--s-4);border-radius:var(--radius-tile);background:var(--surface-2);color:var(--ink);font-size:var(--t-sub);line-height:var(--lh-body)}.reading-section{margin:var(--s-6) 0 0}.reading-section .topic-body{font-size:var(--t-body);line-height:var(--lh-body)}.reading-rows{gap:var(--s-2);display:grid}.reading-callout-label{margin:0 0 var(--s-1);font-size:var(--t-caption);font-weight:var(--fw-semibold);color:var(--ink-2)}.reading-page .callout-ink-title{font-size:var(--t-h3);letter-spacing:0}.reading-page .callout-ink-body{font-size:var(--t-body);line-height:var(--lh-body)}.reading-chips{margin:0 0 var(--s-4)}.reading-tips{display:grid}.reading-tip-row{gap:var(--s-1);min-height:60px;padding:var(--s-4) 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;display:grid}.reading-tip-row[hidden]{display:none!important}.reading-tip-title{font-size:var(--t-body);line-height:var(--lh-body);font-weight:700}.reading-tip-text{-webkit-line-clamp:2;line-clamp:2;color:var(--ink-2);font-size:var(--t-sub);line-height:var(--lh-body);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reading-tip-row:focus-visible,.reading-more-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-control)}@media (hover:hover){.reading-tip-row:hover .reading-tip-title{text-underline-offset:3px;text-decoration:underline}}.reading-more-toggle{min-height:var(--tap);font-size:var(--t-sub);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0}.fg-grid{gap:var(--s-3);margin:var(--s-2) 0 var(--s-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=600px){.fg-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.fg-list{margin:var(--s-2) 0 var(--s-6)}.fg-page .page-header .page-sub{font-size:var(--t-sub);color:var(--ink-2)}.fd-page{padding-bottom:var(--s-12);display:block}.fd-cascade .fd-cascade-1,.fd-cascade .fd-cascade-2,.fd-cascade .fd-cascade-3,.fd-cascade .fd-cascade-4,.fd-cascade .fd-cascade-5{opacity:0;animation:.32s cubic-bezier(.16,1,.3,1) forwards fd-cascade-in;transform:translateY(12px)}.fd-cascade .fd-cascade-1{animation-delay:0s}.fd-cascade .fd-cascade-2{animation-delay:80ms}.fd-cascade .fd-cascade-3{animation-delay:.16s}.fd-cascade .fd-cascade-4{animation-delay:.24s}.fd-cascade .fd-cascade-5{animation-delay:.32s}@keyframes fd-cascade-in{to{opacity:1;transform:translateY(0)}}.fd-page-header{margin:var(--s-4) 0 var(--s-6)}.fd-page-title.fd-page-title{margin:var(--s-2) 0 0;padding-bottom:var(--s-3);font-family:var(--font-display);font-size:var(--t-h1);font-weight:700;line-height:var(--lh-heading);color:var(--ink);position:relative}.fd-page-title.fd-page-title:after,.fd-section-heading:after{content:"";background:var(--pine);border-radius:2px;width:46px;height:3px;position:absolute;bottom:0;left:0}.fd-hero{margin:0 calc(var(--page-pad-x) * -1) var(--s-4);aspect-ratio:16/10;background:var(--mat);border-block:1px solid var(--rule);display:block;overflow:hidden}.fd-hero img{object-fit:cover;width:100%;height:100%;transition:transform .48s cubic-bezier(.16,1,.3,1);display:block}.fd-hero-parallax img{will-change:transform;transform:scale(.96)}.fd-prose{margin:var(--s-4) 0}.fd-cross-refs{margin:var(--s-6) 0}.fd-tip-row{color:inherit;text-decoration:none;transition:background .16s cubic-bezier(.2,0,0,1)}.fd-tip-row:focus-visible{outline:3px solid var(--focus);outline-offset:-1px;border-radius:var(--radius-xs)}.fd-section{margin:var(--s-6) 0}.fd-section-heading{margin:0 0 var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);font-family:var(--font-display);font-size:var(--t-h2);font-weight:700;line-height:var(--lh-heading);color:var(--ink);position:relative}.fd-section-heading:after{width:34px;bottom:-1px}.fd-prose-body{margin:0 0 var(--s-3);font-family:var(--font-body);font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink)}.fd-prose-list{margin:0 0 var(--s-3);padding-left:var(--s-5);color:var(--ink)}.fd-prose-list li{margin-bottom:var(--s-2);font-size:var(--t-body);line-height:var(--lh-body)}.fd-meta-strip{gap:var(--s-3);margin:var(--s-4) 0 var(--s-6);padding:var(--s-4);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-tile);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fd-meta-cell{gap:var(--s-1);flex-direction:column;display:flex}.fd-meta-cell--wide{grid-column:1/-1}.fd-meta-label{font-family:var(--font-body);font-size:var(--t-caption);color:var(--ink-2)}.fd-meta-value{font-family:var(--font-body);font-size:var(--t-sub);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.4}@media (prefers-reduced-motion:reduce){.fd-cascade [class*=fd-cascade-]{opacity:1;animation:none;transform:none}.fd-hero-parallax img{transition:none;transform:scale(1)!important}}html[data-motion=reduce] .fd-cascade [class*=fd-cascade-]{opacity:1;animation:none;transform:none}html[data-motion=reduce] .fd-hero-parallax img{transition:none;transform:scale(1)!important}.fd-steps{margin:0;padding:0;list-style:none}.fd-step{padding:var(--s-5) 0 var(--s-5) 30px;display:block;position:relative}.fd-step:before{content:"";left:0;top:calc(var(--s-5) + 3px);background:var(--accent-2-tint);border:2.5px solid var(--pine);border-radius:50%;width:12px;height:12px;transition:background .4s .3s;position:absolute}.fd-step:after{content:"";left:5px;top:calc(var(--s-5) + 20px);bottom:calc(-1 * var(--s-5) + 24px);background:var(--rule);transform-origin:top;border-radius:1px;width:2px;transition:transform 1.5s cubic-bezier(.16,1,.3,1);position:absolute;transform:scaleY(0)}.fd-step.is-revealed:before{background:var(--pine)}.fd-step.is-revealed:after{transform:scaleY(1)}.fd-step:last-child:after{display:none}.fd-step-marker{align-items:baseline;gap:var(--s-1) var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.fd-step-num{font-family:var(--font-mono);font-size:var(--t-caption);color:var(--pine);flex-basis:100%;font-weight:600}.fd-step-name{font-family:var(--font-display);font-size:var(--t-h3);color:var(--ink);margin:0;font-weight:700;line-height:1.3}.fd-step-body{display:block}.fd-step-figure,.fd-diagram{margin:0 0 var(--s-3);padding:var(--s-3);aspect-ratio:4/3;background:var(--mat);border-radius:var(--radius-sheet);display:block;overflow:hidden}.fd-diagram{margin:0 0 var(--s-6)}.fd-step-figure[hidden]{display:none!important}.fd-step-img,.fd-diagram img{object-fit:contain;width:100%;height:100%;display:block}.fd-step-img{clip-path:inset(0 100% 0 0);transition:clip-path 1.5s cubic-bezier(.16,1,.3,1)}.fd-step.is-revealed .fd-step-img{clip-path:inset(0)}.fd-step-prose{font-family:var(--font-body);font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink)}.fd-mistakes{gap:var(--s-3);flex-direction:column;display:flex}.fd-mistake-item{gap:var(--s-3);padding:var(--s-3);background:var(--danger-bg);border-left:3px solid var(--danger);border-radius:var(--radius-xs);display:flex}.fd-mistake-icon{color:var(--danger-ink);flex-shrink:0;align-items:flex-start;padding-top:2px;display:inline-flex}.fd-mistake-text{font-size:var(--t-sub);color:var(--danger-ink);line-height:1.5}.fd-hero--specimen{margin:0 0 var(--s-4);aspect-ratio:16/9;border-radius:var(--radius-sheet);border:0}.fd-plate-row{gap:var(--s-2);margin:0 0 var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.fd-plate{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-tile);opacity:0;margin:0;animation:.38s cubic-bezier(.16,1,.3,1) forwards fd-plate-in;display:block;overflow:hidden;transform:translateY(40px)}.fd-plate:nth-child(2){animation-delay:.18s}.fd-plate:nth-child(3){animation-delay:.36s}.fd-plate:nth-child(4){animation-delay:.54s}@keyframes fd-plate-in{to{opacity:1;transform:translateY(0)}}.fd-plate-img{aspect-ratio:1;object-fit:cover;background:var(--surface-2);width:100%;display:block}.fd-plate-caption{padding:var(--s-2) var(--s-3);border-top:1px solid var(--rule);font-family:var(--font-body);font-size:var(--t-caption);text-align:center;color:var(--ink-2);font-weight:600}.fd-glance-card{gap:var(--s-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fd-glance-row{align-content:start;gap:var(--s-1);padding:var(--s-3);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-tile);display:grid}.fd-glance-row--wide{grid-column:1/-1}.fd-glance-row--hi{border-left:4px solid var(--pine)}.fd-glance-label{font-family:var(--font-body);font-size:var(--t-caption);color:var(--ink-2);font-weight:600}.fd-glance-value{font-family:var(--font-body);font-size:var(--t-sub);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.5}.fd-glance-row--num .fd-glance-value{font-family:var(--font-mono);font-size:var(--t-h3);font-weight:600;line-height:1.3}@media (prefers-reduced-motion:reduce){.fd-plate{opacity:1;animation:none;transform:none}.fd-step-img{clip-path:inset(0);transition:none}.fd-step:before,.fd-step:after{transition:none}}html[data-motion=reduce] .fd-plate{opacity:1;animation:none;transform:none}html[data-motion=reduce] .fd-step-img{clip-path:inset(0);transition:none}.view h2.bench-section-heading{margin:var(--s-6) 2px var(--s-2);color:var(--ink);font-family:var(--font-body);font-size:var(--t-h3);font-weight:var(--fw-semibold);letter-spacing:0;text-transform:none}.view h2.pro-bench-heading{color:var(--ink)}.bench-section .bench-tiles{display:block}.bench-section a.bench-tile{justify-content:flex-start;align-items:center;gap:var(--s-3);min-height:60px;padding:var(--s-2) var(--s-1);text-align:left;border:0;border-bottom:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0;flex-direction:row}.bench-section a.bench-tile .bench-card-icon{border-radius:var(--radius-control);background:var(--surface-2);width:44px;height:44px;color:var(--ink);border:0;flex:none;margin:0}.bench-section a.bench-tile .bench-card-icon svg{width:24px;height:24px}.bench-section a.bench-tile .bench-card-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.bench-section a.bench-tile .bench-card-title{font-family:var(--font-body);font-size:var(--t-body);font-weight:var(--fw-semibold);color:var(--ink);line-height:1.3}.bench-section a.bench-tile .bench-card-sub{font-size:var(--t-sub);color:var(--ink-2);line-height:1.4}.bench-section a.bench-tile:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}@media (hover:hover){.bench-section a.bench-tile:hover{border-color:var(--rule);background:var(--surface-2)}}.result-sheet.calc-sheet{margin-top:var(--s-3);padding:var(--s-4);border-radius:var(--radius-sheet);background:var(--mat);color:var(--mat-ink)}.calc-sheet .result-box{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;overflow:visible}.calc-sheet .result-box:before{content:none}.calc-sheet .calc-live-viz{width:auto;max-height:26vh;margin:0 auto var(--s-3)}.calc-sheet .calc-live-viz[hidden]{display:none}.calc-sheet-values{gap:var(--s-3);display:grid}.calc-sheet-values--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.calc-sheet-values--pair .calc-sheet-row--minor{grid-column:1/-1}.calc-sheet-row{min-width:0}.calc-sheet-row[hidden]{display:none}.calc-sheet-values--pair .result-value{font-size:var(--t-h2);overflow-wrap:anywhere}.calc-sheet-row--minor .result-value{font-size:var(--t-h3)}.calc-sheet-row--minor{padding-top:var(--s-2);border-top:1px solid var(--mat-grid)}.result-sheet .result-sheet-note[hidden]{display:none}@media (height>=760px){.calc-shell .calc-sheet{z-index:2;position:sticky;top:0}.calc-fields :is(input,select,button){scroll-margin-top:calc(var(--calc-sheet-h,0px) + var(--s-3))}}.calc-sheet-action{min-height:var(--tap);margin-top:var(--s-3);padding:0 var(--s-4);border:1.5px solid var(--mat-ink);border-radius:var(--radius-control);color:var(--mat-ink);font:inherit;font-size:var(--t-sub);font-weight:var(--fw-semibold);cursor:pointer;background:0 0}.calc-sheet-action[hidden]{display:none}.calc-sheet-action:focus-visible{outline:2px solid var(--mat-line);outline-offset:2px}.calc-fields{margin-top:var(--s-5)}.calc-field{margin-bottom:var(--s-5)}.calc-field[hidden]{display:none}.calc-field .field-label{margin-bottom:var(--s-2);display:block}.calc-seg .ui-segmented:has(>.segmented-option:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.calc-field .field-hint{margin:var(--s-2) 0 0;font-size:var(--t-sub);color:var(--ink-2)}.calc-error{color:var(--danger-text);font-size:var(--t-body);font-weight:var(--fw-semibold);margin:0}.calc-error:not(:empty){margin-bottom:var(--s-4)}.calc-field .stepper--input{width:100%;display:flex}.stepper--input .stepper-btn{flex:none}.stepper--input .stepper-input{text-align:center;min-width:0;font-size:var(--t-h3);font-weight:var(--fw-semibold);appearance:textfield;flex:auto;margin:0}.stepper--input .stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper--input .stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.calc-sheet .calc-sheet-line{justify-content:space-between;align-items:baseline;gap:var(--s-3);font-size:var(--t-h3);display:flex}.calc-sheet .calc-sheet-line .result-sheet-label{margin:0}.calc-list{margin:var(--s-2) 0 var(--s-5);color:var(--ink);font-size:var(--t-body)}.calc-list>*{padding:var(--s-2) var(--s-1);border-bottom:1px solid var(--rule);overflow-wrap:anywhere}.cob-row{gap:var(--s-2);margin-bottom:var(--s-2);grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);display:grid}.cob-row .field-input{min-width:0}.calc-list .calc-list-pair{justify-content:space-between;gap:var(--s-3);display:flex}.calc-list-pair-name{min-width:0;font-weight:var(--fw-semibold);flex:auto}.calc-list-pair-value{text-align:right;min-width:0;color:var(--ink-2);flex:0 auto}.calc-entry{margin-bottom:var(--s-3);padding:var(--s-3);border:1.5px solid var(--rule);border-radius:var(--radius-control);background:var(--surface)}.calc-entry-head,.calc-entry-line{gap:var(--s-2);align-items:center;display:grid}.calc-entry-head{margin-bottom:var(--s-2);grid-template-columns:minmax(0,1fr) auto}.calc-entry-line{grid-template-columns:repeat(3,minmax(0,1fr))}.calc-entry-line+.calc-entry-line{margin-top:var(--s-2)}.calc-entry-line--price{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.calc-entry .field-input{min-width:0}.calc-entry-del,.calc-entry-add{min-width:var(--tap);min-height:var(--tap);border:1.5px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-2);color:var(--ink);font:inherit;font-weight:var(--fw-semibold);cursor:pointer}.calc-entry-add{padding:0 var(--s-4)}.calc-entry-del:focus-visible,.calc-entry-add:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.angle-list{margin:var(--s-2) 0 0;padding:0;list-style:none}.angle-row{align-items:center;gap:var(--s-4);min-height:60px;padding:var(--s-2) var(--s-1);border-bottom:1px solid var(--rule);display:flex}.angle-row-deg{font-size:var(--t-h3);font-variant-numeric:tabular-nums;color:var(--ink);flex:0 0 4.5rem;font-weight:700}.angle-row-body{flex-direction:column;gap:2px;min-width:0;display:flex}.angle-row-use{font-size:var(--t-body);color:var(--ink)}.angle-row-cat{font-size:var(--t-sub);color:var(--ink-2)}.manuals-hero{align-items:flex-start;gap:var(--s-2);margin-bottom:var(--s-3);flex-direction:column;display:flex}.manuals-hero .page-header{margin-bottom:0}.manuals-hero .page-sub{max-width:62ch;margin:0}.manuals-tabs{margin-top:var(--s-2);margin-bottom:var(--s-4);overscroll-behavior-x:contain;scrollbar-width:none;overflow-x:auto}.manuals-tabs::-webkit-scrollbar{display:none}.manuals-tabs[data-more-start],.manuals-tabs[data-more-end]{--cue-start:0px;--cue-end:0px;--cue-dir:to right;--cue-mask:linear-gradient(var(--cue-dir), transparent, black var(--cue-start), black calc(100% - var(--cue-end)), transparent);-webkit-mask-image:var(--cue-mask);-webkit-mask-image:var(--cue-mask);mask-image:var(--cue-mask)}.manuals-tabs[data-more-start]{--cue-start:2.5rem}.manuals-tabs[data-more-end]{--cue-end:2.5rem}.manuals-tabs:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){--cue-dir:to left}.manuals-tabs .compose-tab{padding-inline:var(--s-3);flex:1 0 auto}.manuals-tab-label{white-space:nowrap}.manuals-tab-count{color:var(--ink-2);font-variant-numeric:tabular-nums;display:block}.manuals-searchrow{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.manuals-searchrow .manuals-search{margin-bottom:0}.manuals-filter-btn{min-width:0;padding:0 var(--s-4);border-radius:var(--radius-control)}.manuals-filter-btn svg{flex:none}.manuals-result-head{justify-content:space-between;align-items:center;gap:var(--s-2);margin-block:var(--s-2);flex-wrap:wrap;display:flex}.view h2.manuals-result-title{align-items:baseline;gap:var(--s-2);font:var(--fw-semibold) var(--t-h3)/1.3 var(--font-body);text-transform:none;letter-spacing:0;margin:0;display:flex}.manuals-result-count{color:var(--ink-2);font-size:var(--t-sub);font-variant-numeric:tabular-nums;font-weight:500}.manuals-search{margin-bottom:var(--s-3);position:relative}.manuals-search-icon{color:var(--ink-3);pointer-events:none;display:inline-flex;position:absolute;inset-block-start:50%;inset-inline-start:12px;transform:translateY(-50%)}.manuals-search .field-input{padding-inline-start:40px}.manuals-io{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.manuals-io-btn{min-width:0;min-height:var(--tap);padding:0 var(--s-4);font-size:var(--t-sub)}.manuals-row{align-items:stretch;gap:var(--s-3)}.manuals-row-main{align-items:center;gap:var(--s-3);min-width:0;color:inherit;flex:1;text-decoration:none;display:flex}.manuals-index-row{border:0;border-bottom:1px solid var(--rule);min-height:64px;box-shadow:none;cursor:default;background:0 0;border-radius:0;align-items:center;gap:2px;margin-bottom:0;padding:0}.manuals-index-row:first-child{border-top:1px solid var(--rule)}.manuals-index-row .manuals-row-main{padding:var(--s-2) var(--s-2) var(--s-2) 0;align-self:stretch}.manuals-row-thumb{border:1px solid var(--rule);border-radius:var(--radius-control);background:var(--surface-2);flex:0 0 64px;width:64px;height:64px;overflow:hidden}.manuals-row-thumb img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.manuals-index-row .list-item-title{color:var(--ink);font:650 var(--t-body)/1.25 var(--font-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.manuals-index-row .list-item-sub{color:var(--ink-2);font-size:var(--t-sub);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.manuals-row-meta{margin-top:var(--s-1);color:var(--ink-2);font:var(--fw-semibold) var(--t-caption)/1.2 var(--font-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.manuals-more{flex:0 0 var(--tap);width:var(--tap);height:var(--tap);border-radius:var(--radius-xs);color:var(--ink-2);cursor:pointer;transition:color var(--t-fast), background var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.manuals-more:hover{border-color:var(--border);background:var(--surface-2);color:var(--ink)}.manuals-more:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.manuals-row-actions{align-items:center;gap:var(--s-2);flex-shrink:0;display:flex}.manuals-action-btn{min-height:var(--tap);padding:0 var(--s-3);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-2);color:var(--ink);font:600 var(--t-sub)/1.2 var(--font-body);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast)}.manuals-action-btn:hover{background:var(--surface);border-color:var(--border-strong)}.manuals-action-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.manuals-action-btn--danger{color:var(--danger-text)}.manuals-action-btn--danger:hover{border-color:var(--danger)}.manual-form{margin-bottom:var(--s-4);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.manuals-form-grid{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.manuals-notes{resize:vertical;min-height:90px;font-size:var(--t-body)}.manuals-form-actions{gap:var(--s-3);margin-top:var(--s-2);display:flex}.manuals-req{color:var(--ink-2);font-size:var(--t-caption);font-weight:500}.manuals-detail-actions{gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.manual-official-btn,.manual-open-btn{border-radius:var(--radius-control);flex:12rem}.manual-official-note{margin:calc(-1 * var(--s-2)) 0 var(--s-4);font-size:var(--t-caption)}.manual-spec{margin:0 0 var(--s-4);border-top:1px solid var(--rule);grid-template-columns:minmax(0,auto) minmax(0,1fr);display:grid}.manual-spec dt,.manual-spec dd{padding-block:var(--s-3);border-bottom:1px solid var(--rule);font-size:var(--t-sub);line-height:1.4}.manual-spec dt{color:var(--ink-2);padding-inline-end:var(--s-4)}.manual-spec-value{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:end;overflow-wrap:anywhere;margin:0;font-weight:600}.manual-row-body{flex:1;min-width:0}.manual-tag{cursor:default}.manual-notes{white-space:pre-wrap}.manual-note-muted{color:var(--ink-2)}.manual-warn-icon{flex-shrink:0;margin-top:1px}.manual-safety-list{margin:6px 0 0;padding-left:18px}.manual-subsection{cursor:default;flex-direction:column;align-items:flex-start}.manual-source-note{margin-top:var(--s-6);padding-top:var(--s-3);border-top:1px solid var(--rule);color:var(--ink-2);font-size:var(--t-caption);line-height:1.45}.manuals-listhead{align-items:center;gap:var(--s-2);margin-block:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.manuals-default-btn.is-default{color:var(--signal-text);border-color:var(--signal-text)}.manuals-star{width:var(--tap);height:var(--tap);border-radius:var(--radius-xs);color:var(--ink-2);cursor:pointer;transition:color var(--t-fast), background var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.manuals-star:hover{color:var(--signal-text);background:var(--surface-2)}.manuals-star.is-fav{color:var(--signal-text)}.manuals-star:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.manuals-star--detail{gap:var(--s-2);width:auto;min-width:var(--tap);padding-inline:var(--s-4);border-color:var(--border);border-radius:var(--radius-control);color:var(--ink);font:var(--fw-semibold) var(--t-sub)/1 var(--font-body)}.manuals-star--detail .manuals-star-icon{display:inline-flex}.manuals-star--detail.is-fav .manuals-star-icon{color:var(--signal-text)}.manuals-newlist-btn{margin-block-end:var(--s-3)}.manuals-listcard{align-items:stretch;gap:var(--s-3)}@media (width<=480px){.manuals-form-grid{grid-template-columns:1fr}.manuals-row:not(.manuals-index-row){flex-direction:column;align-items:stretch}.manuals-row-actions{flex-wrap:wrap;justify-content:flex-end}}.manuals-action-sheet-panel{height:min(480px,100dvh - 36px);padding:0 16px calc(16px + env(safe-area-inset-bottom))}.manual-sheet-header{flex:none;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;margin-bottom:12px;display:flex}.manual-sheet-header>div{min-width:0}.view .manual-sheet-header h2{color:var(--ink);font:var(--fw-semibold) var(--t-h3)/1.2 var(--font-head);letter-spacing:-.01em;text-overflow:ellipsis;text-transform:none;white-space:nowrap;margin:0 0 2px;overflow:hidden}.manual-sheet-header p{color:var(--ink-2);font-size:var(--t-caption);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.manual-sheet-close{flex:0 0 var(--tap);width:var(--tap);height:var(--tap);border-radius:var(--radius-xs);color:var(--ink-2);font:var(--fw-medium) 1.6rem/1 var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin-top:-8px;padding:0;display:inline-flex}.manual-sheet-close:hover{border-color:var(--border);background:var(--surface-2);color:var(--ink)}.manual-sheet-views{flex:1;min-height:0;position:relative}.manual-sheet-view{opacity:1;visibility:visible;min-height:0;transition:opacity var(--t-fast), transform var(--t-fast), visibility 0s linear 0s;flex-direction:column;gap:8px;display:flex;position:absolute;inset:0;transform:translate(0)}.manual-sheet-action-view{overscroll-behavior:contain;overflow-y:auto}.manual-sheet-action-view>.manual-sheet-action{flex:none}.manual-sheet-list-view{opacity:0;visibility:hidden;transition-delay:0s, 0s, var(--t-fast);transform:translate(18px)}.manuals-action-sheet.is-list-view .manual-sheet-action-view{opacity:0;visibility:hidden;transition-delay:0s, 0s, var(--t-fast);transform:translate(-18px)}.manuals-action-sheet.is-list-view .manual-sheet-list-view{opacity:1;visibility:visible;transition-delay:0s;transform:translate(0)}.manual-sheet-action,.manual-sheet-list-item,.manual-sheet-new-list,.manual-sheet-back{width:100%;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:var(--fw-semibold) var(--t-sub)/1.2 var(--font-body);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:0 14px;display:flex}.manual-sheet-action svg{color:var(--ink-2);flex:0 0 18px}.manual-sheet-action:hover:not(:disabled),.manual-sheet-list-item:hover,.manual-sheet-new-list:hover,.manual-sheet-back:hover{border-color:var(--border-strong);background:var(--surface-2)}.manual-sheet-action:disabled{opacity:.42;cursor:not-allowed}.manual-sheet-action--danger:not(:disabled){color:var(--danger-text)}.manual-sheet-action--danger:not(:disabled) svg{color:currentColor}.manual-sheet-back{color:var(--signal-text);background:0 0;border-color:#0000}.manual-sheet-list-rows{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.manual-sheet-list-item{flex:none}.manual-sheet-list-mark{color:var(--signal-text);font-weight:var(--fw-bold);flex:0 0 18px}.manual-sheet-list-empty{font-size:var(--t-sub);text-align:center;margin:auto 0;padding:24px;line-height:1.5;color:var(--ink-2)!important}.manual-sheet-new-list{color:var(--ink-2);text-align:center;background:0 0;border-style:dashed;flex:none;justify-content:center}@media (prefers-reduced-motion:reduce){.manual-sheet-view{transition:none}}.community-rules-line{color:var(--ink-2);font-size:var(--t-sub);margin:0}.community-rules-line a{min-height:var(--tap);color:var(--signal-text);text-underline-offset:2px;align-items:center;text-decoration:underline;display:inline-flex}.community-filters .chip{min-height:var(--tap);padding:0 var(--s-4);border:1.5px solid var(--rule);background:var(--surface);color:var(--ink);font-size:var(--t-sub);border-radius:24px}.community-filters .chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.community-filters .chip--active{border-color:var(--ink);background:var(--ink);color:var(--bg);box-shadow:none}.community-sort{margin-bottom:var(--s-2);border-bottom:1px solid var(--rule);gap:0}.community-sort .sort-btn{padding:0 var(--s-4);color:var(--ink-2);border-radius:0}.community-sort .sort-btn:hover{color:var(--ink);background:0 0}.community-sort .sort-btn--active{color:var(--ink);box-shadow:inset 0 -3px 0 0 var(--ink)}#feed-retry{margin-top:var(--s-3)}.sort-row{gap:var(--s-1);display:flex}.sort-btn{min-height:var(--tap);padding:0 var(--s-3);border-radius:var(--radius-xs);color:var(--ink-2);font:600 var(--t-sub)/1.2 var(--font-body);cursor:pointer;background:0 0;border:0}.sort-btn:hover{color:var(--ink);background:var(--surface-2)}.sort-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.sort-btn--active{color:var(--ink);box-shadow:inset 0 -3px 0 0 var(--signal);border-radius:0}.community-type{margin:0 0 var(--s-2);border-radius:var(--r-pill);background:var(--signal-tint);color:var(--signal-text);font:600 var(--t-caption)/1.3 var(--font-body);align-self:flex-start;align-items:center;padding:2px 10px;display:inline-flex}.vote-control{--vote-size:var(--tap);--vote-score-size:28px;z-index:1;grid-template-rows:var(--vote-size) var(--vote-score-size) var(--vote-size);width:var(--vote-size);color:var(--ink-2);flex:none;place-items:center;display:inline-grid;position:relative}.vote-button{width:var(--vote-size);height:var(--vote-size);appearance:none;border-radius:var(--radius-xs);color:var(--ink-3);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), opacity var(--t-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.vote-button svg{width:20px;height:20px}.vote-button:hover{background:var(--surface-2);color:var(--ink)}.vote-button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.vote-button--up.is-selected{background:var(--signal-tint);color:var(--signal-text)}.vote-button--down.is-selected{background:var(--danger-tint);color:var(--danger-text)}.vote-button:disabled{opacity:.5;cursor:wait}.vote-button.is-selected,.vote-button:active{box-shadow:var(--pressed-shadow)}.vote-score{width:var(--vote-size);text-align:center;font:600 var(--t-caption) / var(--vote-score-size) var(--font-body);font-variant-numeric:tabular-nums;color:var(--ink-2)}.vote-control[data-vote-value="1"] .vote-score{color:var(--signal-text)}.vote-control[data-vote-value="-1"] .vote-score{color:var(--danger-text)}.vote-control--inline,.vote-control--compact{grid-template-rows:var(--vote-size);grid-template-columns:var(--vote-size) 44px var(--vote-size);width:auto}.vote-control--inline{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);padding:0 2px}.vote-control--compact{grid-template-columns:var(--vote-size) 40px var(--vote-size)}.vote-control--compact .vote-score{width:40px}.vote-control--compact .vote-button svg{width:18px;height:18px}.feed-list{display:grid}.feed-status:empty{display:none}.feed-card{gap:var(--s-2);padding:var(--s-4) 0 var(--s-1);border-bottom:1px solid var(--rule);color:var(--ink);display:grid;position:relative}.feed-card:has(.feed-card-link:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.feed-card-byline{color:var(--ink-2);font-size:var(--t-sub)}.feed-card-byline .avatar--sm{width:28px;height:28px;font-size:var(--t-caption)}.feed-card-byline .byline-name{font-size:var(--t-sub)}.feed-card-byline .byline-meta{font-size:var(--t-sub);margin-left:0}.feed-card-byline .byline-meta:before{content:"· "}.feed-card-title{color:var(--ink);font:600 var(--t-h3)/1.3 var(--font-display)}.feed-card-link{color:inherit;text-decoration:none;display:block}.feed-card-link:after{content:"";z-index:0;position:absolute;inset:0}.feed-card-link:focus-visible{outline:none}.feed-card-excerpt{-webkit-line-clamp:2;color:var(--ink-2);font-size:var(--t-sub);-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.feed-card-cover{aspect-ratio:16/9;background:var(--surface-2);border-radius:12px;overflow:hidden}.feed-card-thumb{object-fit:cover;width:100%;height:100%;display:block}.feed-card-footer{align-items:center;gap:var(--s-1);color:var(--ink-2);font-size:var(--t-sub);margin-left:-12px;display:flex}.feed-stat{min-height:var(--tap);color:var(--ink-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.feed-stat svg{flex-shrink:0;width:20px;height:20px}.feed-stat-num{font-size:var(--t-sub);font-variant-numeric:tabular-nums}.feed-stat--save,.feed-stat--report{z-index:1;appearance:none;border-radius:var(--radius-xs);color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:600;position:relative}.feed-stat--save.is-saved{color:var(--signal-text)}.feed-stat--save:focus-visible,.feed-stat--report:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.feed-stat--report{min-width:var(--tap);justify-content:center;margin-left:auto}.feed-stat--save.is-saved svg{fill:var(--signal-text)}.feed-stat-save-label{font-size:var(--t-sub)}.feed-loading{padding:var(--s-5);color:var(--ink-2);font-size:var(--t-sub);text-align:center}.feed-sentinel{height:1px}@keyframes tg-stamp-press{0%{transform:scale(1)rotate(0)}30%{transform:scale(.82)rotate(-5deg)}62%{transform:scale(1.1)rotate(2deg)}to{transform:scale(1)rotate(0)}}.feed-stat--stamp{animation:tg-stamp-press .4s var(--motion-ease-spring)}.composer-fab{right:var(--s-4);bottom:calc(var(--nav-h) + var(--s-5));z-index:30;background:var(--gold);width:56px;height:56px;color:var(--on-gold);box-shadow:var(--elev-3);cursor:pointer;transition:transform var(--t-fast);border:0;border-radius:16px;justify-content:center;align-items:center;display:inline-flex;position:fixed}.composer-fab:hover{transform:scale(1.04)}.composer-fab:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.composer-fab svg{width:24px;height:24px}.post-header{margin-bottom:var(--s-4)}.post-byline{margin-bottom:var(--s-2)}.post-byline .avatar{width:28px;height:28px;font-size:var(--t-caption)}.post-byline .byline-meta{margin-left:0}.post-byline .byline-meta:before{content:"· "}.view .post-title{font-size:var(--t-h1)}.post-cover{margin:0 0 var(--s-4);background:var(--surface-2);border-radius:12px;overflow:hidden}.post-cover img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.post-body{margin-top:var(--s-4);color:var(--ink);font-size:var(--t-body);line-height:var(--lh-body)}.post-body h1,.post-body h2,.post-body h3{margin-top:var(--s-6);margin-bottom:var(--s-3);color:var(--ink);font-family:var(--font-display)}.post-body p{margin-bottom:var(--s-3)}.post-body code{background:var(--surface-2);font-family:var(--font-mono);border-radius:4px;padding:1px 6px;font-size:.92em}.post-body pre{margin-bottom:var(--s-3);padding:var(--s-3);border-radius:var(--radius-xs);background:var(--surface-2);font-size:.9em;overflow-x:auto}.post-body .post-body-plain{white-space:pre-wrap}.post-ref-text{flex:1;min-width:0}.post-body a{color:var(--signal-text);text-underline-offset:2px;text-decoration:underline}.post-body img{border-radius:var(--radius-xs);max-width:100%;height:auto}.post-body ul,.post-body ol{margin:var(--s-3) 0 var(--s-3) var(--s-5)}.post-body blockquote{margin:var(--s-3) 0;padding-left:var(--s-3);border-left:3px solid var(--signal);color:var(--ink-2)}.post-actions{align-items:center;gap:var(--s-2);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.post-action{min-height:var(--tap);align-items:center;gap:var(--s-2);padding:0 var(--s-4);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font:600 var(--t-sub)/1.2 var(--font-body);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);display:inline-flex}.post-action:hover{background:var(--surface-2);border-color:var(--border-strong)}.post-action:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.post-action:active{box-shadow:var(--pressed-shadow)}.post-action svg{width:18px;height:18px}.post-action--active{background:var(--signal-tint);border-color:var(--signal);color:var(--signal-text);box-shadow:var(--pressed-shadow)}.post-action--active:hover{background:var(--signal-tint);border-color:var(--signal)}.post-actions{padding-bottom:var(--s-3);border-bottom:1px solid var(--rule);gap:0;margin-left:-12px}.post-actions .vote-control--inline{background:0 0;border:0;padding:0}.post-actions .post-action{border-radius:var(--radius-xs);color:var(--ink-2);background:0 0;border:0;padding:0 12px}.post-actions .post-action:hover{background:var(--surface-2);color:var(--ink)}.post-actions .post-action--active,.post-actions .post-action--active:hover{color:var(--signal-text);box-shadow:none;background:0 0}.post-actions .post-action--active svg{fill:currentColor}.post-stat{min-height:var(--tap);align-items:center;gap:var(--s-2);color:var(--ink-2);font:600 var(--t-sub)/1.2 var(--font-body);font-variant-numeric:tabular-nums;padding:0 12px;display:inline-flex}.post-stat svg{width:18px;height:18px}.post-author-actions{align-items:center;gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.post-action--danger{color:var(--danger-text);border-color:var(--danger)}.post-action--danger:hover{background:var(--danger-tint);border-color:var(--danger)}.post-delete-confirm{margin-right:var(--s-1);color:var(--danger-text);font-size:var(--t-sub);font-weight:600}.comments{margin-top:var(--s-6)}.comments-head{justify-content:flex-start;gap:var(--s-2)}.comments-count{color:var(--ink-2);font:600 var(--t-sub)/1 var(--font-body);font-variant-numeric:tabular-nums}.comments-sort{align-items:center;gap:var(--s-2);color:var(--ink-2);font-size:var(--t-sub);margin-left:auto;display:inline-flex}.comments-sort .comments-sort-select{width:auto;font-size:var(--t-sub)}.comments-empty{margin-top:var(--s-2)}.comment-composer{margin-top:var(--s-5)}.comment-form{gap:var(--s-2);flex-direction:column;display:flex}.comment-input{resize:vertical;width:100%}.comment-form-actions{justify-content:flex-end;gap:var(--s-2);display:flex}.comment-btn{min-height:var(--tap);padding:0 var(--s-4);border-radius:var(--radius-sm);font-size:var(--t-sub);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.comment-signin{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-soft);background:var(--surface-2);flex-wrap:wrap;display:flex}.comment-signin-text{color:var(--ink-2);font-size:var(--t-sub)}.comments-list{gap:var(--s-3);margin-top:var(--s-2);flex-direction:column;display:flex}.comment{column-gap:var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--rule);grid-template-columns:32px minmax(0,1fr);display:grid}.comment>*{grid-column:2}.comment>.comment-avatar{background:var(--surface-2);width:32px;height:32px;color:var(--ink);font:700 var(--t-caption)/1 var(--font-body);border-radius:50%;grid-area:1/1/span 5;justify-content:center;align-self:start;align-items:center;display:inline-flex}.comment-op{color:var(--ink-2);font-weight:600}.comments-list>.comment:first-child{border-top:none}.comment-head{margin-bottom:var(--s-1);font-size:var(--t-caption);flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.comment-author{color:var(--ink);font-weight:700}.comment-dot,.comment-time{color:var(--ink-2)}.comment-body{color:var(--ink);font-size:var(--t-body);line-height:var(--lh-body);overflow-wrap:anywhere}.comment-body p{margin:0 0 var(--s-2)}.comment-body p:last-child{margin-bottom:0}.comment-actions{align-items:center;gap:var(--s-1);margin-top:var(--s-1);flex-wrap:wrap;display:flex}.comment-link{min-height:var(--tap);min-width:var(--tap);padding:0 var(--s-2);border-radius:var(--radius-xs);color:var(--ink-2);font:600 var(--t-sub)/1.2 var(--font-body);cursor:pointer;background:0 0;border:none}.comment-link:hover{color:var(--ink);text-decoration:underline}.comment-link--danger:hover{color:var(--danger-text)}.comment-link:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.comment-reply-box{margin-top:var(--s-3)}.comment>.comment-replies,.comment>.comment-continue{grid-column:1/-1}.comment-replies{gap:var(--s-2);margin-top:var(--s-2);padding-left:var(--s-2);border-left:2px solid var(--border);flex-direction:column;margin-left:15px;display:flex}.comment--reply{column-gap:var(--s-2);padding:var(--s-2) 0;border-top:none;grid-template-columns:24px minmax(0,1fr)}.comment--reply:first-child{padding-top:0}.comment--reply>.comment-avatar{width:24px;height:24px}.comment--reply>.comment-replies{margin-left:11px}.comment-collapse{margin-left:auto;min-width:32px;min-height:32px;padding:0 var(--s-1);border-radius:var(--radius-xs);color:var(--ink-2);font:700 var(--t-sub)/1 var(--font-body);cursor:pointer;background:0 0;border:none;margin-block:-8px}.comment-collapse:hover{color:var(--ink)}.comment-collapse:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.comment.is-collapsed>:not(.comment-head):not(.comment-avatar){display:none}.comment.is-collapsed>.comment-head{margin-bottom:0}.comment--deleted .comment-author{color:var(--ink-2);font-weight:600}.comment-deleted-note{color:var(--ink-2);font-style:italic}.comment>.comment-avatar--deleted{border:1px dashed var(--border);background:0 0}.comment-continue{min-height:var(--tap);margin-top:var(--s-1);color:var(--accent-text);font:600 var(--t-sub)/1.2 var(--font-body);justify-self:start;align-items:center;display:inline-flex}.comment-continue:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.thread-focus-bar{gap:var(--s-2);margin:var(--s-2) 0;flex-wrap:wrap;display:flex}.thread-focus-link{color:var(--accent-text);align-items:center;text-decoration:none;display:inline-flex}.thread-focus-note{margin:var(--s-2) 0;color:var(--ink-2);font-size:var(--t-sub)}.compose-form{flex-direction:column;gap:0;display:flex}.compose-tabs{margin-bottom:var(--s-2);border-bottom:1px solid var(--border);gap:0;display:flex}.compose-tab{min-height:var(--tap);padding:0 var(--s-4);color:var(--ink-2);font:600 var(--t-sub)/1.2 var(--font-body);cursor:pointer;transition:color var(--t-fast), box-shadow var(--t-fast);background:0 0;border:0}.compose-tab:hover:not(.compose-tab--active){color:var(--ink);box-shadow:inset 0 -3px 0 0 var(--rule)}.compose-tab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.compose-tab--active{color:var(--ink);box-shadow:inset 0 -3px 0 0 var(--signal)}.compose-body{resize:vertical;height:auto;min-height:200px;font-size:var(--t-body)}.compose-preview{min-height:200px;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--t-body);line-height:1.55}.compose-preview h1,.compose-preview h2,.compose-preview h3{margin-top:var(--s-3);margin-bottom:var(--s-2);font-family:var(--font-display)}.compose-preview p{margin-bottom:var(--s-2)}.compose-preview .compose-preview-empty{color:var(--ink-2)}.compose-preview code{background:var(--surface-2);font-family:var(--font-mono);border-radius:3px;padding:1px 4px}.compose-upload-status{color:var(--ink-2);font-size:var(--t-caption);margin-top:6px}.compose-type{border:0;min-width:0;margin:0 0 16px;padding:0}.compose-type .chip-row{flex-wrap:wrap}.compose-form .chip--radio{min-height:var(--tap);padding-inline:var(--s-4);border:1.5px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:24px}.compose-form .chip--radio:has(input:checked){border-color:var(--ink);background:var(--ink);color:var(--bg);box-shadow:none}.compose-form .chip--radio:has(input:focus-visible){outline-color:var(--focus)}.compose-form .compose-tab--active{box-shadow:inset 0 -3px 0 0 var(--ink)}.compose-form .field-hint{color:var(--ink-2);font-size:var(--t-caption);margin:6px 0 0;line-height:1.4}.compose-cover-input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.compose-drop{align-items:center;gap:var(--s-3);min-height:80px;padding:var(--s-3) var(--s-4);border:1.5px dashed var(--rule);background:var(--surface);cursor:pointer;border-radius:12px;display:flex}.compose-drop:hover{border-color:var(--ink-2)}.compose-cover-input:focus-visible+.compose-drop{outline:2px solid var(--focus);outline-offset:2px}.compose-drop-icon{background:var(--surface-2);width:48px;height:48px;color:var(--accent-2);border-radius:12px;flex:none;place-items:center;display:grid}.compose-drop-icon svg{width:24px;height:24px}.compose-drop-text{flex-direction:column;min-width:0;display:flex}.compose-drop-title{color:var(--ink);font-weight:700}.compose-drop .field-hint{margin-top:2px}.notebook-counter{margin-bottom:var(--s-3);color:var(--ink-2);font-size:var(--t-caption)}.notebook-new-form{gap:var(--s-2);margin-bottom:var(--s-4);display:flex}.notebook-new-form .field-input{flex:1;min-width:0}.notebook-form-btn{min-width:0;padding:0 var(--s-4);white-space:nowrap}.notebook-error{margin-bottom:var(--s-3)}.notebook-row{cursor:pointer}.notebook-row-text{flex:1;min-width:0}.notebook-delete-btn,.notebook-remove-btn{flex:0 0 var(--tap);width:var(--tap);height:var(--tap);border-radius:var(--radius-xs);color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.notebook-delete-btn:hover,.notebook-remove-btn:hover{border-color:var(--border);background:var(--surface-2);color:var(--danger-text)}.notebook-delete-btn:focus-visible,.notebook-remove-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.notebook-name-label{margin-bottom:var(--s-1);color:var(--ink-2);font-size:var(--t-caption);display:block}.notebook-name-input{font-size:var(--t-h3);font-weight:600}.notebook-meta{margin-top:var(--s-1);color:var(--ink-2);font-size:var(--t-caption)}.notebook-status{min-height:20px;margin:6px 0 var(--s-3);color:var(--ink-2);font-size:var(--t-caption)}.notebook-notes{width:100%;margin-bottom:var(--s-4)}.notebook-list{margin-bottom:var(--s-2)}.notebook-empty-line{padding:var(--s-2) 0}.notebook-item{align-items:center;gap:var(--s-2);display:flex}.notebook-item-text{flex:1;min-width:0}.notebook-bom-form{gap:var(--s-2);margin-bottom:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.notebook-bom-form [name=label],.notebook-bom-form .notebook-form-btn{grid-column:1/-1}@media (width>=600px){.notebook-bom-form{grid-template-columns:1fr 72px 1fr 1fr 1fr auto}.notebook-bom-form [name=label],.notebook-bom-form .notebook-form-btn{grid-column:auto}}.notebook-link-form{gap:var(--s-2);margin-bottom:var(--s-5);display:flex}.notebook-link-form .field-input{flex:1;min-width:0}.notebook-photo-status{padding:6px 0}.notebook-photos{gap:var(--s-2);margin-bottom:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.notebook-photo{aspect-ratio:1;border-radius:var(--radius-xs);background:var(--surface-2);position:relative;overflow:hidden}.notebook-photo img{object-fit:cover;width:100%;height:100%}.notebook-photo-caption{padding:var(--s-1) var(--s-2);background:var(--overlay-scrim);color:var(--mat-ink);font-size:var(--t-caption);position:absolute;inset:auto 0 0}.notebook-photo-delete{width:var(--tap);height:var(--tap);border-radius:var(--radius-xs);background:var(--overlay-scrim);color:var(--mat-ink);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:4px;right:4px}.notebook-photo-delete:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.notebook-add-photo{margin-bottom:var(--s-5)}.notebook-export{gap:var(--s-2);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.new-project-form{gap:var(--s-2);margin-bottom:var(--s-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.new-project-form .field-label{grid-column:1/-1;margin:0}.new-project-form .field-input{min-width:0}.projects-empty{padding:var(--s-6) var(--s-4) var(--s-5);border:1px solid var(--rule);border-radius:var(--radius-tile)}.projects-empty .empty-state-icon{width:96px;color:var(--mat-line)}.view .projects-empty h2.empty-state-title{margin:0 0 var(--s-2);color:var(--ink);font-family:var(--font-body);font-size:var(--t-h3);font-weight:var(--fw-semibold);letter-spacing:0;text-transform:none}.projects-empty .empty-state-sub{max-width:34ch;margin:0 auto;line-height:1.45}.projects-empty .new-project-form{margin:var(--s-5) 0 0;text-align:left;grid-template-columns:minmax(0,1fr)}.projects-empty .new-project-form .btn{width:100%}.project-actions{gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.project-actions-primary{flex:100%}.project-actions-grow{flex:1}.project-cut{cursor:default;flex-wrap:wrap}.project-cut.is-done .list-item-title{color:var(--ink-2);text-decoration:line-through}.project-cut-note{font-style:italic}.project-cut-remove{min-width:0;min-height:var(--tap);padding:0 var(--s-3);font-size:var(--t-caption)}.project-note{border-bottom:1px solid var(--border);padding:6px 0}.project-note:last-child{border-bottom:none}.project-note-time{margin-right:var(--s-2);color:var(--ink-2);font-size:var(--t-caption)}.project-note-text{color:var(--ink);font-size:var(--t-sub)}.project-note-input{resize:vertical;min-height:80px}.auth-page{width:100%;max-width:480px;padding-bottom:var(--s-8);flex-direction:column;margin:0 auto;display:flex}.auth-band{height:112px;margin-bottom:var(--s-4);border-radius:var(--radius-tile);background:var(--surface-2);overflow:hidden}.auth-band .auth-hero-img{object-fit:cover;width:100%;height:100%;display:block}.auth-page>.page-header:has(+.auth-sub){margin-bottom:var(--s-1)}.view .auth-sub{margin:0 0 var(--s-4);color:var(--ink-2)}.auth-card{padding:var(--s-5) var(--s-4);border:1px solid var(--rule);border-radius:var(--radius-tile);background:var(--surface);color:var(--ink);flex-direction:column;gap:0;display:flex}.auth-card .field-label{font-size:var(--t-sub);letter-spacing:0;text-transform:none;color:var(--ink-2)}.auth-card .field-input{min-height:var(--tap)}.auth-card .auth-cta{min-height:var(--tap);border-radius:var(--radius-control)}.auth-anon-link{min-height:var(--tap);margin-top:var(--s-2);font-size:var(--t-sub);font-weight:var(--fw-semibold);color:var(--accent-text);text-underline-offset:3px;justify-content:center;align-items:center;text-decoration:underline;display:flex}.auth-anon-link:hover{color:var(--ink)}.auth-anon-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-control)}.view .auth-footer{margin:var(--s-3) 0 0;font-size:var(--t-sub);color:var(--ink-2);text-align:center}.auth-footer a{min-height:var(--tap);padding:0 var(--s-1);color:var(--accent-text);font-weight:var(--fw-semibold);align-items:center;text-decoration:none;display:inline-flex}.auth-footer a:hover{text-decoration:underline}.grecaptcha-badge{visibility:hidden!important}.view .auth-recaptcha-note{margin:var(--s-3) 0 0;font-size:var(--t-caption);color:var(--ink-2);text-align:center;line-height:1.45}.auth-terms{align-items:flex-start;gap:var(--s-3);min-height:var(--tap);margin:0 0 var(--s-2);padding:var(--s-2) 0;font-size:var(--t-sub);color:var(--ink-2);cursor:pointer;line-height:1.45;display:flex}.auth-terms input{width:22px;height:22px;accent-color:var(--pine);flex:none;margin:0}.auth-terms a{color:var(--accent-text)}.settings-section .settings-section-title{font-family:var(--font-display);font-size:var(--t-h2);font-weight:var(--fw-semibold);line-height:var(--lh-heading);letter-spacing:0;color:var(--ink)}.settings-section .settings-section-sub{color:var(--ink-2)}.settings-section .field-label{font-size:var(--t-sub);letter-spacing:0;text-transform:none;color:var(--ink-2)}.settings-subform{margin-top:var(--s-5)}.view .settings-subhead{margin:var(--s-5) 0 var(--s-2);font-family:var(--font-body);font-size:var(--t-body);font-weight:var(--fw-semibold);line-height:var(--lh-heading);color:var(--ink)}.settings-subform .settings-subhead{margin-top:0}.settings-subform .btn,.account-session-actions .btn{min-height:var(--tap)}.account-session-actions{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.settings-section .callout-ink{margin:var(--s-3) 0 0;padding:var(--s-4);border:1px solid var(--rule);border-radius:var(--radius-tile);background:var(--surface);color:var(--ink)}.settings-section .callout-ink-eyebrow{margin:0 0 var(--s-1);font:var(--fw-semibold) var(--t-caption)/1.3 var(--font-body);color:var(--ink-2)}.settings-section .callout-ink-title{font:var(--fw-semibold) var(--t-body)/1.3 var(--font-body);overflow-wrap:anywhere}.settings-section .callout-ink-body{font:var(--fw-regular) var(--t-sub)/1.5 var(--font-body);color:var(--ink-2)}.settings-section .callout-warning.account-warnings{border-color:var(--danger);background:var(--danger-bg)}.settings-section .account-warnings .callout-ink-eyebrow,.settings-section .account-warnings .callout-ink-title,.settings-section .account-warnings .callout-ink-body{color:var(--danger-ink)}.settings-section .security-badge{font-family:var(--font-body);font-size:var(--t-caption);letter-spacing:0;text-transform:none}.settings-display .ui-segmented{width:100%}.settings-display .drawer-row{min-height:var(--tap)}.settings-section .drawer-choice-help{margin:var(--s-2) 0 0;color:var(--ink-2);font-size:var(--t-caption)}.sync-settings-card{border-color:var(--rule);border-radius:var(--radius-tile)}.settings-section .danger-zone{border-radius:var(--radius-tile);background:var(--danger-bg)}.settings-section .danger-zone-title{font-size:var(--t-body);color:var(--danger-ink)}.settings-section .danger-zone-body{font-size:var(--t-sub);color:var(--danger-ink)}.account-card{align-items:center;gap:var(--s-3);margin:var(--s-4) 0 0;padding:var(--s-4);border:1px solid var(--rule);border-radius:var(--radius-tile);background:var(--surface);display:flex}.account-card .avatar{width:56px;height:56px;font-size:1.25rem}.account-card-text{flex-direction:column;min-width:0;display:flex}.account-card-name{font-weight:var(--fw-semibold);color:var(--ink);overflow-wrap:anywhere}.account-card-note{color:var(--ink-2);font-size:var(--t-sub);overflow-wrap:anywhere}.account-rows{margin:var(--s-4) 0 0;border-top:1px solid var(--rule);padding:0;list-style:none}.account-signout,.local-data-reset{width:100%;min-height:var(--tap);margin-top:var(--s-5);justify-content:center;display:flex}.local-data-reset{color:var(--danger-ink);border-color:var(--danger)}.about-facts{margin:var(--s-4) 0 0;padding:0 var(--s-4);border:1px solid var(--rule);border-radius:var(--radius-tile);background:var(--surface)}.about-fact{justify-content:space-between;gap:var(--s-3);min-height:var(--tap);border-bottom:1px solid var(--rule);align-items:center;display:flex}.about-fact:last-child{border-bottom:0}.about-fact dt{color:var(--ink-2);font-size:var(--t-sub)}.about-fact dd{color:var(--ink);font-weight:var(--fw-semibold);text-align:right;margin:0}.about-section{margin-top:var(--s-6)}.about-sources{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.about-sources .list-row{min-height:48px;padding:var(--s-3) 0}.about-links{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.about-links li{border-bottom:1px solid var(--rule)}.about-link{justify-content:space-between;align-items:center;gap:var(--s-3);min-height:var(--tap);color:var(--ink);font-weight:var(--fw-semibold);text-decoration:none;display:flex}.about-link:hover{color:var(--accent-text)}.about-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-control)}.about-link-mark{color:var(--accent-text);font-size:var(--t-h3);line-height:1}@media (width>=1024px){body{--rail-w:220px;--nav-h:0px}body.tg-admin,body.tg-focus-task{--rail-w:0px}.bottomnav{top:var(--appbar-total-h);width:var(--rail-w);gap:var(--s-1);min-height:0;padding:var(--s-4);background:var(--surface);-webkit-backdrop-filter:none;border-top:0;border-right:1px solid var(--rule);flex-flow:column;right:auto;overflow-y:auto}.bottomnav .bottomnav-tab{justify-content:flex-start;gap:var(--s-3);min-width:0;min-height:48px;padding:var(--s-2) var(--s-3);border-radius:var(--radius-control);flex-direction:row;flex:none;font-weight:600}.bottomnav .bottomnav-icon{width:24px;height:24px}.bottomnav .bottomnav-label{font-size:var(--t-body);font-weight:inherit;text-align:left;white-space:normal;overflow:visible}.bottomnav .bottomnav-tab[aria-current=page]{background:var(--gold);color:var(--on-gold)}.bottomnav .bottomnav-tab[aria-current=page] .bottomnav-icon{color:inherit;background:0 0}@media (hover:hover){.bottomnav .bottomnav-tab:not([aria-current=page]):hover{background:var(--surface-2)}}body.tg-keyboard-open .bottomnav{pointer-events:auto;visibility:visible;transform:none}.view{left:var(--rail-w);--gutter:max(var(--s-6), calc((100vw - var(--rail-w) - 1040px) / 2 + var(--s-6)))}.view-content{padding-inline:var(--gutter)}.search-wrap{max-width:calc(var(--gutter) + 560px);padding-left:var(--gutter);padding-right:0}.search-icon{left:calc(var(--gutter) + 14px)}.search-clear{right:0}.hero-photo{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}:is(.reading-page,.fd-page) :is(.page-sub,.topic-body,.reading-steps,.reading-note,.callout-ink-body,.pull-quote,.fd-prose p,.fd-prose-body,.fd-prose-list,.fd-step-prose){max-inline-size:70ch}}:root{--anim-slot-aspect:4 / 3;--anim-slot-pad:6px;--anim-slot-radius:14px;--anim-fadein-ms:.22s;--anim-fadein-ease:cubic-bezier(.16, 1, .3, 1)}.bench-card-anim{aspect-ratio:16/9;box-sizing:border-box;width:100%;padding:var(--anim-slot-pad);border-radius:var(--anim-slot-radius);background:var(--mat);opacity:0;transition:opacity var(--anim-fadein-ms) var(--anim-fadein-ease);display:block;position:relative;overflow:hidden}.bench-card-anim svg,.bench-card-anim img{object-fit:contain;width:100%;height:100%;display:block}:is(.bench-card-anim:has(svg),.bench-card-anim:has(img),.bench-card-anim:has(canvas)){opacity:1}.calc-live-viz{aspect-ratio:12/7;box-sizing:border-box;width:100%;max-width:100%;padding:var(--anim-slot-pad);border-radius:var(--anim-slot-radius);background:var(--mat);opacity:0;transition:opacity var(--anim-fadein-ms) var(--anim-fadein-ease);margin:0 auto;display:block;position:relative;overflow:hidden}.calc-live-viz svg,.calc-live-viz img{width:100%;height:100%;display:block}:is(.calc-live-viz:has(svg),.calc-live-viz:has(img),.calc-live-viz:has(canvas)){opacity:1}.bench-card-anim canvas,.calc-live-viz canvas{inset:var(--anim-slot-pad);width:calc(100% - 2 * var(--anim-slot-pad));height:calc(100% - 2 * var(--anim-slot-pad));pointer-events:none;position:absolute}@media (prefers-reduced-motion:reduce){.bench-card-anim *,.calc-live-viz *{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.bench-card-anim,.calc-live-viz{opacity:1;transition:none}}.calc-live-diagram .viz-trio-grain{fill:none;stroke:var(--mat-dim);stroke-width:1px;opacity:.17}.calc-live-diagram .viz-trio-edge-light{fill:none;stroke:var(--mat-2);stroke-width:2px;opacity:.95}.calc-live-diagram .viz-trio-edge-dark{fill:none;stroke:var(--mat-dim);stroke-width:1.5px;opacity:.55}.calc-live-diagram .viz-trio-end-band{fill:none;stroke:var(--mat-dim);stroke-width:2px;opacity:.3}.calc-live-diagram .viz-trio-reveal{fill:none;stroke:var(--mat-ink);stroke-width:2px;opacity:.24}.calc-live-diagram .viz-trio-joint-line{fill:none;stroke:var(--mat-dim);stroke-width:1px;opacity:.6}.calc-live-diagram .viz-trio-steel-mid{fill:var(--mat-dim);stroke:var(--mat-ink);stroke-width:1px}.calc-live-diagram .viz-trio-hardware-slot{fill:none;stroke:var(--mat-ink);stroke-width:1px;stroke-linecap:round}.calc-live-diagram .viz-trio-wood{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.5px;stroke-linejoin:round;filter:drop-shadow(0 1px 1px var(--shadow))}.calc-live-diagram .viz-trio-cut{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:2px}.calc-live-diagram .viz-trio-relief{fill:var(--mat-line);opacity:.5}.calc-live-diagram .viz-trio-cavity{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1px}.calc-live-diagram .viz-trio-opening{fill:var(--mat);stroke:var(--mat-dim);stroke-width:.8px}.calc-live-diagram .viz-trio-selected{fill:none;stroke:var(--mat-line);stroke-width:2.5px}.calc-live-diagram .viz-trio-ghost{fill:none;stroke:var(--mat-dim);stroke-width:1px;stroke-dasharray:4 4}.calc-live-diagram .viz-trio-steel{fill:var(--mat-dim);stroke:var(--mat-ink);stroke-width:.8px}.calc-live-diagram .viz-trio-steel-inner{fill:var(--mat-2);stroke:var(--mat-ink);stroke-width:1.2px}.calc-live-diagram[data-viz-tone=danger] [data-viz-target=dsp-status-label]{fill:var(--mat-danger)}.calc-diagram-controls{gap:var(--s-3);margin-bottom:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.calc-live-viz.calc-live-diagram{aspect-ratio:auto;box-sizing:content-box;width:100%;max-width:42rem;height:clamp(232px,62vw,286px);margin:0 auto var(--s-4);border:1px solid var(--mat-grid);border-radius:var(--radius-sm);background:var(--mat);box-shadow:var(--shadow-paper);font-family:var(--font-body);grid-template-rows:minmax(0,1fr);padding:0;display:grid;overflow:hidden}body.tg-keyboard-open .calc-live-viz.calc-live-diagram{z-index:3;height:var(--sticky-viz-h,clamp(170px, 44vw, 210px));margin-bottom:var(--s-3);background:var(--mat);box-shadow:var(--shadow-paper), 0 6px 12px -6px var(--shadow);position:sticky;top:0}.calc-live-diagram .live-diagram-svg{width:100%;height:100%;display:block}.calc-live-diagram [data-viz-hidden=true]{display:none}.calc-live-diagram .viz-grid{fill:none;stroke:var(--mat-grid);stroke-width:.65px;opacity:.14}.calc-live-diagram .viz-stock{stroke:var(--mat-dim);stroke-width:1.6px;stroke-linejoin:round}.calc-live-diagram .viz-stock-top,.calc-live-diagram .viz-stock-front{fill:var(--mat-2)}.calc-live-diagram .viz-stock-end{fill:color-mix(in srgb, var(--mat-line) 16%, transparent)}.calc-live-diagram .viz-grain{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-linecap:round;opacity:.48}.calc-live-diagram .viz-dimension-lines,.calc-live-diagram line.viz-dimension-lines{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-linecap:round}.calc-live-diagram .viz-dimension-lines line{stroke:inherit;stroke-width:inherit}.calc-live-diagram .viz-dimension-text,.calc-live-diagram .viz-meta-text,.calc-live-diagram .viz-result-text{fill:var(--mat-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.calc-live-diagram .viz-dimension-text{font-size:12px;font-weight:600}.calc-live-diagram .viz-meta-text{fill:var(--mat-dim);letter-spacing:.04em;font-size:10px;font-weight:500}.calc-live-diagram .viz-on-stock{fill:var(--mat-ink)}.calc-live-diagram .viz-meta-text.viz-on-stock{letter-spacing:.02em;font-size:11px;font-weight:600}.calc-live-diagram .viz-result-text{font-size:12px;font-weight:600}.calc-live-diagram .viz-label-vertical{writing-mode:vertical-rl}.calc-live-diagram .viz-heavy-line{stroke:var(--mat-ink);stroke-width:2px;stroke-linecap:round}.calc-live-diagram .viz-status-line,.calc-live-diagram .viz-success-line,.calc-live-diagram .viz-deflection-line{fill:none;stroke:var(--mat-line);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.calc-live-diagram .viz-success-line{stroke:var(--mat-ok)}.calc-live-diagram .viz-success-fill{fill:var(--mat-ok)}.calc-live-diagram .viz-status-solid{fill:var(--mat-line)}.calc-live-diagram .viz-status-fill,.calc-live-diagram .viz-accent-fill{fill:color-mix(in srgb, var(--mat-line) 16%, transparent);stroke:var(--mat-line);stroke-width:1.8px;stroke-linejoin:round}.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-result-text{fill:var(--mat-danger);color:var(--mat-danger)}.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-status-fill,.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-status-line,.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-deflection-line{stroke:var(--mat-danger);fill:color-mix(in srgb, var(--mat-danger) 18%, transparent)}.calc-live-diagram .live-diagram-svg[data-viz-tone=warning] .viz-status-fill,.calc-live-diagram .live-diagram-svg[data-viz-tone=warning] .viz-status-line,.calc-live-diagram .live-diagram-svg[data-viz-tone=warning] .viz-deflection-line{stroke:var(--mat-line);fill:color-mix(in srgb, var(--mat-line) 16%, transparent)}.calc-live-diagram .live-diagram-svg[data-viz-tone=ok] .viz-status-fill,.calc-live-diagram .live-diagram-svg[data-viz-tone=ok] .viz-status-line,.calc-live-diagram .live-diagram-svg[data-viz-tone=ok] .viz-deflection-line{stroke:var(--mat-ok);fill:color-mix(in srgb, var(--mat-ok) 14%, transparent)}.calc-live-diagram .viz-pivot{fill:var(--mat-line)}.calc-live-diagram .viz-arc{stroke-dasharray:4 3}.calc-live-diagram .viz-cutout{fill:var(--mat);stroke:var(--mat-line);stroke-width:1.8px}.calc-live-diagram .viz-max-line{stroke:var(--mat-danger);stroke-width:1.4px;stroke-dasharray:5 4}.calc-live-diagram .viz-loads line{stroke:var(--mat-dim);stroke-width:1.4px}.calc-live-diagram .viz-loads polygon{fill:var(--mat-dim)}.calc-live-diagram .viz-supports{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.5px}.calc-live-diagram .viz-before-board{fill:none;stroke:var(--mat-dim);stroke-width:1.4px;stroke-dasharray:5 4}.calc-live-diagram .viz-after-board{opacity:.78}.calc-live-diagram .viz-empty-surface{fill:var(--mat-2);stroke:var(--mat-grid)}.calc-live-diagram .viz-empty-rule{fill:none;stroke:var(--mat-grid);stroke-width:1.2px;stroke-linecap:round}.calc-live-diagram .viz-empty-text{fill:var(--mat-dim);font-family:var(--font-body);font-size:12px;font-weight:var(--fw-medium)}@media (prefers-reduced-motion:reduce){.calc-live-viz.calc-live-diagram,.calc-live-viz.calc-live-diagram *{transition:none!important}}.calc-live-diagram .viz-top-plate{fill:var(--mat-2);stroke:var(--mat-grid);stroke-width:1.6px}.calc-live-diagram .viz-top-table,.calc-live-diagram .viz-top-fence{fill:var(--mat);stroke:var(--mat-dim);stroke-width:1.8px;stroke-linejoin:round}.calc-live-diagram .viz-top-ring{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-linecap:round;opacity:.4}.calc-live-diagram .viz-top-fence-edge{fill:none;stroke:var(--mat-dim);stroke-width:1px;stroke-linecap:round;opacity:.42}.calc-live-diagram .viz-top-boss{fill:none;stroke:var(--mat-dim);stroke-width:1.4px}.calc-live-diagram .viz-top-datum{fill:none;stroke:var(--mat-ink);stroke-width:2.4px;stroke-linecap:round}.calc-live-diagram .viz-top-scale-minor,.calc-live-diagram .viz-top-scale-major{fill:none;stroke:var(--mat-dim);stroke-linecap:round}.calc-live-diagram .viz-top-scale-minor{stroke-width:.9px}.calc-live-diagram .viz-top-scale-major{stroke-width:1.5px}.calc-live-diagram .viz-top-zero{fill:none;stroke:var(--mat-dim);stroke-width:1.1px;stroke-dasharray:5 4}.calc-live-diagram .viz-top-keep{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:2.2px;stroke-linejoin:round}.calc-live-diagram .viz-top-waste{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.2px;stroke-dasharray:6 4;stroke-linejoin:round}.calc-live-diagram .viz-top-kerf{fill:none;stroke:var(--mat-line);stroke-width:2.6px;stroke-linecap:round}.calc-live-diagram .viz-top-pointer,.calc-live-diagram .viz-top-pivot{fill:var(--mat-line)}.calc-live-diagram .viz-top-arc{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-dasharray:4 3}.calc-live-diagram .viz-top-arc-head{fill:var(--mat-dim)}.calc-live-diagram .viz-top-keep-arrow{fill:none;stroke:var(--mat-ok);stroke-width:2px;stroke-linecap:round}.calc-live-diagram .viz-top-keep-fill{fill:var(--mat-ok)}.calc-live-diagram .viz-top-scale-num,.calc-live-diagram .viz-top-zone-waste{fill:var(--mat-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:10px;font-weight:500}.calc-live-diagram .viz-top-meta{fill:var(--mat-dim);font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-top-zone-keep{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;paint-order:stroke fill;stroke:var(--mat-2);stroke-width:2px;stroke-linejoin:round;font-size:12px;font-weight:700}.calc-live-diagram .viz-top-result{fill:var(--mat-ok);font-family:var(--font-body);letter-spacing:.04em;font-size:12px;font-weight:700}.calc-live-diagram .viz-top-primary{fill:var(--mat-line);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.calc-live-diagram .viz-top-flag{fill:var(--mat-danger);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:10px;font-weight:700}.calc-live-diagram .viz-bevel-table{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.8px;stroke-linejoin:round}.calc-live-diagram .viz-bevel-edge{fill:none;stroke:var(--mat-ink);stroke-width:2.4px;stroke-linecap:round}.calc-live-diagram .viz-bevel-blade{fill:var(--mat);stroke:var(--mat-ink);stroke-width:1.8px;stroke-linejoin:round}.calc-live-diagram .viz-bevel-teeth{fill:var(--mat);stroke:var(--mat-ink);stroke-width:1.4px;stroke-linejoin:round}.calc-live-diagram .viz-bevel-collar{fill:none;stroke:var(--mat-dim);stroke-width:1.4px}.calc-live-diagram .viz-bevel-hub{fill:var(--mat-ink)}.calc-live-diagram .viz-bevel-datum{fill:none;stroke:var(--mat-dim);stroke-width:1.1px;stroke-dasharray:6 4}.calc-live-diagram .viz-bevel-arc{fill:none;stroke:var(--mat-line);stroke-width:1.8px;stroke-linecap:round;stroke-dasharray:4 3}.calc-live-diagram .viz-bevel-tilt{fill:none;stroke:var(--mat-ok);stroke-width:2px;stroke-linecap:round}.calc-live-diagram .viz-bevel-tilt-fill{fill:var(--mat-ok)}.calc-live-diagram .viz-bevel-rule{fill:none;stroke:var(--mat-grid);stroke-width:1px}.calc-live-diagram .viz-bevel-meta{fill:var(--mat-dim);font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-bevel-kicker{fill:var(--mat-line);font-family:var(--font-body);letter-spacing:.08em;font-size:10px;font-weight:700}.calc-live-diagram .viz-bevel-flag-box{fill:color-mix(in srgb, var(--mat-danger) 18%, transparent);stroke:var(--mat-danger);stroke-width:1.2px}.calc-live-diagram .viz-bevel-flag-text{fill:var(--mat-danger);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:10px;font-weight:700}.calc-live-diagram .viz-fit-piece{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.8px;stroke-linejoin:round}.calc-live-diagram .viz-fit-wall{fill:none;stroke:var(--mat-ink);stroke-width:2.4px;stroke-linecap:round}.calc-live-diagram .viz-fit-break{fill:none;stroke:var(--mat-dim);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.calc-live-diagram .viz-fit-arc{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-dasharray:5 4;stroke-linecap:round}.calc-live-diagram .viz-fit-joint{fill:none;stroke:var(--mat-dim);stroke-width:3.4px;stroke-linecap:round}.calc-live-diagram .viz-fit-meta{fill:var(--mat-dim);font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:10px;font-weight:600}.calc-live-diagram .viz-fit-value{fill:var(--mat-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:12px;font-weight:600}.calc-live-diagram .viz-bevel-primary{fill:var(--mat-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.calc-live-diagram .viz-bevel-value{fill:var(--mat-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:12px;font-weight:600}.calc-live-diagram .viz-wood-face{fill:none;stroke:none}.calc-live-diagram .viz-stop-clear{stop-color:var(--mat-dim);stop-opacity:0}.calc-live-diagram .viz-stop-faint{stop-color:var(--mat-dim);stop-opacity:.03}.calc-live-diagram .viz-stop-soft{stop-color:var(--mat-dim);stop-opacity:.09}.calc-live-diagram .viz-stop-firm{stop-color:var(--mat-dim);stop-opacity:.13}.calc-live-diagram .viz-wood-shade-top{fill:url(#viz-miter-face-shade)}.calc-live-diagram .viz-wood-shade-bevel{fill:url(#viz-bevel-face-shade)}.calc-live-diagram .viz-wood-shade-fit{fill:url(#viz-fit-face-shade)}.calc-live-diagram .viz-wood-end{fill:var(--mat-dim);fill-opacity:.15}.calc-live-diagram .viz-wood-end-edge{fill:none;stroke:var(--mat-dim);stroke-width:1px;opacity:.4}.calc-live-diagram .viz-top-plate,.calc-live-diagram .viz-top-table,.calc-live-diagram .viz-top-fence,.calc-live-diagram .viz-bevel-table{filter:drop-shadow(0 1px 1px var(--shadow)) drop-shadow(0 3px 5px var(--shadow))}.calc-live-diagram .viz-top-keep,.calc-live-diagram .viz-bevel-stock,.calc-live-diagram .viz-fit-piece{filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-bevel-stock{stroke-width:1.8px}.calc-live-diagram .viz-stock-top,.calc-live-diagram .viz-stock-end{fill:var(--mat-2)}.calc-live-diagram .viz-wood-shade-bf-top{fill:url(#viz-bf-top-shade)}.calc-live-diagram .viz-wood-shade-bf-front{fill:url(#viz-bf-front-shade)}.calc-live-diagram .viz-wood-shade-dado{fill:url(#viz-dado-stock-shade)}.calc-live-diagram .viz-bf-grain,.calc-live-diagram .viz-dado-grain{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-linecap:round;opacity:.48}.calc-live-diagram .viz-bf-end-ring{fill:none;stroke:var(--mat-dim);stroke-width:1px;stroke-linecap:round;opacity:.34}.calc-live-diagram #viz-bf-front-face,.calc-live-diagram #viz-bf-end-face,.calc-live-diagram #viz-dado-stock-face{filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-bf-on-wood{paint-order:stroke fill;stroke:var(--mat-2);stroke-width:2px;stroke-linejoin:round}.calc-live-diagram .viz-move-board{fill:var(--mat-2);stroke:var(--mat-dim)}.calc-live-diagram .viz-wood-shade-move{fill:url(#viz-move-board-shade)}.calc-live-diagram .viz-supports{stroke-width:1.8px;filter:drop-shadow(0 1px 1px var(--shadow)) drop-shadow(0 3px 5px var(--shadow))}.calc-live-diagram [data-viz-target=shelf],.calc-live-diagram #viz-move-board-face{filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-tooth-face{fill:none;stroke:none}.calc-live-diagram .viz-tooth-plate{fill:var(--mat-2);stroke:var(--mat-ink);stroke-width:1.8px;filter:drop-shadow(0 1px 1px var(--shadow)) drop-shadow(0 3px 5px var(--shadow))}.calc-live-diagram .viz-tooth-shade{fill:url(#viz-tooth-plate-shade)}.calc-live-diagram .viz-tooth-rim{fill:none;stroke:var(--mat-dim);stroke-width:1.2px}.calc-live-diagram .viz-tooth-teeth{fill:var(--mat-2);stroke:var(--mat-ink);stroke-width:1.4px;stroke-linejoin:round;filter:drop-shadow(0 1px 1px var(--shadow)) drop-shadow(0 3px 5px var(--shadow))}.calc-live-diagram .viz-tooth-slot{fill:none;stroke:var(--mat-dim);stroke-width:1.3px;stroke-linecap:round;opacity:.5}.calc-live-diagram .viz-tooth-bore-ring{fill:none;stroke:var(--mat-dim);stroke-width:1.4px}.calc-live-diagram .viz-tooth-bore{fill:var(--mat);stroke:var(--mat-ink);stroke-width:1.6px}.calc-live-diagram .viz-tooth-rule{fill:none;stroke:var(--mat-grid);stroke-width:1px}.calc-live-diagram .viz-tooth-kicker{fill:var(--mat-line);font-family:var(--font-body);letter-spacing:.08em;font-size:10px;font-weight:700}.calc-live-diagram .viz-tooth-meta{fill:var(--mat-dim);font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-tooth-primary{fill:var(--mat-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.calc-live-diagram .viz-tooth-value{fill:var(--mat-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:12px;font-weight:600}.calc-live-diagram .viz-tooth-note{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.03em;font-size:9.5px;font-weight:500}.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-tooth-plate{stroke:var(--mat-danger);stroke-dasharray:7 6}.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-tooth-primary,.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-tooth-value{fill:var(--mat-danger)}.calc-live-diagram .viz-stop-steel-clear{stop-color:var(--mat-ink);stop-opacity:0}.calc-live-diagram .viz-stop-steel-soft{stop-color:var(--mat-ink);stop-opacity:.05}.calc-live-diagram .viz-stop-steel-firm{stop-color:var(--mat-ink);stop-opacity:.12}.calc-live-diagram .viz-rpm-chuck{fill:var(--mat-2);stroke:var(--mat-ink);stroke-width:1.8px;stroke-linejoin:round;filter:drop-shadow(0 1px 1px var(--shadow)) drop-shadow(0 3px 5px var(--shadow))}.calc-live-diagram .viz-rpm-chuck-detail{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-linecap:round;opacity:.6}.calc-live-diagram .viz-rpm-bit{fill:var(--mat-2);stroke:var(--mat-ink);stroke-width:1.4px;stroke-linejoin:round;filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-rpm-steel{fill:none;stroke:none}.calc-live-diagram .viz-rpm-bit-shade{fill:url(#viz-rpm-bit-shade)}.calc-live-diagram .viz-rpm-track{fill:none;stroke:var(--mat-dim);stroke-width:2px;stroke-linecap:round}.calc-live-diagram .viz-rpm-ticks{fill:none;stroke:var(--mat-dim);stroke-width:1.4px;stroke-linecap:round}.calc-live-diagram .viz-rpm-cap-flag{fill:none;stroke:var(--mat-line);stroke-width:3px;stroke-linecap:round}.calc-live-diagram .viz-rpm-hub{fill:var(--mat-2);stroke:var(--mat-ink);stroke-width:1.6px}.calc-live-diagram .viz-rpm-meta{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-rpm-scale-num{fill:var(--mat-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:10px;font-weight:500}.calc-live-diagram .viz-mf-wall{fill:none;stroke:var(--mat-ink);stroke-width:2.4px;stroke-linecap:round}.calc-live-diagram .viz-mf-piece{fill:color-mix(in srgb, var(--mat-ok) 14%, transparent);stroke:var(--mat-ok);stroke-width:1.8px;stroke-linejoin:round;filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-mf-break{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.calc-live-diagram .viz-mf-waste{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-dasharray:6 4;stroke-linejoin:round}.calc-live-diagram .viz-mf-seam{fill:none;stroke:var(--mat-line);stroke-width:2.6px;stroke-linecap:round}.calc-live-diagram .viz-mf-arc{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-dasharray:4 3}.calc-live-diagram .viz-mf-meta{fill:var(--mat-dim);font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-mf-kicker{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-mf-primary{fill:var(--mat-line);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.calc-live-diagram .viz-tj-board{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.8px;stroke-linejoin:round}.calc-live-diagram #viz-tj-board-face{filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-tj-shade{fill:url(#viz-tj-board-shade)}.calc-live-diagram .viz-tj-grain{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-linecap:round;opacity:.48}.calc-live-diagram .viz-tj-ghost{fill:none;stroke:var(--mat-dim);stroke-width:1.4px;stroke-dasharray:5 4}.calc-live-diagram .viz-tj-cut{fill:none;stroke:var(--mat-line);stroke-width:2.6px;stroke-linecap:round}.calc-live-diagram .viz-tj-fence{fill:none;stroke:var(--mat-ok);stroke-width:1.6px;stroke-dasharray:7 5;stroke-linecap:round}.calc-live-diagram .viz-tj-fence-label{fill:var(--mat-ok);font-family:var(--font-body);letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-tj-meta{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-layout-label{fill:var(--mat-dim);font:12px var(--font-mono)}.calc-live-diagram .viz-layout-line{fill:none;stroke:var(--mat-dim);stroke-width:1px}.calc-live-diagram .viz-layout-reference{fill:none;stroke:var(--mat-ok);stroke-width:1px;stroke-dasharray:5 4}.calc-live-diagram .viz-layout-contact{fill:none;stroke:var(--mat-dim);stroke-width:2px}.calc-live-diagram .viz-layout-cut{fill:none;stroke:var(--mat-line);stroke-width:1.5px}.calc-live-diagram .viz-layout-ply{fill:none;stroke:var(--mat-dim);stroke-width:.65px}.calc-live-diagram .viz-layout-form{fill:none;stroke:var(--mat-ok);stroke-width:1px;stroke-dasharray:4 3}.calc-live-diagram .viz-layout-wedge{fill:color-mix(in srgb, var(--mat-line) 16%, transparent);stroke:var(--mat-line);stroke-width:1.5px}.calc-live-diagram .viz-layout-pivot{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1px}.calc-live-diagram .viz-layout-support{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.5px}.calc-live-diagram[data-viz-tone=warning] .viz-layout-cut{stroke-dasharray:3 2}.calc-live-diagram .viz-case-contact{fill:none;stroke:var(--mat-dim);stroke-width:.65px}.calc-live-diagram .viz-case-crack{fill:none;stroke:var(--mat-dim);stroke-width:1.8px}.calc-live-diagram .viz-case-opening{fill:none;stroke:var(--mat-line);stroke-width:1.2px;stroke-dasharray:5 3}.calc-live-diagram .viz-case-bottom{fill:none;stroke:var(--mat-ink);stroke-width:.8px;stroke-dasharray:2 2}.calc-live-diagram .viz-case-cuts{fill:var(--mat-line);fill-opacity:.18;stroke:none}.calc-live-diagram .viz-case-waste{fill:var(--mat-ink);fill-opacity:.2;stroke:none}.calc-live-diagram .viz-case-kerfs{fill:var(--mat);stroke:none}.calc-live-diagram [data-viz-target=key-inlay]{fill:color-mix(in srgb, var(--mat-2) 65%, var(--mat-dim))}.calc-live-diagram .viz-case-recess{fill:var(--mat-dim);fill-opacity:.16;stroke:none}.calc-live-diagram [data-viz-target=carcass-back],.case-field-disabled{opacity:.5}.calc-live-diagram .viz-gs-wood{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.8px;stroke-linejoin:round;filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-gs-grain{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-linecap:round;opacity:.48}.calc-live-diagram .viz-gs-hidden{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-dasharray:4 3}.calc-live-diagram .viz-gs-bead{fill:var(--mat-line);stroke:var(--mat-line);stroke-width:1.4px}.calc-live-diagram .viz-gs-meta{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-gs-caption{fill:var(--mat-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.calc-live-diagram .viz-gs-rule{fill:none;stroke:var(--mat-grid);stroke-width:1px}.calc-live-diagram .viz-gs-kicker{fill:var(--mat-line);font-family:var(--font-body);letter-spacing:.08em;font-size:10px;font-weight:700}.calc-live-diagram .viz-gs-spec{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-gs-primary{fill:var(--mat-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.calc-live-diagram .viz-gs-value{fill:var(--mat-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:12px;font-weight:600}.calc-live-diagram .viz-gs-note{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.03em;font-size:9.5px;font-weight:500}.calc-live-diagram .viz-bh-table{fill:var(--mat-2);stroke:var(--mat-ink);stroke-width:2.2px;stroke-linejoin:round;filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-bh-throat{fill:var(--mat);stroke:var(--mat-dim);stroke-width:1.2px}.calc-live-diagram .viz-bh-stock{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.8px;stroke-linejoin:round}.calc-live-diagram #viz-bh-stock-face{filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-bh-wood,.calc-live-diagram .viz-bh-steel{fill:none;stroke:none}.calc-live-diagram .viz-bh-stock-shade{fill:url(#viz-bh-stock-shade)}.calc-live-diagram .viz-bh-grain{fill:none;stroke:var(--mat-dim);stroke-width:1.2px;stroke-linecap:round;opacity:.48}.calc-live-diagram .viz-bh-blade{fill:var(--mat-2);stroke:var(--mat-ink);stroke-width:1.6px;stroke-linejoin:round;filter:drop-shadow(0 1px 1px var(--shadow)) drop-shadow(0 3px 5px var(--shadow))}.calc-live-diagram .viz-bh-blade-shade{fill:url(#viz-bh-blade-shade)}.calc-live-diagram .viz-bh-reference{fill:none;stroke:var(--mat-ok);stroke-width:1.4px;stroke-dasharray:5 4;stroke-linecap:round}.calc-live-diagram .viz-bh-extension{fill:none;stroke:var(--mat-dim);stroke-width:.9px}.calc-live-diagram .viz-bh-meta,.calc-live-diagram .viz-bh-note{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-bh-note{font-size:9.5px;font-weight:500}.calc-live-diagram .viz-bh-stock-label{fill:var(--mat-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:11px;font-weight:600}.calc-live-diagram .viz-bh-technique{fill:var(--mat-line);font-family:var(--font-body);letter-spacing:.06em;font-size:10px;font-weight:700}.calc-live-diagram .viz-bh-primary{fill:var(--mat-line);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.calc-live-diagram .viz-sq-wood{fill:var(--mat-2);stroke:var(--mat-dim);stroke-width:1.8px;stroke-linejoin:round;filter:drop-shadow(0 1.5px 2px var(--shadow))}.calc-live-diagram .viz-sq-shade-a{fill:url(#viz-sq-board-a-shade)}.calc-live-diagram .viz-sq-shade-b{fill:url(#viz-sq-board-b-shade)}.calc-live-diagram .viz-sq-shade-stile{fill:url(#viz-sq-stile-shade)}.calc-live-diagram .viz-sq-shade-rail{fill:url(#viz-sq-rail-shade)}.calc-live-diagram .viz-sq-grain{fill:none;stroke:var(--mat-dim);stroke-width:.8px;stroke-linecap:round;opacity:.4}.calc-live-diagram .viz-sq-mark{fill:none;stroke:var(--mat-dim);stroke-width:1.5px;stroke-linecap:round}.calc-live-diagram .viz-sq-corner{fill:none;stroke:var(--mat-dim);stroke-width:1.2px}.calc-live-diagram .viz-sq-tape{fill:none;stroke:var(--mat-line);stroke-width:2.2px;stroke-linecap:round}.calc-live-diagram .viz-sq-halo{fill:none;stroke:var(--mat);stroke-width:5.5px;stroke-linecap:round}.calc-live-diagram .viz-sq-diag{fill:none;stroke:var(--mat-line);stroke-width:2.2px;stroke-linecap:round}.calc-live-diagram .viz-sq-dim{fill:var(--mat-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.calc-live-diagram .viz-sq-tape-text{fill:var(--mat-line)}.calc-live-diagram .viz-sq-tag{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.05em;font-size:10px;font-weight:700}.calc-live-diagram .viz-sq-rule{fill:none;stroke:var(--mat-grid);stroke-width:1px}.calc-live-diagram .viz-sq-kicker{fill:var(--mat-line);font-family:var(--font-body);letter-spacing:.08em;font-size:10px;font-weight:700}.calc-live-diagram .viz-sq-meta{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.05em;font-size:10px;font-weight:600}.calc-live-diagram .viz-sq-primary{fill:var(--mat-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.calc-live-diagram .viz-sq-value{fill:var(--mat-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:12px;font-weight:600}.calc-live-diagram .viz-sq-verdict{fill:var(--mat-ink);font-family:var(--font-mono);letter-spacing:.04em;font-size:12px;font-weight:700}.calc-live-diagram .viz-sq-note{fill:var(--mat-dim);font-family:var(--font-body);letter-spacing:.03em;font-size:9.5px;font-weight:500}.calc-live-diagram .live-diagram-svg[data-viz-tone=ok] .viz-sq-diag{stroke:var(--mat-ok)}.calc-live-diagram .live-diagram-svg[data-viz-tone=ok] .viz-sq-primary,.calc-live-diagram .live-diagram-svg[data-viz-tone=ok] .viz-sq-verdict{fill:var(--mat-ok)}.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-sq-diag{stroke:var(--mat-danger)}.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-sq-primary,.calc-live-diagram .live-diagram-svg[data-viz-tone=danger] .viz-sq-verdict{fill:var(--mat-danger)}.admin-shell{min-width:0;color:var(--ink);font-family:var(--font-body)}.admin-main{min-width:0;padding:var(--s-5) 0 0}.admin-tabs{border-bottom:1px solid var(--rule);scrollbar-width:none;overflow-x:auto}.admin-tabs-list{gap:var(--s-4);margin:0;padding:0;list-style:none;display:flex}.admin-tab{white-space:nowrap;min-height:48px;color:var(--ink-2);font-weight:var(--fw-semibold);align-items:center;text-decoration:none;display:inline-flex;box-shadow:inset 0 -3px #0000}.admin-tab-count{margin-left:.3em}.admin-tab:hover{color:var(--ink)}.admin-tab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:var(--radius-xs)}.admin-tab[aria-current=page]{color:var(--ink);box-shadow:inset 0 -3px 0 0 var(--ink)}.admin-btn{min-height:var(--tap);padding:var(--s-2) var(--s-4);border-radius:var(--r-input);font-family:var(--font-body);font-size:var(--t-sub);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);border:1px solid #0000;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.admin-btn[hidden]{display:none!important}.admin-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.admin-btn--primary{background:var(--signal);color:var(--signal-fg);border-color:var(--signal)}.admin-btn--primary:hover{background:var(--signal-2);border-color:var(--signal-2)}.admin-btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.admin-btn--secondary:hover{background:var(--surface-2)}.admin-btn--danger{background:var(--danger);color:var(--bg);border-color:var(--danger)}.admin-btn--danger:hover{filter:brightness(1.08)}.admin-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow:auto hidden}.admin-table-wrap:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.admin-table{border-collapse:collapse;width:100%;font-size:var(--t-body)}.admin-table-caption{text-align:left;padding:var(--s-3) var(--s-4);font-family:var(--font-display);font-size:var(--t-h3);color:var(--ink);background:var(--surface-2);border-bottom:1px solid var(--border)}.admin-table th,.admin-table td{padding:var(--s-3) var(--s-4);text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table th{background:var(--surface-2);color:var(--ink-2);font-size:var(--t-tiny);font-weight:600}.admin-table tbody tr:nth-child(2n) td{background:var(--surface-2)}.admin-table tbody tr:hover td{background:var(--signal-tint)}.admin-table-row--clickable{cursor:pointer}.admin-table-row--clickable:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.admin-table-empty{padding:var(--s-8) var(--s-4);text-align:center;color:var(--ink-3);font-size:var(--t-body)}.admin-modal-overlay{background:var(--overlay-scrim);padding:var(--s-4);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal{background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;max-width:460px;padding:var(--s-6);gap:var(--s-4);flex-direction:column;display:flex}.admin-modal--danger{border-color:var(--danger)}.admin-modal-title{font-family:var(--font-display);font-size:var(--t-h2);color:var(--ink);margin:0}.admin-modal-body{font-size:var(--t-body);color:var(--ink);line-height:var(--lh-body)}.admin-modal-actions{justify-content:flex-end;gap:var(--s-2);display:flex}.admin-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s-4);gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.admin-stat-label{font-size:var(--t-caption);color:var(--ink-2);font-weight:600}.admin-stat-value{font-family:var(--font-mono);font-size:var(--t-h1);color:var(--ink);font-weight:600;line-height:1.1}.admin-stat-delta{font-size:var(--t-tiny);font-weight:600}.admin-stat-delta--up{color:var(--success)}.admin-stat-delta--down{color:var(--danger)}.admin-stat-delta--flat{color:var(--ink-3)}.admin-stat-note{font-size:var(--t-caption);color:var(--accent-text);font-weight:600}.admin-stat--positive{border-color:var(--success)}.admin-stat--warning{border-color:var(--signal)}.admin-stat--critical{border-color:var(--danger)}.admin-stat--alert{border-left:4px solid var(--gold)}.admin-empty-state{text-align:center;padding:var(--s-12) var(--s-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:center;align-items:center;gap:var(--s-2);flex-direction:column;display:flex}.admin-empty-state-icon{font-size:var(--t-display);color:var(--ink-3);margin-bottom:var(--s-2)}.admin-empty-state-title{font-family:var(--font-display);font-size:var(--t-h3);color:var(--ink);margin:0}.admin-empty-state-message{font-size:var(--t-body);color:var(--ink-2);max-width:360px;margin:0}.admin-empty-state-action{margin-top:var(--s-2)}.admin-page{gap:var(--s-5);flex-direction:column;max-width:1200px;display:flex}.admin-page-heading{gap:var(--s-1);flex-direction:column;display:flex}.admin-page-title{font-family:var(--font-display);font-size:var(--t-h1);color:var(--ink);line-height:var(--lh-heading);margin:0}.admin-page-sub{color:var(--ink-2);font-size:var(--t-sub);margin:0}.admin-page-back{margin-bottom:var(--s-2)}.admin-back-link{color:var(--ink-2);font-size:var(--t-sub);padding:var(--s-1) var(--s-2);border-radius:var(--r-input);text-decoration:none}.admin-back-link:hover{color:var(--ink);background:var(--surface-2)}.admin-back-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.admin-section-title{margin:var(--s-4) 0 var(--s-2);font-family:var(--font-display);font-size:var(--t-h2);color:var(--ink)}.admin-overview-stats{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.admin-recent-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.admin-recent-list .list-row{min-height:48px;padding:var(--s-3) 0}.admin-stat--loading .admin-stat-value{color:var(--ink-3);font-family:var(--font-body)}.admin-filters{align-items:flex-end;gap:var(--s-3);padding:var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;display:flex}.admin-filter-field{gap:var(--s-1);flex-direction:column;min-width:160px;display:flex}.admin-filter-label{font-size:var(--t-tiny);color:var(--ink-2);font-weight:600}.admin-filter-input{padding:var(--s-2) var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-input);background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);min-height:var(--tap)}.admin-filter-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}.admin-filter-checkbox{align-items:center;gap:var(--s-2);padding-bottom:var(--s-2);font-size:var(--t-sub);color:var(--ink);display:inline-flex}.admin-role-badge{padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--t-tiny);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border);font-weight:600;display:inline-block}.admin-role-badge--admin{background:var(--signal-tint);color:var(--signal-text);border-color:var(--signal)}.admin-role-badge--moderator{background:var(--surface-2);color:var(--ink);border-color:var(--border-strong)}.admin-role-badge--contributor{background:var(--surface-2);color:var(--ink-2);border-color:var(--border)}.admin-banned-badge{padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--t-tiny);background:var(--danger-bg);color:var(--danger-ink);border:1px solid var(--danger);font-weight:600;display:inline-block}.admin-warning-badge{padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--t-tiny);background:var(--signal-tint);color:var(--signal-text);border:1px solid var(--signal);font-weight:600;display:inline-block}.admin-warning-zero{color:var(--ink-3);font-size:var(--t-sub)}.admin-warning-cell{align-items:center;gap:var(--s-1);display:inline-flex}.admin-action-badge{padding:2px var(--s-2);border-radius:var(--r-input);font-size:var(--t-tiny);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border);display:inline-block}.admin-action-badge--user{border-color:var(--border-strong);color:var(--ink)}.admin-action-badge--report{background:var(--signal-tint);color:var(--signal-text);border-color:var(--signal)}.admin-action-badge--bootstrap{background:var(--danger-tint);color:var(--danger);border-color:var(--danger)}.admin-status-badge{padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--t-tiny);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border);font-weight:600;display:inline-block}.admin-status-badge--pending{background:var(--signal-tint);color:var(--signal-text);border-color:var(--signal)}.admin-status-badge--resolved{background:var(--surface-2);color:var(--success);border-color:var(--success)}.admin-status-badge--dismissed{background:var(--surface-2);color:var(--ink-3);border-color:var(--border)}.admin-user-link{color:var(--signal-text);text-underline-offset:2px;text-decoration:underline}.admin-user-link:hover{text-decoration-thickness:2px}.admin-user-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.admin-actions-menu{position:relative}.admin-actions-menu-summary{cursor:pointer;min-width:var(--tap);min-height:var(--tap);border-radius:var(--r-input);font-size:var(--t-h3);color:var(--ink-2);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;line-height:1;list-style:none;display:inline-flex}.admin-actions-menu-summary::-webkit-details-marker{display:none}.admin-actions-menu-summary:hover{background:var(--surface-2);color:var(--ink)}.admin-actions-menu-summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.admin-actions-menu-list{margin:var(--s-1) 0 0;padding:var(--s-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);z-index:50;min-width:180px;list-style:none;position:absolute;top:100%;right:0}.admin-actions-menu-item{width:100%;min-height:var(--tap);text-align:left;padding:var(--s-2) var(--s-3);font-family:var(--font-body);font-size:var(--t-sub);color:var(--ink);cursor:pointer;border-radius:var(--r-input);background:0 0;border:0;display:block}.admin-actions-menu-item:hover:not([disabled]){background:var(--surface-2)}.admin-actions-menu-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.admin-actions-menu-item[disabled]{color:var(--ink-3);cursor:not-allowed;font-style:italic}.admin-actions-menu-item--danger{color:var(--danger)}.admin-users-loadmore{padding:var(--s-3) 0;justify-content:center;display:flex}.admin-users-loadmore[hidden]{display:none!important}.admin-user-header{gap:var(--s-4);padding:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;display:flex}.admin-user-avatar{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.admin-user-avatar img{object-fit:cover;width:100%;height:100%}.admin-user-avatar-initial{font-family:var(--font-display);font-size:var(--t-h1);color:var(--ink-2)}.admin-user-ident{gap:var(--s-1);flex-direction:column;flex:1;min-width:0;display:flex}.admin-user-username{font-family:var(--font-display);font-size:var(--t-h2);color:var(--ink)}.admin-user-email{color:var(--ink-2);font-size:var(--t-sub);word-break:break-all}.admin-user-badges{gap:var(--s-2);margin-top:var(--s-1);flex-wrap:wrap;display:flex}.admin-user-timestamps{gap:var(--s-3);margin-top:var(--s-2);font-size:var(--t-tiny);color:var(--ink-3);flex-wrap:wrap;display:flex}.admin-user-ban-reason,.admin-user-warning{margin-top:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-input);background:var(--signal-tint);color:var(--signal-text);font-size:var(--t-sub);border:1px solid var(--signal)}.admin-user-ban-reason{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger)}.admin-user-actions{gap:var(--s-2);padding:var(--s-3) 0;flex-wrap:wrap;display:flex}.admin-audit-details{padding:var(--s-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-input);font-size:var(--t-tiny);color:var(--ink-2);white-space:pre-wrap;word-break:break-word;max-width:360px;max-height:160px;margin:0;overflow:auto}.admin-audit-target{font-size:var(--t-tiny);color:var(--ink-2)}.admin-report-reason{font-size:var(--t-sub);color:var(--ink)}.admin-report-reason summary{cursor:pointer;color:var(--ink)}.admin-report-reason p{margin:var(--s-1) 0 0;white-space:pre-wrap;color:var(--ink)}.admin-modal-form{gap:var(--s-3);flex-direction:column;display:flex}.admin-modal-warning{padding:var(--s-2) var(--s-3);border:1px solid var(--danger);border-radius:var(--r-input);background:var(--danger-bg);color:var(--danger-ink);font-size:var(--t-sub);margin:0;line-height:1.4}.admin-modal-form label{font-size:var(--t-sub);color:var(--ink);margin-bottom:var(--s-1);font-weight:600;display:block}.admin-modal-field{flex-direction:column;display:flex}.admin-modal-textarea{width:100%;padding:var(--s-2) var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-input);background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);resize:vertical}.admin-modal-textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}.admin-modal-input{width:100%;padding:var(--s-2) var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-input);background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);min-height:var(--tap)}.admin-modal-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}.admin-modal-note{font-size:var(--t-tiny);color:var(--ink-3);margin:0;font-style:italic}.callout-warning.account-warnings{background:var(--signal-tint);border:1px solid var(--signal);border-radius:var(--radius);padding:var(--s-3) var(--s-4);color:var(--ink)}.callout-warning.account-warnings .callout-ink-eyebrow{color:var(--signal-text)}.account-warnings-when{margin-top:var(--s-1);color:var(--ink-2);font-size:var(--t-tiny)}@media (width<=767px){.admin-table{min-width:640px}.admin-table th,.admin-table td{white-space:nowrap}.admin-table .admin-report-reason,.admin-table .admin-audit-details{white-space:normal}}.admin-content-header{align-items:center;gap:var(--s-3);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.admin-content-kind{font-family:var(--font-display);font-size:var(--t-sub);color:var(--ink-2);font-weight:600}.admin-content-badges{gap:var(--s-2);flex-wrap:wrap;display:inline-flex}.admin-content-actions{align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.admin-content-title{margin:0 0 var(--s-3);font-family:var(--font-display);font-size:var(--t-h2);color:var(--ink)}.admin-content-parent{margin:0 0 var(--s-3);color:var(--ink-2);font-size:var(--t-body)}.admin-content-meta{gap:var(--s-1);margin-bottom:var(--s-4);padding:var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex}.admin-content-meta-row{gap:var(--s-3);font-size:var(--t-sub);display:flex}.admin-content-meta-label{color:var(--ink-3);font-size:var(--t-tiny);flex:0 0 96px;padding-top:2px}.admin-content-meta-value{color:var(--ink);word-break:break-word}.admin-content-mono{font-family:var(--font-mono);font-size:var(--t-tiny)}.admin-content-cover{margin:0 0 var(--s-4)}.admin-content-cover img{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;max-height:320px}.admin-content-body{padding:var(--s-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-input);font-size:var(--t-sub);color:var(--ink);white-space:pre-wrap;word-break:break-word;max-height:480px;margin:0;overflow:auto}
