:root{--paper:#f5f3e9;--white:#fffef9;--ink:#243b33;--green:#285046;--muted:#616b61;--line:#d7dace;--soft:#e8eee3;--sand:#eadfc9;--rust:#80593a;--error:#9b382c;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-text-size-adjust:100%}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #ad713d;outline-offset:4px}input:focus,select:focus{border-color:var(--green)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;z-index:50;background:var(--green);color:white;padding:10px 18px}.skip-link:focus{top:12px}.preview-banner{padding:7px 20px;text-align:center;background:#e8e9de;color:#465548;font-size:11px;font-weight:600;letter-spacing:.08em}.preview-banner span{margin:0 12px}.site-header{max-width:1248px;margin:auto;padding:31px 32px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-family:var(--serif);font-weight:600;letter-spacing:.14em;font-size:25px;text-decoration:none;display:inline-block;line-height:1.45}.brand::before{content:"";display:inline-block;width:18px;height:23px;border:2px solid currentColor;margin-right:11px;vertical-align:-2px;box-shadow:inset 0 0 0 3px var(--paper)}.brand span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.14em;color:var(--muted);margin:4px 0 0 31px}.site-header nav,.site-footer nav{display:flex;gap:30px;font-size:13px}.site-header nav a,.site-footer nav a{text-decoration:none}.site-header nav a:hover,.site-footer nav a:hover{text-decoration:underline}.hero{max-width:1248px;margin:auto;padding:30px 32px 61px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:28px}.eyebrow{margin:0 0 14px;font-family:var(--sans);font-size:11px;letter-spacing:.15em;font-weight:650;color:var(--green)}.small-square{display:inline-block;width:7px;height:7px;background:var(--green);margin-right:10px;vertical-align:1px}h1,h2,h3,p,figure{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500}h1{font-size:clamp(30px,3.25vw,43px);line-height:1.65;letter-spacing:.035em;margin-bottom:21px}h2{font-size:29px;line-height:1.65;letter-spacing:.04em;margin-bottom:12px}h3{line-height:1.7;font-weight:600}.hero-lead{font-size:14px;color:var(--muted);line-height:2.05;margin-bottom:24px}.text-link{display:inline-flex;gap:24px;align-items:center;text-decoration:none;font-size:13px;font-weight:600;border-bottom:1px solid var(--green);padding-bottom:6px}.hero-figure{margin:0;padding-top:6px}.hero-figure svg{display:block;width:100%;max-height:330px}.hero-figure figcaption{text-align:center;font-size:10px;color:var(--muted);margin-top:-2px}.tool-section{max-width:1184px;margin:0 auto;background:var(--white);border:1px solid var(--line);padding:44px 42px 30px;scroll-margin-top:20px}.section-heading{margin-bottom:28px}.section-heading .eyebrow{margin-bottom:8px}.section-heading>p:last-child{font-size:13px;color:var(--muted);margin-bottom:0}.scope-note{display:flex;gap:13px;padding:17px 19px;background:#edf0e7;margin-bottom:35px;font-size:12px;line-height:1.9}.scope-note>span{display:flex;flex:0 0 auto;align-items:center;justify-content:center;font-family:var(--serif);width:19px;height:19px;border:1px solid var(--green);border-radius:50%;margin-top:2px}.scope-note p{margin-bottom:0}.scope-note strong{font-weight:650}form>fieldset{border:0;padding:0;margin:0 0 34px;min-width:0}legend{font-size:16px;font-weight:600;padding:0;line-height:1.8;max-width:100%}.step-number{display:inline-block;font-family:Georgia,serif;font-weight:400;font-size:15px;margin-right:11px;color:var(--green);padding-bottom:1px;border-bottom:1px solid var(--green)}.field-help{font-size:12px;line-height:1.8;color:var(--muted);margin:9px 0 18px}.field-help.compact{font-size:11px;margin:9px 0 0}.puzzle-fields{display:grid;grid-template-columns:1fr 1fr 90px 1.7fr;gap:14px;max-width:890px}.field{min-width:0}.field label{display:block;font-size:12px;font-weight:600;line-height:1.6;margin-bottom:7px}.field label span,.group-label>span{font-size:10px;font-weight:400;margin-left:7px;color:var(--muted)}input[type="text"],select{display:block;width:100%;min-width:0;height:45px;background:#fffefa;border:1px solid #bfc8ba;border-radius:3px;padding:9px 11px;color:var(--ink);font-size:14px;line-height:1.4;transition:border-color .15s}input::placeholder{color:#7f887b;font-size:12px;opacity:1}select{padding-right:24px}input[aria-invalid="true"]{border:2px solid var(--error);background:#fff7f1}.frames-section{padding-top:4px!important}.frame-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.frame-card{min-width:0;margin:0;border:1px solid var(--line);background:#f9f9f2;padding:17px 17px 20px}.frame-card legend{padding:0 7px;font-size:13px;letter-spacing:.025em}.candidate-letter{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:var(--white);width:25px;height:25px;font:16px/1 Georgia,serif;margin-right:6px}.dimension-group{margin-top:22px}.group-label{font-size:11px;font-weight:650;margin-bottom:11px}.dimensions-row{display:grid;grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 65px;gap:6px;align-items:end}.dimensions-row .field label{font-size:10px}.dimensions-row input,.dimensions-row select{height:41px;padding:8px;font-size:13px}.times{align-self:end;text-align:center;font-size:12px;padding-bottom:10px;color:var(--muted)}.outer-group{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.outer-group .dimensions-row{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr)}.space-section{border-top:1px solid var(--line)!important;padding-top:26px!important;margin-top:8px!important}.space-section legend{float:left;margin-bottom:0}.space-section>.field-help{clear:both;padding-top:9px}.optional-label{display:inline-block;vertical-align:1px;margin-left:8px;font-size:10px;color:var(--muted);font-weight:400;border:1px solid var(--line);padding:0 7px}.space-fields{display:grid;grid-template-columns:150px 150px 85px;gap:14px}.form-options{margin:0 0 27px;padding-top:1px}.check-label{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.8;cursor:pointer;width:fit-content}.check-label input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--green);margin:2px 0 0}.check-label small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.form-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.button,.button-secondary,.button-plain{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:46px;border-radius:3px;font-size:13px;font-weight:600;text-decoration:none;padding:12px 24px;line-height:1.6;transition:background .15s,color .15s}.button{background:var(--green);border:1px solid var(--green);color:var(--white)}.button:hover{background:#1c3d34}.button-secondary{background:transparent;border:1px solid #a4b09d;color:var(--green);padding-left:18px;padding-right:18px}.button-secondary:hover{background:var(--soft)}.button-plain{background:transparent;border:1px solid transparent;font-size:11px;font-weight:400;text-decoration:underline;text-underline-offset:4px;padding-left:6px;padding-right:6px;color:var(--muted)}.example-description{font-size:10px;color:var(--muted);margin:12px 0 0}.example-notice{font-size:12px;background:#f4ead8;border-left:3px solid #98763b;padding:10px 13px;margin:18px 0 0}.error-summary{background:#fff0e8;border:1px solid #d6a08b;color:#7f2f25;padding:17px 20px;margin:0 0 28px;font-size:13px}.error-summary p{margin:6px 0 0}.results-section{margin-top:36px;border-top:1px solid var(--line);padding-top:28px}.results-header{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:20px}.results-header .eyebrow{margin-bottom:4px;font-size:10px}.results-header h3{font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:.04em;margin:0}.results-header [role="status"]{font-size:11px;color:var(--muted);margin:0;max-width:410px}.results-placeholder{padding:22px;background:#f4f5ed;color:var(--muted);font-size:12px;margin:0}.results-caution{font-size:11px;line-height:1.85;color:var(--muted);margin:16px 0 0}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.result-card{border:1px solid var(--line);padding:20px 18px;min-width:0;background:var(--white)}.result-card>h4{font-size:14px;line-height:1.7;margin:0 0 18px;overflow-wrap:anywhere}.result-step{font-size:10px;font-weight:600;color:var(--muted);margin:0 0 7px}.result-label{font-weight:650;font-size:13px;line-height:1.8;margin:0 0 8px}.result-match{color:#23533c}.result-mismatch{color:#90422c}.result-unknown,.result-manufacturer{color:#765d31}.result-description{font-size:11px;line-height:1.85;margin:0}.result-placement{border-top:1px solid var(--line);margin-top:18px;padding-top:17px}.result-difference{font-size:11px;font-variant-numeric:tabular-nums;margin:9px 0 0;color:var(--muted)}.result-rotation{font-size:11px;background:var(--soft);padding:7px 9px;margin:10px 0 0}.guides-section{max-width:1248px;padding:75px 32px 57px;margin:auto}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.guide-card{position:relative;display:block;min-height:245px;text-decoration:none;padding:23px 24px 31px;border-top:2px solid var(--green);border-bottom:1px solid var(--line);transition:background .15s}.guide-card:hover{background:#e9ecdf}.guide-number{display:block;font-family:Georgia,serif;color:var(--rust);font-size:15px;line-height:1;margin-bottom:19px}.guide-card h3{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:.03em;line-height:1.8;margin-bottom:12px}.guide-card p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:0;padding-right:12px}.guide-arrow{position:absolute;bottom:21px;right:20px;font-size:19px;color:var(--green)}.closing-note{max-width:1184px;margin:0 auto 57px;padding:35px 25px;background:#e9ecdf;text-align:center}.closing-note .eyebrow{font-size:10px;margin-bottom:12px}.closing-note>p:last-child{font-family:var(--serif);font-size:17px;line-height:2;letter-spacing:.025em;margin-bottom:0}.site-footer{border-top:1px solid var(--line);max-width:1184px;margin:0 auto;padding:32px 0 29px;position:relative}.site-footer .brand{font-size:20px}.site-footer .brand::before{width:14px;height:19px;vertical-align:-2px}.site-footer>p{font-size:11px;color:var(--muted);margin:12px 0 16px}.site-footer nav{font-size:11px;gap:25px;margin-bottom:20px}.site-footer small{display:block;font-size:9px;color:var(--muted);letter-spacing:.06em}.article-main{max-width:840px;margin:auto;padding:54px 32px 70px}.article-main>h1{font-size:34px;line-height:1.75;margin-bottom:20px}.article-lead{font-size:15px;color:var(--muted);line-height:2;margin-bottom:40px}.prose{font-size:14px;line-height:2.1;margin-bottom:36px}.prose h2{font-size:24px;line-height:1.7;margin:42px 0 16px;padding-top:10px}.prose h3{font-size:17px;margin:29px 0 10px}.prose p{margin-bottom:20px}.prose ul,.prose ol{padding-left:1.5em;margin:18px 0 25px}.prose li{margin-bottom:9px}.prose a{overflow-wrap:anywhere}.prose table{width:100%;border-collapse:collapse;font-size:12px;margin:24px 0}.prose th,.prose td{border-bottom:1px solid var(--line);padding:13px 10px;text-align:left;vertical-align:top}.prose th{background:var(--soft)}.note{background:#e9eee2;border-left:3px solid #71856d;padding:18px 20px;font-size:12px;line-height:1.9;margin:25px 0}.note p:last-child{margin-bottom:0}.publication-blocker{background:#f1e5ce;border:1px solid #cbb283;padding:20px 23px;font-size:13px;line-height:1.95;margin:26px 0}.publication-blocker>h2{font-family:var(--sans);font-size:16px;font-weight:650;padding:0;margin:0 0 12px}.publication-blocker p:last-child{margin-bottom:0}.article-figure{background:#eeeee3;padding:20px;margin:28px 0}.article-figure svg{display:block;width:100%;height:auto;max-height:340px}.article-figure figcaption{font-size:11px;color:var(--muted);line-height:1.85;margin-top:15px}.source-note{font-size:11px;border-top:1px solid var(--line);padding-top:18px;margin-top:35px;color:var(--muted)}
@media(min-width:1400px){.hero{padding-top:48px;padding-bottom:70px}}
@media(max-width:1050px){.tool-section{margin:0 24px;padding:32px 26px}.frame-fields-grid,.result-grid{gap:12px}.frame-card{padding-left:12px;padding-right:12px}.dimensions-row{grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr);gap:5px}.mini-unit{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:3px}.dimensions-row .mini-unit label{margin:0;min-width:25px}.dimensions-row .mini-unit select{width:76px;height:33px}.site-footer{margin:0 32px}.hero{grid-template-columns:1.15fr 1fr;gap:10px}.hero h1{font-size:33px}.guide-grid{gap:16px}}
@media(max-width:760px){.site-header{padding:24px;align-items:flex-start}.site-header nav{gap:18px;font-size:11px;margin-top:7px}.brand{font-size:22px}.brand span{font-size:9px}.hero{grid-template-columns:1fr;padding:20px 24px 38px;gap:6px}.hero-copy{max-width:580px}.hero h1{font-size:clamp(29px,6vw,37px)}.hero-lead{font-size:13px}.hero-figure{max-width:390px;width:100%;justify-self:center;margin-top:12px}.hero-figure svg{max-height:240px}.hero-figure figcaption{font-size:9px}.tool-section{margin:0 16px;padding:28px 20px 23px}.section-heading h2{font-size:24px}.section-heading{margin-bottom:22px}.section-heading>p:last-child{font-size:12px}.scope-note{padding:14px;font-size:11px;margin-bottom:28px}.puzzle-fields{grid-template-columns:1fr 1fr 78px;gap:12px}.type-field{grid-column:1/-1;max-width:360px}.frame-fields-grid{grid-template-columns:1fr;gap:22px}.frame-card{padding:18px 18px 20px}.dimensions-row{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 76px;gap:8px}.mini-unit{grid-column:auto;display:block;margin-top:0}.dimensions-row .mini-unit label{margin-bottom:7px}.dimensions-row .mini-unit select{width:100%;height:41px}.dimensions-row .field label{font-size:11px}.outer-group .dimensions-row{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}.outer-group{padding-top:14px;margin-top:18px}.dimension-group{margin-top:18px}.frame-card legend{font-size:14px}.space-fields{grid-template-columns:1fr 1fr 78px}.space-section legend{font-size:15px}.form-actions{gap:12px}.button{min-height:49px}.form-actions>.button{flex:1 1 100%}.button-secondary{flex:1 1 auto}.button-plain{flex:0 1 auto}.results-header{display:block}.results-header [role="status"]{margin-top:10px}.result-grid{grid-template-columns:1fr}.result-card{padding:21px}.result-card>h4{margin-bottom:14px}.results-section{margin-top:30px}.guides-section{padding:50px 24px 36px}.guide-grid{grid-template-columns:1fr;gap:17px}.guide-card{min-height:190px;padding:21px 20px 25px}.guide-number{margin-bottom:12px}.guide-card h3{font-size:21px;margin-bottom:9px}.guide-card h3 br{display:none}.guide-card p{padding-right:24px}.guide-arrow{bottom:20px}.closing-note{margin:0 16px 36px;padding:29px 18px}.closing-note>p:last-child{font-size:14px}.site-footer{margin:0 24px;padding:28px 0}.article-main{padding:35px 24px 50px}.article-main>h1{font-size:28px}.article-lead{font-size:14px;margin-bottom:28px}.prose{font-size:13px}.prose h2{font-size:22px}.article-figure{padding:12px}.note{padding:16px}.publication-blocker{padding:17px}.desktop-break{display:none}}
@media(max-width:390px){.site-header{gap:10px;padding:20px}.brand{font-size:20px}.site-header nav{gap:10px;font-size:10px}.brand span{margin-left:0;font-size:8px}.brand::before{margin-right:8px;width:15px;height:20px}.hero{padding-left:20px;padding-right:20px}.hero h1{font-size:27px}.tool-section{margin:0 10px;padding:23px 15px}.dimensions-row{gap:5px;grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr) 66px}.frame-card{padding-left:13px;padding-right:13px}.puzzle-fields,.space-fields{gap:8px;grid-template-columns:1fr 1fr 67px}.button-secondary{font-size:12px}.scope-note{gap:8px}.section-heading h2{font-size:22px}.preview-banner{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Publication candidate v2026-10-21.1: factual product example and visible advertising disclosure. */
.affiliate-section{max-width:1248px;margin:auto;padding:58px 32px 12px}.affiliate-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--green);padding:30px;max-width:900px}.ad-label{display:inline-block;font-weight:700;font-size:12px;color:#733e2a;background:#f4ead8;border:1px solid #c8ae7e;padding:5px 10px;margin:0 0 18px}.affiliate-card h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.8;margin:0 0 22px}.affiliate-card>p{font-size:13px;line-height:2}.product-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-facts dt{font-size:11px;color:var(--muted);margin-bottom:7px}.product-facts dd{margin:0;font-size:18px;font-weight:650}.affiliate-source{background:var(--soft);border-left:3px solid var(--green);padding:18px 20px;overflow-wrap:anywhere;font-size:13px;line-height:2}.affiliate-source>p{font-size:11px;font-weight:650;color:var(--muted);margin:0 0 10px}.affiliate-card>.affiliate-caution{font-size:11px;color:var(--muted);margin:18px 0 0}.official-link-preview{color:var(--green);text-decoration:underline}
@media(max-width:760px){.affiliate-section{padding:40px 24px 0}.affiliate-card{padding:23px 19px}.affiliate-card h3{font-size:21px}.product-facts{grid-template-columns:1fr;gap:13px}.product-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.product-facts dt{margin:0}.product-facts dd{font-size:17px;text-align:right}.affiliate-source{padding:15px}.affiliate-card>p{font-size:12px}}
