.palette-workbench-page{background-color:#eee3bf;background-image:linear-gradient(rgba(38,32,24,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(38,32,24,.045) 1px,transparent 1px);background-size:24px 24px}.palette-lab{width:min(1880px,calc(100% - 32px));margin:24px auto 56px;color:#211a15}.palette-lab button,.palette-lab input,.palette-lab select{font:inherit}.palette-lab-hero{display:flex;justify-content:space-between;gap:32px;padding:34px 38px;border:3px solid #211a15;background:#f8f1d9;box-shadow:9px 9px 0 #11867f}.palette-lab-hero h1{max-width:850px;margin:5px 0 8px;font-size:clamp(2.6rem,5vw,5.3rem);line-height:.88;text-transform:uppercase}.palette-lab-hero>div:first-child>p:last-child{max-width:760px;margin:0;font-size:1.05rem;font-weight:650}.palette-lab-status{display:grid;align-content:center;min-width:250px;border-left:2px solid #211a15;padding-left:28px;font-family:var(--mono,monospace)}.palette-lab-status span{color:#08776e;font-weight:900}.palette-lab-status i{display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%;background:#00a879;box-shadow:0 0 0 4px rgba(0,168,121,.16)}.palette-lab-status strong{margin-top:8px}.palette-console,.palette-ai-console{margin-top:28px;border:3px solid #211a15;background:#fbf8ed;box-shadow:9px 9px 0 #211a15}.palette-console-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 24px;border-bottom:3px solid #211a15;background:#2a211b;color:#fff6db}.palette-console-head>div{display:flex;align-items:center;gap:16px}.palette-console-head>div>span{display:grid;place-items:center;width:52px;height:52px;background:#f2652f;color:#17130f;font-size:1.35rem;font-weight:950}.palette-console-head h2{margin:1px 0 0;font-size:clamp(1.5rem,3vw,2.5rem);text-transform:uppercase}.palette-console-head p{max-width:440px;margin:0;font-weight:750}.palette-console-head .eyebrow{color:#0eaa9d}.palette-control-rack{display:grid;grid-template-columns:minmax(270px,1.1fr) minmax(230px,.7fr) auto;gap:18px;padding:24px;border-bottom:2px solid #211a15;background:#e4e5c8}.palette-control-rack label{display:grid;gap:7px;font-family:var(--mono,monospace);font-size:.8rem;font-weight:900;letter-spacing:.08em}.palette-control-rack input[type=text],.palette-control-rack select{width:100%;min-height:52px;padding:9px 13px;border:2px solid #211a15;background:#fffdf6;color:#211a15;font-size:1rem;font-weight:800}.palette-color-inputs{display:grid;grid-template-columns:58px 1fr}.palette-color-inputs input[type=color]{width:58px;height:52px;padding:4px;border:2px solid #211a15;border-right:0;background:#fffdf6;cursor:pointer}.palette-color-field small{min-height:1em;color:#a62d1f;letter-spacing:0}.palette-control-actions{display:flex;align-items:end;gap:8px}.palette-control-actions button,.palette-action-row button,.palette-ai-form>button,.palette-tool-handoff a{min-height:52px;padding:10px 18px;border:2px solid #211a15;background:#fffdf6;color:#211a15;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:3px 3px 0 #211a15}.palette-control-actions button:first-child,.palette-ai-form>button,.palette-tool-handoff a{background:#f2652f}.palette-control-actions button:active,.palette-action-row button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #211a15}.palette-preset-rack{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:14px 24px;border-bottom:2px solid #211a15}.palette-preset-rack>span{margin-right:8px;font-family:var(--mono,monospace);font-size:.75rem;font-weight:950}.palette-preset-rack button{padding:7px 12px 7px 30px;border:1px solid #211a15;background:linear-gradient(90deg,var(--preset) 20px,#fffdf6 20px);font-size:.82rem;font-weight:850;cursor:pointer}.palette-live-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:370px}.palette-live-swatch{display:grid;align-content:end;gap:4px;min-width:0;padding:18px;border:0;border-right:2px solid #211a15;background:var(--swatch);color:var(--swatch-ink);text-align:left;cursor:pointer;transition:transform .18s ease}.palette-live-swatch:last-child{border-right:0}.palette-live-swatch:hover,.palette-live-swatch:focus-visible{transform:translateY(-7px);outline:4px solid #f5b936;outline-offset:-4px}.palette-live-swatch.is-selected{box-shadow:inset 0 -9px 0 #f5b936}.palette-live-swatch span,.palette-live-swatch small{font-family:var(--mono,monospace);font-size:.72rem;font-weight:900;text-transform:uppercase}.palette-live-swatch strong{font-size:clamp(1rem,2vw,1.65rem)}.palette-action-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px;border-top:2px solid #211a15;background:#f5b936}.palette-action-row p{margin:0;font-weight:800}.palette-action-row>div{display:flex;flex-wrap:wrap;gap:8px}.palette-action-row button{min-height:42px;padding:7px 12px;background:#fffdf6;box-shadow:2px 2px 0 #211a15}.palette-analysis-grid{display:grid;grid-template-columns:.8fr 1.25fr 1.25fr;gap:20px;margin-top:28px}.palette-analysis-panel{min-width:0;padding:22px;border:3px solid #211a15;background:#fbf8ed;box-shadow:6px 6px 0 rgba(33,26,21,.25)}.palette-analysis-panel header{margin-bottom:16px}.palette-analysis-panel h2{margin:2px 0 0;text-transform:uppercase}.palette-inspector-swatch{display:grid;place-items:end start;min-height:175px;padding:18px;border:2px solid #211a15;background:var(--inspector,#E24B4A);color:var(--inspector-ink,#fff)}.palette-inspector-swatch strong{font-size:1.7rem}.palette-format-list{margin:14px 0 0}.palette-format-list div{display:grid;grid-template-columns:52px 1fr;align-items:center;border-top:1px solid #8f8777}.palette-format-list dt{font-family:var(--mono,monospace);font-size:.72rem;font-weight:950}.palette-format-list dd{margin:0}.palette-format-list button{width:100%;padding:9px;border:0;background:transparent;text-align:left;font-weight:800;cursor:pointer}.palette-shades-panel>p{margin-top:-8px}.palette-shade-row{display:grid;grid-template-columns:repeat(7,1fr);min-height:210px;margin-top:18px;border:2px solid #211a15}.palette-shade-row button{display:grid;align-content:space-between;min-width:0;padding:9px 6px;border:0;border-right:1px solid #211a15;background:var(--shade);color:var(--shade-ink);cursor:pointer}.palette-shade-row button:last-child{border-right:0}.palette-shade-row small{writing-mode:vertical-rl;font-family:var(--mono,monospace);font-weight:800}.palette-contrast-summary{display:flex;align-items:center;gap:13px;padding:12px;border:2px solid #211a15;background:#e4e5c8}.palette-contrast-summary strong{font-size:2rem}.palette-contrast-summary span{font-weight:800}.palette-contrast-list{display:grid;gap:7px;margin-top:12px}.palette-contrast-list>div{display:grid;grid-template-columns:40px 76px 1fr;align-items:center;gap:8px;padding:9px;background:var(--contrast-bg);color:var(--contrast-ink);border:1px solid #211a15}.palette-contrast-list strong{font-size:1.25rem}.palette-contrast-list span,.palette-contrast-list small{font-weight:850}.palette-ai-layout{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr)}.palette-ai-form{align-content:start;padding:24px;border-right:3px solid #211a15;background:#e4e5c8}.palette-ai-form label{font-family:var(--mono,monospace);font-size:.76rem;font-weight:950}.palette-ai-form input[type=text],.palette-ai-form select{min-height:50px;border:2px solid #211a15;border-radius:0;background:#fffdf6}.palette-ai-form>button{width:100%}.palette-bias-drawer{border:2px solid #211a15;background:#fffdf6}.palette-bias-drawer summary{padding:11px;font-weight:900;cursor:pointer}.palette-bias-drawer .bias-panel{border:0;border-top:1px solid #211a15;border-radius:0}.palette-ai-output{min-width:0;padding:24px}.palette-ai-placeholder{display:grid;place-items:center;min-height:430px;border:2px dashed #7c7465;text-align:center}.palette-ai-placeholder span{font-family:var(--mono,monospace);font-weight:950;color:#08776e}.palette-ai-placeholder strong{font-size:1.5rem}.palette-ai-placeholder p{max-width:520px}.palette-ai-output .swatch-grid{grid-template-columns:repeat(5,minmax(0,1fr));height:auto}.palette-ai-output .swatch-card{min-height:260px;grid-template-rows:140px auto}.palette-ai-output .swatch-fill{min-height:140px}.palette-ai-output .swatch-meta{min-height:110px}.palette-tool-handoff{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:25px 28px;border:3px solid #211a15;background:#168c84;color:#fffdf6;box-shadow:8px 8px 0 #211a15}.palette-tool-handoff h2,.palette-tool-handoff p{margin:3px 0}.palette-tool-handoff a{color:#211a15;white-space:nowrap}@media(max-width:1050px){.palette-analysis-grid{grid-template-columns:1fr 1fr}.palette-contrast-panel{grid-column:1/-1}.palette-ai-layout{grid-template-columns:1fr}.palette-ai-form{border-right:0;border-bottom:3px solid #211a15}}@media(max-width:760px){.palette-lab{width:calc(100% - 16px);margin-top:8px}.palette-lab-hero{display:grid;padding:20px}.palette-lab-status{min-width:0;border-left:0;border-top:2px solid #211a15;padding:14px 0 0}.palette-console-head{align-items:start;padding:14px}.palette-console-head>p{display:none}.palette-console-head>div>span{width:42px;height:42px}.palette-control-rack{grid-template-columns:1fr;padding:14px}.palette-control-actions{align-items:stretch}.palette-control-actions button{flex:1}.palette-live-grid{grid-template-columns:1fr;min-height:0}.palette-live-swatch{min-height:145px;border-right:0;border-bottom:2px solid #211a15}.palette-live-swatch:last-child{border-bottom:0}.palette-action-row,.palette-tool-handoff{align-items:stretch;flex-direction:column}.palette-action-row>div{display:grid;width:100%;grid-template-columns:1fr}.palette-analysis-grid{grid-template-columns:1fr}.palette-contrast-panel{grid-column:auto}.palette-shade-row{min-height:170px}.palette-ai-output,.palette-ai-form{padding:14px}.palette-ai-output .swatch-grid{grid-template-columns:1fr 1fr}.palette-ai-output .swatch-card{min-height:220px}}


/* Isolate the AI controls from the generic three-column .tool-form layout. */
.palette-ai-layout{grid-template-columns:minmax(360px,500px) minmax(0,1fr)}
.palette-ai-form{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;margin-top:0}
.palette-ai-form>label{position:static;width:auto;height:auto;overflow:visible;clip:auto;margin-top:5px;color:#211a15}
.palette-ai-form>#seed,.palette-ai-form>#scheme,.palette-ai-form>.palette-prompt-list,.palette-ai-form>.palette-bias-drawer,.palette-ai-form>button,.palette-ai-form>.ai-policy-note{grid-column:1;width:100%;min-width:0}
.palette-ai-form .palette-prompt-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:2px 0 5px}
.palette-ai-form .palette-prompt-list span{display:flex;align-items:center;min-height:38px;border:1px solid #211a15;border-radius:0;background:#fffdf6;color:#494136;font-size:.8rem;line-height:1.2}
.palette-ai-form .palette-bias-drawer{margin:2px 0}
.palette-ai-form .palette-bias-drawer summary{min-height:44px;display:flex;align-items:center}
.palette-ai-form>button{margin-top:4px}
.palette-ai-form>.ai-policy-note{box-sizing:border-box;padding:11px 12px;border:1px solid #8d846f;background:rgba(255,253,246,.65);font-size:.8rem;line-height:1.35}
@media(max-width:1050px){.palette-ai-layout{grid-template-columns:1fr}}
@media(max-width:420px){.palette-ai-form .palette-prompt-list{grid-template-columns:1fr}}


/* Keep the live control rack on a shared baseline at every desktop width. */
.palette-control-rack{align-items:start}
.palette-control-rack>label{grid-template-rows:14px 52px 16px;align-content:start}
.palette-control-rack [data-palette-harmony]{height:52px;min-height:52px}
.palette-control-actions{height:52px;align-items:stretch;margin-top:21px}
.palette-control-actions button{height:52px;min-height:52px}
@media(max-width:1000px){.palette-control-rack{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.palette-control-actions{grid-column:1/-1;margin-top:0}}
@media(max-width:760px){.palette-control-rack{grid-template-columns:1fr}.palette-control-actions{grid-column:auto;margin-top:0}}


/* Instant gradient generator. */
.palette-gradient-console{margin-top:28px;border:3px solid #211a15;background:#fbf8ed;box-shadow:9px 9px 0 #211a15}
.palette-gradient-layout{display:grid;grid-template-columns:minmax(360px,500px) minmax(0,1fr)}
.palette-gradient-controls{display:grid;align-content:start;gap:14px;padding:24px;border-right:3px solid #211a15;background:#e4e5c8}
.palette-gradient-controls>label{display:grid;gap:7px;font-family:var(--mono,monospace);font-size:.78rem;font-weight:950;letter-spacing:.06em}
.gradient-colour-inputs{display:grid;grid-template-columns:58px minmax(0,1fr)}
.gradient-colour-inputs input[type=color]{width:58px;height:52px;padding:4px;border:2px solid #211a15;border-right:0;background:#fffdf6;cursor:pointer}
.gradient-colour-inputs input[type=text],.palette-gradient-angle input[type=number]{width:100%;height:52px;min-width:0;box-sizing:border-box;padding:9px 13px;border:2px solid #211a15;background:#fffdf6;color:#211a15;font-weight:850}
.palette-gradient-angle>span:first-child{display:flex;justify-content:space-between}.palette-gradient-angle output{color:#08776e;font-size:.9rem}
.palette-gradient-angle>span:last-child{display:grid;grid-template-columns:minmax(0,1fr) 86px;align-items:center;gap:12px}
.palette-gradient-angle input[type=range]{width:100%;accent-color:#f2652f}
.palette-gradient-error{min-height:18px;margin:-5px 0;color:#a62d1f;font-size:.8rem;font-weight:850}
.palette-gradient-actions{display:grid;grid-template-columns:1.25fr .75fr 1fr;gap:8px}
.palette-gradient-actions button{min-height:48px;padding:8px 12px;border:2px solid #211a15;background:#fffdf6;color:#211a15;font-weight:900;cursor:pointer;box-shadow:3px 3px 0 #211a15}
.palette-gradient-actions [data-gradient-copy]{background:#f2652f}.palette-gradient-actions button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #211a15}
.palette-gradient-output{display:grid;grid-template-rows:minmax(320px,1fr) auto;min-width:0;padding:24px;gap:16px}
.palette-gradient-preview{display:flex;justify-content:space-between;align-items:flex-end;min-height:320px;padding:24px;border:3px solid #211a15;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.palette-gradient-preview span{font-family:var(--mono,monospace);font-weight:950;letter-spacing:.08em}.palette-gradient-preview strong{font-size:clamp(2.2rem,5vw,5rem);line-height:.8}
.palette-gradient-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px;border:2px solid #211a15;background:#2a211b;color:#fff6db}
.palette-gradient-code code{min-width:0;overflow-wrap:anywhere;font-family:var(--mono,monospace);font-weight:850}.palette-gradient-code p{margin:0;color:#0eaa9d;font-size:.78rem;font-weight:850;text-align:right}
@media(max-width:1050px){.palette-gradient-layout{grid-template-columns:1fr}.palette-gradient-controls{border-right:0;border-bottom:3px solid #211a15}}
@media(max-width:600px){.palette-gradient-controls,.palette-gradient-output{padding:14px}.palette-gradient-actions{grid-template-columns:1fr}.palette-gradient-preview{min-height:230px;padding:16px}.palette-gradient-code{grid-template-columns:1fr}.palette-gradient-code p{text-align:left}.palette-gradient-angle>span:last-child{grid-template-columns:minmax(0,1fr) 74px}}


.palette-gradient-stop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.palette-gradient-stop-grid label{display:grid;min-width:0;gap:7px;font-family:var(--mono,monospace);font-size:.74rem;font-weight:950;letter-spacing:.05em}
@media(max-width:600px){.palette-gradient-stop-grid{grid-template-columns:1fr}}


.palette-shade-row button.is-selected{position:relative;z-index:1;outline:4px solid #f2652f;outline-offset:-4px;box-shadow:inset 0 -8px 0 #f5b936}
.palette-shade-row button.is-selected span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--shade-ink);color:var(--shade)}
