@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4084ce120da2621a-s.a1b3e919.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/16d91c780434f2ce-s.f22a44f6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ef79401ea952b7f0-s.7264fe40.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8800dfc60902df36-s.p.e22d03ab.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest Fallback;src:local(Arial);ascent-override:92.2%;descent-override:28.99%;line-gap-override:0.0%;size-adjust:105.2%}.onest_8464cd69-module__qhJtvG__className{font-family:Onest,Onest Fallback;font-style:normal}.onest_8464cd69-module__qhJtvG__variable{--font-onest:"Onest","Onest Fallback"}
:root{--canvas:#f6fbf6;--surface:#fcfefc;--surface-soft:#e9f4e9;--surface-strong:#d4ead4;--ink:#131e13;--muted:#556255;--border:#cedcce;--action:#207029;--action-hover:#005b14;--focus:#3a9742;--error:#af2b25;--radius:14px;--shell:1180px}@supports (color:lab(0% 0 0)){:root{--canvas:lab(98.1342% -2.23571 1.72803);--surface:lab(99.4599% -.838459 .647271);--surface-soft:lab(95.0179% -5.03007 3.89775);--surface-strong:lab(90.6373% -10.6185 8.2745);--ink:lab(9.83722% -6.99013 5.42314);--muted:lab(40.0057% -6.98602 5.45869);--border:lab(86.409% -6.98596 5.42595);--action:lab(41.2263% -36.559 31.0561);--action-hover:lab(33.0783% -36.6702 32.1077);--focus:lab(55.3992% -42.1349 35.3863);--error:lab(40.3353% 53.1823 37.9783)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);font-family:var(--font-onest),"Avenir Next","Segoe UI",sans-serif;margin:0;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.shell{width:min(var(--shell),calc(100% - 40px));margin-inline:auto}.site-header{z-index:10;border-bottom:1px solid color-mix(in oklch,var(--border),transparent 25%);background:color-mix(in oklch,var(--canvas),transparent 6%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:70px;display:flex}.wordmark{letter-spacing:-.025em;align-items:center;gap:10px;font-size:1.12rem;font-weight:780;display:inline-flex}.wordmark-mark{background:var(--action);width:30px;height:30px;color:var(--surface);border-radius:8px;place-items:center;font-weight:850;display:grid}nav{color:var(--muted);gap:28px;font-size:.94rem;display:flex}nav a{align-items:center;min-height:44px;display:inline-flex}nav a:hover{color:var(--ink)}.hero{grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);align-items:center;gap:clamp(50px,7vw,100px);min-height:640px;padding-block:clamp(72px,10vw,128px);display:grid}.hero h1{letter-spacing:-.065em;max-width:720px;margin:0;font-size:clamp(3.4rem,7vw,6.7rem);font-weight:820;line-height:.92}.hero-copy>p{max-width:590px;color:var(--muted);margin:28px 0 34px;font-size:clamp(1.08rem,2vw,1.28rem)}.primary-button{background:var(--action);width:fit-content;min-height:50px;color:var(--surface);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0 22px;font-weight:720;transition:background .18s,transform .18s;display:inline-flex}.primary-button:hover{background:var(--action-hover)}.primary-button:active{transform:translateY(1px)}.measure-board{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius);padding:42px 24px 24px;position:relative;overflow:hidden}.board-scale,.mat-ticks{opacity:.55;background-image:repeating-linear-gradient(90deg,var(--muted)0 1px,transparent 1px 12px);height:18px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.board-label{color:var(--muted);margin-bottom:8px;font-size:.84rem;display:block}.measure-board a{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;column-gap:20px;padding:21px 4px;display:grid}.measure-board a:last-child{border-bottom:0}.measure-board strong{font-size:1.08rem}.measure-board a span{color:var(--muted);grid-column:1;margin-top:3px;font-size:.88rem}.measure-board b{color:var(--action);grid-area:1/2/3;align-self:center;font-size:1.35rem}.ad-slot{border:1px dashed var(--border);min-height:92px;color:var(--muted);place-items:center;margin-block:18px 70px;font-size:.76rem;display:grid}.directory-wrap{padding-block:38px 100px}.directory-wrap>header{max-width:680px;margin-bottom:66px}.directory-wrap>header h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.2rem,4vw,4rem);line-height:1}.directory-wrap>header p{color:var(--muted);font-size:1.05rem}.directory{gap:90px;display:grid}.directory-section{grid-template-columns:280px 1fr;gap:60px;scroll-margin-top:100px;display:grid}.section-heading h2{letter-spacing:-.03em;margin:0 0 10px;font-size:1.55rem}.section-heading p{color:var(--muted);margin:0}.tool-list{border-top:1px solid var(--border)}.tool-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:30px;min-height:92px;padding:16px 6px;transition:background .18s,padding .18s;display:flex}.tool-row:hover{background:var(--surface-soft);padding-inline:16px}.tool-row strong,.tool-row small{display:block}.tool-row strong{font-size:1.08rem}.tool-row small{color:var(--muted);max-width:680px;margin-top:4px;font-size:.9rem}.row-arrow{color:var(--action);font-size:1.25rem}.privacy-band{background:var(--ink);color:var(--surface)}.privacy-inner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;min-height:330px;display:grid}.privacy-inner h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.2rem,4vw,4rem);line-height:1}.privacy-inner p{color:#bcc8bc;color:lab(79.3837% -5.58886 4.33655);max-width:520px}.breadcrumbs{gap:9px;padding-top:34px;font-size:.85rem}.breadcrumbs a{color:var(--action-hover)}.tool-page{padding-bottom:110px}.tool-intro{max-width:780px;padding-block:58px 48px}.tool-intro>p{color:var(--action-hover);margin:0 0 12px;font-weight:700}.tool-intro h1{letter-spacing:-.058em;margin:0;font-size:clamp(2.6rem,6vw,5.5rem);line-height:.98}.tool-intro>span{max-width:660px;color:var(--muted);margin-top:22px;font-size:1.08rem;display:block}.tool-layout{grid-template-columns:minmax(0,7fr) minmax(280px,4fr);align-items:start;gap:34px;display:grid}.tool-mat{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);padding:46px clamp(20px,4vw,42px) 36px;position:relative;overflow:hidden}.tool-mat h2{letter-spacing:-.025em;margin:0 0 28px;font-size:1.35rem}.field-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.field{color:var(--muted);gap:8px;font-size:.9rem;display:grid}.input-wrap{border:1px solid var(--border);background:var(--surface);min-height:52px;color:var(--muted);border-radius:10px;align-items:center;display:flex}.input-wrap:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in oklch,var(--focus),transparent 78%)}.input-wrap input{width:100%;min-width:0;height:50px;color:var(--ink);background:0 0;border:0;outline:0;padding:0 4px 0 15px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:1.05rem}.input-wrap>span{padding-right:14px}.result{border-top:1px solid var(--border);justify-content:space-between;align-items:end;gap:20px;margin-top:28px;padding-top:28px;display:flex}.result>span{color:var(--muted)}.result strong{letter-spacing:-.07em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:clamp(2.5rem,6vw,5.2rem);line-height:.9}.result small{font-family:var(--font-onest),sans-serif;letter-spacing:0;color:var(--muted);font-size:1rem}.formula-note{color:var(--muted);margin:28px 0 0;font-size:.86rem}.tool-aside{gap:28px;display:grid}.tool-aside .ad-slot{min-height:250px;margin:0}.tool-aside section{padding:4px 4px 0}.tool-aside h2{font-size:1.05rem}.tool-aside ul{color:var(--muted);padding-left:20px}.tool-aside li+li{margin-top:12px}.method-section{border-block:1px solid var(--border);grid-template-columns:1fr 1fr;gap:70px;margin-top:80px;padding-block:48px;display:grid}.method-section h2{letter-spacing:-.03em;margin:0;font-size:1.7rem}.method-section p{color:var(--muted)}.related-section{margin-top:70px}.related-section h2{letter-spacing:-.03em;font-size:1.7rem}.related-links{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.related-links a{border-bottom:1px solid var(--border);flex-direction:column;min-height:150px;padding:22px 26px 22px 0;display:flex}.related-links a+a{border-left:1px solid var(--border);padding-left:26px}.related-links span{color:var(--muted);margin-top:8px;font-size:.86rem}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:4px;display:inline-flex}.segmented button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 12px}.segmented button.active{background:var(--action);color:var(--surface)}.ruler-page .tool-intro{padding-block:34px 28px}.ruler-page .tool-intro h1{font-size:clamp(2.5rem,5vw,4.8rem)}.ruler-page .tool-intro>p{display:none}.ruler-page-layout{grid-template-columns:1fr}.ruler-page-layout .tool-aside{margin-top:8px}.ruler-workspace{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);position:relative;overflow:hidden}.ruler-controlbar{justify-content:space-between;align-items:start;gap:28px;min-height:118px;padding:28px 30px 24px;display:flex}.ruler-controlbar h2{letter-spacing:-.025em;margin:0 0 4px;font-size:1.35rem}.ruler-controlbar p{max-width:620px;color:var(--muted);margin:0}.ruler-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.precision-control{min-height:50px;color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;padding:0 30px 12px;font-size:.85rem;display:flex}.precision-control select{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink);border-radius:8px;padding:0 34px 0 11px}.ruler-warning{border-top:1px solid color-mix(in oklch,var(--error),transparent 70%);background:color-mix(in oklch,var(--error),transparent 92%);color:var(--error);margin:0;padding:12px 30px;font-weight:650}.measurement-readout{min-height:126px;color:var(--muted);grid-template-columns:1fr auto auto;align-items:center;column-gap:28px;padding:18px 30px 24px;display:grid}.measurement-readout>div:first-child>span{color:var(--ink);font-weight:680}.measurement-readout p{margin:5px 0 0;font:.88rem/1.4 ui-monospace,SFMono-Regular,monospace}.measurement-readout output{align-items:baseline;gap:10px;display:flex}.measurement-readout strong{color:var(--ink);letter-spacing:-.08em;font:760 clamp(3rem,7vw,6.4rem)/.82 ui-monospace,SFMono-Regular,monospace}.measurement-readout small{color:var(--muted);font:700 1rem/1 var(--font-onest),sans-serif}.measurement-actions{align-items:center;gap:8px;display:flex}.measurement-actions>button:not(.text-button),.calibration-adjuster>button{border:1px solid var(--border);background:var(--surface);width:46px;min-height:46px;color:var(--ink);cursor:pointer;border-radius:9px;font-size:1.35rem;font-weight:700}.measurement-actions button:disabled{opacity:.45;cursor:not-allowed}.live-ruler{border:1px solid var(--ink);background:var(--surface);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;height:176px;position:relative;overflow:hidden}.live-ruler.vertical{height:min(62dvh,560px)}.ruler-marks{position:absolute;inset:0}.ruler-mark{top:0;left:var(--mark-position);background:var(--ink);width:1px;height:30px;position:absolute}.ruler-mark.middle{height:46px}.ruler-mark.quarter{height:38px}.ruler-mark.major{width:2px;height:64px}.ruler-mark b{font:700 1rem/1 ui-monospace,SFMono-Regular,monospace;position:absolute;top:68px;left:6px}.ruler-zero{z-index:2;font:700 1rem/1 ui-monospace,SFMono-Regular,monospace;position:absolute;top:68px;left:7px}.ruler-live-badge{z-index:4;border:1px solid var(--border);background:color-mix(in oklch,var(--surface),transparent 4%);pointer-events:none;border-radius:9px;justify-items:end;padding:8px 10px;display:grid;position:absolute;top:86px;right:18px}.ruler-live-badge span{color:var(--muted);font-size:.72rem}.ruler-live-badge strong{font:750 1.35rem/1.15 ui-monospace,SFMono-Regular,monospace}.ruler-live-badge small{color:var(--muted);font-size:.72rem}.measurement-marker{z-index:3;inset-block:0;left:var(--marker-position);background:var(--action);pointer-events:none;width:3px;position:absolute}.measurement-marker i{border:3px solid var(--surface);background:var(--action);width:28px;height:28px;box-shadow:0 1px 0 var(--ink);border-radius:0 0 15px 15px;position:absolute;top:0;left:50%;transform:translate(-50%)}.measurement-marker span{background:var(--action);color:var(--surface);white-space:nowrap;border-radius:6px;padding:6px 9px;font:700 .8rem/1 ui-monospace,SFMono-Regular,monospace;position:absolute;top:34px;right:10px}.ruler-unit-label{color:var(--muted);letter-spacing:.08em;font-size:.72rem;font-weight:750;position:absolute;bottom:14px;right:18px}.live-ruler.vertical .ruler-mark{top:var(--mark-position);width:30px;height:1px;left:0}.live-ruler.vertical .ruler-mark.middle{width:46px}.live-ruler.vertical .ruler-mark.quarter{width:38px}.live-ruler.vertical .ruler-mark.major{width:64px;height:2px}.live-ruler.vertical .ruler-mark b{top:6px;left:68px}.live-ruler.vertical .ruler-zero{top:7px;left:68px}.live-ruler.vertical .measurement-marker{inset-block:auto;inset-inline:0;top:var(--marker-position);width:auto;height:3px;left:0}.live-ruler.vertical .measurement-marker i{border-radius:0 15px 15px 0;width:28px;height:28px;top:50%;left:0;transform:translateY(-50%)}.live-ruler.vertical .measurement-marker span{inset:auto auto 10px 36px}.live-ruler.vertical .ruler-live-badge{float:right;margin:12px;position:sticky;top:12px}.live-ruler.vertical .ruler-unit-label{bottom:14px;right:14px}.ruler-statusline{min-height:58px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:0 30px;font-size:.88rem;display:flex}.ruler-statusline strong{color:var(--ink)}.ruler-notice{text-align:right}.text-button{min-height:44px;color:var(--action-hover);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.calibration-panel{border-top:1px solid var(--border);background:var(--surface)}.calibration-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:0 30px;font-weight:720;list-style:none;display:flex}.calibration-panel summary::-webkit-details-marker{display:none}.calibration-panel summary:after{content:"+";color:var(--action);font-size:1.35rem;line-height:1}.calibration-panel[open] summary:after{content:"−"}.calibration-panel summary small{color:var(--muted);margin-left:auto;font-weight:500}.calibration-content{border-top:1px solid var(--border);padding:8px 30px 30px}.calibration-content h3{margin:22px 0 4px;font-size:1.12rem}.calibration-content p{max-width:680px;color:var(--muted);margin:0}.card-guide-wrap{width:100%;margin:26px 0 14px;padding-bottom:4px;overflow-x:auto}.card-guide{aspect-ratio:85.6/53.98;border:2px solid var(--action);background:var(--surface-soft);border-radius:12px;place-items:center;height:auto;transition:width .16s;display:grid}.card-guide span{color:var(--action-hover);font-family:ui-monospace,SFMono-Regular,monospace}.range-field{color:var(--muted);gap:5px;font-size:.86rem;display:grid}.range-field input{width:100%;min-height:44px;accent-color:var(--action)}.calibration-adjuster{justify-content:center;align-items:end;gap:10px;margin-top:10px;display:flex}.calibration-adjuster label{color:var(--muted);gap:5px;font-size:.82rem;display:grid}.calibration-adjuster input{border:1px solid var(--border);background:var(--surface);width:150px;min-height:46px;color:var(--ink);border-radius:9px;padding:0 12px;font-family:ui-monospace,SFMono-Regular,monospace}.calibration-footer{min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;font-size:.82rem;display:flex}.site-footer{border-top:1px solid var(--border)}.footer-inner{grid-template-columns:1fr auto;align-content:center;gap:30px;min-height:240px;padding-block:48px;display:grid}.footer-inner p{color:var(--muted);margin:5px 0}.footer-links{gap:24px;display:flex}.disclaimer{grid-column:1/-1;max-width:760px;font-size:.8rem}.prose-page,.empty-page{max-width:780px;min-height:65vh;padding-block:90px}.prose-page h1,.empty-page h1{letter-spacing:-.055em;font-size:clamp(2.8rem,6vw,5rem);line-height:1}.prose-page h2{margin-top:48px}.prose-page p{color:var(--muted);font-size:1.06rem}.empty-page p{color:var(--muted)}.category-page{padding-bottom:110px}.category-hero{max-width:850px;padding-block:58px 72px}.category-hero>p{color:var(--action-hover);margin:0 0 12px;font-weight:700}.category-hero h1{letter-spacing:-.058em;margin:0;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.98}.category-hero>span{max-width:720px;color:var(--muted);margin-top:22px;font-size:1.08rem;display:block}.category-tool-list{grid-template-columns:280px 1fr;gap:60px;display:grid}.category-section-heading h2{letter-spacing:-.03em;margin:0 0 10px;font-size:1.55rem}.category-section-heading p{color:var(--muted);margin:0}.category-explainer{border-top:1px solid var(--border);max-width:780px;margin-top:78px;padding-top:48px}.category-explainer h2{letter-spacing:-.03em;margin:0;font-size:1.7rem}.category-explainer p{color:var(--muted);font-size:1.03rem}@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.measure-board{max-width:680px}.directory-section,.category-tool-list{grid-template-columns:1fr;gap:24px}.tool-layout{grid-template-columns:1fr}.tool-aside{grid-template-columns:1fr 1fr}.method-section{gap:36px}}@media (max-width:680px){.shell{width:min(100% - 32px,var(--shell))}.site-header nav{display:none}.hero{gap:44px;padding-block:64px 72px}.hero h1{font-size:clamp(3.15rem,16vw,4.8rem)}.privacy-inner,.method-section{grid-template-columns:1fr;gap:18px;padding-block:60px}.field-stack{grid-template-columns:1fr}.result{flex-direction:column;align-items:start}.tool-aside,.related-links{grid-template-columns:1fr}.related-links a+a{border-left:0;padding-left:0}.ruler-page .breadcrumbs{padding-top:16px}.ruler-page .tool-intro{padding-block:18px 22px}.ruler-page .tool-intro h1{font-size:2.35rem;line-height:1}.ruler-page .tool-intro>span{margin-top:10px;font-size:.94rem}.ruler-controlbar{flex-direction:column;gap:16px;min-height:auto;padding:20px}.ruler-controlbar h2{font-size:1.18rem}.ruler-controlbar p{font-size:.92rem}.ruler-controls{grid-template-columns:1fr;width:100%;display:grid}.segmented{width:100%}.segmented button{flex:1}.precision-control{justify-content:space-between;padding-inline:20px}.measurement-readout{grid-template-columns:1fr auto;gap:14px 12px;min-height:140px;padding:15px 20px 20px}.measurement-readout output{justify-self:end}.measurement-readout strong{font-size:clamp(2.7rem,17vw,4.2rem)}.measurement-actions{grid-column:1/-1;justify-content:flex-end}.ruler-live-badge{top:78px;right:10px}.ruler-warning{padding-inline:20px}.ruler-statusline{align-items:start;min-height:68px;padding-block:12px;padding-inline:20px}.ruler-notice{max-width:50%}.calibration-panel summary{padding-inline:20px}.calibration-panel summary small{display:none}.calibration-content{padding:6px 20px 24px}.footer-inner{grid-template-columns:1fr}.disclaimer{grid-column:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
