:root{font-family:Inter,Segoe UI,sans-serif;color:#dce4e8;background:#0b1014;font-synthesis:none;--panel:#151c22;--panel2:#11171c;--line:#29323a;--muted:#82909a;--teal:#35c3b4;--amber:#f0ad45;--red:#eb6b62}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}button,input{font:inherit}button{color:inherit}.boot{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted);background:#0d1318}.boot-mark,.brand-mark{display:inline-grid;place-items:center;background:var(--teal);color:#07100f;font:700 14px 'IBM Plex Mono';border-radius:3px}.boot-mark{width:42px;height:42px;margin:auto}.app-shell{height:100vh;display:grid;grid-template-rows:52px minmax(0,1fr) 27px}.topbar{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--line);background:#171e24;box-shadow:0 2px 12px #0005;z-index:4}.brand{display:flex;align-items:center;gap:9px;width:286px;font-size:14px;letter-spacing:.04em}.brand-mark{width:25px;height:25px}.brand b{color:#fff}.version{color:#697781;font:500 9px 'IBM Plex Mono';border:1px solid #39444c;padding:2px 4px;border-radius:2px}.toolbar{display:flex;align-items:center;gap:7px}.button,.icon-button{border:1px solid #39454d;background:#202930;color:#dce5e8;border-radius:3px;height:31px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;letter-spacing:.02em;cursor:pointer;text-decoration:none}.button:hover,.icon-button:hover{background:#29343c;border-color:#53616b}.button.primary{background:#239c91;border-color:#35c3b4;color:white}.button:disabled,.icon-button:disabled{opacity:.35;cursor:not-allowed}.icon-button{width:31px;padding:0;font-size:17px}.tool-divider{height:22px;border-left:1px solid var(--line);margin:0 3px}.local-badge{margin-left:auto;color:#78b3aa;font:600 9px 'IBM Plex Mono';letter-spacing:.1em}.status-dot,.ready-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px #35c3b499;margin-right:6px}.workspace{min-height:0;display:grid;grid-template-columns:286px minmax(360px,1fr) 334px}.sidebar{min-height:0;background:var(--panel);display:flex;flex-direction:column}.left-panel{border-right:1px solid var(--line)}.analysis-panel{border-left:1px solid var(--line)}.sidebar section{border-bottom:1px solid var(--line);padding:15px}.sidebar section.grow{min-height:0;flex:1}.section-label,.section-heading{font:600 9px 'IBM Plex Mono';letter-spacing:.13em;color:#7e8b94}.section-heading{height:27px;display:flex;align-items:flex-start;justify-content:space-between}.section-heading em{font-style:normal;background:#2c363e;color:#acbac1;padding:1px 5px;border-radius:8px}.section-heading button{border:0;background:transparent;color:#82929b;font:600 8px 'IBM Plex Mono';padding:0 0 0 9px;cursor:pointer}.file-section{min-height:139px}.no-file,.file-title{display:flex;gap:11px;align-items:center;margin-top:13px}.file-icon{display:grid;place-items:center;width:36px;height:42px;border:1px solid #3b4851;background:#202930;color:#79cfc4;font:600 9px 'IBM Plex Mono';clip-path:polygon(0 0,73% 0,100% 23%,100% 100%,0 100%)}.no-file div,.file-title div{min-width:0;display:flex;flex-direction:column;gap:4px}.no-file strong,.file-title strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-file small,.file-title small{font:400 9px 'IBM Plex Mono';color:var(--muted)}.meta-grid{display:grid;grid-template-columns:1fr auto 1fr auto;gap:8px 9px;margin-top:14px;font:9px 'IBM Plex Mono';color:#81909a}.meta-grid b{color:#dce4e8;text-align:right}.warn{color:var(--amber)!important}.layer-list{overflow:auto;max-height:100%;margin:0 -15px}.layer-row{display:grid;grid-template-columns:20px 22px 1fr auto;align-items:center;height:32px;padding:0 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;font-size:11px;cursor:pointer}.layer-row:hover{background:#1b242b;border-color:#273139}.layer-row input{accent-color:var(--teal);width:12px;height:12px}.eye{color:#56cfc1;font-size:10px}.layer-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.count{font:9px 'IBM Plex Mono';color:#74828b}.panel-empty{font-size:11px;line-height:1.55;color:#6e7b84;margin-top:12px}.stats-section{min-height:185px}.stat-row{display:flex;justify-content:space-between;margin-top:10px;font-size:10px;color:#9aa6ad}.stat-row b{font:500 10px 'IBM Plex Mono';color:#dce4e8}.viewport{position:relative;min-width:0;min-height:0;background:#10161b;overflow:hidden}.viewer-wrap,.drawing-canvas,.viewport-grid{position:absolute;inset:0;width:100%;height:100%}.drawing-canvas{touch-action:none;cursor:grab}.drawing-canvas.panning{cursor:grabbing}.viewport-grid{pointer-events:none;background-image:linear-gradient(#1b232a 1px,transparent 1px),linear-gradient(90deg,#1b232a 1px,transparent 1px);background-size:40px 40px;opacity:.55}.drop-zone{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-52%);width:min(470px,78%);height:292px;border:1px dashed #41515b;background:#121a20e8;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:5px;box-shadow:0 18px 50px #0005;text-align:center}.drop-zone:after{content:"";position:absolute;inset:7px;border:1px solid #1f2b32;pointer-events:none}.drop-zone:hover{border-color:#50bdb2;background:#14201f}.drop-zone h1{font-size:20px;margin:12px 0 5px;letter-spacing:-.02em}.drop-zone p{font-size:11px;color:#8d9aa2;margin:0 0 18px}.drop-zone small{margin-top:20px;color:#62727b;font:9px 'IBM Plex Mono'}.drop-zone small span{color:var(--teal)}.drop-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:3}.drop-glyph{width:49px;height:49px;border:1px solid #3a4b53;border-radius:50%;display:grid;place-items:center;color:#5ed2c4;font-size:24px;background:#172128}.loading{opacity:.75}.view-axis{position:absolute;left:20px;bottom:20px;width:52px;height:52px;color:#6d7b84;font:600 9px 'IBM Plex Mono';pointer-events:none}.view-axis i:before,.view-axis i:after{content:"";position:absolute;background:#53616a}.view-axis i:before{width:1px;height:37px;left:12px;bottom:5px}.view-axis i:after{height:1px;width:37px;left:12px;bottom:5px}.axis-y{position:absolute;top:0;left:9px;color:#63c4ba}.axis-x{position:absolute;right:0;bottom:1px;color:#de766d}.error-toast{position:absolute;left:50%;top:18px;transform:translateX(-50%);max-width:520px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;background:#301b1a;border:1px solid #703632;border-radius:3px;box-shadow:0 8px 30px #0008;font-size:10px}.error-toast b{color:#ff9b93}.error-toast button{border:0;background:transparent;cursor:pointer;font-size:18px}.health-section{padding-bottom:13px!important}.health-summary{display:flex;align-items:center;gap:15px;margin-top:12px}.score-ring{--angle:calc(var(--score)*3.6deg);width:75px;height:75px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,#151c22 62%,transparent 63%),conic-gradient(var(--teal) var(--angle),#313c44 0);box-shadow:inset 0 0 12px #0006}.score-ring span{font:600 23px 'IBM Plex Mono';line-height:1}.score-ring small{font:8px 'IBM Plex Mono';color:#71808a}.health-summary>div:last-child{display:flex;flex-direction:column;gap:5px}.health-summary strong{font-size:13px}.health-summary span{font-size:10px;color:#7f8e97}.deductions{margin-top:11px;padding:7px 9px;background:#10161b;border:1px solid #253039}.deductions div{display:flex;justify-content:space-between;font-size:9px;color:#8e9aa2;padding:3px 0}.deductions b{font:500 9px 'IBM Plex Mono';color:#e69d49}.severity-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:12px}.severity-grid div{padding:7px;text-align:center;border-right:1px solid var(--line)}.severity-grid div:last-child{border:0}.severity-grid b{display:block;font:600 14px 'IBM Plex Mono'}.severity-grid span{font:7px 'IBM Plex Mono';color:#6f7d86;letter-spacing:.1em}.error-text{color:var(--red)}.warn-text{color:var(--amber)}.issues-section{display:flex;flex-direction:column;padding:13px 0 0!important}.issues-section>.section-heading{padding:0 15px}.issue-list{overflow:auto}.issue-card{width:100%;border:0;border-top:1px solid #263038;background:transparent;text-align:left;display:grid;grid-template-columns:8px 1fr 10px;gap:9px;padding:11px 14px;cursor:pointer}.issue-card:hover,.issue-card.selected{background:#1d272e}.issue-card.selected{box-shadow:inset 2px 0 var(--amber)}.severity{width:6px;height:6px;border-radius:50%;margin-top:3px;background:#7b8992}.severity.warning{background:var(--amber)}.severity.error,.severity.critical{background:var(--red)}.issue-card strong{font-size:10px}.issue-card p{font-size:9px;line-height:1.4;color:#8d9aa2;margin:4px 0}.issue-card small{font:8px 'IBM Plex Mono';color:#63737c}.chevron{color:#66757e;align-self:center}.analysis-empty{text-align:center;margin:auto;padding:35px 25px;color:#7b8992}.analysis-empty>span{display:grid;place-items:center;width:37px;height:37px;border:1px solid #33414a;border-radius:50%;margin:0 auto 12px;color:#55c8bc}.analysis-empty strong{font-size:11px;color:#b7c1c6}.analysis-empty p{font-size:9px;line-height:1.55}.analysis-empty.healthy>span{border-color:#2c6e66;background:#17302d}.issue-detail{max-height:220px;overflow:auto}.issue-detail dl{display:grid;grid-template-columns:82px 1fr;gap:7px;margin:10px 0 0;font-size:9px}.issue-detail dt{color:#74828b}.issue-detail dd{margin:0;font:9px 'IBM Plex Mono';overflow-wrap:anywhere}.statusbar{display:flex;align-items:center;background:#11171b;border-top:1px solid #263039;color:#71808a;font:8px 'IBM Plex Mono';letter-spacing:.06em;padding:0 11px}.statusbar span{padding:0 12px;border-right:1px solid #273038}.statusbar b{color:#b4c0c6;font-weight:500}.status-spacer{flex:1;border:0!important}.visually-hidden{position:absolute!important;width:1px;height:1px;opacity:0;overflow:hidden}#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;padding:12px;background:#522;color:#fff;z-index:99}
/* Shared public tool pages */
.tools-page{height:100%;overflow:auto;background:#0d1318;color:#dce4e8}.site-nav{height:64px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;border-bottom:1px solid #253039;background:#11171c}.site-nav .brand{width:auto}.site-nav a{color:inherit;text-decoration:none}.site-nav-links{margin-left:auto;display:flex;gap:26px;font-size:11px;color:#91a0a8}.tools-hero,.tools-grid,.tools-note{max-width:1120px;margin:auto}.tools-hero{padding:82px 0 47px;border-bottom:1px solid #263039}.eyebrow{font:600 10px 'IBM Plex Mono';color:var(--teal);letter-spacing:.13em}.tools-hero h1{font-size:48px;letter-spacing:-.045em;line-height:1.06;margin:16px 0}.tools-hero p{font-size:16px;color:#92a0a8;max-width:670px;line-height:1.65}.tools-grid{padding:38px 0 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tool-card{min-height:190px;padding:23px;border:1px solid #2a353d;background:#141b20;color:inherit;text-decoration:none;position:relative;transition:.15s}.tool-card:hover{transform:translateY(-2px);border-color:#4a5b65;background:#192229}.tool-card.available{border-top:2px solid var(--teal)}.tool-card .card-icon{font:600 10px 'IBM Plex Mono';color:#5fd2c5;border:1px solid #32504f;padding:6px;display:inline-block}.tool-card h2{font-size:16px;margin:19px 0 8px}.tool-card p{font-size:11px;color:#8b999f;line-height:1.55}.tool-card small{position:absolute;bottom:20px;font:600 8px 'IBM Plex Mono';letter-spacing:.1em;color:#63727b}.tool-card.available small{color:var(--teal)}.tool-page-footer{border-top:1px solid #273139;padding:24px;text-align:center;color:#63727b;font-size:10px}.cta-panel{margin:12px 14px 15px;padding:15px;border:1px solid #2c4946;background:#122220}.cta-panel .section-label{color:#5fcabe}.cta-panel h3{font-size:12px;margin:9px 0 6px}.cta-panel p{font-size:9px;line-height:1.5;color:#8a9a9f}.cta-actions{display:flex;gap:6px;margin-top:10px}.cta-actions a{font-size:8px;height:26px}
@media(max-width:980px){.workspace{grid-template-columns:235px minmax(320px,1fr) 290px}.brand{width:235px}.tools-hero,.tools-grid{margin-left:24px;margin-right:24px}.tools-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){html,body,#app{overflow:auto}.app-shell{min-width:720px}.tools-grid{grid-template-columns:1fr}.tools-hero h1{font-size:37px}.site-nav-links{display:none}}

/* Striker Systems brand alignment and improved readability */
.tools-boot{height:100%;background:#f3f3f3}
:root{
  --panel:#0f2f57;
  --panel2:#0a2648;
  --line:#294d73;
  --muted:#a9bdcf;
  --teal:#f3a200;
  --amber:#f3a200;
  --red:#ff766d;
  background:#071a33;
}
body{font-size:15px;background:#071a33}
.topbar{background:#0b3a8d;border-color:#315b95;box-shadow:0 2px 14px #020d1c99}
.brand-mark{background:#f3a200;color:#082a69}
.brand b,.brand>span:nth-child(2){color:#fff}
.version{color:#dbe7f2;border-color:#6f8db4;background:#082a69}
.button,.icon-button{background:#173f70;border-color:#5679a4;color:#fff;font-size:12px}
.button:hover,.icon-button:hover{background:#20518a;border-color:#86a2c2}
.button.primary{background:#f3a200;border-color:#ffbf3c;color:#082a69}
.local-badge{color:#fff;font-size:10px}.status-dot,.ready-dot{background:#f3a200;box-shadow:0 0 8px #f3a200aa}
.sidebar{background:#0f2f57}.left-panel,.analysis-panel,.sidebar section{border-color:#294d73}
.section-label,.section-heading{font-size:10px;color:#b9cad9}
.section-heading em{background:#173f70;color:#fff}.section-heading button{color:#d4e0ea;font-size:9px}
.file-icon{border-color:#6684a7;background:#163d69;color:#ffbd38}
.no-file strong,.file-title strong{font-size:13px}.no-file small,.file-title small{font-size:10px;color:#b7c8d7}
.meta-grid{font-size:10px;color:#b2c5d4}.meta-grid b{color:#fff}
.layer-row{font-size:12px}.layer-row:hover{background:#16416f;border-color:#31577d}.eye{color:#f3a200;font-size:11px}.count{font-size:10px;color:#c0d0dc}
.panel-empty{font-size:12px;color:#afc2d1}.stat-row{font-size:11px;color:#bfd0dc}.stat-row b{font-size:11px;color:#fff}
.viewport{background:#071a33}.viewport-grid{background-image:linear-gradient(#173b68 1px,transparent 1px),linear-gradient(90deg,#173b68 1px,transparent 1px)}
.drop-zone{background:#0a2648ed;border-color:#55789c;box-shadow:0 18px 50px #020c18aa}.drop-zone:after{border-color:#173f70}.drop-zone:hover{background:#0d315a;border-color:#f3a200}.drop-zone h1{font-size:22px}.drop-zone p{font-size:12px;color:#c0cfda}.drop-zone small{font-size:10px;color:#9fb4c5}.drop-zone small span,.drop-glyph{color:#f3a200}.drop-glyph{border-color:#607fa2;background:#12375f}
.view-axis{color:#9bb0c1;font-size:10px}.view-axis i:before,.view-axis i:after{background:#7891aa}.axis-y{color:#79b9ff}.axis-x{color:#f3a200}
.score-ring{background:radial-gradient(circle at center,#0f2f57 62%,transparent 63%),conic-gradient(#f3a200 var(--angle),#496786 0)}
.score-ring span{font-size:25px}.score-ring small{font-size:9px;color:#bdcbd6}.health-summary strong{font-size:14px}.health-summary span{font-size:11px;color:#bdcbd6}
.deductions{background:#092442;border-color:#315579}.deductions div,.deductions b{font-size:10px}.deductions div{color:#bfd0dc}.deductions b{color:#ffc34e}
.severity-grid{border-color:#315579}.severity-grid div{border-color:#315579}.severity-grid b{font-size:16px}.severity-grid span{font-size:8px;color:#b3c5d3}
.issue-card{border-color:#2c5075}.issue-card:hover,.issue-card.selected{background:#16416f}.issue-card.selected{box-shadow:inset 3px 0 #f3a200}.issue-card strong{font-size:11px;color:#fff}.issue-card p{font-size:10px;color:#c0d0dc}.issue-card small{font-size:9px;color:#a7bdce}.chevron{color:#c0cfda}
.analysis-empty{color:#b6c7d4}.analysis-empty>span{border-color:#6985a3;color:#f3a200}.analysis-empty strong{font-size:12px;color:#fff}.analysis-empty p{font-size:10px}.analysis-empty.healthy>span{border-color:#f3a200;background:#173f70}
.issue-detail dl,.issue-detail dd{font-size:10px}.issue-detail dt{color:#b5c7d5}.cta-panel{border-color:#7c641d;background:#12345a}.cta-panel .section-label{color:#ffc044}.cta-panel h3{font-size:13px}.cta-panel p{font-size:10px;color:#c5d4df}.cta-actions a{font-size:9px}
.statusbar{background:#082a4f;border-color:#315579;color:#abc0d0;font-size:9px}.statusbar b{color:#fff}
.error-toast{font-size:11px;background:#46233a;border-color:#bd5c57}

/* Public tools landing page mirrors the current Striker website. */
.tools-page{background:#f3f3f3;color:#1e2f6f}
.site-nav{background:#0b3a8d;border-color:#082a69;box-shadow:0 2px 12px #082a6933}
.site-nav .brand-mark{background:#f3a200;color:#082a69}.site-nav .brand,.site-nav-links,.site-nav-links a{color:#fff}.site-nav-links{font-size:13px}
.tools-hero{border-color:#d4dde6}.eyebrow{color:#1f67b5;font-size:11px}.tools-hero h1{color:#1e2f6f}.tools-hero p{color:#536986;font-size:17px}
.tools-grid{gap:15px}.tool-card{background:#fff;border-color:#d2dce6;color:#1e2f6f;box-shadow:0 4px 14px #1e2f6f0b}.tool-card:hover{background:#fff;border-color:#1f67b5;box-shadow:0 8px 24px #1e2f6f1a}.tool-card.available{border-top-color:#f3a200}.tool-card .card-icon{color:#0b3a8d;border-color:#9fb7d2;background:#e9f0f6;font-size:11px}.tool-card h2{font-size:18px}.tool-card p{font-size:12px;color:#61738b}.tool-card small{font-size:9px;color:#7d8ca0}.tool-card.available small{color:#0b3a8d}.tool-page-footer{background:#082a69;border-color:#082a69;color:#dce7f2;font-size:11px}
.file-section{min-height:196px}.stats-section{min-height:211px}

/* Search-friendly page content and product navigation */
.product-nav{width:286px;display:flex;align-items:center;gap:10px;min-width:0}.product-nav .brand{width:auto;min-width:0;flex:1}.back-tools{height:28px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid #6686ad;border-radius:3px;background:#082a69;color:#fff;text-decoration:none;white-space:nowrap;font:600 9px 'IBM Plex Mono';letter-spacing:.03em}.back-tools:hover{background:#173f70;border-color:#f3a200;color:#fff}.doctor-seo-summary{margin:0 15px 15px;padding:13px 0 0!important;border:0!important;border-top:1px solid #315579!important}.doctor-seo-summary h2{font-size:11px;margin:0 0 7px;color:#fff}.doctor-seo-summary p{font-size:9px;line-height:1.5;margin:0 0 7px;color:#b8cad7}.issues-section:has(.doctor-seo-summary){overflow:auto}.issues-section:has(.doctor-seo-summary) .analysis-empty{margin:18px auto 6px;padding:18px 25px}
.tools-seo{max-width:1120px;margin:0 auto 80px;padding:48px;border:1px solid #d2dce6;border-top:4px solid #f3a200;background:#fff;box-shadow:0 8px 28px #1e2f6f12}.tools-seo h2{font-size:30px;letter-spacing:-.03em;margin:10px 0 12px;color:#1e2f6f}.tools-seo>div>p{max-width:820px;color:#536986;font-size:14px;line-height:1.7}.tools-seo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px;padding-top:28px;border-top:1px solid #dbe3ea}.tools-seo-grid h3{font-size:15px;color:#0b3a8d;margin:0 0 8px}.tools-seo-grid p{font-size:12px;line-height:1.65;color:#61738b;margin:0}
@media(max-width:980px){.product-nav{width:235px;gap:6px}.back-tools{padding:0 6px;font-size:8px}.product-nav .brand{font-size:12px}.tools-seo{margin-left:24px;margin-right:24px}.tools-seo-grid{grid-template-columns:1fr}}
.contour-file-section{min-height:180px}.contour-help{min-height:148px}.contour-help p{font-size:10px;line-height:1.6;color:#bfd0dc;margin:10px 0 0}.contour-results-summary{padding-bottom:13px!important}.contour-total{display:flex;align-items:baseline;gap:11px;margin:13px 0 4px}.contour-total strong{font:600 35px 'IBM Plex Mono';color:#fff}.contour-total span{font-size:11px;color:#bdcbd6}.contour-checker .severity-grid{grid-template-columns:repeat(3,1fr)}.contour-checker .severity-grid span{letter-spacing:.05em}.contour-checker .doctor-seo-summary h2{font-size:12px}.contour-checker .doctor-seo-summary p{font-size:10px}

/* Full Striker website navigation */
.striker-site-header{height:112px;min-height:112px;padding:0 clamp(28px,3vw,48px);display:flex;align-items:center;gap:38px;background:#fff;border-bottom:12px solid #087bbc;box-shadow:inset 0 -2px #9ed7f0;color:#111;z-index:10}
.striker-logo-link{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.striker-logo-link img{display:block;width:280px;height:auto;max-height:82px;object-fit:contain}
.striker-primary-nav{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:clamp(24px,3vw,48px);white-space:nowrap}
.striker-primary-nav a{color:#080808;text-decoration:none;text-transform:uppercase;font-size:15px;font-weight:500;letter-spacing:.2em;line-height:1.2;transition:color .15s ease}
.striker-primary-nav a:hover,.striker-primary-nav a:focus-visible{color:#087bbc}

/* Larger shared typography across the landing page and both drawing tools. */
body{font-size:17px}
.app-shell{grid-template-rows:112px 60px minmax(0,1fr) 31px}
.topbar{padding:0 18px}
.product-nav{width:320px}.brand{width:320px;font-size:16px}.brand-mark{width:29px;height:29px;font-size:15px}.version{font-size:11px}
.back-tools{height:32px;padding:0 10px;font-size:11px}.button,.icon-button{height:36px;padding:0 14px;font-size:14px}.icon-button{width:36px;font-size:19px}.local-badge{font-size:11px}
.workspace{grid-template-columns:320px minmax(360px,1fr) 370px}.sidebar section{padding:17px}.section-label,.section-heading{font-size:12px}.section-heading{height:31px}.section-heading button{font-size:11px}
.file-icon{width:40px;height:47px;font-size:11px}.no-file strong,.file-title strong{font-size:15px}.no-file small,.file-title small{font-size:12px}.meta-grid{font-size:12px;gap:9px 10px}
.layer-list{margin-left:-17px;margin-right:-17px}.layer-row{height:37px;padding:0 17px;font-size:14px}.eye{font-size:13px}.count{font-size:12px}.panel-empty{font-size:14px}.stat-row,.stat-row b{font-size:13px}
.drop-zone h1{font-size:25px}.drop-zone p{font-size:14px}.drop-zone small{font-size:12px}.view-axis{font-size:11px}.error-toast{font-size:13px}
.score-ring span{font-size:28px}.score-ring small{font-size:11px}.health-summary strong{font-size:16px}.health-summary span{font-size:13px}.deductions div,.deductions b{font-size:12px}
.severity-grid b{font-size:18px}.severity-grid span{font-size:10px}.issue-card{padding:13px 16px}.issue-card strong{font-size:13px}.issue-card p{font-size:12px}.issue-card small{font-size:11px}.analysis-empty strong{font-size:14px}.analysis-empty p{font-size:12px}.issue-detail dl,.issue-detail dd{font-size:12px}
.doctor-seo-summary h2,.contour-checker .doctor-seo-summary h2{font-size:14px}.doctor-seo-summary p,.contour-checker .doctor-seo-summary p{font-size:12px}.cta-panel h3{font-size:15px}.cta-panel p{font-size:12px}.cta-actions a{font-size:11px}.statusbar{font-size:11px}
.contour-help p{font-size:12px}.contour-total span{font-size:13px}
.tools-hero p{font-size:19px}.tool-card h2{font-size:21px}.tool-card p{font-size:14px}.tool-card small{font-size:11px}.tools-seo>div>p{font-size:16px}.tools-seo-grid h3{font-size:17px}.tools-seo-grid p{font-size:14px}.tool-page-footer{font-size:13px}

@media(max-width:1180px){.striker-site-header{height:96px;min-height:96px;padding:0 24px;gap:22px;border-bottom-width:9px}.striker-logo-link img{width:225px;max-height:68px}.striker-primary-nav{gap:20px}.striker-primary-nav a{font-size:12px;letter-spacing:.14em}.app-shell{grid-template-rows:96px 60px minmax(0,1fr) 31px}.workspace{grid-template-columns:270px minmax(330px,1fr) 320px}.product-nav,.brand{width:270px}}
@media(max-width:850px){
  .striker-site-header{height:140px;min-height:140px;padding:10px 18px 12px;flex-direction:column;justify-content:center;gap:8px}
  .striker-logo-link img{width:205px;max-height:65px}
  .striker-primary-nav{margin:0;display:flex;width:100%;justify-content:center;gap:clamp(10px,2.4vw,20px);white-space:nowrap}
  .striker-primary-nav a{font-size:10px;letter-spacing:.08em}
  .app-shell{min-width:720px;grid-template-rows:140px 60px minmax(0,1fr) 31px}
}
@media(max-width:600px){
  .striker-site-header{height:162px;min-height:162px}
  .striker-logo-link img{width:190px}
  .striker-primary-nav{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;column-gap:22px;row-gap:9px;text-align:center}
  .striker-primary-nav a{font-size:9px;letter-spacing:.06em}
  .app-shell{grid-template-rows:162px 60px minmax(0,1fr) 31px}
}

/* DXF Inspector */
.inspector-file-section{min-height:318px}
.inspector-facts{display:grid;grid-template-columns:1fr auto;gap:10px 12px;margin-top:18px;font:12px 'IBM Plex Mono';color:#b2c5d4}
.inspector-facts b{text-align:right;color:#fff;font-weight:500}
.unsupported-summary{max-height:170px;overflow:auto}
.unsupported-summary>div:not(.section-label){display:flex;justify-content:space-between;margin-top:9px;color:#bfd0dc;font-size:12px}
.unsupported-summary b{color:#ffc34e;font:500 12px 'IBM Plex Mono'}
.entity-summary{padding-bottom:14px!important}
.entity-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;max-height:142px;overflow:auto}
.entity-type-grid button{min-width:0;padding:8px 5px;border:1px solid #315579;background:#092442;color:#b9cad9;cursor:pointer;text-align:center}
.entity-type-grid button:hover,.entity-type-grid button.selected{border-color:#f3a200;background:#173f70;color:#fff}
.entity-type-grid b{display:block;font:600 16px 'IBM Plex Mono'}
.entity-type-grid span{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;font:9px 'IBM Plex Mono';letter-spacing:.04em}
.entity-browser{display:flex;flex-direction:column;padding:14px 0 0!important;overflow:hidden}
.entity-browser>.section-heading{padding:0 17px}
.entity-search{height:36px;margin:0 15px 8px;padding:0 11px;border:1px solid #55789c;border-radius:3px;outline:0;background:#092442;color:#fff;font-size:12px}
.entity-search:focus{border-color:#f3a200}.entity-search::placeholder{color:#8ea8bc}
.entity-result-count{padding:0 16px 9px;color:#9fb4c5;font:10px 'IBM Plex Mono'}
.entity-list{min-height:0;overflow:auto;border-top:1px solid #2c5075}
.entity-row{width:100%;display:grid;grid-template-columns:86px 1fr 12px;gap:10px;align-items:center;padding:11px 15px;border:0;border-bottom:1px solid #2c5075;background:transparent;color:#fff;text-align:left;cursor:pointer}
.entity-row:hover,.entity-row.selected{background:#16416f}.entity-row.selected{box-shadow:inset 3px 0 #f3a200}
.entity-kind{overflow:hidden;text-overflow:ellipsis;color:#ffc044;font:600 10px 'IBM Plex Mono'}
.entity-row>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.entity-row strong{overflow:hidden;text-overflow:ellipsis;font-size:12px}.entity-row small{overflow:hidden;text-overflow:ellipsis;color:#b8cad7;font-size:10px}
.entity-no-results{padding:4px 16px}.entity-detail{max-height:280px;overflow:auto}
.entity-detail dl{display:grid;grid-template-columns:105px 1fr;gap:8px;margin:12px 0 0;font-size:11px}.entity-detail dt{color:#b5c7d5}.entity-detail dd{margin:0;overflow-wrap:anywhere;color:#fff;font:11px 'IBM Plex Mono'}
.inspector-panel .cta-panel{flex:0 0 auto}
@media(max-width:1180px){.inspector-file-section{min-height:300px}.entity-row{grid-template-columns:76px 1fr 10px}.entity-kind{font-size:9px}}

/* Duplicate Geometry Finder */
.duplicate-file-section{min-height:188px}.duplicate-help{min-height:156px}.duplicate-help p{font-size:12px;line-height:1.6;color:#bfd0dc;margin:11px 0 0}
.duplicate-results-summary{padding-bottom:14px!important}.duplicate-results-summary .severity-grid span{letter-spacing:.04em}.duplicate-detail{max-height:245px}.duplicate-detail dl{grid-template-columns:112px 1fr}

/* Shared fabrication calculators */
.calculator-page{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;background:#eef2f6;color:#172c68}
.calculator-product-header{height:62px;padding:0 max(24px,calc((100% - 1160px)/2));display:flex;align-items:center;background:#0b3a8d;border-bottom:1px solid #082a69;color:#fff}
.calculator-back{height:34px;display:inline-flex;align-items:center;padding:0 11px;border:1px solid #6686ad;border-radius:3px;background:#082a69;color:#fff;text-decoration:none;font:600 11px 'IBM Plex Mono'}
.calculator-back:hover{border-color:#f3a200}.calculator-brand{display:flex;align-items:center;gap:10px;margin-left:22px;font-size:16px;font-weight:600;letter-spacing:.04em}.calculator-local{margin-left:auto;font:600 11px 'IBM Plex Mono';letter-spacing:.08em}
.calculator-main{max-width:1160px;margin:0 auto;padding:52px 0 72px}.calculator-intro{max-width:780px}.calculator-intro h1{margin:12px 0 12px;font-size:44px;line-height:1.08;letter-spacing:-.04em;color:#172c68}.calculator-intro p{margin:0;color:#536986;font-size:18px;line-height:1.65}
.calculator-workspace{display:grid;grid-template-columns:minmax(360px,.86fr) minmax(470px,1.14fr);gap:20px;margin-top:36px}.calculator-card{border:1px solid #cad6e2;background:#fff;box-shadow:0 8px 26px #172c6812}.calculator-card-heading{height:50px;padding:0 20px;display:flex;align-items:center;border-bottom:1px solid #d4dee7;color:#50657f;font:600 11px 'IBM Plex Mono';letter-spacing:.11em}.calculator-card-heading button{margin-left:auto;border:0;background:transparent;color:#0b3a8d;font:600 10px 'IBM Plex Mono';cursor:pointer}.calculator-card-heading small{margin-left:auto;color:#8394a7;font:600 9px 'IBM Plex Mono'}
.unit-switch{display:grid;grid-template-columns:1fr 1fr;margin:20px 20px 0;border:1px solid #adc0d2}.unit-switch button{height:38px;border:0;background:#edf3f8;color:#566b83;font:600 11px 'IBM Plex Mono';cursor:pointer}.unit-switch button+button{border-left:1px solid #adc0d2}.unit-switch button.selected{background:#0b3a8d;color:#fff}
.calculator-form{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px;padding:22px 20px 24px}.calculator-form label{display:flex;flex-direction:column;gap:7px;color:#314965;font-size:13px;font-weight:600}.calculator-form label:first-child,.calculator-form label:last-child{grid-column:1/-1}.calculator-form label span{display:flex;justify-content:space-between}.calculator-form em{color:#7b8fa4;font:500 11px 'IBM Plex Mono';font-style:normal}.calculator-form input,.calculator-form select{width:100%;height:43px;padding:0 12px;border:1px solid #aebfd0;border-radius:2px;background:#f9fbfc;color:#172c68;font-size:16px;outline:0}.calculator-form input:focus,.calculator-form select:focus{border-color:#0b72b5;box-shadow:0 0 0 2px #0b72b51c}.calculator-validation{margin:-8px 20px 20px;padding:9px 11px;border-left:3px solid #d4524c;background:#fff1f0;color:#913b37;font-size:12px}
.result-card{position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;top:50px;left:0;width:5px;height:145px;background:#f3a200}.primary-result{padding:26px 28px 22px;display:flex;align-items:baseline;gap:10px}.primary-result span{position:absolute;margin-top:-12px;color:#6a7c90;font:600 10px 'IBM Plex Mono';letter-spacing:.1em}.primary-result strong{margin-top:16px;color:#0b3a8d;font:700 48px 'IBM Plex Mono';letter-spacing:-.05em}.primary-result em{color:#536986;font:600 17px 'IBM Plex Mono';font-style:normal}.result-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d8e1e8;border-bottom:1px solid #d8e1e8}.result-grid>div{padding:18px 20px;border-right:1px solid #d8e1e8;border-bottom:1px solid #d8e1e8}.result-grid>div:nth-child(2n){border-right:0}.result-grid>div:nth-last-child(-n+2){border-bottom:0}.result-grid span{display:block;margin-bottom:7px;color:#718398;font:600 9px 'IBM Plex Mono';letter-spacing:.08em}.result-grid b{color:#172c68;font:600 16px 'IBM Plex Mono'}.formula-box{margin:20px;padding:15px;border:1px solid #d2dde6;background:#f4f7fa}.formula-box>span{display:block;color:#0b3a8d;font:600 9px 'IBM Plex Mono';letter-spacing:.12em}.formula-box code{display:block;margin:8px 0;color:#172c68;font:600 13px 'IBM Plex Mono'}.formula-box p{margin:0;color:#65778b;font-size:11px;line-height:1.5}
.calculator-content{margin-top:46px;padding:38px 42px;border-top:4px solid #f3a200;background:#fff;box-shadow:0 8px 26px #172c680d}.calculator-content h2{margin:10px 0 11px;font-size:29px;letter-spacing:-.025em}.calculator-content>article>p{max-width:850px;color:#536986;font-size:15px;line-height:1.7}.calculator-content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:28px;padding-top:26px;border-top:1px solid #dbe3ea}.calculator-content-grid h3{margin:0 0 8px;color:#0b3a8d;font-size:16px}.calculator-content-grid p{margin:0;color:#61738b;font-size:13px;line-height:1.65}.calculator-main>.cta-panel{margin:24px 0 0;padding:22px;background:#0d3766}.calculator-main>.cta-panel h3{font-size:18px}.calculator-main>.cta-panel p{font-size:13px}.calculator-main>.cta-panel .cta-actions a{font-size:12px}
.utilization-gauge{height:13px;margin:24px 28px 0;position:relative;overflow:visible;background:#dce5ec}.utilization-fill{height:100%;background:linear-gradient(90deg,#0b72b5,#f3a200);transition:width .2s ease}.utilization-gauge>span{position:absolute;right:0;top:-20px;color:#65778b;font:600 9px 'IBM Plex Mono'}.utilization-result-card .primary-result{padding-top:15px}.capacity-warning{margin:17px 20px 0;padding:12px 14px;border-left:4px solid #d4524c;background:#fff0ef;color:#853a36}.capacity-warning strong{font-size:13px}.capacity-warning p{margin:4px 0 0;font-size:11px}.calculator-danger{color:#c74740!important}
@media(max-width:1180px){.calculator-product-header,.calculator-main{margin-left:24px;margin-right:24px}.calculator-product-header{padding-left:16px;padding-right:16px}.calculator-main{padding-top:42px}.calculator-workspace{grid-template-columns:1fr 1.15fr}}
@media(max-width:850px){.calculator-page .striker-site-header{height:140px;min-height:140px}.calculator-main{margin-left:18px;margin-right:18px}.calculator-workspace{grid-template-columns:1fr}.calculator-content-grid{grid-template-columns:1fr}.calculator-local{display:none}.calculator-intro h1{font-size:36px}}

/* CNC Machine Compatibility Finder */
.compatibility-intro{max-width:900px}.compatibility-workspace{display:grid;grid-template-columns:minmax(370px,.84fr) minmax(520px,1.16fr);gap:20px;margin-top:36px;align-items:start}
.compatibility-form{padding:21px 20px 24px}.compatibility-form>label,.compatibility-form-row label{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;color:#314965;font-size:13px;font-weight:600}.compatibility-form label span{display:flex;justify-content:space-between}.compatibility-form em{color:#7b8fa4;font:500 10px 'IBM Plex Mono';font-style:normal}.compatibility-form input:not([type=checkbox]),.compatibility-form select{width:100%;height:43px;padding:0 12px;border:1px solid #aebfd0;border-radius:2px;background:#f9fbfc;color:#172c68;font-size:15px;outline:0}.compatibility-form input:focus,.compatibility-form select:focus{border-color:#0b72b5;box-shadow:0 0 0 2px #0b72b51c}.compatibility-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.compatibility-options{display:grid;gap:9px;margin-top:5px}.compatibility-options>label{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:12px;border:1px solid #d1dce5;background:#f5f8fa;cursor:pointer}.compatibility-options input{width:16px;height:16px;accent-color:#0b3a8d}.compatibility-options span{display:flex;flex-direction:column!important;gap:4px}.compatibility-options b{font-size:12px}.compatibility-options small{color:#65798e;font-size:10px;line-height:1.4;font-weight:400}
.compatibility-result{overflow:hidden}.compatibility-empty{min-height:470px;display:grid;place-content:center;text-align:center;padding:50px;color:#6e8094}.compatibility-empty>span{width:52px;height:52px;margin:auto;display:grid;place-items:center;border:1px solid #9db0c3;border-radius:50%;color:#0b72b5;font:600 22px 'IBM Plex Mono'}.compatibility-empty h2{margin:16px 0 7px;color:#172c68;font-size:21px}.compatibility-empty p{margin:0;font-size:13px}
.compatibility-status{display:grid;grid-template-columns:49px 1fr;gap:16px;padding:24px 25px;border-left:5px solid}.compatibility-status>span{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;font:700 21px 'IBM Plex Mono'}.compatibility-status small{font:600 9px 'IBM Plex Mono';letter-spacing:.1em}.compatibility-status h2{margin:6px 0 7px;color:#172c68;font-size:21px;line-height:1.25}.compatibility-status p{margin:0;color:#576b82;font-size:12px;line-height:1.55}.compatibility-status.listed{border-color:#178563;background:#eef9f5}.compatibility-status.listed>span{background:#178563;color:#fff}.compatibility-status.listed small{color:#147254}.compatibility-status.review{border-color:#e0a026;background:#fff8e9}.compatibility-status.review>span{background:#e0a026;color:#172c68}.compatibility-status.review small{color:#8b620d}
.machine-summary{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d8e1e8;border-bottom:1px solid #d8e1e8}.machine-summary div{padding:14px 20px}.machine-summary div+div{border-left:1px solid #d8e1e8}.machine-summary span{display:block;margin-bottom:5px;color:#718398;font:600 9px 'IBM Plex Mono';letter-spacing:.08em}.machine-summary b{color:#172c68;font-size:14px}.compatibility-section-title{color:#536a83;font:600 10px 'IBM Plex Mono';letter-spacing:.1em}.recommended-products,.verification-list{padding:19px 21px;border-bottom:1px solid #d8e1e8}.recommended-products>a{display:grid;grid-template-columns:105px 1fr auto;gap:12px;align-items:center;margin-top:11px;padding:12px;border:1px solid #d1dce5;background:#f7f9fb;text-decoration:none}.recommended-products>a:hover{border-color:#0b72b5;background:#edf5fb}.recommended-products>a>span{color:#0b3a8d;font-weight:700}.recommended-products p{margin:0;color:#62758a;font-size:11px;line-height:1.4}.recommended-products a>b{color:#0b72b5;font:600 8px 'IBM Plex Mono';white-space:nowrap}.verification-list>p{margin:9px 0;color:#65778b;font-size:11px}.verification-list ul{margin:0;padding-left:19px;color:#344c67;font-size:11px;line-height:1.65}.compatibility-actions{display:flex;gap:8px;padding:18px 21px}.compatibility-actions .button{height:38px;font-size:12px}.compatibility-content{margin-top:40px}
@media(max-width:1050px){.compatibility-workspace{grid-template-columns:1fr}.compatibility-result{min-height:0}.compatibility-empty{min-height:300px}}
@media(max-width:600px){.compatibility-form-row{grid-template-columns:1fr}.recommended-products>a{grid-template-columns:1fr}.compatibility-actions{flex-direction:column}}

/* Compact tools landing page so the catalog starts higher in the viewport. */
.tools-page .tools-hero{padding:34px 0 25px}
.tools-page .tools-hero h1{margin:10px 0 8px;font-size:44px}
.tools-page .tools-hero p{margin:0;line-height:1.5}
.tools-page .tools-grid{padding-top:24px;padding-bottom:54px}
.tools-page .tool-card{min-height:176px;padding:20px 22px}
.tools-page .tool-card h2{margin:14px 0 7px}
.tools-page .tool-card p{margin:0;line-height:1.48}
.tools-page .tool-card small{bottom:17px}
@media(max-width:760px){
  .tools-page .tools-hero{padding:27px 0 21px}
  .tools-page .tools-hero h1{font-size:37px}
  .tools-page .tools-grid{padding-top:18px;padding-bottom:42px}
}

/* Keep focused route headings clean and reserve a real footer row in each card. */
.tools-page .tools-hero h1:focus{outline:none}
.tools-page .tool-card{display:flex;min-height:190px;flex-direction:column}
.tools-page .tool-card small{position:static;margin-top:auto;padding-top:12px}

/* Preserve the full desktop navigation when browser zoom narrows the CSS viewport. */
@media(max-width:1600px) and (min-width:1181px){
  .striker-site-header{padding-left:30px;padding-right:30px;gap:28px}
  .striker-logo-link img{width:250px}
  .striker-primary-nav{gap:clamp(16px,2vw,30px)}
  .striker-primary-nav a{font-size:13px;letter-spacing:.15em}
}

/* Show four tools per row on wide screens, with readable responsive fallbacks. */
.tools-page .tools-hero,.tools-page .tools-grid{width:calc(100% - 48px);max-width:1360px}
.tools-page .tools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1350px) and (min-width:981px){
  .tools-page .tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .tools-page .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .tools-page .tools-grid{grid-template-columns:1fr}
}

/* Search-focused supporting content stays below the catalog. */
.tools-page .tools-seo{width:calc(100% - 48px);max-width:1360px}
.tools-page .tools-seo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.tools-faq{margin-top:34px;padding-top:28px;border-top:1px solid #dbe3ea}
.tools-faq h2{margin-top:0;font-size:24px}
.tools-faq details{border-top:1px solid #dbe3ea}
.tools-faq details:last-child{border-bottom:1px solid #dbe3ea}
.tools-faq summary{padding:16px 4px;color:#0b3a8d;font-size:16px;font-weight:600;cursor:pointer}
.tools-faq details p{max-width:900px;margin:0;padding:0 4px 17px;color:#536986;font-size:14px;line-height:1.65}
@media(max-width:1100px){
  .tools-page .tools-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .tools-page .tools-seo{padding:30px 24px}
  .tools-page .tools-seo-grid{grid-template-columns:1fr}
}
