/* Picker Studio is the final layout owner for this route. */
:root{--picker-line:#d9e0e6;--picker-muted:#667085;--picker-panel:#fff;--picker-soft:#f7f9fb;--picker-ink:#101828;--picker-accent:#111827}

body{overflow-x:hidden}
.picker-main{width:min(1180px,100%);margin:0 auto;padding:30px 18px 64px}
.picker-main>.intro{max-width:800px;margin:0 0 22px}
.picker-main>.intro h1{max-width:760px;margin:5px 0 9px;font-size:clamp(2.25rem,5.2vw,3.75rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.picker-main>.intro>p:last-child{max-width:680px;margin:0;color:#475467;font-size:.98rem;line-height:1.55}
.picker-main .eyebrow{margin:0;color:#667085;font-size:.66rem;font-weight:800;line-height:1.25;letter-spacing:.14em;text-transform:uppercase}

.picker-workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:18px;align-items:start}
.picker-compose,.picker-preview{min-width:0}
.picker-panel{min-width:0;border:1px solid var(--picker-line);border-radius:20px;background:var(--picker-panel);box-shadow:0 16px 42px rgba(16,24,40,.07)}
.capture-panel{display:grid;gap:14px;padding:20px}
.review-panel{display:grid;gap:14px;padding:18px}
.picker-preview{position:sticky;top:76px;align-self:start}

.step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.step-heading>div{min-width:0}
.step-heading h2{margin:5px 0 0;color:var(--picker-ink);font-size:1.18rem;line-height:1.25;letter-spacing:-.02em}
.step-heading>p{max-width:310px;margin:0;color:var(--picker-muted);font-size:.78rem;line-height:1.5}
.review-heading{align-items:center;gap:12px;padding:0}
.review-heading .text-button{flex:0 0 auto}

.source-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px;border:1px solid var(--picker-line);border-radius:15px;background:var(--picker-soft)}
.mode-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.mode-actions .primary,.mode-actions .secondary{min-height:40px;border-radius:10px;padding:0 13px;font-size:.77rem;white-space:nowrap}
.file-button{min-width:104px}
.sample-size{display:flex;flex:0 0 auto;align-items:center;gap:4px;padding:4px;border:1px solid var(--picker-line);border-radius:11px;background:#fff}
.sample-size>span{padding:0 5px;color:var(--picker-muted);font-size:.66rem;font-weight:800;white-space:nowrap}
.size-button{min-width:36px;height:32px;border-radius:8px;font-size:.7rem;cursor:pointer}
.status{min-height:20px;margin:0;color:var(--picker-muted);font-size:.78rem;line-height:1.4}

.capture-panel .stage{position:relative;display:grid!important;width:100%;min-height:470px;aspect-ratio:4/3;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:radial-gradient(circle at 50% 30%,#263244,#111827 72%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);touch-action:none;user-select:none;outline:none}
.capture-panel .stage:focus-visible{box-shadow:0 0 0 3px rgba(109,40,217,.28),inset 0 0 0 1px rgba(255,255,255,.03)}
.capture-panel .stage[data-source-active="false"]{border-style:dashed;border-color:#98a2b3;background:linear-gradient(145deg,#1d2939,#101828);cursor:pointer}
.capture-panel .stage[data-source-active="false"]:hover{border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(109,40,217,.14),inset 0 0 0 1px rgba(255,255,255,.04)}
.capture-panel .stage[data-drop-active="true"]{border-color:#a78bfa;box-shadow:0 0 0 4px rgba(109,40,217,.2),inset 0 0 0 1px rgba(255,255,255,.05)}
.capture-panel .stage video,.capture-panel .stage canvas{border-radius:inherit}
.empty-state{z-index:3;display:grid!important;max-width:260px;justify-items:center;gap:7px;padding:26px;text-align:center;color:#fff;pointer-events:none}
.empty-state[hidden]{display:none!important}
.empty-state .empty-icon{display:grid;width:46px;height:46px;place-items:center;margin-bottom:2px;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:rgba(255,255,255,.08);font-size:1.5rem;font-weight:400}
.empty-state strong{font-size:.95rem}
.empty-state span:last-child{color:#cbd5e1;font-size:.78rem;line-height:1.5}
.capture-note{margin:0;color:var(--picker-muted);font-size:.7rem;line-height:1.4;text-align:center}

.review-panel .result{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;margin:0;padding:14px;border:1px solid var(--picker-line);border-radius:16px;background:var(--picker-soft)}
.review-panel .swatch{position:relative;display:grid;width:96px;height:96px;place-items:center;overflow:hidden;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.review-panel .swatch:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 45%);pointer-events:none}
#swatchText{position:relative;z-index:1;font-size:1.35rem;font-weight:800;letter-spacing:-.04em}
.result-copy{display:grid;gap:3px;min-width:0}
.result-copy #hexValue{overflow:hidden;font:800 clamp(1.55rem,3.2vw,2.2rem)/1.05 'Space Mono',monospace;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}
.color-name{font-size:.88rem;font-weight:750}
.descriptors{overflow:hidden;color:var(--picker-muted);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}

.manual-color{display:grid;gap:6px;padding:12px;border:1px solid var(--picker-line);border-radius:14px;background:#fff}
.manual-color>label{color:#475467;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.manual-color-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.manual-color input{min-width:0;height:40px;border:1px solid #cfd7df;border-radius:10px;padding:0 12px;background:#fff;color:var(--picker-ink);font:700 .86rem 'Space Mono',monospace;text-transform:uppercase;outline:none}
.manual-color input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.13)}
.manual-color button{min-height:40px;border-radius:10px;padding:0 14px;font-size:.74rem}
.field-message{min-height:16px;color:#b42318;font-size:.68rem;line-height:1.35}
.field-message:empty{display:none}

.review-panel .result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.review-panel .result-actions>*{display:flex;min-width:0;min-height:40px;align-items:center;justify-content:center;border-radius:10px;padding:0 11px;font-size:.72rem;white-space:nowrap}

.intelligence-section{display:grid;gap:11px;margin:0;padding-top:2px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.section-heading h2,.section-heading h3{margin:0;color:var(--picker-ink);font-size:.94rem;line-height:1.25}
.section-heading p{margin:3px 0 0;color:var(--picker-muted);font-size:.7rem;line-height:1.4}
.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.match-card{min-width:0;padding:11px;border:1px solid var(--picker-line);border-radius:12px;background:linear-gradient(145deg,#fff,#f7f9fa)}
.match-card span{display:block;color:var(--picker-muted);font-size:.57rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.match-card strong,.match-card code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-card strong{margin-top:5px;font-size:.76rem}
.match-card code{margin-top:3px;color:#475467;font-size:.64rem}
.relationship-block{margin:0;padding:11px;border:1px solid var(--picker-line);border-radius:13px;background:var(--picker-soft)}
.relationship-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.relationship-heading h3{margin:0;font-size:.76rem}
.relationship-heading span{color:var(--picker-muted);font-size:.64rem}
.relationship-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.relationship-color{position:relative;display:grid;min-width:0;min-height:56px;aspect-ratio:auto;align-content:end;justify-items:start;gap:3px;overflow:hidden;border-radius:11px;padding:7px;cursor:pointer}
.relationship-color span,.relationship-color code{position:static;display:block;max-width:100%;overflow:hidden;border-radius:6px;background:rgba(255,255,255,.88);color:#111;text-overflow:ellipsis;white-space:nowrap}
.relationship-color span{padding:3px 6px;font-size:.55rem;font-weight:800}
.relationship-color code{padding:2px 6px;font-size:.52rem}

.picker-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.picker-secondary-grid>.picker-panel{padding:18px}
.format-section{grid-column:1/-1}
.format-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:13px 0 0}
.format-grid button{min-width:0;min-height:74px;padding:13px;border:1px solid var(--picker-line);border-radius:13px;background:#fff;text-align:left;cursor:pointer}
.format-grid span{display:block;color:var(--picker-muted);font-size:.62rem;font-weight:800;letter-spacing:.09em}
.format-grid strong{display:block;margin-top:7px;overflow:hidden;font:700 .76rem 'Space Mono',monospace;text-overflow:ellipsis;white-space:nowrap}
.palette-section,.samples{margin:0}
.text-button,.section-heading>button{min-height:34px;border:1px solid var(--picker-line)!important;border-radius:9px!important;padding:0 10px!important;background:#fff!important;color:#344054!important;font-size:.68rem!important;font-weight:800!important;white-space:nowrap}
.dominant-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;min-height:86px;align-items:center;margin-top:12px}
.dominant-color{border-radius:12px}
.sample-list{min-height:86px;margin-top:8px;padding:8px 0 2px}
.sample{width:64px}
.sample-color{width:64px;height:50px;border-radius:10px}
.sample code{font-size:.58rem}
.muted{font-size:.75rem;line-height:1.45}
.picker-main+.privacy-note,.privacy-note{display:none}

.primary,.secondary,.text-button{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.primary:hover,.secondary:hover,.text-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(16,24,40,.09)}
.primary:focus-visible,.secondary:focus-visible,.size-button:focus-visible,.relationship-color:focus-visible,.format-grid button:focus-visible,.text-button:focus-visible{outline:3px solid rgba(109,40,217,.25);outline-offset:2px}

html[data-hc-theme="dark"]{--picker-line:#344054;--picker-muted:#98a2b3;--picker-panel:#111827;--picker-soft:#182230;--picker-ink:#f8fafc;--picker-accent:#f8fafc}
html[data-hc-theme="dark"] body{background:linear-gradient(180deg,#101828,#0c111d);color:#f8fafc}
html[data-hc-theme="dark"] .picker-main>.intro>p:last-child{color:#cbd5e1}
html[data-hc-theme="dark"] .picker-panel{background:#111827;box-shadow:0 18px 46px rgba(0,0,0,.24)}
html[data-hc-theme="dark"] .source-toolbar,html[data-hc-theme="dark"] .review-panel .result,html[data-hc-theme="dark"] .relationship-block{background:#182230}
html[data-hc-theme="dark"] .sample-size,html[data-hc-theme="dark"] .manual-color,html[data-hc-theme="dark"] .format-grid button,html[data-hc-theme="dark"] .text-button,html[data-hc-theme="dark"] .section-heading>button{background:#101828!important;color:#f8fafc!important}
html[data-hc-theme="dark"] .manual-color input{border-color:#475467;background:#0c111d;color:#fff}
html[data-hc-theme="dark"] .match-card{background:linear-gradient(145deg,#182230,#101828)}
html[data-hc-theme="dark"] .match-card code,html[data-hc-theme="dark"] .step-heading>p,html[data-hc-theme="dark"] .picker-main>.intro>p:last-child{color:#cbd5e1}
html[data-hc-theme="dark"] .secondary{border-color:#475467;background:#182230;color:#f8fafc}
html[data-hc-theme="dark"] .primary{border-color:#f8fafc;background:#f8fafc;color:#101828}

@media(max-width:1040px){
  .picker-workspace{grid-template-columns:minmax(0,1fr) minmax(330px,.82fr)}
  .source-toolbar{align-items:flex-start;flex-direction:column}
  .sample-size{max-width:100%;overflow-x:auto}
  .capture-panel .stage{min-height:410px}
}

@media(max-width:900px){
  .picker-main{padding-top:24px}
  .picker-workspace{grid-template-columns:1fr}
  .picker-preview{position:static}
  .capture-panel .stage{min-height:390px}
  .picker-secondary-grid{grid-template-columns:1fr}
  .format-section{grid-column:auto}
}

@media(max-width:680px){
  .picker-main{padding:20px 12px 48px}
  .picker-main>.intro{margin-bottom:16px;padding:0 3px}
  .picker-main>.intro h1{font-size:clamp(2rem,10vw,2.55rem)}
  .picker-workspace,.picker-secondary-grid{gap:12px}
  .capture-panel,.review-panel,.picker-secondary-grid>.picker-panel{padding:14px;border-radius:17px}
  .step-heading{display:grid;gap:6px}
  .review-heading{display:flex;align-items:center}
  .step-heading>p{max-width:none}
  .source-toolbar{padding:8px}
  .mode-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .mode-actions>*{width:100%;min-width:0!important}
  .sample-size{width:100%}
  .sample-size>span{margin-right:auto}
  .capture-panel .stage{min-height:330px;aspect-ratio:3/4}
  .review-panel .result{grid-template-columns:76px minmax(0,1fr);padding:12px}
  .review-panel .swatch{width:76px;height:76px;border-radius:14px}
  .result-copy #hexValue{font-size:1.45rem}
  .format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dominant-palette{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:430px){
  .mode-actions{grid-template-columns:1fr}
  .review-panel .result-actions{grid-template-columns:1fr}
  .manual-color-row{grid-template-columns:1fr}
  .manual-color button{width:100%}
  .capture-panel .stage{min-height:300px}
  .match-grid,.relationship-palette{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){.primary,.secondary,.text-button,.match-card,.relationship-color,.dominant-color,.sample,.format-grid button{transition:none!important}}
