:root{--ink:#514637;--focus:#8e563c;--pencil:#7a6c59}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#e9dfcd}body{margin:0;color:var(--ink);font-family:Georgia,serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:4px}button:disabled{cursor:wait;opacity:.5}
.studio{position:relative;height:100svh;min-height:640px;overflow:hidden}.work-surface{position:relative;height:100%;background:linear-gradient(#d8c4a8,#eddcc1 60%,#b69571)}.studio-room{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.three-stage{position:absolute;inset:96px 0 110px;z-index:1;touch-action:none;user-select:none}.three-stage canvas{display:block;width:100%;height:100%;outline:none;cursor:crosshair}.three-stage canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-8px}.studio-header{position:absolute;z-index:4;top:24px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;gap:24px;pointer-events:none}.studio-header a{pointer-events:auto}.studio-header h1{font:normal 27px/1.2 Georgia,serif;margin:8px 0 0}.study-back{font:10px/1.4 ui-monospace,monospace;color:#665848;text-decoration:none}.process{display:flex;gap:28px;padding:0;margin:0;list-style:none;font:11px/1.5 ui-monospace,monospace}.process li{position:relative;color:#796b59;padding-bottom:10px}.process li span{display:block;font-size:9px;opacity:.7;margin-bottom:4px}.process li[aria-current]{color:#4b3827}.process li[aria-current]:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#8e563c;transform:rotate(-1deg)}.process li.is-past{opacity:.65}
.slip-tray{display:contents}.tool-row{position:absolute;left:26px;top:22%;z-index:4;display:flex;flex-direction:column;gap:6px;padding:10px 6px;background:#f7efe0b3;border-radius:10px}.tool{display:flex;align-items:center;gap:10px;padding:8px 12px;min-width:104px;min-height:50px;color:#685946;background:none;border:1px solid transparent;border-radius:6px;font:10px/1.2 ui-monospace,monospace}.tool svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.tool:hover{background:#eadbc699}.tool[aria-pressed=true]{background:#ddd0b6;color:#4b3827;border-color:#a5896633}.slip-colors{position:absolute;z-index:4;right:28px;top:22%;display:flex;flex-direction:column;gap:10px;align-items:center;padding:18px 12px;background:#f7efe0b3;border-radius:10px}.palette-label{font:10px/1.3 ui-monospace,monospace;letter-spacing:.08em}.slip-color,.glaze-color{width:44px;height:44px;border-radius:50%;border:5px solid #eee4d600;min-width:44px;box-shadow:inset 0 0 0 1px #57443122}.slip-color[aria-pressed=true],.glaze-color[aria-pressed=true]{outline:1.5px solid var(--focus);outline-offset:3px}.glaze-tray{position:absolute;z-index:4;right:24px;top:22%;display:none;flex-direction:column;align-items:center;gap:16px;padding:18px 16px;background:#f7efe0b3;border-radius:10px}.glaze-colors{display:flex;flex-direction:column;gap:10px}.glaze-size{display:flex;align-items:center;gap:8px;font:9px/1.4 ui-monospace,monospace;flex-wrap:wrap;width:120px}.glaze-size input{width:75px;accent-color:#8e563c}.glaze-size output{font-variant-numeric:tabular-nums}
.controls{position:absolute;z-index:4;bottom:48px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.speed-control{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:44px;background:#f7efe0cc;border-radius:4px;font:10px/1.3 ui-monospace,monospace}.speed-control input{width:120px;accent-color:#8e563c}.speed-readout{font-variant-numeric:tabular-nums;min-width:24px}.action-row{display:flex;gap:10px}.action{font:10px/1.3 ui-monospace,monospace;min-height:44px;padding:12px 14px;background:#f7efe0cc;color:var(--ink);border:1px solid #a68b6833;border-radius:4px}.action:hover{background:#f7efe0}.action--fire{background:#66503b;color:#fff7e8;border-color:#66503b}.action--fire:hover{background:#4f3d2c}.fired-actions,.glaze-actions,.complete-actions{display:none}.work-surface.is-fired~.bottom-interface .controls .making-actions{display:none}.work-surface.is-fired~.bottom-interface .controls .fired-actions{display:flex}.work-surface.is-glazing~.bottom-interface .controls .fired-actions{display:none}.work-surface.is-glazing~.bottom-interface .controls .glaze-actions{display:flex}.work-surface.is-glazing~.slip-tray,.work-surface.is-firing~.slip-tray,.work-surface.is-complete~.slip-tray{display:none}.work-surface.is-glazing~.glaze-tray{display:flex}.work-surface.is-complete~.bottom-interface .controls .glaze-actions,.work-surface.is-complete~.glaze-tray{display:none}.work-surface.is-complete~.bottom-interface .controls .complete-actions{display:flex}.work-surface.is-firing~.bottom-interface .controls .making-actions{visibility:hidden}
.shelf-link{background:#f7efe0e6;padding:0 14px;border-radius:4px;position:absolute;z-index:4;bottom:9px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;min-height:36px;color:var(--ink);text-decoration:none;font:11px/1.4 ui-monospace,monospace}.shelf-link:hover{text-decoration:underline}.first-invite{position:absolute;z-index:3;left:50%;top:24%;transform:translateX(-50%);padding:0;margin:0;color:#725b42;font:italic 15px/1.5 Georgia,serif;pointer-events:none}.first-invite.is-complete{opacity:0}.phase-note{position:absolute;z-index:3;left:50%;top:25%;transform:translateX(-50%);font:italic 18px/1.4 Georgia,serif;pointer-events:none;opacity:0}.phase-note.is-visible{opacity:1}.kiln-wash{position:absolute;z-index:3;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 57%,#ffd18566,transparent 60%)}.work-surface.is-firing .kiln-wash{animation:kiln-wash 2.4s ease-in-out}@keyframes kiln-wash{0%,100%{opacity:0}35%,75%{opacity:1}}
.finished-shelves{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.shelf-piece{position:absolute;margin:0;transform:translate(-50%,-100%)}.shelf-piece img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}.mobile-studio-shelf{display:none}.contact{position:absolute;z-index:2;width:30px;height:30px;border:1px solid #8e563c88;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0}.contact.is-active{opacity:1}.fallback{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fallback.is-visible{display:block}.status,.caption,.stage-note,.fired-label,.local-ink-note{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.collection{padding:60px max(32px,calc((100vw - 1080px)/2));background:radial-gradient(ellipse at top,#f4ecde,#e8decc);min-height:340px}.collection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:36px}.collection-heading h2{font:normal 30px/1.3 Georgia,serif;margin:0}.collection-heading a{font:10px/1.4 ui-monospace,monospace;color:var(--ink);text-decoration:none;min-height:44px;display:flex;align-items:center}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 24px}.collection-piece{margin:0;min-width:0;position:relative;text-align:center;padding:24px 12px 16px;border-bottom:8px solid #b7997877}.collection-piece img{display:block;height:170px;width:100%;object-fit:contain;filter:drop-shadow(5px 7px 4px #6f533929)}.collection-piece figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;font:9px/1.4 ui-monospace,monospace;margin-top:20px}.collection-piece a{color:var(--ink);padding:8px;min-height:36px}.collection-empty{font:italic 17px/1.6 Georgia,serif;color:#796751}.collection-footnote{margin:36px 0 0;font:10px/1.4 ui-monospace,monospace;color:#796751}
@media(max-width:800px){.finished-shelves{display:none}.studio-header{left:20px;right:20px}.studio-header h1{font-size:23px}.process{gap:16px}.tool-row{left:14px}.slip-colors{right:16px}.controls{left:20px;right:20px}.action{padding:10px}.action-row{gap:6px}}
@media(max-width:620px){.studio{min-height:740px}.studio-header{top:18px;left:16px;right:16px;display:block}.studio-header h1{font-size:24px;margin-top:6px}.process{position:absolute;top:78px;left:0;right:0;justify-content:center;gap:34px}.process li span{display:inline;margin-right:6px}.tool-row{left:12px;right:12px;top:142px;flex-direction:row;justify-content:space-around;gap:2px;padding:6px}.tool{flex:1;min-width:44px;min-height:57px;flex-direction:column;gap:4px;padding:5px 0;font-size:9px}.tool svg{width:26px;height:26px}.slip-colors{top:214px;left:12px;right:12px;padding:6px 12px;flex-direction:row;justify-content:space-between;gap:5px}.slip-color{width:40px;height:40px;min-width:40px;min-height:44px}.palette-label{font-size:9px}.glaze-tray{top:151px;left:12px;right:12px;padding:12px;gap:12px}.glaze-colors{flex-direction:row;gap:14px}.glaze-size{width:auto;flex-wrap:nowrap}.glaze-size input{width:100px}.first-invite{top:33%;font-size:13px}.phase-note{top:33%;font-size:16px;width:90%;text-align:center;margin-top:0}.controls{bottom:46px;left:12px;right:12px;flex-wrap:wrap;gap:8px;align-items:center;padding:6px;background:#f7efe0cc;border-radius:5px}.speed-control{padding:0 4px;min-height:40px;background:none}.speed-control input{width:80px}.action-row{gap:4px;margin-left:auto}.action{font-size:9px;padding:10px 8px;min-height:44px}.making-actions{width:100%;justify-content:space-between}.making-actions .action{flex:1}.shelf-link{bottom:7px}.collection{padding:38px 20px}.collection-heading h2{font-size:27px}.collection-grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}.collection-piece{padding:14px 6px}.collection-piece img{height:115px}.collection-piece figcaption{flex-direction:column;gap:0}.collection-heading{margin-bottom:22px}.collection-heading a{font-size:9px}.studio-room{width:160%;left:-30%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kiln-wash{animation-duration:.5s!important}}

@media(max-width:620px){.three-stage{inset:160px 0 90px}.first-invite,.phase-note{top:272px}.first-invite{font-size:12px}.phase-note{font-size:14px}}

/* Background shelves are scenery; actual saved pottery lives below. */
.finished-shelves{display:none}
@media(max-width:620px){.mobile-studio-shelf{display:block;position:absolute;left:22px;right:22px;top:31%;width:calc(100% - 44px);height:100px;opacity:.65;pointer-events:none}.mobile-studio-shelf use{opacity:.85}}

@media(max-width:620px){.overhead-shade{display:none}.room-floor{transform:translateY(-100px)}}

.glaze-colors{display:grid;grid-template-columns:repeat(2,44px);gap:12px}.glaze-tray{right:24px}.glaze-size{width:100px}.glaze-size input{width:100px}
@media(max-width:620px){.glaze-colors{grid-template-columns:repeat(4,44px);gap:10px 18px}.glaze-tray{right:12px}.glaze-size{width:auto}.glaze-tray{top:142px;gap:8px;padding:10px}.glaze-size input{width:100px}}

@media(max-width:620px){.glaze-tray{background:#f7efe0f2}.work-surface.is-glazing .phase-note{top:341px}}

/* Mobile study: open work surface, quiet controls, full-size touch targets. */
@media(max-width:620px){
 .studio{min-height:640px}
 .studio-header{top:16px}
 .studio-header h1{font-size:22px;margin-top:10px}
 .process{left:auto;right:0;top:0;gap:0;opacity:.7;font-size:10px}
 .process li{display:none;padding-bottom:5px}
 .process li[aria-current]{display:block}
 .process li span{display:inline;margin-right:6px;font-size:9px}
 .process li[aria-current]:after{height:1px;opacity:.5}
 .tool-row{top:91px;left:18px;right:18px;padding:0;background:transparent;gap:9px}
 .tool{min-height:44px;height:44px;padding:8px;flex-direction:row;justify-content:center;border-radius:50%;min-width:44px}
 .tool span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .tool svg{width:26px;height:26px}
 .tool[aria-pressed=true]{background:#f5eadb66;border-color:#886b493d}
 .slip-colors{top:143px;left:18px;right:18px;padding:0;background:transparent;gap:8px;justify-content:center}
 .slip-colors .palette-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .slip-color{width:44px;height:44px;min-width:44px;border:9px solid transparent;background-clip:padding-box;box-shadow:none}
 .slip-color[aria-pressed=true]{outline-offset:-3px}
 .three-stage{inset:145px -18px 88px}
 .first-invite{display:none}
 .mobile-studio-shelf{top:26%;opacity:.38}
 .controls{bottom:48px;padding:0;background:transparent;flex-wrap:nowrap;gap:6px}
 .speed-control{flex:0 0 66px;padding:0;gap:0;font-size:0;min-height:44px}
 .speed-control input{width:66px;margin:0}
 .speed-readout{display:none}
 .making-actions{width:auto;flex:1;gap:5px}
 .making-actions .action{padding:8px 5px;font-size:9px;flex:1}
 .shelf-link{background:transparent;bottom:5px;font-size:10px}
 .glaze-tray{top:91px;left:18px;right:18px;padding:0;background:transparent;gap:8px}
 .glaze-tray .palette-label{display:none}
 .glaze-colors{grid-template-columns:repeat(4,44px);gap:0 20px}
 .glaze-color{border:9px solid transparent;background-clip:padding-box;box-shadow:none}
 .glaze-color[aria-pressed=true]{outline-offset:-3px}
 .glaze-size{font-size:9px}
 .work-surface.is-glazing .phase-note,.phase-note{top:203px;font-size:13px}
}

/* Slip belongs to the brush; other shaping tools keep the surface clear. */
.slip-colors{display:none}
.slip-tray:has([data-tool="brush"][aria-pressed="true"]) .slip-colors{display:flex}
@media(max-width:620px){
 .studio-header{top:16px}
 .study-back,.shelf-link{font:10px/1.4 ui-monospace,monospace;color:#665848;background:transparent;text-decoration:none}
 .study-back{min-height:44px;display:inline-flex;align-items:center;margin-top:-14px}
 .studio-header h1{margin-top:0}
 .shelf-link{top:2px;bottom:auto;right:16px;left:auto;transform:none;padding:0;min-height:44px}
 .process{top:59px}
 .tool-row{top:106px}
 .slip-colors{top:157px}
 .glaze-tray{top:106px}
 .three-stage{inset:155px -18px 72px}
 .controls{bottom:20px}
 .phase-note,.work-surface.is-glazing .phase-note{top:218px}
}

@media(max-width:620px){
 .tool-row{justify-content:space-between}
 .tool{flex:0 0 44px}
 .speed-control{flex-basis:80px;gap:4px;font-size:8px}
 .speed-control input{width:48px;min-height:44px}
 .three-stage{inset:135px -18px 100px}
}

@media(max-width:620px){.slip-color,.glaze-color{background-clip:padding-box!important}}

@media(max-width:620px){.mobile-studio-shelf{height:124px;top:23%;opacity:.64}.mobile-studio-shelf use{opacity:.92}}

/* Desktop actions share a single baseline, including the shelf. */
@media(min-width:621px){
 .controls{right:176px;gap:16px}
 .speed-control,.action{background:#f7efe08c}
 .action--fire{background:#66503bc9;border-color:#66503b66}
 .shelf-link{bottom:48px;left:auto;right:32px;transform:none;min-height:44px;background:#f7efe08c;border:1px solid #a68b6833;font:10px/1.3 ui-monospace,monospace;gap:8px}
 .shelf-link:hover,.action:hover{background:#f7efe0cc}
}
@media(min-width:621px) and (max-width:800px){
 .controls{right:150px}
 .speed-control{gap:6px;padding:8px}
 .speed-control input{width:64px}
 .shelf-link{right:20px;padding:0 10px}
}

.bottom-interface{display:contents}
@media(min-width:621px){
 .bottom-interface{position:absolute;z-index:4;left:50%;bottom:48px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 40px)}
 .bottom-interface .controls{position:static;justify-content:flex-start;gap:12px}
 .bottom-interface .shelf-link{position:static;transform:none;flex-shrink:0}
}

/* Mobile: the ceramic is the focus; tools sit beside the working controls. */
@media(max-width:620px){
 .three-stage{inset:100px -18px 145px}
 .mobile-studio-shelf{top:15%;height:100px;opacity:.48}
 .tool-row{top:auto;bottom:76px;left:24px;right:24px;gap:8px}
 .slip-colors{top:auto;bottom:128px}
 .controls{left:12px;right:12px;bottom:20px;gap:6px}
 .speed-control{flex:1.6 1 110px;min-width:100px;gap:5px;font-size:8px}
 .speed-control input{width:auto;min-width:60px;flex:1}
 .making-actions{flex:2.6 1 210px;width:auto;gap:5px;min-width:0}
 .making-actions .action{flex:1 1 0;min-width:0;padding:7px 3px;font-size:8px}
 .phase-note,.work-surface.is-glazing .phase-note{top:96px}
}

/* Keep the mobile backdrop continuous and slip beside the tools. */
@media(max-width:620px){
 .room-floor{display:none}
 .work-surface{background:linear-gradient(#d8c4a8,#eddcc1 60%,#cfb38d)}
}
@media(min-width:621px){
 .slip-colors{left:158px;right:auto;top:22%;background:#f7efe08c}
}
@media(min-width:621px) and (max-width:800px){.slip-colors{left:146px}}

/* Continuous studio backdrop on desktop as well as mobile. */
.room-floor{display:none}
.work-surface{background:linear-gradient(#d8c4a8,#eddcc1 60%,#cfb38d)}

/* Restore the floor as room scenery; keep touch gestures on the clay. */
.room-floor{display:block}
.studio{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}

/* Lift the wheel; glazing tools join the bottom working area. */
@media(min-width:621px){
 .three-stage{top:76px;bottom:130px}
 .glaze-tray{top:auto;bottom:106px;left:50%;right:auto;transform:translateX(-50%);flex-direction:row;padding:8px 12px;gap:12px}
 .glaze-colors{grid-template-columns:repeat(8,44px);gap:8px}
 .glaze-size{width:110px}
}
@media(max-width:620px){
 .three-stage{inset:75px -18px 170px}
 .glaze-tray{top:auto;bottom:76px;left:18px;right:18px;transform:none;gap:4px}
 .glaze-colors{grid-template-columns:repeat(4,44px);gap:0 20px}
 .glaze-size{min-height:44px}
}

/* Starting mound sizes, kept beside the making tools. */
.clay-amount{position:absolute;z-index:4;left:26px;top:calc(22% - 52px);display:flex;align-items:center;gap:5px;font:10px/1.3 ui-monospace,monospace;color:#685946}
.clay-amount button{min-width:44px;min-height:44px;padding:5px;background:transparent;border:1px solid transparent;border-radius:5px;color:inherit;font:inherit}
.clay-amount button[aria-pressed=true]{background:#f5eadb66;border-color:#886b493d}
.clay-amount span{margin-right:3px}
@media(max-width:800px) and (min-width:621px){.clay-amount{left:14px}}
@media(max-width:620px){
 .clay-amount{top:auto;bottom:128px;left:18px;right:18px;justify-content:center}
 .slip-tray:has([data-tool="brush"][aria-pressed="true"]) .clay-amount{display:none}
}

/* Bottom controls use soft fills rather than brown borders. */
.controls .action,.bottom-interface .shelf-link{border-color:transparent}
@media(max-width:620px){
 .tool-row .tool[aria-pressed=true],.clay-amount button[aria-pressed=true]{border-color:transparent}
}

/* Quiet desktop controls and a higher invitation above the clay. */
@media(min-width:621px){
 .tool-row .tool[aria-pressed=true],.clay-amount button[aria-pressed=true]{border-color:transparent}
 .tool-row,.slip-colors,.glaze-tray,.controls,.bottom-interface{border:0;box-shadow:none}
 .first-invite{top:17%}
}

/* Let the wheel base render below its original framing, behind the controls. */
@media(min-width:621px){.three-stage{bottom:0}}
@media(max-width:620px){.three-stage{bottom:0}}

.clay-amount.is-tucked{display:none}

/* Keep the studio title accessible without a heading over the clay. */
.studio-header h1{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.studio-header{background:transparent}
@media(max-width:620px){.process{top:30px}}

/* Full-height transparent canvas: navigation overlays the clay without masking it. */
.three-stage{top:0}
@media(min-width:621px){.studio-header h1{position:static;width:auto;height:auto;margin:8px 0 0;padding:0;overflow:visible;clip-path:none;white-space:normal}}

@media(max-width:620px){
 .studio-header h1{position:absolute;top:30px;left:0;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip-path:none;white-space:nowrap;font:normal 10px/1.5 ui-monospace,monospace;color:#4b3827;opacity:.7;background:transparent}
}

/* A small splash, drawn in code, rather than an image or a second clay mesh. */
.water-splash{position:absolute;z-index:3;width:80px;height:80px;margin:-40px;pointer-events:none;animation:water-splash .65s ease-out both}
.water-splash svg{width:100%;height:100%;fill:#d5e6df;stroke:#eaf3ec;stroke-width:1.4;stroke-linecap:round}
.contact--water{border-color:#aecbc4}
@keyframes water-splash{0%{opacity:0;transform:scale(.35)}20%{opacity:.85}100%{opacity:0;transform:scale(1.25) translateY(12px)}}
@media(max-width:620px){.tool-row{gap:2px;left:16px;right:16px}.tool-row .tool{min-width:44px}}
@media(prefers-reduced-motion:reduce){.water-splash{animation:water-splash .15s linear both}}

/* Tools shape; Brush applies the selected material. */
.material-tray{display:none;position:absolute;z-index:4;left:158px;top:22%;padding:10px;background:#f7efe0b3;border-radius:8px;flex-direction:column;gap:8px;align-items:center}
.slip-tray:has([data-tool="brush"][aria-pressed="true"]) .material-tray{display:flex}
.material-choice{display:flex;gap:6px}.material-choice button{min-width:54px;min-height:44px;padding:8px;color:var(--ink);background:transparent;border:1px solid #a5896655;border-radius:5px;font:10px/1.3 ui-monospace,monospace}
.material-choice button[aria-pressed="true"]{background:#ddd0b6;border-color:#8e563c}
.material-tray .slip-colors{position:static;background:transparent;padding:0;display:flex;gap:6px}
.material-tray[data-material="water"] .slip-colors{display:none!important}
.work-surface.is-firing~.glaze-tray{display:none}.work-surface.is-firing~.bottom-interface .glaze-actions{visibility:hidden}
@media(max-width:620px){.material-tray{left:16px;right:16px;top:auto;bottom:130px;padding:4px;background:#f7efe0e6;flex-direction:row;justify-content:center;gap:4px}.material-tray .slip-colors{flex-direction:row;gap:0}.material-tray .palette-label{display:none}.material-choice{gap:2px}.material-choice button{min-width:44px;padding:4px;font-size:9px}.material-tray .slip-color{border-width:10px}.process{gap:12px}.process li{font-size:8px}.tool-row{justify-content:space-around}}

@media(max-width:360px){.material-tray{flex-direction:column}.material-tray[data-material="water"]{flex-direction:row}}

/* Keep kiln and glazing messages in the open space above the clay. */
.phase-note,.work-surface.is-glazing .phase-note{top:clamp(80px,10svh,104px);margin:0;width:max-content;max-width:calc(100% - 32px);text-align:center}
@media(max-width:620px){.phase-note,.work-surface.is-glazing .phase-note{top:76px}}

/* Explain the active tool and keep recovery within reach. */
.first-invite{display:none}.tool-hint{position:absolute;z-index:4;top:94px;left:50%;transform:translateX(-50%);margin:0;width:min(480px,calc(100% - 32px));text-align:center;font:11px/1.5 ui-monospace,monospace;color:#725b42;pointer-events:none}
.work-surface:has(.phase-note.is-visible)~.tool-hint,.work-surface.is-complete~.tool-hint,.work-surface.is-firing~.tool-hint{visibility:hidden}
.recovery-controls{position:absolute;z-index:4;top:128px;left:50%;transform:translateX(-50%);display:flex;gap:6px}.recovery-controls button,.carve-settings button{min-width:64px;min-height:44px;padding:8px;border:0;border-radius:5px;background:#f7efe0d9;color:var(--ink);font:10px/1.3 ui-monospace,monospace}.recovery-controls button:disabled{cursor:default;opacity:.4}
.work-surface.is-firing~.recovery-controls,.work-surface.is-final-firing~.recovery-controls,.work-surface.is-complete~.recovery-controls{display:none}.work-surface.is-glazing~.recovery-controls [data-quick-water]{display:none}
.carve-settings{display:none;position:absolute;z-index:4;left:158px;top:22%;padding:10px;gap:10px;background:#f7efe0d9;border-radius:7px;flex-direction:column}.slip-tray:has([data-tool="carve"][aria-pressed="true"]) .carve-settings{display:flex}.carve-settings label{display:flex;align-items:center;gap:8px;font:10px/1.3 ui-monospace,monospace}.carve-settings input{width:90px;min-height:44px;accent-color:#8e563c}
.contact{transition:opacity .12s;transform:translate(-50%,-50%) scale(var(--contact-pressure,1))}.contact--hand{width:58px;height:38px;border-radius:50%;border-color:#8e563c33;background:radial-gradient(#8e563c30,transparent 70%)}.contact--rib{width:7px;height:58px;border:2px solid #76513b;border-radius:3px;background:#f4e5cd66}.contact--carve{width:10px;height:10px;border-radius:2px;border:2px solid #76513b;background:#f4e5cd99}.contact--sponge{width:42px;height:30px;border-radius:44%;border:1px dashed #8e563c99;background:#ead4aa33}.contact--brush{width:var(--contact-size,34px);height:var(--contact-size,34px);border:1px solid #5c4935aa;background:transparent}.contact--water{width:38px;height:38px;border:1px solid #607f81;background:radial-gradient(#b6d7d750,transparent 70%)}
@media(max-width:620px){.tool-hint{top:76px;font-size:10px}.recovery-controls{top:auto;bottom:142px}.recovery-controls button{min-width:72px;font-size:9px}.tool-row{bottom:76px}.tool-row .tool{height:56px;min-height:56px;flex-direction:column;gap:3px;padding:4px}.tool-row .tool span{display:block;position:static;width:auto;height:auto;overflow:visible;clip-path:none;font:10px/1.2 ui-monospace,monospace}.tool-row .tool svg{width:25px;height:25px;flex-shrink:0}.material-tray{bottom:196px}.carve-settings{top:auto;bottom:196px;left:16px;right:16px;flex-direction:row;justify-content:center;gap:6px;padding:6px}.carve-settings label{flex:1;flex-direction:column;gap:0;font-size:9px;min-width:0}.carve-settings input{width:72px}.carve-settings button{min-width:70px;font-size:9px}.work-surface.is-glazing~.recovery-controls{bottom:226px}}
@media(prefers-reduced-motion:reduce){.contact{transition:none}}

@media(max-width:620px){.clay-amount{bottom:196px}.slip-tray:has([data-tool="carve"][aria-pressed="true"]) .clay-amount{display:none}}

/* Local usability pass: tools explain themselves, advanced cuts stay optional. */
.recovery-controls{left:50%}
.recovery-controls button{background:transparent}
.recovery-controls button:disabled{opacity:.35}
.tool-hint{top:22%;left:158px;transform:none;width:200px;text-align:left;font-size:10px}
.carve-settings{top:calc(22% + 70px);padding:0;background:transparent;max-width:260px}
.carve-settings summary{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:5px;background:#f7efe0a6;cursor:pointer;list-style:none;font:10px/1.3 ui-monospace,monospace}
.carve-settings summary:after{content:'＋';margin-left:12px}.carve-settings[open] summary:after{content:'−'}
.carve-options{display:flex;flex-direction:column;gap:8px;padding:10px;background:#f7efe0d9;border-radius:5px}
.carve-settings:not([open]) .carve-options{display:none}
.carve-settings summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.making-actions [data-new]{background:transparent;box-shadow:none}
@media(max-width:620px){
 .tool-hint{top:auto;bottom:142px;left:16px;right:16px;width:auto;text-align:center;font-size:10px;line-height:1.35}
 .recovery-controls{top:auto;bottom:170px;left:50%}
 .clay-amount{bottom:222px}
 .carve-settings{top:auto;bottom:222px;left:16px;right:auto;max-width:none;display:none;flex-direction:column;align-items:flex-start}
 .carve-settings[open]{left:16px;right:16px}
 .carve-options{width:100%;box-sizing:border-box;flex-direction:row;gap:8px}
 .carve-options label{flex:1;min-width:0}.carve-options input{width:100%;max-width:90px}
 .material-tray{bottom:222px}
 .work-surface.is-glazing~.tool-hint{bottom:200px}
 .work-surface.is-glazing~.recovery-controls{bottom:226px}
}

.contact--rib{transform:translate(-50%,-50%) rotate(var(--rib-angle,0deg));}

/* Keep glaze hue legible before firing; only the finish transforms. */
.glaze-selection{font:10px/1.3 ui-monospace,monospace;letter-spacing:.02em}
.work-surface.is-complete~.bottom-interface .controls .fired-actions,
.work-surface.is-final-firing~.bottom-interface .controls .fired-actions{display:none}

/* Readable mobile labels without adding controls or a background strip. */
@media(max-width:620px){
 .recovery-controls{bottom:184px}
 .controls .action,.making-actions .action{font-size:11px;line-height:1.2}
 .speed-control,.recovery-controls button,.tool-row .tool span,.material-choice button,.carve-settings label,.carve-settings summary,.glaze-size{font-size:11px}
 .tool-hint,.glaze-selection{font-size:11px;line-height:1.4}
 .clay-amount{font-size:11px}.clay-amount button{font-size:11px}
 .collection-piece figcaption,.collection-heading a,.collection-footnote{font-size:11px}
}

/* Recovery belongs beside the tools, away from a tall mound. */
@media(min-width:621px){
 .recovery-controls{top:calc(22% + 306px);bottom:auto;left:26px;transform:none}
}
@media(min-width:621px) and (max-width:800px){
 .recovery-controls{left:14px;flex-direction:column;gap:2px}
}

/* Base coating lives beside the brush, without another permanent toolbar. */
.coat-glaze{min-height:44px;white-space:nowrap;font:11px/1.3 ui-monospace,monospace;padding:8px 12px}
@media(max-width:620px){
 .work-surface.is-glazing~.glaze-tray{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;justify-items:center;padding:6px}
 .glaze-tray .glaze-selection,.glaze-tray .glaze-colors{grid-column:1 / -1}
 .glaze-tray .glaze-size{width:auto;gap:4px;flex-wrap:wrap;justify-content:center}
 .glaze-tray .glaze-size input{width:80px}
 .coat-glaze{font-size:11px;padding:6px}
 .work-surface.is-glazing~.recovery-controls{bottom:254px}
}

@media(max-width:620px){.work-surface.is-glazing~.tool-hint{display:none}}
@media(max-width:620px){
 .work-surface.is-glazing .three-stage{transform:translateY(-22px)}
 .glaze-tray .glaze-selection{justify-self:start;display:flex;align-items:center;min-height:44px}
 .work-surface.is-glazing~.recovery-controls{bottom:276px;right:24px;left:auto;transform:none;z-index:5}
 .work-surface.is-glazing~.recovery-controls button{min-width:60px}
}
@media(min-width:621px) and (max-width:800px){.glaze-tray .glaze-colors{grid-template-columns:repeat(4,44px)}}

.glaze-finish{display:flex;align-items:center;gap:8px;font:11px monospace;grid-column:1/-1}.glaze-finish select{min-height:44px;color:inherit;background:rgba(255,248,229,.6);border:0;border-radius:8px;padding:0 12px;font:inherit}

.finish-effects{position:relative;grid-column:1/-1;font:11px monospace}.finish-effects summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center}.finish-effects-panel{position:absolute;bottom:100%;right:0;width:270px;padding:14px;background:#f2e7d1;box-shadow:0 4px 24px #49372526;border-radius:12px;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:5px}.finish-effects-panel label{min-height:44px;display:flex;align-items:center;gap:6px}.finish-effects-panel .effect-intensity,.finish-effects-panel small{grid-column:1/-1}.effect-intensity input{width:155px}
@media(max-width:620px){.work-surface.is-glazing~.recovery-controls{bottom:320px}.finish-effects-panel{right:0}}

@media(max-width:620px){.work-surface.is-glazing~.recovery-controls{bottom:268px}}

/* Studio layout: object stays the focus; supporting controls live below. */
.tool[aria-pressed=true]{box-shadow:0 0 0 2px #856b4e;background:#e5d4b7}
.clay-amount{flex-wrap:wrap;justify-content:center;max-width:420px}
.starter-tones{display:flex;width:100%;justify-content:center;gap:6px}
.starter-tones button{min-width:64px;min-height:60px;display:flex;flex-direction:column;align-items:center;gap:5px;font:11px monospace}
.starter-tones button:before{content:'';width:22px;height:22px;background:var(--tone);border-radius:50%;border:1px solid #79675166}
.starter-tones button[aria-pressed=true]{outline:2px solid #8e563c;outline-offset:1px}
.glaze-selection{font:12px/1.4 monospace;min-height:32px}
.glaze-colors{display:grid!important;grid-template-columns:repeat(4,44px)!important;gap:12px!important}
.glaze-color{box-shadow:inset 0 0 8px #32271940,inset 2px 3px 3px #ffffff55}
.piece-finish{grid-column:1/-1;justify-content:space-between}
.piece-finish select{min-height:44px;background:#fff8ea;border:1px solid #b29c7d;border-radius:6px;color:inherit;font:12px monospace}
.finish-effects-panel{max-width:calc(100vw - 48px);box-sizing:border-box}
@media(min-width:621px){.clay-amount{left:50%;top:auto;bottom:115px;transform:translateX(-50%)}.glaze-tray{max-width:290px}}
@media(max-width:620px){
 .studio{min-height:0!important;height:100svh!important;height:100dvh!important}
 .work-surface{height:calc(100% - 210px)!important;min-height:0!important;bottom:auto!important}
 .clay-amount{top:auto!important;bottom:222px!important;left:12px!important;right:12px!important;transform:none!important;width:auto!important;max-width:none}
 .tool-hint{bottom:155px!important}.recovery-controls{bottom:188px!important}
 .glaze-tray{top:auto!important;bottom:90px!important}
 .glaze-colors{grid-template-columns:repeat(8,1fr)!important;width:100%;gap:0!important}
 .glaze-color{width:36px;min-width:36px;height:44px;padding:0}
 .work-surface.is-glazing~.recovery-controls{bottom:310px!important}
 .finish-effects-panel{position:fixed;bottom:100px;left:20px;right:20px;width:auto;z-index:30}
}
@media(min-width:621px){.studio{height:1050px;min-height:1050px}.work-surface{height:800px}.clay-amount{bottom:125px}.controls{bottom:30px}}
@media(max-width:620px){.finish-effects-panel{position:absolute;bottom:100%;left:50%;right:auto;transform:translateX(-50%);width:280px}.studio{background:#b69571}.work-surface.is-glazing .three-stage{transform:none}}
/* Wider palette and customization panel; long clay names wrap safely. */
.starter-tones button{flex:1;min-width:0;max-width:100px;white-space:normal;line-height:1.25;padding:6px}
.finish-effects-panel{width:340px;gap:8px 12px}
@media(min-width:621px){.glaze-tray{width:320px;max-width:320px;box-sizing:border-box}.glaze-colors{grid-template-columns:repeat(4,52px)!important;gap:16px!important;justify-items:center}}
@media(max-width:620px){.finish-effects-panel{width:min(340px,calc(100vw - 32px));max-width:calc(100vw - 32px)}.glaze-tray{left:8px!important;right:8px!important}}

/* Keep the complete mobile workflow inside the browser's visible viewport. */
@media(max-width:620px){
 .controls{bottom:max(12px,env(safe-area-inset-bottom))!important}
 .tool-row{top:auto;bottom:72px}
 .tool-hint{bottom:134px!important}
 .recovery-controls{bottom:160px!important}
 .clay-amount{bottom:206px!important;background:#f7efe0c9;border-radius:8px;padding:4px}
 .starter-tones button{min-height:44px;flex-direction:row;gap:4px;font-size:10px}
 .starter-tones button:before{width:14px;height:14px;flex-shrink:0}
 .work-surface.is-glazing{height:calc(100% - 280px)!important}
 .glaze-tray{bottom:66px!important}
 .work-surface.is-glazing~.recovery-controls{bottom:276px!important}
 .glaze-colors{grid-template-columns:repeat(4,44px)!important;justify-content:space-around;row-gap:0!important}
 .glaze-color{width:44px;min-width:44px}
 .glaze-selection{min-height:24px!important}
 .finish-effects-panel{max-height:calc(100dvh - 100px);overflow-y:auto}
}

/* Starter choices temporarily replace controls; the clay remains interactive. */
.clay-amount{z-index:8;background:#f3e7d5ed;border:1px solid #b8a18666;border-radius:12px;padding:12px;box-shadow:0 4px 18px #49372516}
.starter-heading,.starter-instruction{width:100%;text-align:center;font:11px/1.4 ui-monospace,monospace;margin:0}
.starter-heading{font-weight:600}.starter-instruction{padding-top:4px}
.touch-instruction{display:none}
@media(pointer:coarse){.touch-instruction{display:inline}.click-instruction{display:none}}
.studio:has(.clay-amount:not(.is-tucked)):not(:has(.is-fired)) .tool-row,
.studio:has(.clay-amount:not(.is-tucked)):not(:has(.is-fired)) .controls,
.studio:has(.clay-amount:not(.is-tucked)):not(:has(.is-fired)) .recovery-controls,
.studio:has(.clay-amount:not(.is-tucked)):not(:has(.is-fired)) .tool-hint{visibility:hidden}
@media(min-width:621px){.clay-amount{bottom:20px}}
@media(max-width:620px){
 .work-surface,.work-surface.is-glazing{height:calc(100% - 150px)!important}
 .clay-amount{bottom:12px!important;padding:10px;max-width:420px;margin:auto}
 .tool-hint{display:none}
 .recovery-controls{bottom:130px!important}
 .glaze-colors{display:flex!important;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:6px!important;padding:5px;box-sizing:border-box;scrollbar-width:thin;touch-action:pan-x}
 .glaze-color{flex:0 0 44px}
 .work-surface.is-glazing~.glaze-tray{gap:0 6px;padding:0}
 .glaze-tray .glaze-selection{font-size:10px;min-height:18px!important}
 .finish-effects{grid-column:auto}
 .glaze-tray .coat-glaze{grid-column:2;grid-row:3}
 .glaze-tray .glaze-size{grid-column:1/-1;min-height:28px;flex-wrap:nowrap}
 .glaze-tray .glaze-size input{min-height:28px}
 .work-surface.is-glazing~.recovery-controls{bottom:236px!important;right:12px}
}
@media(min-width:621px){
 .studio{height:100dvh;min-height:640px}
 .work-surface{height:calc(100% - 100px)}
 .clay-amount{bottom:20px}
}
/* Reserve a separate instruction band above the desktop Brush panel. */
@media(min-width:621px){
 .material-tray{top:calc(22% + 72px)}
}

/* Slip is an optional decoration mode; Water remains the primary brush action. */
.slip-decoration{width:100%;font:11px/1.4 ui-monospace,monospace}
.slip-decoration summary{min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0 8px;border-radius:5px}
.slip-decoration summary:after{content:'＋';margin-left:8px}
.slip-decoration[open] summary:after{content:'−'}
.slip-decoration summary:focus-visible{outline:2px solid var(--focus)}
.slip-decoration .slip-colors{padding-top:6px}
@media(max-width:620px){
 .material-tray{flex-direction:row;align-items:flex-start;bottom:142px;left:12px;right:12px}
 .slip-decoration{width:auto;flex:1;min-width:0}
 .slip-decoration .slip-colors{justify-content:center;flex-wrap:wrap}
}
/* A full-width desktop glaze dock gives each control its own space. */
@media(min-width:621px){
 .glaze-tray{width:min(1050px,calc(100% - 48px));max-width:none;box-sizing:border-box;gap:12px 24px;background:transparent}
 .work-surface.is-glazing~.glaze-tray{display:grid;grid-template-columns:minmax(240px,1fr) auto auto minmax(120px,180px)}
 .glaze-selection{grid-column:1/-1;min-height:0;white-space:normal}
 .glaze-colors{grid-template-columns:repeat(8,44px)!important;gap:6px!important;justify-content:space-between;min-width:0}
 .finish-effects{grid-column:auto}
 .glaze-size{width:100%;min-width:0}.glaze-size input{width:100%}
}
@media(min-width:621px) and (max-width:1000px){
 .work-surface.is-glazing~.glaze-tray{grid-template-columns:1fr 1fr 1fr}
 .glaze-tray .glaze-colors{grid-column:1/-1}
}
@media(max-width:620px){.material-tray{bottom:190px}}

.finish-effects summary{background:#f7efe0cc;border:1px solid #a68b6833;border-radius:4px;padding:0 12px;box-sizing:border-box;color:var(--ink)}
.finish-effects summary:hover,.finish-effects[open] summary{background:#f7efe0}
.finish-effects summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}

.carve-options select,.glaze-size select{min-height:44px;max-width:130px;background:#f7efe0cc;color:var(--ink);border:1px solid #a68b6833;border-radius:4px;font:11px ui-monospace,monospace;padding:4px}
@media(max-width:620px){.carve-options{flex-wrap:wrap}.carve-options label:has(select){flex-basis:100%;flex-direction:row}.glaze-size select{min-height:44px}.glaze-size{gap:4px}}

.rib-settings{display:none;position:absolute;left:158px;top:calc(22% + 72px);z-index:4;background:#f7efe0e6;padding:10px;border-radius:8px;font:11px ui-monospace,monospace;gap:8px;max-width:220px}
.slip-tray:has([data-tool="rib"][aria-pressed="true"]) .rib-settings{display:flex;flex-direction:column}
.rib-settings select{min-height:44px;background:#fff8ea;color:var(--ink);border:1px solid #b29c7d;border-radius:4px;font:inherit;padding:4px 8px}
.rib-settings label{display:flex;gap:12px;align-items:center}.rib-settings small{font:10px/1.4 ui-monospace,monospace}
@media(max-width:620px){.rib-settings{top:auto;bottom:180px;left:12px;right:12px;max-width:none}.slip-tray:has([data-tool="rib"][aria-pressed="true"]) .rib-settings{flex-direction:row;align-items:center;justify-content:space-between}}

.contact--rib[data-rib="wood"]{width:12px;height:64px;border-radius:8px}.contact--rib[data-rib="metal"]{width:4px;height:40px;border-radius:1px;background:#d6d8d299}.contact--rib[data-rib="rubber"]{width:16px;height:36px;border-radius:50%;background:#9bada266}.contact--carve[data-tip="scoop"]{width:18px;height:28px;border-radius:50%}
.contact--carve[data-tip="needle"]{width:5px;height:5px;border-radius:50%;border-width:1px}

/* Responsive tool dock: one flow owns instructions and tool settings. */
.studio{height:100dvh!important;min-height:0!important}
.slip-tray{display:flex;position:absolute;z-index:6;left:16px;top:140px;bottom:100px;width:260px;box-sizing:border-box;flex-direction:column;gap:12px;padding:14px;background:#f7efe0f5;border-radius:12px;overflow:auto;overscroll-behavior:contain}
.slip-tray .tool-row{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;padding:0;background:none;transform:none}
.slip-tray .tool{flex:1 1 64px;min-width:64px;min-height:52px;height:auto;flex-direction:column;padding:6px;border-radius:7px}
.slip-tray .tool span{position:static;width:auto;height:auto;clip-path:none;overflow:visible;font:11px/1.2 ui-monospace,monospace}
.slip-tray .tool svg{width:25px;height:25px}
.slip-tray .tool-hint{display:block;position:static;transform:none;width:auto;margin:0;padding:4px 0;color:#4b3827;text-align:left;font:12px/1.45 ui-monospace,monospace;visibility:visible}
.slip-tray .rib-settings,.slip-tray .carve-settings,.slip-tray .material-tray{position:static;inset:auto;max-width:none;width:auto;padding:0;background:none;border-radius:0;transform:none;flex-wrap:wrap}
.slip-tray .rib-settings{flex-direction:column!important;align-items:stretch;gap:6px}
.slip-tray .carve-options{display:flex;flex-wrap:wrap;gap:8px}
.slip-tray .carve-options label{flex:1;min-width:65px}
.slip-tray .carve-options input{max-width:100%}
.slip-tray .material-tray{flex-direction:column;align-items:stretch}
.slip-tray .slip-colors{position:static;display:flex;flex-direction:row;flex-wrap:wrap;padding:4px;gap:4px}
.slip-tray summary{min-height:44px;box-sizing:border-box;padding:12px 8px;background:#e8d9bf;border-radius:5px;cursor:pointer}
.slip-tray select{min-height:44px;max-width:100%}
.studio .recovery-controls{top:auto;bottom:66px!important;left:20px;right:auto;transform:none;flex-direction:row;gap:8px}
.studio .controls{position:absolute;left:16px;right:16px;bottom:max(8px,env(safe-area-inset-bottom))!important;gap:8px;background:none;padding:0;flex-wrap:nowrap}
.studio .bottom-interface{position:static;background:none}
.studio .bottom-interface>.shelf-link{display:none}
.studio:has(.clay-amount:not(.is-tucked)):not(:has(.is-fired)) .slip-tray{background:none;overflow:visible;pointer-events:none}
.studio .clay-amount{position:fixed;pointer-events:auto;top:auto!important;bottom:20px!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:min(440px,calc(100vw - 24px));box-sizing:border-box;max-height:60dvh;overflow:auto}
.studio:has(>.work-surface.is-glazing) .slip-tray,.studio:has(>.work-surface.is-firing) .slip-tray,.studio:has(>.work-surface.is-final-firing) .slip-tray,.studio:has(>.work-surface.is-complete) .slip-tray{display:none}
@media(max-width:1100px),(max-height:760px){
 .studio .slip-tray{top:auto;bottom:110px;left:12px;right:12px;width:auto;max-height:min(38dvh,260px);padding:10px;gap:8px}
 .slip-tray .tool-row{flex-wrap:nowrap;justify-content:space-between}
 .slip-tray .tool{flex:1 1 0;min-width:44px;min-height:48px}
 .slip-tray .tool-hint{font-size:11px;line-height:1.35}
 .slip-tray .rib-settings{flex-direction:row!important;align-items:center;justify-content:space-between}
 .studio .recovery-controls{bottom:62px!important;left:12px}
 .studio .controls{left:12px;right:12px}
 .studio .speed-control{flex:0 1 100px;min-width:64px;font-size:10px;gap:4px;background:#f7efe0e6;padding:0 4px}
 .studio .speed-control input{width:64px;min-width:0}
 .studio .making-actions{flex:1;width:auto}
 .studio .making-actions .action{flex:1;min-height:44px;padding:6px;font-size:11px}
 .studio .glaze-tray{top:auto!important;bottom:110px!important;left:12px!important;right:12px!important;width:auto;max-width:none;max-height:38dvh;overflow:auto;box-sizing:border-box;display:none;gap:8px;padding:10px;background:#f7efe0f5}
 .studio:has(>.work-surface.is-glazing) .glaze-tray{display:flex}
 .studio .glaze-colors{display:flex!important;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;width:100%;gap:10px!important;padding:4px;box-sizing:border-box;justify-content:flex-start}
 .studio .glaze-color{flex:0 0 44px}
 .studio .glaze-selection{position:static!important;width:auto!important;min-height:0!important}
 .studio .finish-effects-panel{position:static;width:auto;max-width:100%;max-height:none;box-sizing:border-box}
 .studio .glaze-size{width:auto;max-width:100%}
 .studio:has(>.work-surface.is-glazing) .recovery-controls{bottom:62px!important;left:12px;right:auto}
}
@media(max-width:380px){.studio .speed-control{flex-basis:64px;font-size:0}.slip-tray .tool svg{width:22px;height:22px}.studio .slip-tray{left:6px;right:6px}}
.studio .bottom-interface{display:contents;transform:none}
@media(min-width:1101px) and (min-height:761px){
 .studio .slip-tray{bottom:auto;max-height:calc(100dvh - 250px)}
 .studio .controls{justify-content:center}
}
@media(min-width:621px){.studio .work-surface{height:calc(100% - 100px)}}

/* Compact left palette; essential actions have their own reserved footer. */
.studio .slip-tray{left:12px;right:auto;top:120px;bottom:auto;width:224px;max-height:calc(100dvh - 250px);gap:8px;padding:10px}
.dock-heading{display:flex;align-items:center;gap:4px}
.dock-heading button{min-height:44px;border:0;border-radius:5px;background:#e9dcc5;color:var(--ink);font:11px ui-monospace,monospace}
.dock-drag{cursor:grab;touch-action:none;flex:1}.dock-reset{font-size:9px!important}.dock-toggle{width:44px}
.studio .slip-tray .tool-row{flex-wrap:wrap}
.studio .slip-tray .tool{flex:1 1 54px}
.slip-tray.is-minimized .tool-hint,.slip-tray.is-minimized .rib-settings,.slip-tray.is-minimized .carve-settings,.slip-tray.is-minimized .material-tray{display:none!important}
.studio .slip-tray.is-minimized{width:76px;padding:6px}
.slip-tray.is-minimized .dock-reset,.slip-tray.is-minimized .dock-drag,.slip-tray.is-minimized .tool span{display:none}
.studio .slip-tray.is-minimized .tool{min-width:44px;min-height:44px}
.studio .controls{height:64px;bottom:calc(8px + env(safe-area-inset-bottom))!important;justify-content:center;background:#f0e5d3f5;border-radius:8px}
.studio .speed-control{flex:0 1 300px;font-size:12px;gap:8px;min-width:160px}
.studio .speed-control input{width:220px;min-width:100px;flex:1;min-height:44px}
.studio .making-actions{flex:0 1 auto;width:auto}
.studio .making-actions .action{flex:0 1 auto;min-width:85px}
.studio .recovery-controls{bottom:calc(78px + env(safe-area-inset-bottom))!important}
.studio:has(.clay-amount:not(.is-tucked)):not(:has(.is-fired)) .dock-heading{visibility:hidden}
@media(max-width:620px){
 .studio .slip-tray{top:auto;bottom:calc(160px + env(safe-area-inset-bottom));left:8px;width:200px;max-height:32dvh}
 .studio .controls{height:100px;display:flex;flex-wrap:wrap;align-content:center;gap:4px;padding:4px;box-sizing:border-box}
 .studio .speed-control{flex:1 0 100%;min-height:44px;box-sizing:border-box;font-size:11px}
 .studio .speed-control input{width:auto;flex:1}
 .studio .making-actions{flex:1;width:100%;justify-content:space-between}
 .studio .making-actions .action{flex:1;min-width:0}
 .studio .recovery-controls,.studio:has(>.work-surface.is-glazing) .recovery-controls{bottom:calc(112px + env(safe-area-inset-bottom))!important}
 .studio .glaze-tray{bottom:calc(160px + env(safe-area-inset-bottom))!important}
 .studio .slip-tray.is-minimized{max-height:calc(100dvh - 250px)}
}

/* Keep recovery readable and descriptions in view at phone widths. */
.studio .recovery-controls{background:#f0e5d3;border-radius:6px;z-index:7}
.studio .slip-tray>*{flex-shrink:0}
@media(max-width:620px){
 .studio .slip-tray{width:calc(100% - 16px);max-height:40dvh}
 .studio .slip-tray .tool-row{flex-wrap:nowrap}
 .studio .slip-tray .tool{min-width:44px;flex:1 1 0}
 .studio .slip-tray.is-minimized .tool-row{flex-direction:column}
 .studio .slip-tray.is-minimized{width:64px}
 .studio .slip-tray.is-minimized .tool{flex:none}
}

@media(max-width:620px){
 .studio .slip-tray.is-minimized{width:calc(100% - 16px);display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:4px;padding:6px}
 .studio .slip-tray.is-minimized .tool-row{flex-direction:row;gap:0}
 .studio .slip-tray.is-minimized .tool{flex:1 1 0;min-width:44px;padding:4px 0}
 .studio .slip-tray.is-minimized .tool span{display:block;font-size:9px}
 .studio .slip-tray.is-minimized .tool-hint{display:block!important;grid-column:1/-1;padding:2px 4px}
}

/* Checkpoint A: clear obsolete positioning without changing the dock layout. */
.studio .clay-amount{transform:translateX(-50%)!important}
@media(max-width:1100px),(max-height:760px){
 .studio .glaze-tray{transform:none}
 .studio .finish-effects-panel{transform:none;min-width:0}
}
.studio .bottom-interface>.shelf-link{display:flex;position:absolute;top:80px;bottom:auto;left:auto;right:24px;transform:none;min-height:44px}
@media(max-width:620px){
 .studio .bottom-interface>.shelf-link{top:2px;right:16px}
}

/* Checkpoint B — phone regions; desktop rules above remain independent. */
.phone-dock{display:none}
@media(max-width:620px){
 .studio.phone-layout{--dock-height:310px;display:grid;grid-template-rows:56px minmax(0,1fr) var(--dock-height);height:100dvh!important;overflow:hidden}
 .phone-layout .studio-header{position:relative;inset:auto;grid-row:1;padding:4px 12px;display:flex;gap:6px;align-items:center}
 .phone-layout .studio-header h1{font-size:16px;margin:0}.phone-layout .study-back{display:none}
 .phone-layout .process{position:static;inset:auto;font-size:14px;gap:0}.phone-layout .process li{padding:0}.phone-layout .process li span{display:none}
 .phone-layout .work-surface{grid-row:2;position:relative;inset:auto!important;width:100%;height:100%!important;min-height:0!important;overflow:hidden}
 .phone-layout .three-stage{inset:0!important;width:100%!important;height:100%!important;transform:none!important}
 .phone-layout .first-invite{display:none}
 .phone-layout .phone-dock{grid-row:3;display:flex;flex-direction:column;min-height:0;background:#f4ead8;border-top:1px solid #b19b7e;padding:6px 8px max(6px,env(safe-area-inset-bottom));gap:4px;z-index:8;font:14px/1.4 ui-monospace,monospace}
 .phone-layout .phone-dock-body{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .phone-layout .phone-dock-bar{flex:none}
 .phone-layout .phone-dock :is(button,summary,a){font:14px/1.3 ui-monospace,monospace;min-height:44px;min-width:44px;white-space:nowrap;color:var(--ink);border:1px solid #a38c6c;border-radius:6px;background:#fcf5e8;padding:6px 8px;box-sizing:border-box;cursor:pointer}
 .phone-layout .phone-dock button:disabled{opacity:.6;cursor:default}
 .phone-layout .phone-dock :is(button,summary,a):active{background:#dfceb2}
 .phone-layout .phone-dock :is(button,summary,a,input,select):focus-visible{outline:2px solid #70452f;outline-offset:-3px}
 .phone-layout .phone-dock [aria-pressed="true"]{outline:2px solid #72543a;outline-offset:-3px;background-color:#e6d5b8}
 .phone-layout .phone-dock :is(select,input){font-size:16px;min-height:44px}
 .phone-layout .phone-dock input[type=checkbox]{min-height:20px;width:20px;height:20px;flex:none}
 .phone-layout .phone-dock :is(small,.tool-hint,.glaze-selection,.palette-label){font:14px/1.4 ui-monospace,monospace}
 .phone-layout .phone-dock :is(.slip-tray,.glaze-tray,.clay-amount,.controls,.recovery-controls,.phase-note){position:static!important;inset:auto!important;transform:none!important;max-height:none;max-width:none;width:100%;margin:0;visibility:visible!important;pointer-events:auto}
 .phone-layout .phone-dock .clay-amount{display:none;padding:0;background:none;box-shadow:none;overflow:visible}
 .phone-layout .phone-dock[data-phase=starter] .clay-amount{display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:center}
 .phone-layout .starter-heading,.phone-layout .starter-instruction{width:100%;font-size:14px;text-align:center;margin:4px 0}
 .phone-layout .starter-tones{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:100%}
 .phone-layout .phone-dock .slip-tray,.phone-layout .phone-dock .glaze-tray{display:none!important;padding:0;border-radius:0;background:none;overflow:visible;gap:4px}
 .phone-layout .phone-dock[data-phase=throwing] .slip-tray{display:flex!important}
 .phone-layout .phone-dock .dock-heading{display:none}
 .phone-layout .phone-dock .tool-row{display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:4px;scrollbar-width:thin;padding:2px 2px 6px;touch-action:pan-x}
 .phone-layout .phone-dock .tool{flex:0 0 64px;min-width:64px;min-height:56px;gap:2px;padding:4px}
 .phone-layout .phone-dock .tool span{display:block;font-size:14px}.phone-layout .phone-dock .tool svg{width:22px;height:22px}
 .phone-layout .phone-dock .tool-hint{display:block!important;visibility:visible!important;padding:2px;margin:0}
 .phone-layout .phone-dock :is(.rib-settings,.carve-settings,.material-tray){display:none!important}
 .phone-layout .phone-dock[data-settings=true][data-active-tool=rib] .rib-settings,.phone-layout .phone-dock[data-settings=true][data-active-tool=brush] .material-tray{display:flex!important}
 .phone-layout .phone-dock[data-settings=true][data-active-tool=carve] .carve-settings{display:block!important}
 .phone-layout .phone-dock[data-settings=true] :is(.tool-row,.tool-hint){display:none!important}
 .phone-layout .phone-dock[data-settings=true] .carve-settings>summary{display:none}
 .phone-layout .phone-dock .phone-back{display:none;margin-bottom:4px}
 .phone-layout .phone-dock[data-settings=true] .phone-back{display:block}
 .phone-layout .phone-dock .controls{height:auto;display:grid;grid-template-columns:1fr 1fr auto;gap:4px;padding:0;background:none;align-items:center}
 .phone-layout .phone-dock .speed-control{grid-column:1/-1;display:flex;min-width:0;min-height:44px;width:100%;padding:0;gap:6px;font-size:14px;background:none}
 .phone-layout .phone-dock .speed-control input{flex:1;min-width:80px;width:auto}
 .phone-layout .phone-dock .action-row{display:none!important;margin:0}
 .phone-layout .phone-dock[data-phase=throwing] .making-actions,.phone-layout .phone-dock[data-phase=glazing] .glaze-actions,.phone-layout .phone-dock[data-phase=complete] .complete-actions{display:contents!important;visibility:visible}
 .phone-layout .phone-dock .recovery-controls{display:contents!important;background:none}
 .phone-layout .phone-dock :is([data-undo],[data-redo]){grid-row:2}
 .phone-layout .phone-dock [data-undo]{grid-column:1}.phone-layout .phone-dock [data-redo]{grid-column:2}
 .phone-layout .phone-dock :is([data-fire],[data-finish]){grid-column:3;grid-row:2;min-height:48px;background:#66503b;color:#fff7e8}
 .phone-layout .phone-dock [data-wheel-toggle]{grid-column:1;grid-row:3}
 .phone-layout .phone-dock .making-actions [data-new]{grid-column:2;grid-row:3;background:transparent;border-style:dashed}
 .phone-layout .phone-dock .phone-settings{grid-column:3;grid-row:3}
 .phone-layout .phone-dock [hidden]{display:none!important}
 .phone-layout .phone-dock .shelf-link{position:static;inset:auto;transform:none;display:flex;width:max-content;margin-left:auto;gap:4px}
 .phone-layout .phone-dock .bottom-interface{display:contents}
 .phone-layout .phone-dock[data-phase=throwing] .shelf-link{display:flex}
 .phone-layout .phone-dock[data-phase=glazing] .shelf-link{margin-top:4px}
 .phone-layout .phone-dock:not([data-phase=throwing]) .phone-settings{display:none}
 .phone-layout .phone-dock[data-phase=starter] .controls,.phone-layout .phone-dock[data-phase=firing] .controls,.phone-layout .phone-dock[data-phase=finishing] .controls{display:none}
 .phone-layout .phone-dock[data-phase=complete] :is(.speed-control,.recovery-controls){display:none!important}
 .phone-layout .phone-dock[data-phase=complete] :is([data-undo],[data-redo]){display:none}
 .phone-layout .phone-dock .phase-note{display:none;opacity:1;white-space:normal;font:14px/1.5 ui-monospace,monospace;text-align:left;padding:8px}
 .phone-layout .phone-dock[data-phase=firing] .phase-note,.phone-layout .phone-dock[data-phase=finishing] .phase-note{display:block}
 .phone-layout .phone-dock[data-phase=glazing] .glaze-tray{display:grid!important;grid-template-columns:1fr 1fr;align-items:center;gap:4px}
 .phone-layout .phone-dock .glaze-selection{grid-column:1/-1;line-height:20px}
 .phone-layout .phone-dock .glaze-colors{grid-column:1/-1;width:100%;gap:4px!important;padding:3px;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}
 .phone-layout .phone-dock :is(.glaze-color,.slip-color){width:44px;height:44px;min-width:44px;flex:0 0 44px;border-radius:50%}
 .phone-layout .phone-dock .finish-effects{grid-column:1}.phone-layout .phone-dock .coat-glaze{grid-column:2;grid-row:auto;font-size:14px}
 .phone-layout .phone-dock .glaze-size{grid-column:1/-1;display:flex;flex-wrap:nowrap;width:100%;gap:4px;font-size:14px;min-height:44px}
 .phone-layout .phone-dock .glaze-size input{min-width:40px;flex:1;width:70px}.phone-layout .phone-dock .glaze-size select{width:90px}
 .phone-layout .phone-dock .finish-effects-panel{position:static;inset:auto;transform:none;padding:0;box-shadow:none;border:0;background:none;display:grid;grid-template-columns:1fr;gap:2px;width:100%;font-size:14px}
 .phone-layout .phone-dock .finish-effects-panel label{display:flex;align-items:center;gap:8px;min-height:44px;grid-column:1;white-space:nowrap}
 .phone-layout .phone-dock .piece-finish select{margin-left:auto}
 .phone-layout .phone-dock .finish-effects-panel small{grid-column:1}
 .phone-layout .phone-dock[data-settings=true][data-phase=glazing] .glaze-tray{display:block!important}
 .phone-layout .phone-dock[data-settings=true][data-phase=glazing] .glaze-tray>:not(.finish-effects){display:none!important}
 .phone-layout .phone-dock[data-settings=true] .finish-effects>summary{display:none}
 .phone-layout .phone-dock[data-settings=true] .phone-dock-bar{display:none}
 .phone-layout .phone-dock .slip-colors{gap:4px;padding:4px}.phone-layout .phone-dock .slip-decoration{width:100%;font-size:14px}
}
@media(max-width:620px){
 .phone-layout .studio-header{background:#eadbc0;padding:4px 8px}.phone-layout .process li{font-size:14px!important}
 .phone-layout .phone-dock .starter-tones button{flex:0 0 auto;width:auto!important;max-width:none;font-size:14px!important;overflow:visible}
 .phone-layout .phone-dock .clay-amount>span{font-size:14px}
 .phone-layout .phone-dock .shelf-link{grid-row:3;grid-column:2/-1;margin:0;justify-self:end}
 .phone-layout .phone-dock[data-phase=starter] .controls,.phone-layout .phone-dock[data-phase=firing] .controls,.phone-layout .phone-dock[data-phase=finishing] .controls{display:block}
 .phone-layout .phone-dock:is([data-phase=starter],[data-phase=firing],[data-phase=finishing]) .controls>:not(.shelf-link){display:none!important}
 .phone-layout .phone-dock[data-phase=complete] .shelf-link{grid-column:1/-1;grid-row:2}
 .phone-layout .phone-dock .phone-back{position:sticky;top:0;z-index:2}
 .phone-layout .phone-dock .glaze-color[aria-pressed=true]:after,.phone-layout .phone-dock .slip-color[aria-pressed=true]:after{content:'✓';color:#fff;text-shadow:0 1px 3px #000;font-size:20px}
}
@media(max-width:620px){
 .phone-layout .phone-dock[data-phase=glazing] .speed-control{grid-column:1/3;grid-row:1}
 .phone-layout .phone-dock[data-phase=glazing] .shelf-link{grid-column:3;grid-row:1;margin:0;padding:4px}
 .phone-layout .phone-dock .starter-tones{flex-wrap:wrap}.phone-layout .phone-dock .starter-tones button{flex:none!important}
}
@media(max-width:620px){
 .phone-layout .phone-dock .finish-effects-panel{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4px;row-gap:0}
 .phone-layout .phone-dock .finish-effects-panel label{grid-column:auto;gap:4px;min-width:0;font-size:14px;letter-spacing:-.15px}
 .phone-layout .phone-dock .finish-effects-panel :is(.piece-finish,.effect-intensity,small){grid-column:1/-1}
 .phone-layout .phone-dock .effect-intensity input{flex:1;min-width:0}
}
@media(max-width:620px){
 .studio.phone-layout .phone-dock .controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;min-width:0}
 .studio.phone-layout .phone-dock .controls :is(button,a){min-width:44px;font-size:14px;padding:6px;flex:none}
 .studio.phone-layout .phone-dock .phone-settings{align-self:flex-start;min-height:44px;font-size:14px}
 .studio.phone-layout .phone-dock[data-settings=true] .phone-settings{display:none}
 .studio.phone-layout .phone-dock select{height:44px;min-height:44px;appearance:none;padding:6px 24px 6px 6px;background:#fcf5e8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23514637' fill='none' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 6px center;border:1px solid #a38c6c;border-radius:6px;font-size:16px}
 .studio.phone-layout .phone-dock .shelf-link{grid-column:3;grid-row:3}
 .studio.phone-layout .phone-dock[data-phase=glazing] .shelf-link{grid-row:1}
 .studio.phone-layout .phone-dock .speed-readout{display:block;font-size:14px}
}
@media(max-width:620px){
 .studio.phone-layout :is(.phone-dock,.phone-dock-body,.phone-dock-bar){min-width:0;max-width:100%}
 .studio.phone-layout .phone-dock .finish-effects-panel input[type=checkbox]{margin:0}
 .studio.phone-layout .phone-dock .controls :is(button,a){padding:4px}
}
@media(max-width:620px){.studio.phone-layout .phone-dock .shelf-link span{display:none}.studio.phone-layout .phone-dock .shelf-link{gap:0}}
@media(max-width:620px){
 .studio.phone-layout .phone-dock .starter-tones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;flex-wrap:nowrap}
 .studio.phone-layout .phone-dock .starter-tones button{width:100%!important;min-width:0;max-width:none;min-height:48px;flex-direction:column;gap:2px;padding:2px;white-space:nowrap}
}
/* Content-sized phone dock: related controls stay together without empty rows. */
.phone-tool-hint{display:none}
@media(max-width:620px){
 .studio.phone-layout{grid-template-rows:56px minmax(0,1fr) auto}
 .studio.phone-layout .phone-dock{height:auto;max-height:min(320px,52dvh);gap:2px;padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom))}
 .studio.phone-layout .phone-dock-body{flex:0 1 auto}
 .studio.phone-layout .phone-dock .tool-hint{display:none!important}
 .studio.phone-layout .phone-dock .phone-tool-hint{display:block;margin:0;padding:0;font:14px/20px ui-monospace,monospace;white-space:nowrap}
 .studio.phone-layout .phone-dock[data-settings=true] .phone-tool-hint{display:none}
 .studio.phone-layout .phone-dock .tool-row{padding-bottom:2px}
 .studio.phone-layout .phone-dock .slip-tray{gap:2px}
 .studio.phone-layout .phone-dock .controls{gap:2px}
 .studio.phone-layout .phone-dock .phone-settings{padding:4px 8px}
 .studio.phone-layout .phone-dock .glaze-tray{gap:2px}
 .studio.phone-layout .phone-dock .clay-amount{gap:2px}
}
.phone-start-hint{display:none}
@media(max-width:620px){
 .studio.phone-layout .phone-dock .starter-instruction{display:none}
 .studio.phone-layout .phone-dock[data-phase=starter] .controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px}
 .studio.phone-layout .phone-dock[data-phase=starter] .controls>.phone-start-hint{display:block!important;grid-row:1;grid-column:1;margin:0;font:14px/20px ui-monospace,monospace;white-space:nowrap}
 .studio.phone-layout .phone-dock[data-phase=starter] .shelf-link{grid-row:1;grid-column:2}
 .studio.phone-layout .phone-dock .tool{flex:1 0 56px;min-width:56px;min-height:48px;padding:2px;gap:2px}
 .studio.phone-layout .phone-dock .tool-row{padding:2px 0;gap:4px}
 .studio.phone-layout .phone-dock .starter-heading{margin:2px 0}
}
/* User-approved compact type; touch targets remain at least 44px. */
@media(max-width:620px){
 .studio.phone-layout .phone-dock :is(button,summary,a,.tool span,.glaze-selection,.phone-tool-hint,.phone-start-hint,small,.speed-control,.speed-readout,.glaze-size){font-size:13px!important}
 .studio.phone-layout .phone-dock .tool{min-height:44px}.studio.phone-layout .phone-dock .tool svg{width:18px;height:18px}
 .studio.phone-layout .phone-dock :is([data-fire],[data-finish]){min-height:44px}
 .studio.phone-layout .phone-dock :is(.phone-tool-hint,.phone-start-hint){line-height:18px}
 .studio.phone-layout .phone-dock .finish-effects-panel label{font-size:13px}
}
/* Desktop controls: recovery and speed share one row; glaze settings are modal. */
@media(min-width:621px){
 .studio .controls>.recovery-controls{position:static!important;inset:auto!important;transform:none;display:flex;flex:none;gap:4px;padding:0;background:none}
 .studio .controls{gap:8px}
 .studio .work-surface:is(.is-firing,.is-final-firing,.is-complete)~.bottom-interface .recovery-controls{display:none}
 .studio .glaze-tray{left:24px!important;right:24px!important;bottom:110px!important;width:auto;transform:none;max-height:none;padding:8px;gap:6px 12px}
 .studio:has(>.work-surface.is-glazing) .glaze-tray{display:grid;grid-template-columns:auto auto minmax(180px,280px);justify-content:start;align-items:center}
 .studio .glaze-selection{grid-column:1/-1}
 .studio .glaze-colors{grid-column:1/-1;justify-content:flex-start;gap:6px!important;width:auto}
 .studio .finish-effects{grid-column:1;grid-row:3}
 .studio .coat-glaze{grid-column:2;grid-row:3}
 .studio .glaze-size{grid-column:3;grid-row:3;display:flex;flex-wrap:nowrap;gap:6px;width:100%;min-width:0}
 .studio .glaze-size input{min-width:60px;flex:1;width:100px}
}
.desktop-effects-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:#f4ead8;color:var(--ink);border:1px solid #a38c6c;border-radius:12px;padding:20px;font:14px/1.4 ui-monospace,monospace}
.desktop-effects-dialog::backdrop{background:#30251855}
.desktop-effects-dialog h2{font:22px Georgia,serif;margin:0 0 12px}
.desktop-effects-dialog .finish-effects-panel{display:grid;position:static;inset:auto;transform:none;grid-template-columns:1fr 1fr;gap:4px 12px;width:100%;max-width:none;padding:0;background:none;box-shadow:none}
.desktop-effects-dialog .finish-effects-panel label{display:flex;align-items:center;min-height:44px;gap:6px}
.desktop-effects-dialog .finish-effects-panel :is(.piece-finish,.effect-intensity,small){grid-column:1/-1}
.desktop-effects-dialog select{font-size:16px;min-height:44px;margin-left:auto}
.desktop-effects-dialog button{display:block;margin:12px 0 0 auto;min-height:44px;padding:8px 20px;background:#66503b;color:#fff7e8;border:0;border-radius:6px;font:14px ui-monospace,monospace}
