:root{color:#efe0bd;background:#130f0b;font-family:Georgia,Times New Roman,serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17130f;--ink-soft: #211b15;--panel: rgba(24, 20, 16, .96);--panel-soft: rgba(35, 28, 21, .96);--brass: #b7853e;--brass-light: #e5be73;--brass-dark: #60421f;--paper: #d8bd88;--paper-ink: #4a301b;--cream: #efe0bd;--muted: #b9a982;--green: #68804b;--amber: #cf9145;--danger: #a7573e;--focus: #ffe09a}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:#130f0b}body{margin:0;min-width:320px;min-height:100vh;background:#130f0b;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.studio-shell{position:relative;min-height:100vh;isolation:isolate;padding:18px}.studio-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:url(/assets/blocksmith-studio-reference.jpeg);background-position:center;background-size:cover;filter:brightness(.52) saturate(.78)}.studio-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:#0a080657;pointer-events:none}.workstation{width:min(1480px,100%);margin:0 auto;display:grid;gap:10px;min-width:0}.studio-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;gap:9px}.title-plaque{width:min(700px,100%);min-width:0;padding:10px 26px 9px;text-align:center;background:#16120efa;border:3px solid var(--brass-dark);box-shadow:0 0 0 1px #0b0907,inset 0 0 0 1px #aa7b3a,0 12px 28px #00000075}.title-plaque p{margin:0;color:var(--brass-light);font-size:clamp(1.55rem,2.6vw,2.45rem);letter-spacing:.08em;line-height:1;text-shadow:0 2px 0 #33200e}.title-plaque span{display:block;margin-top:7px;color:#d2b27a;font-size:.76rem;letter-spacing:.22em}.project-actions{width:min(760px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.project-actions button,.project-actions a,.workflow-nav button,.progress-rail button{border:1px solid #755127;background:#1c1712f5;color:#dbc69b}.project-actions button{min-width:0;padding:9px 12px;font-size:.74rem;letter-spacing:.06em;text-align:center;text-transform:uppercase}.support-link{display:inline-flex;align-items:center;padding:9px 12px;color:var(--brass-light);border:1px solid #755127;background:#1c1712f5;font-size:.74rem;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;justify-content:center;min-width:0;text-align:center}.support-link:hover{color:#fff0c4;border-color:var(--brass-light);background:#4c321b}.support-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.workflow-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:8px;background:#14100cf7;border:3px solid var(--brass-dark);box-shadow:0 0 0 1px #0b0907,inset 0 0 0 1px #91632f}.workflow-nav button{min-width:0;min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 5px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.workflow-nav button span{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #806039;border-radius:50%;font-size:.68rem}.workflow-nav button.is-current,.segmented-field button.is-selected,.profile-picker button.is-selected,.result-buttons button.is-selected{background:#70451f;color:#fff0c4;border-color:var(--brass-light);box-shadow:inset 0 0 0 1px #c99448,0 0 16px #e5be7333}.workflow-nav button.is-complete{border-color:var(--green);color:#c9d5b2}.workspace-grid{display:grid;grid-template-areas:"left board right";grid-template-columns:minmax(230px,.82fr) minmax(560px,2.3fr) minmax(245px,.9fr);gap:10px;align-items:stretch;min-height:475px}.left-panel{grid-area:left}.drawing-board{grid-area:board}.right-panel{grid-area:right}.work-panel,.drawing-board,.progress-bench,.support-workshop{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:16px 18px;background:#181410f7;border:3px solid var(--brass-dark);box-shadow:0 0 0 1px #0b0907,inset 0 0 0 1px #825a2b,0 16px 34px #0000007a}.support-workshop h2{margin:0 0 6px;color:var(--brass-light);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}.support-workshop p{max-width:850px;margin:0;color:#d4c39f;font-size:.76rem;line-height:1.5}.support-button{display:inline-flex;min-height:43px;align-items:center;justify-content:center;padding:9px 16px;border:2px solid #9c7137;color:#fff0c9;background:#69431e;font-size:.72rem;letter-spacing:.055em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.support-button:hover{color:#fff7dd;border-color:var(--brass-light);background:#7a4d22}.support-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.status-bar{background:var(--panel);border:3px solid var(--brass-dark);box-shadow:0 0 0 1px #0b0907,inset 0 0 0 1px #825a2b,0 16px 34px #0000007a}.work-panel{display:block;padding:18px;overflow:visible;max-height:none}.right-panel{padding:14px}.work-panel h2{margin:0 0 8px;color:#d6bd89;font-size:.92rem;line-height:1.3;letter-spacing:.09em;text-align:center;text-transform:uppercase}.panel-intro,.governed-note,.button-explanation,.privacy-note{color:var(--muted);font-size:.76rem;line-height:1.5}.panel-intro{margin:0 0 15px;text-align:center}.left-panel .panel-intro{margin-bottom:12px}.field{display:grid;gap:6px;margin:0 0 13px}.field-label,fieldset legend{color:#cfb683;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase}.field-hint{color:#9f9275;font-size:.68rem;line-height:1.35}.field input,.field select,.field textarea{width:100%;min-height:38px;color:#fff0c8;background:#14110e;border:1px solid #755127;padding:8px 10px}.field textarea{resize:vertical}.field input[type=range]{padding:0;accent-color:var(--brass-light)}.field output{justify-self:end;color:var(--brass-light);font-size:.78rem}.taper-standard-track{position:relative;height:29px;margin:-5px 8px 0}.taper-standard-button{position:absolute;left:25%;top:0;min-width:58px;min-height:27px;transform:translate(-50%);display:grid;grid-template-columns:auto auto;align-items:center;gap:4px;padding:2px 5px;border:1px solid #755127;color:#c9b27e;background:#18130f;font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}.taper-standard-button:before{content:"";position:absolute;left:50%;bottom:100%;width:2px;height:6px;background:var(--brass-light);transform:translate(-50%)}.taper-standard-button strong{color:var(--brass-light);font-size:.68rem}.taper-standard-button:hover,.taper-standard-button.is-active{color:#fff0c4;border-color:var(--brass-light);background:#5f3d1e}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.advanced-controls{margin:10px 0;border:1px solid #62451f;background:#17130f;padding:10px}.segmented-field,.profile-picker{border:0;padding:0;margin:0 0 15px}.segmented-field{display:flex;flex-wrap:wrap;gap:6px}.segmented-field legend,.profile-picker legend{width:100%;margin-bottom:7px}.segmented-field button{flex:1;min-height:37px;border:1px solid #705026;background:#18130f;color:#cfb98b}.tooling-lock,.callout,.warning-callout,.privacy-note,.attribution{border:1px solid #6f4f29;background:#201911;padding:11px;margin:12px 0}.tooling-lock,.callout{display:grid;gap:4px}.tooling-lock strong,.callout strong{color:var(--brass-light);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.tooling-lock span,.callout span{color:#d4c39f;font-size:.76rem;line-height:1.4}.left-panel .tooling-lock{margin:8px 0}.warning-callout{border-color:#9a5a34;color:#f0c39d;font-size:.76rem;line-height:1.45}.check-field{display:flex;align-items:flex-start;gap:9px;color:#d7c7a4;font-size:.76rem;line-height:1.45;margin:13px 0}.check-field input{margin-top:3px;accent-color:var(--green)}.profile-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px}.profile-picker button{min-height:48px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:6px;text-align:left;border:1px solid #6f4e27;background:#17130f;color:#d0bb91}.right-panel .profile-picker button{min-height:44px}.profile-picker button strong{color:var(--brass-light);font-size:.86rem;text-align:center}.profile-picker button span{font-size:.68rem}.governed-summary,.dimension-table{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);align-items:center;gap:8px 10px;margin:12px 0;padding:10px;background:#15110e;border:1px solid #62451f}.governed-summary span,.dimension-table span{color:#ae9c79;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.governed-summary strong,.dimension-table strong{min-width:0;color:#e9d5aa;font-size:.77rem;text-align:right}.right-panel .governed-summary,.right-panel .dimension-table{margin:8px 0}.right-panel .field{margin-bottom:10px}.right-panel .advanced-controls{margin:8px 0}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawing-board{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;padding:10px;background:#2a2118}.board-heading,.board-caption{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) auto;gap:12px;color:#d3bd8f;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.board-heading{padding:2px 2px 9px}.board-heading>span{min-width:0}.board-caption{grid-template-columns:minmax(0,1fr);justify-items:center;padding:9px 8px 1px;text-align:center}.board-heading{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.hat-view-grid{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}.hat-profile-view{width:100%;min-width:0;margin:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:2px solid #6c4b26;background:var(--paper);color:var(--paper-ink);overflow:hidden}.hat-profile-title{min-height:40px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid rgba(86,59,34,.42);background:#efdaacc7}.hat-profile-title strong{min-width:0;color:#4b311b;font-size:.74rem;letter-spacing:.055em;text-transform:uppercase}.hat-profile-title span{color:#6f4c28;font-size:.68rem;white-space:nowrap}.hat-profile-svg{display:block;width:100%;height:auto;min-height:0;aspect-ratio:320 / 280}.drawing-paper{fill:#d8bd88}.drawing-grid-line{fill:none;stroke:#5e412224;stroke-width:.8}.drawing-note{fill:#624522;font:600 8px Georgia,serif;letter-spacing:.6px}.hat-crown-shape{stroke:#563b22;stroke-width:2.2;stroke-linejoin:round}.crown-contour{fill:none;stroke:#472f196e;stroke-width:1}.center-line{stroke:#6a462266;stroke-width:.9;stroke-dasharray:5 4}.dimension-line{fill:none;stroke:#6f4b25;stroke-width:.9}.dimension-text{fill:#51371e;font:8px Georgia,serif;letter-spacing:.25px}.hat-profile-view figcaption{min-height:35px;display:grid;place-items:center;padding:6px 8px;border-top:1px solid rgba(86,59,34,.42);background:#efdaacad;color:#674724;font-size:.65rem;line-height:1.25;text-align:center}.readiness-row{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;padding:10px 0;border-bottom:1px solid #40301f}.readiness-row>span:last-child{display:grid;gap:3px}.readiness-row strong{color:#d6c39d;font-size:.76rem}.readiness-row small{color:#9e9278;font-size:.68rem;line-height:1.35}.readiness-mark{width:25px;height:25px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid #655238}.readiness-mark.is-ready{color:#e4efcf;background:#3e5431;border-color:#77925e}.readiness-mark.is-pending{color:#f0c48a;background:#533a22;border-color:#9b6a33}.primary-button,.secondary-button,.result-buttons button{min-height:43px;padding:9px 12px;border:2px solid #9c7137;color:#fff0c9;background:#69431e;letter-spacing:.055em;text-transform:uppercase;font-size:.72rem}.secondary-button{background:#211a14;color:#d9c49a;border-color:#6c4c26}.full-width{width:100%;margin-top:8px}.result-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.result-buttons button:last-child{background:#4b2920;border-color:#8a4935}.instruction-list{margin:12px 0;padding-left:21px;color:#d0bf9c;font-size:.77rem;line-height:1.55}.instruction-list li{padding:4px 0}.history-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:7px}.history-list li{display:grid;gap:3px;padding-bottom:7px;border-bottom:1px solid #40301f}.history-list span{color:#d6c49f;font-size:.75rem}.history-list time{color:#8f856f;font-size:.65rem}.attribution{color:#e0c991;font-size:.76rem;line-height:1.45;font-style:italic}.progress-bench{min-height:94px;display:grid;grid-template-columns:160px minmax(0,1fr) 190px;align-items:center;gap:14px;padding:13px 16px}.progress-title{display:grid;gap:5px}.progress-title span{color:#bea574;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.progress-title strong{color:var(--brass-light);font-size:1rem;text-transform:uppercase}.progress-rail{display:grid;grid-template-columns:repeat(7,minmax(60px,1fr));gap:5px}.progress-rail button{min-height:52px;display:grid;place-items:center;gap:2px;padding:4px;font-size:.61rem;text-transform:uppercase}.progress-rail button span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #766044;border-radius:50%}.progress-rail button.is-current{color:#ffe4a4;border-color:var(--brass-light);background:#50341d}.progress-rail button.is-complete{color:#cee0b6;border-color:#657c4d}.bench-action{min-height:52px}.status-bar{min-height:43px;display:grid;grid-template-columns:auto auto auto auto minmax(190px,1fr);align-items:center;gap:14px;padding:8px 14px;color:#c2ae85;font-size:.67rem;letter-spacing:.05em;text-transform:uppercase}.status-bar output{justify-self:end;color:#ead7aa;text-align:right;text-transform:none;letter-spacing:0}.status-pill{display:inline-flex;justify-content:center;align-items:center;min-height:25px;padding:3px 8px;border:1px solid #776344;font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.status-ready{color:#d9e9c4;background:#3a4e2c;border-color:#698450}.status-warn{color:#f2d09b;background:#50351c;border-color:#9a6d34}.status-neutral{color:#d7c7a6;background:#2b241b}@media(max-width:1180px){.workspace-grid{grid-template-areas:"board" "left" "right";grid-template-columns:minmax(0,1fr)}.work-panel{max-height:none}}@media(max-width:980px){.workflow-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.progress-bench{grid-template-columns:1fr}.progress-title{grid-template-columns:auto auto;justify-content:center;gap:10px}.support-workshop{grid-template-columns:1fr;text-align:center}.support-workshop p{margin-inline:auto}.support-button{justify-self:center}.status-bar{grid-template-columns:repeat(2,1fr)}.status-bar output{grid-column:1 / -1;justify-self:stretch;text-align:center}}@media(max-width:760px){.studio-shell{padding:8px}.title-plaque{min-width:0;width:100%}.title-plaque span{letter-spacing:.12em}.project-actions{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.project-actions button,.project-actions a{justify-content:center;text-align:center}.drawing-board{min-height:430px}.progress-rail{grid-template-columns:repeat(7,minmax(74px,1fr));overflow-x:auto}.status-bar{grid-template-columns:1fr;text-align:center}.status-bar output{grid-column:1}.field-grid{grid-template-columns:1fr}}@media(max-width:620px){.workflow-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.board-heading{grid-template-columns:minmax(0,1fr);justify-items:stretch}.board-heading>span{text-align:center}}@media(max-width:680px){.hat-view-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.studio-backdrop,.workflow-nav,.project-actions,.progress-bench,.support-workshop{display:none}.studio-shell{padding:0;color:#111;background:#fff}.workstation{width:100%}.workspace-grid{display:block}.work-panel,.drawing-board,.status-bar{box-shadow:none;border:1px solid #333;background:#fff;color:#111;margin-bottom:10px}}.project-actions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.tool-crib-link{min-width:0;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;color:#dbc69b;font-size:.74rem;letter-spacing:.06em;text-align:center;text-decoration:none;text-transform:uppercase}.tool-crib-link:hover{color:#fff0c4;border-color:var(--brass-light);background:#4c321b}.workshop-footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:10px}.support-workshop,.feedback-workshop{min-height:0;padding:9px 13px;gap:12px}.support-workshop h2,.feedback-workshop h2{margin-bottom:2px}.support-workshop p,.feedback-workshop p{font-size:.7rem;line-height:1.25}.feedback-workshop{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:#181410f7;border:3px solid var(--brass-dark);box-shadow:0 0 0 1px #0b0907,inset 0 0 0 1px #825a2b,0 16px 34px #0000007a}.feedback-workshop h2{margin:0 0 6px;color:var(--brass-light);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}.feedback-workshop p{margin:0;color:#d4c39f;font-size:.76rem;line-height:1.5}.feedback-workshop button{width:auto;white-space:nowrap}.export-stl-button:disabled{opacity:.55;cursor:not-allowed}.export-notice{display:block;margin-top:12px;color:#e7d3a8;font-size:.75rem;line-height:1.45;text-align:center}.stand-export{margin-top:14px;padding-top:13px;border-top:1px solid #72512b}.stand-export h3{margin:0 0 5px;color:var(--brass-light);font-size:.78rem;letter-spacing:.075em;text-align:center;text-transform:uppercase}.stand-export>p{margin:0 0 10px;color:var(--muted);font-size:.72rem;line-height:1.4;text-align:center}.stand-export .field{margin-bottom:8px}.stand-export .full-width{margin-top:0}.stand-export .stand-measurement{margin:8px 0 0;color:#9f9275;font-size:.67rem}.workshop-dialog{width:min(620px,calc(100vw - 24px));max-height:min(760px,calc(100vh - 24px));overflow:auto;padding:0;color:#ead9b8;background:#211912;border:3px solid var(--brass-dark);box-shadow:0 0 0 1px #0b0907,inset 0 0 0 1px #9a6c32,0 24px 70px #000000b8}.workshop-dialog::backdrop{background:#080604d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.workshop-dialog>form,.workshop-dialog>div{padding:20px}.workshop-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #72512b}.workshop-dialog header p{margin:0 0 5px;color:var(--brass-light);font-size:.68rem;letter-spacing:.13em}.workshop-dialog header h2{margin:0;color:#f0d9aa;font-size:1.35rem}.dialog-close{width:40px;height:40px;flex:none;border:1px solid #79552d;color:#f0d6a2;background:#17110d;font-size:1.55rem;line-height:1}.dialog-intro{margin:16px 0;color:#cdbb98;font-size:.82rem;line-height:1.55}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.dialog-actions button{width:100%}.feedback-status{display:block;margin-top:14px;padding:10px 12px;border:1px solid #72512b;font-size:.78rem;line-height:1.45}.feedback-success{color:#dce9c6;border-color:#6f8755;background:#2f4227}.feedback-error{color:#f3c6a8;border-color:#9a5a3d;background:#4a281f}.feedback-neutral{color:#ddcba8;background:#17120e}.inbox-dialog{width:min(760px,calc(100vw - 24px))}.feedback-list{list-style:none;display:grid;gap:10px;margin:16px 0 0;padding:0}.feedback-list li{padding:13px;border:1px solid #614523;background:#17120e}.feedback-list li.is-unread{border-color:#c08a42;box-shadow:inset 4px 0 #c08a42}.feedback-list p{margin:0 0 8px;color:#ead9b8;white-space:pre-wrap;line-height:1.5}.feedback-list time{color:#9f9074;font-size:.7rem}.empty-inbox{margin:20px 0 0;color:#c8b793}@media(max-width:980px){.workshop-footer-grid{grid-template-columns:1fr}.support-workshop,.feedback-workshop{grid-template-columns:minmax(0,1fr) auto;text-align:left}.support-workshop p{margin-inline:0}}@media(max-width:760px){.project-actions,.dialog-actions{grid-template-columns:1fr}.support-workshop,.feedback-workshop{grid-template-columns:1fr;text-align:center}.support-workshop p,.feedback-workshop p{margin-inline:auto}.support-button,.feedback-workshop button{justify-self:center}}
