.paint-studio{--ps-ink:var(--ahl-text,var(--text,#f6f0e8));--ps-muted:var(--ahl-muted,var(--muted,#b9ad9d));--ps-paper:#f7f3e9;--ps-border:var(--ahl-line,var(--line,#312d3c));--ps-accent:var(--ahl-accent,var(--accent,#f2b66d));--ps-on-accent:var(--ahl-button-text,#17110a);--ps-panel:var(--ahl-panel,var(--panel,#191720));--ps-panel2:var(--ahl-panel-2,var(--panel2,#23202c));--ps-bg:var(--ahl-bg,var(--bg,#0f0e12));--ps-input:var(--ahl-input-background,var(--ps-bg));--ps-hover:color-mix(in srgb,var(--ps-accent) 12%,var(--ps-panel2));max-width:1440px;margin:0 auto;padding:clamp(12px,2vw,28px);color:var(--ps-ink);font-family:inherit}.paint-studio *{box-sizing:border-box}.paint-studio [hidden]{display:none!important}.paint-studio__header{display:flex;justify-content:space-between;align-items:center;gap:20px}.paint-studio__header a{color:var(--ps-accent);font-size:13px}.paint-studio__header h1{font-size:clamp(28px,3vw,42px);line-height:1.2;margin:10px 0 0;letter-spacing:-.035em}.paint-studio__header h1 span{font-size:13px;font-weight:400;line-height:1.5;color:var(--ps-muted);letter-spacing:0;margin-left:18px}.paint-studio__header nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.paint-studio__intro{color:var(--ps-muted);font-size:14px;line-height:1.6;margin:14px 0 24px;max-width:920px}.paint-studio button,.paint-studio input,.paint-studio select,.paint-studio textarea{font:inherit}.paint-studio button{cursor:pointer}.paint-studio button:disabled{opacity:.42;cursor:default}.paint-studio :focus-visible{outline:3px solid var(--ps-accent);outline-offset:3px}.ps-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border:1px solid var(--ps-border);border-radius:9px;background:var(--ps-panel);color:var(--ps-ink)!important;font-size:13px!important;font-weight:600!important;line-height:1.2;text-decoration:none;white-space:nowrap}.ps-button:hover{background:var(--ps-hover)}.ps-primary{background:var(--ps-accent);color:var(--ps-on-accent)!important;border-color:var(--ps-accent)}.ps-primary:hover{background:var(--ps-hover)}.ps-quiet{background:transparent}.paint-studio__workspace{display:grid;grid-template-columns:214px minmax(0,1fr);border:1px solid var(--ps-border);border-radius:18px;overflow:hidden;background:var(--ps-panel);box-shadow:var(--ahl-card-shadow,0 12px 46px #0003)}.paint-studio__tools{padding:18px;background:var(--ps-panel);border-right:1px solid var(--ps-border);display:flex;flex-direction:column;gap:17px}.paint-studio fieldset{border:0;padding:0;margin:0}.paint-studio legend{font-size:11px;font-weight:700;letter-spacing:.065em;text-transform:uppercase;color:var(--ps-muted);margin-bottom:8px}.ps-segment{display:flex;gap:4px}.ps-segment button{flex:1;border:1px solid var(--ps-border);border-radius:7px;min-height:37px;padding:6px;font-size:12px;background:var(--ps-panel);color:var(--ps-muted)}.ps-segment button[aria-pressed=true]{background:var(--ps-accent);color:var(--ps-on-accent);border-color:var(--ps-accent)}.ps-label{display:block;font-size:12px;font-weight:650;line-height:1.5;margin:0}.ps-label output{float:right;color:var(--ps-muted);font-weight:400}.ps-label select,.ps-label input:not([type=range]),.ps-label textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--ps-border);background:var(--ps-panel);color:var(--ps-ink);border-radius:7px;min-height:38px;padding:7px;font-weight:400;font-size:13px}.ps-label input[type=range]{display:block;width:100%;margin:10px 0 0;accent-color:var(--ps-accent)}.ps-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ps-palette button{width:100%;height:31px;border:3px solid var(--ps-panel);border-radius:7px;background:var(--swatch);box-shadow:0 0 0 1px #0002}.ps-palette button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ps-ink)}.ps-palette label{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ps-muted);margin-top:2px}.ps-palette input{width:39px;height:30px;padding:2px;border:1px solid var(--ps-border);border-radius:5px;background:var(--ps-panel)}[data-wet-options]{display:grid;gap:16px}.ps-reservoir{padding:12px;background:var(--ps-panel2);border-radius:10px;display:grid;gap:10px}.ps-reservoir>div{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:650}.ps-reservoir i{width:16px;height:20px;display:block;background:var(--load-color,#ef5973);border-radius:70% 20% 60% 30%}.ps-reservoir progress{width:100%;height:6px;accent-color:var(--ps-accent)}.ps-reservoir small{font-size:10px;line-height:1.5;color:var(--ps-muted)}.ps-drying{border-top:1px solid var(--ps-border);padding-top:14px}.ps-drying summary{font-size:12px;cursor:pointer;font-weight:600}.ps-drying summary span{display:block;font-size:11px;color:var(--ps-muted);font-weight:400;margin:5px 0 0}.ps-drying label{margin:12px 0}.ps-drying>div{display:flex;gap:5px}.ps-drying .ps-button{padding:6px;min-height:35px;font-size:11px!important}.paint-studio__painting{min-width:0;display:flex;flex-direction:column;background:var(--ps-bg)}.ps-canvas-bar{padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ps-panel);border-bottom:1px solid var(--ps-border)}.ps-canvas-bar>label{min-width:0;flex:1}.ps-canvas-bar input{font-size:14px;font-weight:650;background:transparent;border:0;color:var(--ps-ink);width:100%;min-width:70px}.ps-canvas-bar>div{display:flex;gap:6px}.ps-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:28px;min-height:340px;flex:1;overflow:hidden;background:radial-gradient(ellipse at 45% 40%,var(--ps-panel2),var(--ps-bg))}.ps-stage canvas{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;aspect-ratio:1;box-shadow:0 10px 24px #0004;background:var(--ps-paper);touch-action:none;cursor:crosshair;user-select:none}.ps-cursor{position:fixed;border:1px solid #fff;outline:1px solid #263b42a8;border-radius:50%;pointer-events:none;z-index:5;transform:translate(-50%,-50%)}.ps-loading{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--ps-panel) 95%,transparent);font-size:14px;color:var(--ps-accent)}.ps-canvas-footer{padding:11px 16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--ps-panel);color:var(--ps-muted);font-size:11px}.ps-feedback{font-size:12px;line-height:1.5;color:var(--ps-accent);margin:0;padding:0 16px 12px;background:var(--ps-panel)}.ps-feedback:empty{padding:0}.ps-dialog{border:1px solid var(--ps-border);border-radius:15px;padding:24px;background:var(--ps-panel);color:var(--ps-ink);max-width:min(520px,calc(100vw - 24px));max-height:90vh;overflow:auto;box-shadow:var(--ahl-card-shadow,0 20px 70px #0006)}.ps-dialog::backdrop{background:color-mix(in srgb,var(--ps-bg) 65%,transparent);backdrop-filter:blur(3px)}.ps-dialog h2{font-size:24px;line-height:1.2;margin:0 0 12px}.ps-dialog p{font-size:14px;line-height:1.6;color:var(--ps-muted)}.ps-dialog form>.ps-label{margin:14px 0}.ps-dialog form>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:20px}.ps-publish img{display:block;max-width:100%;max-height:220px;margin:10px auto;box-shadow:0 3px 12px #0002}.ps-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.paint-studio:fullscreen,.paint-studio.ps-fullscreen{position:fixed;inset:0;z-index:10000;background:var(--ps-bg);width:100%;height:100%;max-width:none;overflow:auto;padding:16px}.paint-studio:fullscreen .ps-stage canvas,.paint-studio.ps-fullscreen .ps-stage canvas{max-height:calc(100vh - 235px)}.paint-studio:fullscreen .paint-studio__intro,.paint-studio.ps-fullscreen .paint-studio__intro{margin-bottom:12px}.paint-studio:fullscreen .paint-studio__header h1 span,.paint-studio.ps-fullscreen .paint-studio__header h1 span{display:none}@media(max-width:740px){.paint-studio{padding:10px}.paint-studio__header{align-items:flex-start;gap:12px}.paint-studio__header h1{font-size:29px}.paint-studio__header h1 span{display:none}.paint-studio__header nav{justify-content:flex-end;gap:5px;max-width:220px}.paint-studio__header .ps-button{font-size:11px!important;min-height:37px;padding:7px 9px}.paint-studio__intro{font-size:12px;margin:12px 0 16px}.paint-studio__workspace{display:flex;flex-direction:column;border-radius:12px}.paint-studio__painting{order:0}.paint-studio__tools{order:1;border-right:0;border-top:1px solid var(--ps-border);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:16px}.ps-stage{padding:15px;min-height:240px}.ps-stage canvas{max-height:60vh}.ps-canvas-bar{padding:9px;gap:6px}.ps-canvas-bar .ps-button{font-size:11px!important;min-height:37px;padding:6px 8px}.ps-canvas-bar input{font-size:12px}.ps-canvas-footer{padding:10px;font-size:10px}.ps-canvas-footer>span:last-child{display:none}.ps-palette{gap:6px}.ps-reservoir{align-content:start}.ps-drying{margin:0;padding:0;border:0}.ps-cursor{display:none}.paint-studio:fullscreen,.paint-studio.ps-fullscreen{padding:8px}.paint-studio:fullscreen .ps-stage canvas,.paint-studio.ps-fullscreen .ps-stage canvas{max-height:55vh}.paint-studio:fullscreen .paint-studio__intro,.paint-studio.ps-fullscreen .paint-studio__intro{display:none}}@media(prefers-reduced-motion:reduce){.paint-studio *{scroll-behavior:auto!important}}

/* Same visible tools, icons and tips as the world studio. */
.paint-studio__workspace{grid-template-columns:280px minmax(0,1fr)}
.paint-studio__tools{padding:14px;gap:14px}
.paint-studio .ps-brushes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}
.paint-studio .ps-brushes button,.paint-studio .ps-tip-buttons button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:44px;padding:4px 1px;border:1px solid var(--ps-border);border-radius:5px;font-size:8.5px;line-height:1.2;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.paint-studio .ps-brushes svg{width:25px;height:18px;flex:none}
.paint-studio .ps-brushes button>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.paint-studio .ps-brush-help{margin:7px 0 0;color:var(--ps-muted);font-size:10px;line-height:1.45}
.paint-studio .ps-tip-buttons>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.paint-studio .ps-tip-buttons button{font-size:10px}
.paint-studio .ps-tip-buttons svg{width:24px;height:16px}
.paint-studio .ps-palette [data-quick-colors]{display:contents}
.paint-studio .ps-brushes button[aria-pressed=true],.paint-studio .ps-tip-buttons button[aria-pressed=true]{--ps-control-bg:var(--ps-accent);--ps-control-ink:var(--ps-on-accent);border-color:var(--ps-accent)}
.paint-studio .ps-brushes button:hover,.paint-studio .ps-tip-buttons button:hover{box-shadow:inset 0 0 0 1px var(--ps-accent)}
.paint-studio .ps-segment button{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.paint-studio .ps-label input[type=range]{height:18px;min-height:18px;padding:0;margin:6px 0 0}
.paint-studio .ps-drying summary,.paint-studio .paint-mixing-palette summary{color:var(--ps-ink)}
@media(max-width:740px){.paint-studio .ps-brush-tools{grid-column:1/-1}.paint-studio .ps-brushes button{min-height:46px;font-size:10px}.paint-studio .ps-brushes svg{width:28px;height:21px}}

.ps-bristle-height[hidden]{display:none!important}.ps-bristle-height [data-action=bristle-circle]{justify-self:start;padding:3px 8px;font-size:11px;min-height:28px}

.paint-studio .paint-mixing-palette{margin:0;min-width:0;flex:0 0 auto;font-size:11px}.paint-studio .paint-mixing-palette>summary{min-height:30px}.paint-studio .mix-palette-wells{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.paint-studio .mix-palette-wells button{min-height:30px}.paint-studio .mix-palette-tools,.paint-studio .mix-palette-actions{gap:4px}.paint-studio .mix-palette-actions button{padding:5px 6px;font-size:10px}.paint-studio .mix-palette-actions [data-palette-rinse]{width:100%;margin-left:0}.paint-studio .mix-palette-ratio{flex-wrap:wrap}.paint-studio .mix-palette-ratio input{flex-basis:72px}@media(pointer:coarse){.paint-studio .mix-palette-wells{grid-template-columns:repeat(3,minmax(0,1fr))}.paint-studio .mix-palette-wells button{min-height:40px}}@media(max-width:740px){.paint-studio .paint-mixing-palette{grid-column:1/-1}.paint-studio .mix-palette-wells{grid-template-columns:repeat(6,minmax(0,1fr))}.paint-studio .mix-palette-actions [data-palette-rinse]{width:auto;margin-left:auto}}

/* Website buttons may have decorative gradients. Painting controls and pigment
   wells need their own surface so color selection stays truthful. */
.paint-studio button,.paint-studio .ps-button{
 background:var(--ps-control-bg,var(--ps-panel2))!important;
 color:var(--ps-control-ink,var(--ps-ink))!important;
 box-shadow:none;text-shadow:none;
}
.paint-studio .ps-button:hover{--ps-control-bg:var(--ps-hover)}
.paint-studio .ps-primary,.paint-studio .ps-segment button[aria-pressed=true],.paint-studio .mix-palette-tools button[aria-pressed=true]{--ps-control-bg:var(--ps-accent);--ps-control-ink:var(--ps-on-accent);border-color:var(--ps-accent)}
.paint-studio .ps-primary:hover{--ps-control-bg:color-mix(in srgb,var(--ps-accent) 90%,var(--ps-on-accent))}
.paint-studio .ps-quiet{--ps-control-bg:transparent}
.paint-studio .ps-label,.paint-studio .ps-canvas-bar input{color:var(--ps-ink)}
.paint-studio input::placeholder,.paint-studio textarea::placeholder{color:var(--ps-muted);opacity:1}
.paint-studio .ps-label select,.paint-studio .ps-label input:not([type=range]),.paint-studio .ps-label textarea{background:var(--ps-input);color:var(--ps-ink)}
.paint-studio .ps-palette button{--ps-control-bg:var(--swatch);padding:0;box-shadow:0 0 0 1px var(--ps-border)}
.paint-studio .ps-palette button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ps-ink)}
.paint-studio input[type=color]{background:var(--ps-panel2);cursor:pointer}
.paint-studio input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.paint-studio input[type=color]::-webkit-color-swatch{border:0;border-radius:3px}
.paint-studio input[type=color]::-moz-color-swatch{border:0;border-radius:3px}
.paint-studio .paint-mixing-palette{background:var(--ps-panel2);color:var(--ps-ink);border-color:var(--ps-border)}
.paint-studio .paint-mixing-palette summary span,.paint-studio .paint-mixing-palette [data-palette-status],.paint-studio .mix-palette-ratio{color:var(--ps-muted)}
.paint-studio .paint-mixing-palette button{border-color:var(--ps-border)}
.paint-studio .mix-palette-wells{background:var(--ps-bg)}
.paint-studio .paint-mixing-palette .mix-palette-wells button{--ps-control-bg:var(--well);border-color:color-mix(in srgb,var(--ps-ink) 45%,transparent);box-shadow:inset 1px 2px 4px #fff4,inset -2px -3px 4px #0004}
.paint-studio .paint-mixing-palette .mix-palette-wells button.is-empty{--ps-control-bg:var(--ps-panel2);--ps-control-ink:var(--ps-muted)}
.paint-studio .mix-palette-wells button[aria-pressed=true],.paint-studio .paint-mixing-palette button:focus-visible{outline-color:var(--ps-accent)}
.paint-studio .mix-palette-ratio input{accent-color:var(--ps-accent)}
.paint-studio .paint-mixing-palette [data-palette-rinse]{--ps-control-bg:var(--ps-hover);--ps-control-ink:var(--ps-ink)}

/* The core is the same shared control stack used beside the 3D canvas. */
.paint-studio__tools{display:flex;flex-direction:column;gap:0;align-self:start;min-width:0}
.paint-studio__tools>[data-paint-controls]{width:100%;min-width:0}
.paint-studio .paint-controls-drying{width:100%}
.paint-studio .ps-stage canvas.paint-sampling{cursor:crosshair}
@media(max-width:740px){.paint-studio__tools{align-self:stretch;width:100%;display:flex;padding:14px}}

/* The surrounding mat is also a stroke surface, so a stroke can enter the paper. */
.paint-studio .ps-stage{touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}
