:root{color-scheme:light;--cream:#f7f4ec;--paper:#fffefa;--ink:#29252d;--muted:#746f77;--plum:#583a55;--plum-dark:#412a40;--sage:#dce6d7;--sage-ink:#355243;--line:#e7e0d8;--gold:#c58d51;--rose:#f3e7e2;--shadow:0 18px 50px #3024370c;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream);font-size:16px;line-height:1.55}a{color:var(--plum)}button,input,select{font:inherit}.page-shell,.studio-shell{width:min(1080px,calc(100% - 40px));margin:auto}.site-header,.studio-header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;color:var(--plum);font-size:1.45rem;font-weight:700;letter-spacing:-.08em}.wordmark span{color:var(--gold);font-weight:400}.eyebrow,.kicker{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.13em;font-size:.71rem;color:var(--muted)}.hero{position:relative;min-height:335px;padding:52px 4px 45px;display:flex;align-items:center;overflow:hidden}.hero-copy{max-width:710px;position:relative;z-index:1}.kicker{margin:0 0 12px;color:#927250}.hero h1,.studio-intro h1{font:600 clamp(2.55rem,5vw,4.15rem)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.04em;margin:0 0 17px;color:var(--plum-dark)}.hero h1 em{color:#97704b;font-weight:600}.hero-lede{font-size:1.08rem;line-height:1.65;max-width:640px;color:#5e5862;margin:0}.hero-note{font-size:.9rem;max-width:620px;color:#69636b;margin:18px 0 0}.note-mark{color:var(--gold);font-size:1.1rem;margin-right:7px}.hero-stitch{position:absolute;width:240px;height:180px;right:0;bottom:18px;transform:rotate(-12deg);border:1px solid #9b806c40;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:13px;opacity:.68}.hero-stitch:before,.hero-stitch:after{content:'';position:absolute;width:180px;height:120px;border:1px dashed #927d6b70;border-radius:50%;transform:rotate(28deg)}.hero-stitch:after{transform:rotate(-28deg)}.hero-stitch span{width:8px;height:8px;border-radius:50%;background:var(--sage-ink);z-index:1}.input-card,.method-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px 34px;box-shadow:var(--shadow)}.section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}.step-number{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--plum);background:#f1e9ef;font:500 .8rem ui-monospace,monospace}.section-heading h2,.results-heading h2{font:600 1.62rem/1.2 Georgia,'Times New Roman',serif;margin:0 0 4px;color:var(--plum-dark)}.section-heading p,.muted{margin:0;color:var(--muted);font-size:.92rem}.input-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 20px}.field{display:flex;flex-direction:column;gap:7px;font-size:.88rem;font-weight:600}.field>span small{font-size:.73rem;font-weight:400;color:var(--muted);margin-left:4px}.field input,.field select{appearance:none;width:100%;height:48px;border:1px solid #d9d0c9;border-radius:9px;background:#fffefa;color:var(--ink);padding:0 12px;outline:none}.field input:focus,.field select:focus{border-color:var(--plum);box-shadow:0 0 0 3px #583a5521}.field-help{font-size:.75rem;color:var(--muted);font-weight:400;line-height:1.35}.option-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0 0}.check-card{display:flex;gap:12px;align-items:flex-start;background:#f6f3ee;border:1px solid var(--line);border-radius:12px;padding:15px;cursor:pointer}.check-card-accent{background:#f5eef4}.check-card input{position:absolute;opacity:0;width:1px;height:1px}.check-box{width:19px;height:19px;flex:0 0 19px;border:1px solid #9a8f98;background:#fff;border-radius:5px;margin-top:2px;display:grid;place-items:center}.check-card input:checked+.check-box{background:var(--plum);border-color:var(--plum)}.check-card input:checked+.check-box:after{content:'✓';font-size:.8rem;color:white}.check-card input:focus-visible+.check-box{outline:3px solid #b28ba9;outline-offset:2px}.check-card strong,.check-card small{display:block}.check-card strong{font-size:.87rem;line-height:1.35}.check-card small{font-size:.76rem;color:var(--muted);margin-top:5px;line-height:1.45}.available-details{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.available-details summary{cursor:pointer;font-size:.86rem;font-weight:600;color:var(--plum);list-style:none}.available-details summary::-webkit-details-marker{display:none}.available-details summary:after{content:'＋';float:right}.available-details[open] summary:after{content:'−'}.available-details summary span{font-size:.7rem;color:var(--muted);font-weight:400;margin-left:5px}.available-field{max-width:330px;margin-top:14px}.form-actions{display:flex;gap:12px;align-items:center;margin-top:23px}.button{border:0;border-radius:9px;padding:12px 17px;min-height:46px;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button:focus-visible{outline:3px solid #b28ba9;outline-offset:3px}.button-primary{background:var(--plum);color:#fff}.button-primary:hover{background:var(--plum-dark)}.button-primary span{margin-left:13px}.button-quiet{color:var(--plum);background:transparent}.button-quiet:hover{background:#f3edf2}.error-message{color:#8c3437;background:#fff1ef;border-left:3px solid #b95457;padding:10px 12px;margin:17px 0 0;border-radius:0 7px 7px 0}.results{padding-top:50px}.results-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px}.results-heading h2{font-size:2rem}.results-heading .kicker{margin-bottom:6px}.button-outline{background:transparent;border:1px solid #cfc3ce;color:var(--plum)}.button-outline:hover{background:#f3edf2}.plan-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px}.plan-option{appearance:none;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:16px;cursor:pointer;color:var(--ink)}.plan-option[aria-pressed="true"]{border:2px solid var(--plum);padding:15px;background:#fbf8fb;box-shadow:0 5px 20px #583a550e}.plan-option:focus-visible{outline:3px solid #b28ba9;outline-offset:3px}.plan-option-title{font-size:.9rem;font-weight:700;line-height:1.35}.plan-option-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.77rem;margin-top:10px}.plan-option-meta strong{font-size:1rem;color:var(--plum)}.selected-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:25px 28px;box-shadow:var(--shadow)}.selected-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.selected-top h3{font:600 1.45rem/1.25 Georgia,'Times New Roman',serif;color:var(--plum-dark);margin:0 0 7px}.selected-top p{margin:0;color:var(--muted);font-size:.9rem}.length-stat{text-align:right;white-space:nowrap}.length-stat strong{font:600 1.65rem Georgia,'Times New Roman',serif;color:var(--plum)}.length-stat span{display:block;color:var(--muted);font-size:.76rem}.selected-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;margin-top:24px}.diagram-panel{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fbfaf6;min-width:0}.diagram-panel h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-family:ui-monospace,monospace;margin:0 0 12px}.diagram-panel svg{width:100%;height:auto;display:block;overflow:visible}.diagram-panel figcaption{font-size:.76rem;color:var(--muted);margin-top:9px}.diagram-caption{font-size:.69rem;fill:#51474d}.diagram-label{font:700 14px system-ui,sans-serif;fill:#392f39}.diagram-measure{font:12px ui-monospace,monospace;fill:#655a62}.cut-list{margin-top:22px}.cut-list h4{font-size:.88rem;margin:0 0 9px}.cut-list table{width:100%;border-collapse:collapse;font-size:.84rem}.cut-list th,.cut-list td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line)}.cut-list th{font-size:.72rem;color:var(--muted);font-weight:500}.cut-list td:last-child,.cut-list th:last-child{text-align:right}.assembly-list{padding-left:20px;margin:15px 0 0;font-size:.84rem}.assembly-list li+li{margin-top:4px}.calculation-note{font-size:.77rem;color:var(--muted);margin:14px 0 0}.comparison-notes{margin-top:15px;background:#eaf0e6;color:#415947;border-radius:12px;padding:15px 18px;font-size:.84rem}.comparison-notes p{margin:0}.comparison-notes p+p{margin-top:6px}.comparison-notes.warning{background:#f6ebe7;color:#774941}.method-card{margin:48px 0 30px}.method-card .section-heading{margin-bottom:19px}.method-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.method-columns p{margin:0;color:#5f5961;font-size:.89rem}.method-columns strong{color:var(--plum-dark)}.method-footnote,.source-links{font-size:.79rem;color:var(--muted);margin:20px 0 0}.source-links{border-top:1px solid var(--line);padding-top:14px}.source-links a{color:var(--plum);text-decoration-thickness:1px;text-underline-offset:3px}.site-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0 28px;color:var(--muted);font-size:.78rem}.site-footer a{text-decoration:none;color:var(--plum);font-weight:700}.skip-link{position:fixed;left:12px;top:8px;background:var(--plum);color:white;padding:9px 13px;border-radius:7px;transform:translateY(-150%);z-index:10}.skip-link:focus{transform:translateY(0)}
/* Umbrella page */
.studio-page{min-height:100vh;background:radial-gradient(ellipse at 84% 20%,#eee8dc 0,transparent 40%),var(--cream)}.studio-shell{max-width:880px}.studio-intro{padding:76px 0 48px;max-width:690px}.studio-intro h1{font-size:clamp(2.5rem,6vw,4rem)}.studio-intro>p:last-child{max-width:570px;color:var(--muted);font-size:1.04rem}.studio-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:27px 30px;max-width:590px;box-shadow:var(--shadow)}.status-pill{background:var(--sage);color:var(--sage-ink);border-radius:20px;padding:5px 10px;font-size:.7rem;font-weight:600}.studio-card h2{font:600 1.55rem 'Playfair Display',Georgia,serif;color:var(--plum-dark);margin:18px 0 7px}.studio-card p{color:var(--muted);margin:0 0 15px}.text-link{font-weight:700;text-decoration:none}.text-link span{color:var(--gold);margin-left:4px}.studio-footer{border-top:1px solid var(--line);padding:20px 0;margin-top:64px;color:var(--muted);font-size:.78rem}
.unit-field{max-width:300px;margin-bottom:20px}.shortage{color:#8b4740}
.info-page{max-width:760px;padding:58px 0 52px}.info-page h1{font:600 clamp(2.25rem,5vw,3.5rem)/1.12 Georgia,'Times New Roman',serif;color:var(--plum-dark);margin:0 0 22px}.info-page h2{font:600 1.45rem Georgia,'Times New Roman',serif;color:var(--plum-dark);margin:30px 0 7px}.info-page p{color:#5f5961;max-width:700px}.info-page a{color:var(--plum);text-underline-offset:3px}.publisher-details{margin:34px 0;padding:19px 22px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.publisher-details div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:6px 0}.publisher-details dt{color:var(--muted);font-size:.86rem}.publisher-details dd{margin:0;font-weight:600}.studio-footer nav,.site-footer nav{display:flex;gap:18px}.studio-footer nav{margin-top:12px}.site-footer{align-items:center}.site-footer nav a,.studio-footer nav a{color:var(--plum);text-decoration:none}.site-footer nav a:hover,.studio-footer nav a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.page-shell,.studio-shell{width:min(100% - 30px,1080px)}.site-header,.studio-header{height:68px}.hero{min-height:0;padding:39px 0 31px}.hero h1{font-size:clamp(2.5rem,11vw,3.5rem)}.hero-stitch{width:122px;height:110px;right:-47px;bottom:15px;opacity:.32}.hero-stitch:before,.hero-stitch:after{width:100px;height:70px}.hero-stitch span{width:5px;height:5px}.input-card,.method-card{padding:22px 19px;border-radius:15px}.input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.option-row{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.button{width:100%}.results{padding-top:37px}.results-heading{align-items:flex-start}.results-heading h2{font-size:1.65rem}.results-heading .button{width:auto;white-space:nowrap;padding:10px}.selected-card{padding:20px 16px}.selected-top{flex-direction:column}.length-stat{text-align:left}.length-stat strong{font-size:1.4rem}.selected-grid{grid-template-columns:1fr;gap:13px}.method-columns{grid-template-columns:1fr;gap:13px}.site-footer{gap:12px;align-items:flex-start;flex-wrap:wrap}.site-footer nav{flex-basis:100%}.studio-intro{padding:57px 0 37px}.info-page{padding:42px 0}.publisher-details div{grid-template-columns:95px 1fr}}
@media(max-width:400px){.input-grid{grid-template-columns:1fr}.eyebrow{font-size:.62rem}.results-heading{flex-direction:column}.results-heading .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white;color:#111;font-size:11pt}.page-shell{width:100%;max-width:none}.site-header,.hero-stitch,.form-actions,.available-details summary,.results-heading .button,.site-footer,.skip-link{display:none!important}.hero{padding:12px 0 20px;min-height:0}.hero h1{font-size:30pt}.input-card,.method-card,.selected-card{box-shadow:none;border-color:#bbb;break-inside:avoid;padding:16px}.input-card{margin-bottom:18px}.results{display:block!important;padding-top:10px}.plan-picker{grid-template-columns:repeat(2,1fr)}.plan-option{padding:10px;break-inside:avoid}.selected-grid{grid-template-columns:1fr 1fr}.diagram-panel svg{max-height:250px}.method-card{margin:18px 0}.source-links a{color:#333}.selected-card{break-inside:avoid}}

/* Rejected or edited inputs must not print an earlier result. */
[hidden], .results[hidden] { display: none !important; }
@media print { .available-details:not([open]) { display: none; } }
