:root{--paper:#f3ead6;--light:#fcf7e9;--ink:#393b32;--muted:#77735e;--red:#863b38;--line:#c5b696;--green:#426659;--ochre:#a17c3c;--copper:#a65d31;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:#e9dfc8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:repeating-linear-gradient(0deg,#eee4ce 0px,#eee4ce 3px,#ede3cd 4px);min-width:320px}button,input,select{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a{color:var(--red);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:4px}button{color:inherit}.masthead{max-width:1440px;margin:auto;padding:28px 36px 22px;display:flex;align-items:center;gap:42px}.wordmark{font-size:48px;font-style:italic;font-weight:bold;letter-spacing:-3px;color:var(--red);text-decoration:none;line-height:.9}.wordmark span{display:block;font:9px/1.5 system-ui,sans-serif;letter-spacing:2px;margin-top:10px}.masthead p{font-size:15px;font-style:italic;line-height:1.5;color:var(--muted);margin:0}.gallery-link{margin-left:auto;font:12px system-ui,sans-serif;text-decoration:none}.gallery-link span{font-size:20px;margin-left:8px}.notebook{max-width:1370px;margin:0 auto 32px;border:1px solid var(--line);border-top:6px double var(--red);background:var(--paper);box-shadow:0 10px 35px #57472712}.edition{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 24px;font:9px/1.3 system-ui,sans-serif;letter-spacing:2px;color:var(--muted)}.shirt-tabs{display:grid;grid-template-columns:1fr 1fr}.shirt-tab{display:flex;align-items:center;text-align:left;gap:17px;padding:23px 26px;border:0;border-bottom:1px solid var(--line);background:transparent;position:relative}.shirt-tab:first-child{border-right:1px solid var(--line)}.shirt-tab.active{background:#fbf4e2}.shirt-tab.active:after{content:'';position:absolute;bottom:0;left:26px;right:26px;height:3px;background:var(--red)}.tab-no{font-size:33px;font-style:italic;color:#aa8d6b}.shirt-tab strong{display:block;font-size:25px;font-weight:normal}.shirt-tab small{display:block;font:11px system-ui,sans-serif;color:var(--muted);margin-top:7px}.swatch{width:43px;height:43px;border:1px solid #b8a789;transform:rotate(7deg);margin-left:auto;box-shadow:2px 2px 0 #d1c4aa}.white{background:#fffcef}.stripe{background:repeating-linear-gradient(#f4e9d1 0 4px,#713c42 4px 6px,#f4e9d1 6px 8px,#82494b 8px 9px)}.toolbar{padding:17px 24px;display:flex;gap:18px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.segmented{display:flex;border:1px solid var(--red)}.segmented button{border:0;background:transparent;padding:10px 16px;font-size:13px;color:var(--red)}.segmented button.active{background:var(--red);color:#fff7e4}.tool-options{display:flex;gap:19px;align-items:center;font:11px system-ui,sans-serif}.tool-options label{display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}input[type=checkbox],input[type=range]{accent-color:var(--red)}.text-button{border:0;background:transparent;padding:3px 0;color:var(--red);font:11px system-ui,sans-serif;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:0}.drawing-panel{padding:20px 24px;min-width:0;border-right:1px solid var(--line)}.board-heading{display:flex;justify-content:space-between;gap:10px;font:9px system-ui,sans-serif;letter-spacing:1.2px;margin:0 0 10px;color:var(--muted)}.board{background:var(--light);border:1px solid #ad9d7c;box-shadow:4px 4px 0 #dacdb3;overflow:hidden}.board svg{display:block;width:100%;height:auto;max-height:760px;touch-action:none;user-select:none}.board-caption{font:11px/1.6 system-ui,sans-serif;color:var(--muted);margin-top:13px;min-height:35px}.legend{display:flex;gap:18px;flex-wrap:wrap;font:10px system-ui,sans-serif;margin-top:9px;color:var(--muted)}.legend i{display:inline-block;width:12px;height:2px;vertical-align:middle;margin-right:4px}.measured{background:var(--green)}.inferred{border-top:2px dashed var(--ochre)}.ruler-dot{background:var(--copper)}.sidebar{padding:22px}.section-label{font:9px/1.5 system-ui,sans-serif;letter-spacing:1.5px;color:var(--red);display:flex;align-items:center;justify-content:space-between;gap:8px}.section-label span{font-size:8px;color:var(--muted)}.section-label button{font-size:10px;letter-spacing:0}.live-ruler{padding-bottom:21px;border-bottom:3px double var(--line)}.ruler-main{display:flex;align-items:baseline;gap:10px;margin:12px 0}.ruler-main output{font-size:45px;line-height:1.1;letter-spacing:-2px;color:var(--red);font-variant-numeric:tabular-nums}.ruler-main>span{font:8px/1.5 system-ui,sans-serif;letter-spacing:1px;color:var(--muted);max-width:55px}.ruler-secondary{display:flex;justify-content:space-between;margin-bottom:13px}.ruler-secondary output{display:block;font-size:18px;font-variant-numeric:tabular-nums}.ruler-secondary span{font:8px system-ui,sans-serif;color:var(--muted);letter-spacing:1px}.live-ruler small,.micro{font:10px/1.65 system-ui,sans-serif;color:var(--muted)}.measurement-section{margin-top:21px}#measurement-list{border-top:1px solid var(--line);margin-top:12px}.measurement-row{display:flex;width:100%;align-items:center;gap:8px;border:0;border-bottom:1px solid #d9ccb4;background:transparent;padding:9px 0;font:11px system-ui,sans-serif;text-align:left}.measurement-row:hover,.measurement-row.selected{background:#e9ddc3}.measurement-row .code{font-size:9px;width:20px;color:var(--muted)}.measurement-row .value{margin-left:auto;font:15px Georgia,serif;white-space:nowrap}.measurement-row .basis{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}.measurement-row .basis.infer{background:var(--ochre)}.adjustments{border-bottom:1px solid var(--line);padding:15px 0}.adjustments summary{font-size:13px;color:var(--red);cursor:pointer}.field{margin-top:13px}.field label{font:10px system-ui,sans-serif;display:flex;justify-content:space-between;gap:10px}.field input{width:100%;margin-top:7px}.product-link{display:block;margin:18px 0 6px;font-size:12px}.notes{border-top:3px double var(--line);padding:30px 28px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.notes h2{font-size:29px;font-weight:normal;font-style:italic;margin:10px 0 14px;color:var(--red)}.notes p{font-size:13px;line-height:1.85;margin:10px 0}.notes a{font-size:11px}.construction p{font-size:12px}footer{padding:17px 25px;border-top:1px solid var(--line);font-size:11px;font-style:italic;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:15px}footer>div{display:flex;gap:22px;align-items:center}footer a{font-style:normal;font:10px system-ui,sans-serif}svg text{font-family:Georgia,serif}svg [data-drag]{cursor:grab}svg [data-drag]:focus{outline:none}svg [data-drag]:focus circle{stroke-width:4}.gallery-main{max-width:1200px;margin:auto;padding:0 28px 36px}.gallery-intro{border-top:5px double var(--red);padding:24px 0}.gallery-intro h1{font-size:42px;font-style:italic;font-weight:normal;margin:6px 0 12px;color:var(--red)}.gallery-intro p{max-width:690px;font-size:13px;line-height:1.8}.gallery-controls{display:flex;gap:14px;align-items:center;margin:0 0 20px;font:12px system-ui,sans-serif}.gallery-controls select{padding:8px;background:var(--light);border:1px solid var(--line)}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.photo-card{border:1px solid var(--line);padding:8px;background:var(--paper);color:var(--ink);text-align:left}.photo-card img{display:block;width:100%;height:200px;object-fit:cover}.photo-card span{display:block;font:9px system-ui,sans-serif;letter-spacing:1px;color:var(--red);margin:12px 4px 4px}.photo-card strong{display:block;font-size:14px;font-weight:normal;margin:7px 4px 8px;line-height:1.4}.photo-card small{display:block;font:10px/1.5 system-ui,sans-serif;margin:0 4px 7px;color:var(--muted)}dialog{width:min(1100px,96vw);max-height:94vh;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#26271fd9}.modal-head{display:flex;justify-content:space-between;padding:15px 20px;align-items:center;border-bottom:1px solid var(--line);gap:15px}.modal-head h2{font-size:20px;font-weight:normal;margin:0}.modal-head button{background:transparent;border:1px solid var(--line);font-size:22px;width:35px;height:35px}.photo-detail{display:grid;grid-template-columns:minmax(0,1fr) 290px}.photo-image{background:#243b34;min-width:0;position:relative;display:flex;align-items:center}.photo-image svg{display:block;width:100%;max-height:75vh}.photo-info{padding:19px;font-size:12px;line-height:1.7}.photo-info .micro{margin-top:15px}.photo-info h3{font:10px system-ui,sans-serif;letter-spacing:1px;color:var(--red)}.photo-info select{width:100%;padding:7px;border:1px solid var(--line);background:var(--light);font:11px system-ui,sans-serif}.reading{font-size:22px;color:var(--red);margin:17px 0}.photo-info button{background:var(--red);color:var(--light);border:0;padding:10px 13px;font-size:12px}.photo-navigation{display:flex;justify-content:space-between;gap:10px;padding:13px 20px;border-top:1px solid var(--line)}.photo-navigation button{border:0;background:transparent;color:var(--red);font-size:12px}.empty-state{padding:25px;font-style:italic}.pattern-instructions{font-size:11px}
@media(min-width:1500px){.board svg{max-height:790px}}@media(max-width:1050px){.notebook{margin:0 16px 22px}.workspace{grid-template-columns:minmax(0,1fr) 270px}.drawing-panel{padding:18px}.sidebar{padding:18px}.tool-options{gap:12px}.shirt-tab strong{font-size:22px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.masthead{padding:21px 20px;gap:24px}.wordmark{font-size:39px}.masthead p{font-size:12px}.gallery-link{font-size:10px}.notebook{margin:0 8px 16px}.edition{padding:10px 12px;font-size:7px;letter-spacing:1px}.shirt-tab{padding:17px 12px;gap:9px;min-height:95px}.shirt-tab strong{font-size:18px}.shirt-tab small{font-size:9px;line-height:1.4}.tab-no{font-size:24px}.swatch{width:27px;height:30px}.shirt-tab.active:after{left:12px;right:12px}.toolbar{padding:12px;flex-wrap:wrap;gap:12px}.tool-options{flex:1;justify-content:flex-end;gap:11px;font-size:10px}.segmented button{padding:8px 10px;font-size:11px}.text-button{font-size:10px}.workspace{grid-template-columns:1fr}.drawing-panel{border-right:0;padding:14px 12px}.board svg{max-height:none}.board-heading{font-size:7px;letter-spacing:.7px}.sidebar{padding:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:20px}.live-ruler{border:0}.ruler-main output{font-size:40px}.measurement-section{margin:0;grid-row:span 4}.adjustments{padding-top:0}.product-link{margin-top:0}.notes{padding:24px 18px;gap:24px}.notes h2{font-size:23px}.notes p{font-size:12px}.legend{gap:12px;font-size:9px}footer{padding:15px 18px;font-size:10px;align-items:flex-start;flex-direction:column}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-main{padding:0 16px 25px}.photo-card img{height:180px}.photo-detail{grid-template-columns:1fr}.photo-image svg{max-height:61vh}.photo-info{padding:16px}.gallery-intro h1{font-size:33px}}@media(max-width:420px){.masthead p{display:none}.swatch{display:none}.shirt-tab strong{font-size:17px}.toolbar{justify-content:center}.tool-options{justify-content:center;flex-basis:100%}.sidebar{gap:15px;padding:15px}.ruler-secondary output{font-size:15px}.measurement-row{font-size:10px}.measurement-row .value{font-size:13px}.notes{grid-template-columns:1fr;gap:22px}.photo-card img{height:150px}.gallery-controls{font-size:10px;gap:8px}.gallery-controls select{max-width:150px}}@media print{body{background:white}.masthead,.edition,.shirt-tabs,.toolbar,.sidebar,.notes,footer,.board-caption,.legend{display:none!important}.notebook{border:0;box-shadow:none;margin:0;max-width:none}.workspace{display:block}.drawing-panel{padding:0;border:0}.board{border:0;box-shadow:none}.board svg{max-height:none;width:100%}.board-heading{font-size:9px}.photo-grid{grid-template-columns:repeat(3,1fr)}.gallery-controls{display:none}}

.board.zoomed{overflow:auto}.board.zoomed svg{width:200%;max-width:none;max-height:none}.board-heading #zoom{margin-left:12px;font-size:9px}@media print{.board.zoomed svg{width:100%}.board-heading #zoom{display:none}}
