:root{font-family:system-ui,sans-serif;color:#263d3c;background:#f6f5ef;font-size:16px}*{box-sizing:border-box}body{margin:0}header,footer{max-width:1440px;margin:auto;padding:28px 30px}header h1{font-size:2rem;margin:.25em 0}.eyebrow{letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}.scope,.hint{font-size:.85rem;color:#526563;line-height:1.5}main{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;max-width:1440px;margin:auto;padding:0 30px}section,details{background:#fff;border:1px solid #d8e0da;border-radius:12px;padding:18px;margin-bottom:18px}details section,section details{border:0;background:#f4f7f4;padding:12px}h2{font-size:1.15rem;margin:0 0 15px}h3{font-size:1rem}label{display:block;margin:10px 0;font-size:.9rem}input,select,textarea{display:block;width:100%;border:1px solid #b2c0b9;border-radius:6px;background:white;padding:8px;font:inherit;margin-top:5px}input[type=color]{height:42px}input[type=checkbox]{display:inline;width:auto;margin:0 8px 0 0}button,a#download{border:1px solid #3d655c;background:#f1f7f0;color:#1c4a3d;border-radius:7px;padding:9px 12px;cursor:pointer;font:inherit;font-size:.87rem}button:hover{background:#deecdf}button:disabled{opacity:.5;cursor:default}.buttons{display:flex;flex-wrap:wrap;gap:8px}.viewtools{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.viewtools h2{margin-right:auto}.viewtools label{margin:0;max-width:170px}#view{height:440px;overflow:hidden;border:1px solid #e5e9e3;border-radius:8px}#view canvas{display:block;width:100%;height:100%;touch-action:none}#status{padding:10px;background:#eef5ee;border-radius:6px}[data-error=true]{color:#8a281d!important;background:#fff0ec!important}#revision{font-size:.8rem;overflow-wrap:anywhere}.instructions{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(180px,1fr);gap:20px;max-height:560px}.instructions>ol,.instructions>div{min-height:0;max-height:560px;overflow:auto;margin:0}#steps{padding-left:25px}#steps li{margin-bottom:6px}#steps button{text-align:left;width:100%;background:#fff;border-color:#d9e1d9}#steps button[aria-pressed=true],.output.selected{background:#fdf0be;border-color:#c3a437}.output{display:flex;align-items:center;gap:5px;margin:5px 0;padding:6px;border:1px solid #e1e8e0;border-radius:6px}.output label{margin:0}.output button{background:none;border:none;text-align:left;overflow-wrap:anywhere;font-size:.8rem}.output small{color:#755727}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem;max-height:500px;overflow:auto}fieldset{display:flex;gap:6px;border:1px solid #d8e0da}fieldset label{min-width:0}textarea{resize:vertical}#making p{white-space:pre-wrap;line-height:1.5}summary{cursor:pointer}footer{font-size:.85rem;color:#526563}a[hidden]{display:none!important}@media(max-width:850px){main{grid-template-columns:1fr;padding:0 14px}header,footer{padding:20px 14px}aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}#view{height:350px}.instructions{grid-template-columns:1fr;max-height:none}.instructions>ol{max-height:320px}.instructions>div{max-height:300px}}

/* Preserve content width on narrow screens; native layouts remain unchanged. */
main>*,article,aside,section,details,.instructions>*{min-width:0}p,summary,label,h1,h2,h3,#selectedStatus,#making{overflow-wrap:anywhere}.viewtools>*{min-width:0}button,input,select,textarea{max-width:100%}input,select,textarea{min-width:0}.buttons>*{min-width:0}fieldset{min-inline-size:0}

.generatorFields{display:block}.generatorFields[hidden]{display:none}.curvePoint{padding:8px 0;border-top:1px solid #d8e0da}.curvePoint h4{margin:8px 0}.curveFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.curveFields label{min-width:0;margin:0;font-size:.8rem}#generatorForm input[type=checkbox]{display:inline;width:auto}#generatorForm details{min-width:0}

/* Personal assembly participants wrap independently of the six-value pose fieldset. */
#planning fieldset{flex-wrap:wrap}#planning fieldset label{flex:1 1 160px;overflow-wrap:anywhere}#planning form,#planning section{min-width:0}#planning h4{overflow-wrap:anywhere}

#printFrame{width:100%;height:650px;border:1px solid #d8e0da;border-radius:8px}#printFrame[hidden],#printHTML[hidden]{display:none!important}#printHTML{padding:9px 12px;font-size:.87rem;overflow-wrap:anywhere}

/* Keep the pad's unavailable depth label out of layout despite label{display:block}. */
#recipeDepthField[hidden]{display:none}

#turnedControls{display:block;margin:14px 0;padding:12px}#turnedControls[hidden]{display:none}#turnedControls form+form{margin-top:16px;padding-top:12px;border-top:1px solid #d8e0da}

/* Recipe controls share the sidebar width; six-value pose fields stay horizontal. */
fieldset:has(#recipePreset){display:block}fieldset:has(#recipePreset)>label{width:100%}

/* The named-space editor is one stacked sidebar section. */
#chainSpacePanel{display:block}#chainSpacePanel[hidden]{display:none}

/* Named-stitch draft fields stack in the sidebar; hidden editors stay hidden. */
#namedDefinitionMount fieldset{display:block}#namedDefinitionMount fieldset[hidden]{display:none}

/* Finishing is a stacked editor, not the compact horizontal pose fieldset. */
#typedFinishing fieldset{display:block;min-width:0;width:100%;margin:12px 0;padding:12px}
#typedFinishing fieldset[hidden]{display:none}
#typedFinishing fieldset>label{width:100%;margin:12px 0}
#typedFinishing button{white-space:normal;overflow-wrap:normal;margin:4px 6px 4px 0;max-width:100%}
#typedFinishing li{margin:10px 0;overflow-wrap:anywhere}
#typedFinishing li>span{display:block;margin-bottom:4px}
#typedFinishing label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:8px}
#typedFinishing label>input[type=checkbox]{flex:0 0 auto;margin:3px 0 0}
#typedFinishing label>span{min-width:0}
#typedFinishing table{display:block;max-width:100%;overflow-x:auto}
@media(max-width:600px){#typedFinishing section{padding:12px}#typedFinishing fieldset{padding:10px}#typedFinishing button{width:100%;margin:4px 0}#typedFinishing input[type=checkbox]{width:auto}}
/* Shared making status and checklist notes are ordinary stacked panels. */
#makingChecklist [data-making-checklist-editor]{display:block;min-width:0}
#makingChecklist [data-making-checklist-editor][hidden]{display:none}
#makingChecklist fieldset>label{display:block;width:100%}
#makingChecklist button{white-space:normal;margin:4px 6px 4px 0}
#instructionExtras .shared-instruction-copy{white-space:pre-wrap;line-height:1.5}
#finishingDiagrams figure{margin:18px 0;max-width:100%;overflow-wrap:anywhere;overflow-x:auto}
#finishingDiagrams svg{display:block;width:760px;max-width:none;height:auto}
#finishingDiagrams figcaption{font-size:.85rem;line-height:1.5}

/* Keep the conditional Mouse choice hidden under the strict self-only style policy. */
#mouseTailOptions[hidden]{display:none}

/* Visual studio shell: mounted editors keep drafts when activities change. */
[hidden]{display:none!important}
body{background:#f5f3ee;color:#263d3c}
header{padding:20px 28px 12px;max-width:1680px}
header h1{font-size:1.55rem;margin:.2em 0}
header>.scope,header>details:not(#projectTools){font-size:.8rem}
header>.scope{margin:.5em 0}
#activityNavigation{float:right;display:flex;gap:6px;padding:4px;background:#e8eee6;border-radius:12px}
#activityNavigation button{min-width:96px}
button[aria-pressed=true]{background:#244f43;color:#fff;border-color:#244f43}
#projectTools{margin:10px 0;padding:10px 14px}
#projectTools[open]{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
#projectTools>summary{grid-column:1/-1;font-weight:600}
#projectTools section{margin:0}
#workspaceStatus{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:.8rem;line-height:1.5;padding:6px 0}
#workspaceStatus span{max-width:75ch}
main{max-width:1680px;grid-template-columns:220px minmax(300px,1fr) 330px;gap:16px;padding:0 28px;align-items:start}
main[data-activity=make]{grid-template-columns:minmax(0,1fr)}
#studioCenter{min-width:0}
#designRail,#inspector{min-width:0;max-height:calc(100vh - 170px);overflow:auto;scrollbar-gutter:stable}
#inspector{padding:14px;background:#eaf0e9;border-radius:12px}
#inspectorTitle{padding:5px 4px;font-size:1.2rem}
#inspector>section,#inspector>details{padding:14px;margin-bottom:12px}
#projectPieces,#addPiece{padding:14px}
#pieceList{display:grid;gap:7px;max-height:340px;overflow:auto}
#pieceList button{display:flex;gap:9px;align-items:center;text-align:left;min-height:44px}
.pieceSwatch{display:inline-grid;place-items:center;width:24px;height:24px;background:#fff;border:1px solid #b4bfb7;border-radius:50%;font-size:23px;flex:none;text-shadow:0 0 1px #263d3c}
#canvasPanel{position:sticky;top:8px;padding:16px}
#canvasPanel>.viewtools h2{font-size:1rem}
#canvasPanel>.viewtools{gap:7px}
#canvasPanel>#view{height:clamp(300px,52vh,610px)}
#canvasPanel>#status{font-size:.85rem;margin:8px 0}
#canvasPanel>#summary{font-size:.8rem}
#canvasPanel>details{margin:8px 0 0;padding:10px}
#canvasPanel details .viewtools{display:block}
#canvasPanel details label{max-width:none}
#makeNavigation{display:flex;gap:8px;padding:12px 0}
#makePanel{max-width:1100px;margin:auto}
#makePanel .instructions{max-height:none}
#makePanel .instructions>ol,#makePanel .instructions>div{max-height:560px}
.colorName{display:block;font-size:.85rem;font-weight:600;margin:5px 0}
#inspector details:has(>summary){font-size:.9rem}
:focus-visible{outline:3px solid #2674aa;outline-offset:3px}
#inspectorTitle:focus{outline:3px solid #2674aa;outline-offset:2px}
@media(min-width:1150px){main[data-activity=make] #canvasPanel>#view{height:330px}}
@media(max-width:1150px){main{grid-template-columns:180px minmax(280px,1fr) 280px;padding:0 14px;gap:10px}header{padding:16px 14px}#inspector{padding:8px}}
@media(max-width:950px){main{grid-template-columns:180px minmax(0,1fr)}#inspector{grid-column:2;max-height:none}#designRail{display:block;grid-column:1;grid-row:1 / span 2;max-height:none}#studioCenter{grid-column:2}#canvasPanel{position:static}main[data-activity=make] #studioCenter{grid-column:1/-1}}
@media(max-width:620px){main{display:flex;flex-direction:column;padding:0 10px}main>*{width:100%}#studioCenter{order:0}#designRail{order:1}#inspector{order:2}#pieceList{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}#canvasPanel>#view{height:300px}#activityNavigation{float:none;width:fit-content;margin-bottom:12px}header h1{font-size:1.35rem}.instructions{grid-template-columns:1fr}#workspaceStatus{display:grid}#canvasPanel{padding:12px}#projectTools[open]{display:block}#projectTools section{margin-top:12px}}

#quickActions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}#projectTitle{font-weight:650;font-size:.95rem;margin:8px 0 0}
main[data-activity=make] #canvasPanel{position:static}main[data-activity=make] #canvasPanel>#view{height:240px}
#inspector.noSelection #inspectorDrawer>:not(summary):not(#inspectorTitle){display:none}#inspector.noSelection>#inspectorDrawer{display:block}
#canvasPanel>.viewtools label{max-width:180px}#placementTool,#selectionMode{font-size:.8rem}
header>details{display:inline-block;vertical-align:middle;width:auto;margin:4px 8px 4px 0!important;padding:8px 12px!important}header>details[open]{display:block;width:100%}header>#projectTools[open]{display:grid}header>p:not(.eyebrow){margin:6px 0}header>#quickActions{display:inline-flex;vertical-align:middle;margin:4px 0}header>#projectTitle{display:inline-block;margin:4px 14px 4px 0}header>#workspaceStatus{padding:2px 0 8px}header>.eyebrow{margin:0 0 5px}header>h1{margin:4px 0}header{padding-top:16px}#addPiece{padding:10px}#partsLibraryMount .parts-library-shelf{grid-template-columns:1fr}#stitchInspection{padding:10px;margin:8px 0}
#piecesDrawer,#inspectorDrawer{border:0;padding:0;margin:0;background:transparent}#piecesDrawer>summary,#inspectorDrawer>summary{display:none}#canvasPanel>#view{min-height:400px}main[data-activity=make] #canvasPanel>#view{min-height:240px}
@media(max-width:620px){#piecesDrawer>summary,#inspectorDrawer>summary{display:list-item;font-weight:650;padding:14px;background:#fff;border:1px solid #d8e0da;border-radius:8px;margin-bottom:8px}#canvasPanel>#view{min-height:300px}}

/* U1: compact project actions, direct creation tools, and a single rail scroller. */
header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:14px 22px 10px}header>.eyebrow{margin:0!important;font-weight:700;font-size:.85rem;letter-spacing:.05em}header>#activityNavigation{float:none;margin:0 0 0 auto;order:1}header>#projectTools{order:2;margin:0!important;position:relative;padding:0!important;min-width:0;border:0;background:transparent}#projectTools>summary{list-style:none;border:1px solid #3d655c;background:#f1f7f0;color:#1c4a3d;border-radius:7px;padding:9px 12px;font-size:.87rem}#projectTools>summary::-webkit-details-marker{display:none}#projectTools>summary::after{content:' ▾'}#projectTools>summary:hover,#projectTools[open]>summary{background:#deecdf}#projectTools>summary:focus-visible{outline:2px solid #3d655c;outline-offset:3px}#projectTools>#projectMenuItems{position:absolute;right:0;top:calc(100% + 6px);z-index:50;width:260px;max-width:calc(100vw - 20px);padding:5px;border:1px solid #aabdb0;border-radius:9px;background:#f1f7f0;box-shadow:0 8px 25px #183e3528}#projectMenuItems>button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:12px;border-radius:5px}#projectMenuItems>button:hover{background:#deecdf}#projecthelp{order:3}header>#projectTitle{order:4;flex:1 1 45%;font-size:1.15rem;margin:0!important}header>#quickActions{order:5;display:flex;gap:7px;margin:0}header>#workspaceStatus{order:6;flex-basis:100%;padding:0;font-size:.8rem}header>h1,header>p:not(.eyebrow):not(#projectTitle){display:none}#workspaceStatus #previewSummary:empty{display:none}
main{grid-template-columns:205px minmax(300px,1fr) 286px;gap:14px;padding:0 22px}#designRail,#inspector{max-height:calc(100dvh - 138px);overflow-y:auto}#pieceList{max-height:none;overflow:visible;gap:3px}#pieceList button{min-height:35px;padding:6px 8px;border-radius:6px;font-size:.86rem}#pieceList .pieceSwatch{height:19px;width:19px;font-size:18px}#projectPieces{padding:12px;margin-bottom:12px}#projectPieces h2{font-size:1rem;margin-bottom:9px}#addPiece{padding:10px}#partsLibraryMount .parts-library{margin:0}#partsLibraryMount .parts-library-shelf{display:grid;grid-template-columns:1fr;gap:5px}#partsLibraryMount .parts-library-starter{padding:3px 6px;min-height:36px}#partsLibraryMount .parts-library-starter svg{width:27px;height:27px}#partsLibraryMount .parts-library-starter button{font-size:.83rem;min-height:32px;padding:0}#partsLibraryMount .parts-library>p{font-size:.77rem;margin:8px 0}#partsLibraryMount .parts-library-browse{margin:8px 0;min-height:38px;padding:7px}
#canvasPanel{padding:12px;position:static}#canvasPanel>.viewtools{gap:7px}#canvasPanel>.viewtools>h2{font-size:.84rem;font-weight:500;color:#62746d;margin:0 0 0 auto;order:2}#canvasToolbar{display:flex;gap:5px;flex-wrap:wrap;flex:1 1 auto}#canvasToolbar button{min-height:38px;padding:7px 10px}#canvasPanel>.viewtools>#fit{order:1}#canvasPanel>.viewtools>#retry{order:3}#canvasPanel>#view{height:clamp(350px,58vh,610px);min-height:350px}#canvasPanel>#revision{display:none}#canvasPanel>#summary{font-size:.76rem;margin:5px 0}#canvasPanel>#status{font-size:.82rem;margin:6px 0;padding:7px}#canvasPanel>#status[data-quiet=true]{display:none}#canvasPanel>#canvasHoverStatus{margin:4px 0;min-height:1em}#canvasPanel>details{padding:7px;margin:6px 0 0}#canvasPanel>details>summary{font-size:.82rem}
#inspector{padding:10px}#inspectorTitle{font-size:1.1rem;margin:0 0 10px;padding:2px}#inspector section{padding:10px;margin-bottom:10px}#inspector section:has(#piece)>h2{display:none}#inspector label{font-size:.83rem;margin:7px 0}#inspector #pieceEditStatus{font-size:.78rem;line-height:1.35}#pieceActions{display:grid;gap:7px;margin:10px 0}#pieceActions button{text-align:left}#shapeEditor{padding:0!important;border:0;background:transparent}#shapeEditor>h2{margin:12px 0}#shapeEditor>section{padding:10px}#shapeEditor p{font-size:.8rem;line-height:1.4}#shapeEditor fieldset{flex-wrap:wrap}#shapeEditor fieldset label{flex:1 1 60px}#draftNotice{padding:9px;background:#fff4d5;border:1px solid #cfb85e;font-size:.8rem}#draftNotice button{margin:5px 0}#placementSummary{font-size:.8rem;margin:7px 0}
.projectDialog{width:min(680px,94vw);max-height:90dvh;padding:20px;border:1px solid #c5d0c6;border-radius:12px;background:#fbfcf9;color:#263d3c;overflow:auto}.projectDialog::backdrop{background:#20352c77}.dialogHeading{display:flex;align-items:center;gap:12px;position:sticky;top:-20px;background:#fbfcf9;padding:8px 0 12px;z-index:2}.dialogHeading h2{margin:0;flex:1}.projectDialog>section{margin-bottom:12px}.projectDialog>details{margin:0;border:0;padding:0}.projectDialog section{min-width:0}#projectReplacementNotice{background:#fff4d5;border-color:#cfb85e}#projectReplacementNotice button{margin:5px 7px 3px 0}#helpDialog{width:min(820px,94vw)}#projectDialog #storageStatus{font-size:.85rem}#examplesDialog #templateStatus{font-size:.85rem}#examplesDialog .dialogHeading{position:static}
@media(max-width:1050px){main{grid-template-columns:165px minmax(250px,1fr) 250px;padding:0 12px;gap:10px}header{padding:12px}#canvasToolbar button{font-size:.8rem;padding:7px}#inspector{padding:7px}}
@media(max-width:850px){main{grid-template-columns:minmax(0,1fr) 260px}#designRail{grid-column:2;grid-row:2;max-height:none}#studioCenter{grid-column:1;grid-row:1/span 2}#inspector{grid-column:2;grid-row:1;max-height:none}#canvasPanel>#view{height:450px}#activityNavigation button{min-width:70px}header>#projectTitle{flex-basis:40%}}
@media(max-width:620px){header{padding:10px;gap:7px}header>.eyebrow{font-size:.75rem}header>#activityNavigation{order:1}header>#projectTools{order:2}header>#projecthelp{order:3}header>#projectTitle{font-size:1rem;order:4;flex-basis:100%}header>#quickActions{order:5}#quickActions button{padding:6px 9px}header>#workspaceStatus{order:6;font-size:.73rem}main{display:flex;padding:0 7px;gap:8px}#studioCenter{order:0}#inspector{order:1;padding:7px}#designRail{order:2}#canvasPanel>.viewtools>h2{display:none}#canvasToolbar{gap:4px}#canvasToolbar button{font-size:.78rem;min-height:35px;padding:6px 8px}#canvasPanel>#view{height:310px;min-height:270px}#canvasPanel>.viewtools>#fit{padding:7px}#canvasPanel>details{margin-top:4px}#pieceList{grid-template-columns:repeat(2,minmax(0,1fr))}#pieceList button{min-height:43px}#partsLibraryMount .parts-library-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.projectDialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto;padding:12px}.dialogHeading{top:-12px}#inspectorDrawer>summary,#piecesDrawer>summary{padding:9px;font-size:.88rem}main[data-activity=make] #canvasPanel>#view{height:210px;min-height:210px}}
#pieceInspector>h2{display:none}#pieceActions>#duplicate{font-size:.8rem;background:transparent;border-color:#bccbc0}#partsLibraryMount .parts-library-browse{margin-top:4px;margin-bottom:9px}

/* P1 preview leaves the creation visible and camera controls usable. */
.placementDialog{position:fixed;inset:126px 16px auto auto;margin:0;width:286px;max-height:calc(100dvh - 142px);overflow:auto;border:2px solid #426c59;border-radius:12px;padding:14px;background:#fbfcf9;color:#263d3c;z-index:80;box-shadow:0 8px 30px #163d2833}.placementDialog h2{font-size:1.1rem}.placementDialog p{font-size:.78rem;line-height:1.4}.placementDialog label{display:block;font-size:.82rem;margin:8px 0}.placementDialog select,.placementDialog input{width:100%;max-width:100%;box-sizing:border-box}.placementDialog .buttons{display:flex;flex-wrap:wrap;gap:6px}.placementRootMarker{position:absolute;pointer-events:none;transform:translate(-50%,-50%);padding:2px 5px;border:2px solid #fff;background:#753caa;color:white;border-radius:5px;font-weight:700;font-size:12px;z-index:3}#view{position:relative}@media(max-width:620px){.placementDialog{position:static;width:auto;max-height:none;margin:8px;border-radius:8px}.placementDialog form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.placementDialog form>p,.placementDialog form>.buttons{grid-column:1/-1}.placementDialog label{min-width:0}.placementDialog h2{margin:5px 0}}

.placementDialog .buttons{position:sticky;bottom:-14px;background:#fbfcf9;border-top:1px solid #bbcdbf;padding:10px 0 4px;margin-bottom:0;z-index:2}.placementDialog h2:focus{outline:2px solid #2674aa;outline-offset:3px}@media(max-width:620px){.placementDialog .buttons{bottom:0}}

.placementHostMarker{background:#246576;font-size:11px}#addProfile{width:100%;font-size:.85rem;margin-top:8px}.parts-library-profile{margin:7px 0;width:100%}

/* Profile editor: part of the existing host stylesheet to retain the 128-asset compatibility bound. */
.profile-editor{display:grid;gap:.65rem;min-width:0}.profile-editor fieldset{display:flex;flex-wrap:wrap;gap:.75rem;min-width:0;margin:.5rem 0;padding:.7rem;border:1px solid var(--line,#c8d2ca);border-radius:.5rem}.profile-editor label{display:grid;gap:.25rem;min-width:0;flex:1 1 9rem}.profile-editor input,.profile-editor select{box-sizing:border-box;width:100%;min-width:0;padding:.5rem;font:inherit}.profile-editor p{overflow-wrap:anywhere;margin:.4rem 0}.profile-actions,.profile-point-picker{display:flex;flex-wrap:wrap;gap:.5rem}.profile-editor button{white-space:normal;min-height:2.5rem}.profile-editor svg{display:block;width:min(100%,18rem);height:auto;flex-basis:100%;background:var(--paper,#f8faf7);border:1px solid var(--line,#c8d2ca);border-radius:.5rem}.profile-outline-path{fill:none;stroke:var(--accent,#356443);stroke-width:2}.profile-point{fill:var(--accent,#356443)}.profile-point-selected{fill:#b85c38;stroke:#fff;stroke-width:2}.profile-point-picker [aria-pressed=true]{outline:2px solid var(--accent,#356443);outline-offset:1px}.profile-editor [role=status]{min-height:1.5em}.profile-editor :focus-visible{outline:3px solid var(--accent,#356443);outline-offset:2px}
.profile-axis-label{font:12px system-ui,sans-serif;fill:var(--ink,#233b2b)}

/* Focused profile work needs room for end names and its outline; other editors retain their layout. */
#profileEditorMount{padding:0!important;border:0;background:transparent}
#profileEditorMount>.profile-editor{padding:0!important;border:0;margin-bottom:0!important;gap:.5rem}
#profileEditorMount .profile-editor fieldset{padding:.55rem;gap:.6rem}
#profileEditorMount .profile-editor label{flex-basis:8rem}
#profileEditorMount .profile-editor svg{width:100%;max-width:22rem}
#profileEditorMount .profile-actions{position:sticky;bottom:-10px;padding:10px 0;background:#fbfcf9;border-top:1px solid #bbcdbf;z-index:5}
#profileEditorMount .profile-actions button{flex:1 1 9rem}
@media(min-width:1100px){main[data-activity=design]:has(#shapeEditor:not([hidden]) #profileEditorMount:not([hidden])){grid-template-columns:190px minmax(300px,1fr) 380px}}
@media(min-width:851px) and (max-width:1099px){main[data-activity=design]:has(#shapeEditor:not([hidden]) #profileEditorMount:not([hidden])){grid-template-columns:140px minmax(250px,1fr) 340px}}
@media(min-width:621px) and (max-width:850px){main[data-activity=design]:has(#shapeEditor:not([hidden]) #profileEditorMount:not([hidden])){grid-template-columns:minmax(0,1fr) 340px}}
@media(min-width:621px){main[data-activity=design]:has(#shapeEditor:not([hidden]) #profileEditorMount:not([hidden])) #shapeEditor>h2{position:sticky;top:-10px;background:#fbfcf9;padding:10px 0;margin:0 0 10px;z-index:6}}
@media(max-width:620px){#profileEditorMount .profile-actions{bottom:0}}

/* Separate coincident guide labels; their projected anchor coordinates stay unchanged. */
.placementRootMarker{transform:translate(-50%,calc(-100% - 8px))}
.placementRootMarker.placementHostMarker{transform:translate(-50%,8px)}

/* Shape edits stay beside the canvas and end with one explicit save or cancel. */
#shapeActions{position:sticky;top:42px;z-index:7;display:flex;flex-wrap:wrap;gap:.5rem;padding:10px 0;background:#fbfcf9;border-top:1px solid #bbcdbf}
#shapeActions[hidden]{display:none}#shapeActions>p{flex-basis:100%;margin:.25rem 0}#shapeActions #saveShapeChanges,#shapeActions #cancelShapeChanges{flex:1 1 7rem}#shapeActions .quiet{flex-basis:100%;background:transparent;border:0;text-decoration:underline;font-weight:normal;font-size:.85rem;padding:.35rem}
#shapeEditStatus[data-error=true]{color:#8b2e20;font-weight:600}#shapeNavigation{max-width:28rem;border:1px solid #bbcdbf;border-radius:.75rem;padding:1.25rem}#shapeNavigation::backdrop{background:#202c2b88}#shapeNavigation>div{display:flex;flex-wrap:wrap;gap:.5rem}[aria-invalid=true]{outline:2px solid #a63b25}

#shapeEditStatus:empty{display:none}#shapeActions{padding:7px 0;gap:.3rem}#shapeActions>p{font-size:.75rem;margin:.1rem 0}#shapeActions .quiet{padding:.15rem;font-size:.8rem}#generatedShapeEditor #shapeSizeIntro{margin:.3rem 0 .6rem}#advancedRecipeOptions{margin-top:.75rem}#advancedRecipeOptions>summary{font-size:.85rem}#generatedShapeEditor>h2{margin:.2rem 0 .4rem}

/* One native modal reuses the live canvas, controls and camera. */
#shapeEditDialog{box-sizing:border-box;width:min(1180px,96vw);height:min(850px,94dvh);max-width:none;max-height:none;padding:0;margin:auto;border:1px solid #bbcdbf;border-radius:14px;background:#fbfcf9;color:#263d3c;overflow:hidden}
#shapeEditDialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}#shapeEditDialog::backdrop{background:#172e2bcc}
#shapeModalHeader{display:block;margin:0;padding:14px 20px;border-bottom:1px solid #bbcdbf;background:#fbfcf9}#shapeModalHeader #shapeEditorTitle{position:static!important;margin:0!important;padding:0!important;font-size:1.2rem}
#shapeModalBody{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,380px);gap:0;min-height:0;overflow:hidden}#shapeModalPreview{min-height:0;min-width:0;overflow:hidden;background:white}
#shapeModalPreview #canvasPanel{position:static;padding:12px;border:0;border-radius:0;height:100%;display:flex;flex-direction:column;box-sizing:border-box}#shapeModalPreview #view{flex:1 1 auto;width:100%;min-height:200px;height:auto!important}#shapeModalPreview #canvasPanel>details,#shapeModalPreview #canvasPanel>#revision,#shapeModalPreview #canvasHoverStatus,#shapeModalPreview #layoutQuickHint,#shapeModalPreview #canvasToolbar,#shapeModalPreview #retry{display:none!important}#shapeModalPreview .viewtools{flex:none}#shapeModalPreview .viewtools h2{display:none}#shapeModalPreview #summary,#shapeModalPreview #status{flex:none;margin:4px 0;font-size:.76rem}
#shapeModalBody>#shapeEditor{box-sizing:border-box;overflow-y:auto;min-height:0;min-width:0;padding:14px!important;border-left:1px solid #bbcdbf;background:#fbfcf9}#shapeModalBody #shapeSizingFacts{font-size:.8rem;margin:0 0 10px}#shapeModalBody #shapeEditor>section{padding:0;border:0;background:transparent}#shapeModalBody #shapeEditor label{display:block;margin:8px 0;font-size:.85rem}#shapeModalBody #shapeEditor fieldset{margin:.5rem 0}#shapeModalBody #shapeEditor p{font-size:.8rem;line-height:1.4}#shapeModalBody #shapeEditor input,#shapeModalBody #shapeEditor select{box-sizing:border-box;max-width:100%}
#shapeModalFooter{margin:0;width:auto;align-self:stretch;padding:9px 16px;border-top:1px solid #bbcdbf;background:#fbfcf9}#shapeModalFooter #shapeActions{position:static;margin:0;padding:0;border:0;display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) auto;align-items:center;gap:7px;max-width:650px;margin-left:auto}#shapeModalFooter #shapeActions>p{grid-column:1/-1;margin:0;font-size:.75rem}#shapeModalFooter #shapeEditStatus{grid-row:1}#shapeModalFooter #shapeActions button{min-height:38px}#shapeModalFooter #shapeActions .quiet{padding:5px;font-size:.85rem}#shapeModalFooter #shapeActions[hidden]{display:none}
@media(max-width:620px){#shapeEditDialog{width:100vw;height:100dvh;border:0;border-radius:0}#shapeModalHeader{padding:10px 12px}#shapeModalBody{grid-template-columns:1fr;grid-template-rows:minmax(150px,30dvh) minmax(0,1fr)}#shapeModalBody>#shapeEditor{border-left:0;border-top:1px solid #bbcdbf;padding:12px!important}#shapeModalPreview #canvasPanel{padding:6px 10px}#shapeModalPreview #view{min-height:100px}#shapeModalPreview #status,#shapeModalPreview #summary{font-size:.7rem;margin:2px 0}#shapeModalFooter{padding:8px 10px;padding-bottom:max(8px,env(safe-area-inset-bottom))}#shapeModalFooter #shapeActions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}#shapeModalFooter #shapeActions button{padding:7px 10px}#shapeModalFooter #shapeActions .quiet{padding:5px}}
/* Project keeps its place in the header; the flyout is out of document flow. */
#websiteHome{display:flex;align-items:center;width:150px;flex:none}#websiteHome svg{display:block;width:100%;height:auto}#activityNavigation a{display:none}.exampleCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}.exampleCards button{display:flex;align-items:center;flex-direction:column;gap:8px;padding:14px;min-height:130px}.exampleVisual{font-size:3rem;line-height:1.2}#deletePieceDialog{width:min(440px,94vw);padding:24px;border:1px solid #bdcec3;border-radius:12px}#deletePieceDialog button{margin:8px 8px 0 0}.placementDialog{width:330px;border-width:3px}.placementDialog .buttons button:first-child{background:#1c5947;color:white;font-weight:700}.placementDialog h2{font-weight:750}#addPiece .parts-library{margin:0}.parts-library-browse{margin-top:0}
@media(max-width:620px){#websiteHome{width:126px}.placementDialog{width:auto}.exampleCards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.exampleCards .exampleVisual{display:block;width:110px;height:90px}.exampleCards button{min-height:140px}.exampleCards button:focus-visible{outline:3px solid #16615a;outline-offset:2px}
/* A focused placement stage keeps the evaluated creation and decisions together. */
.placementDialog{position:fixed;inset:20px;margin:auto;width:min(1240px,calc(100vw - 40px));height:min(860px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:18px;border:2px solid #426c59;overflow:hidden;background:#fbfcf9;box-shadow:0 18px 70px #163d2855}.placementDialog::backdrop{background:#172d2bc4}.placementDialog>h2{font-size:1.35rem;margin:0 0 12px}.placementStageBody{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;height:calc(100% - 48px);min-height:0}.placementStagePreview{min-width:0;min-height:0}.placementStageControls{min-height:0;overflow:auto;padding:0 4px 12px}.placementStagePreview #canvasPanel{display:flex;flex-direction:column;height:100%;margin:0;padding:10px}.placementStagePreview #canvasPanel>#view{flex:1;height:auto;min-height:220px}.placementStagePreview #canvasPanel>details,.placementStagePreview #canvasToolbar,.placementStagePreview #canvasPanel>p:not(#status):not(#summary){display:none}.placementStagePreview #canvasPanel>.viewtools{flex:none;margin-bottom:8px}.placementStagePreview #canvasPanel>#status,.placementStagePreview #canvasPanel>#summary{font-size:.8rem;margin:4px 0;padding:4px}.placementStageControls>.hint{margin-top:0}.placementDialog .buttons{bottom:-12px;display:grid;grid-template-columns:1fr 1fr;padding:12px 0}.placementDialog .buttons button{min-height:46px}.placementDialog p{font-size:.82rem}.placementDialog label{font-size:.88rem}.placementDialog input,.placementDialog select{padding:8px}.placementDialog .placementStageControls>p:first-child{margin-top:0}
@media(max-width:700px){.placementDialog{inset:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:12px}.placementStageBody{display:flex;flex-direction:column;gap:8px;height:calc(100% - 46px);overflow:auto}.placementStagePreview{flex:none;height:240px}.placementStageControls{overflow:visible;flex:1}.placementDialog form{display:block}.placementStagePreview #canvasPanel>#view{min-height:170px}.placementDialog .buttons{bottom:0;position:sticky}.placementDialog>h2{font-size:1.15rem}.placementStagePreview #canvasPanel>#summary{display:none}}
header>#alphaNotice{order:7;flex-basis:100%;font-size:.8rem;line-height:1.35;padding:6px 10px;border-radius:6px;background:#eef3ee;color:#456057}

/* Help remains the rightmost control of the first header row. */
header>#projectTitle{flex-basis:calc(100% - 270px)}#loadedAppVersion{font-size:.85rem;overflow-wrap:anywhere}#helpSupport{background:#eef5ee}#reportBug{display:inline-block;border:1px solid #315e4e;border-radius:7px;padding:10px 14px;text-decoration:none;background:#315e4e;color:#fff;font-weight:650}#reportBug:hover{background:#244a3c}@media(max-width:620px){header>#activityNavigation{order:4;margin-left:0;flex-basis:100%}header>#projectTools{margin-left:auto!important}header>#projectTitle{order:5;flex-basis:100%}header>#quickActions{order:6}header>#workspaceStatus{order:7}}

#projectMenuItems{max-height:calc(100dvh - 100px);overflow-y:auto}#reportBug:focus-visible{outline:3px solid #16615a;outline-offset:3px}
@media(max-width:620px){#projectTools>#projectMenuItems{width:min(260px,calc(100vw - 120px))}}

/* Native details must keep identical header bounds while its flyout opens. */
header>#projectTools,header>#projectTools[open]{display:block;width:auto;flex:none;grid-template-columns:none;gap:0}
