:root {
  --background: #f1ede3;
  --foreground: #263c3f;
  --border: #d8d0c1;
  --card: rgba(250,247,239,.88);
  --primary: #40786f;
  --primary-dark: #315f58;
  --secondary: #e5dac6;
  --muted: #6d7b7c;
  --accent: #c97a67;
  --danger: #a8473c;
  --shadow: 0 8px 28px rgba(38,60,63,.08);
  --radius: 18px;
}
[hidden]{display:none!important}
*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 93% 2%,rgba(201,122,103,.09),transparent 25rem),radial-gradient(circle at 4% 75%,rgba(64,120,111,.07),transparent 30rem),var(--background)}button,input,select,textarea{font:inherit}button{cursor:pointer}.studio-shell{min-height:100dvh;overflow-x:hidden}.page-width{width:min(1500px,100%);margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:28px 32px 20px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary);font-size:19px}.brand-title{font-weight:700;letter-spacing:-.03em}.brand-subtitle{margin-top:5px}.eyebrow{font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.local-status{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px}.status-dot,.accent-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);display:inline-block}.status-dot.muted{background:rgba(255,255,255,.45)}.main-wrap{padding:0 32px 42px}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;border-bottom:1px solid var(--border);padding:10px 0 30px;margin-bottom:22px}.hero-kicker{display:flex;gap:9px;align-items:center;margin-bottom:12px}.accent-line{width:26px;height:1px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,5vw,74px);line-height:.92;letter-spacing:-.045em;margin-bottom:0;font-weight:400}h1 em{color:var(--primary);font-weight:400}.hero>p{max-width:290px;color:var(--muted);line-height:1.65;font-size:14px;margin:0}.two-col{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:20px}.lower-grid{margin-top:20px}.panel{background:var(--card);border:1px solid rgba(216,208,193,.95);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;backdrop-filter:blur(8px)}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.section-head.simple{justify-content:flex-start}.section-head h2,.feedback-intro h2{font-size:19px;letter-spacing:-.025em;margin:6px 0 0}.text-button{border:0;background:none;color:var(--muted);padding:5px;font-size:12px}.text-button:hover{color:var(--foreground)}button:disabled{opacity:.45;cursor:not-allowed}.canvas-frame{position:relative;overflow:hidden;border-radius:13px;background:#293d40;height:310px}.reference-stage{touch-action:none;user-select:none}.reference-stage canvas,.camera-stage video{display:block;width:100%;height:100%}.reference-stage canvas{touch-action:none;cursor:crosshair}.reference-stage canvas.dragging{cursor:grabbing}.upload-prompt{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:rgba(242,237,227,.97);border:1px dashed var(--border);border-radius:13px}.upload-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:rgba(64,120,111,.12);color:var(--primary);font-size:28px;margin-bottom:12px}.upload-prompt h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:26px;margin-bottom:8px}.upload-prompt p{max-width:430px;color:var(--muted);line-height:1.5;font-size:13px}.primary-button,.secondary-button{border:0;border-radius:999px;padding:10px 16px;font-weight:700;font-size:13px;transition:.2s}.primary-button{background:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.primary-button.compact{padding:8px 12px}.secondary-button{background:rgba(64,120,111,.10);border:1px solid rgba(64,120,111,.35);color:var(--primary-dark)}.upload-prompt .primary-button{margin:3px 0 13px}.stage-badge{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:7px;max-width:calc(100% - 24px);padding:7px 10px;border-radius:999px;background:rgba(38,60,63,.76);color:#f7f0e2;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.stage-badge.bottom{top:auto;bottom:12px}.zoom-controls{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;border-radius:999px;background:rgba(38,60,63,.76);padding:3px;color:white}.zoom-controls button{width:30px;height:30px;border:0;background:transparent;color:white;border-radius:50%;font-size:16px}.zoom-controls button:hover{background:rgba(255,255,255,.12)}.zoom-controls span{min-width:48px;text-align:center;font-size:10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.colour-readout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.readout-values{display:flex;align-items:center;gap:8px;min-width:0}.readout-values strong{font:700 12px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em}.readout-values>span:last-child{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}.swatch{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(38,60,63,.16),0 4px 10px rgba(38,60,63,.12);flex:0 0 auto}.sample-meta{margin-top:9px;font-size:11px;color:var(--muted)}.info-note{margin-top:16px;padding:13px 14px;border-radius:12px;background:rgba(229,218,198,.52);color:var(--muted);font-size:12px;line-height:1.55}.info-note strong{color:var(--foreground)}.camera-stage video{object-fit:cover}.camera-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f7f0e2;text-align:center}.camera-placeholder small{margin-top:6px;color:rgba(255,255,255,.58)}.camera-icon{font-size:34px;margin-bottom:10px}.camera-overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.calibration-box{position:relative;width:88px;height:88px;border:1px solid rgba(255,255,255,.9);border-radius:12px;box-shadow:0 0 0 999px rgba(38,60,63,.17)}.calibration-box span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--accent)}.calibration-box label{position:absolute;top:-28px;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(38,60,63,.72);padding:5px 8px;border-radius:999px;color:white;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.wrap-readout{flex-wrap:wrap}.calibration-card{margin-top:16px;padding:14px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.28)}.calibration-copy strong{font-size:13px}.calibration-copy p{margin:5px 0 11px;color:var(--muted);font-size:11px;line-height:1.45}.calibration-actions{display:flex;gap:8px;flex-wrap:wrap}.calibration-status{margin-top:9px;font-size:11px;color:var(--muted)}.calibration-status.ok{color:var(--primary-dark);font-weight:700}.match-row{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--border);margin-top:19px;padding-top:16px}.match-row strong{font:700 32px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.08em}.match-row div span{font-size:12px;color:var(--muted)}.meter{height:8px;border-radius:999px;background:var(--secondary);overflow:hidden;margin-top:10px}.meter div{height:100%;width:0;background:var(--primary);border-radius:inherit;transition:width .4s ease}.guidance,.refinement{margin-top:12px;padding:13px;border-radius:12px;font-size:12px;line-height:1.5}.guidance{background:rgba(201,122,103,.10)}.guidance.good{background:rgba(64,120,111,.11);color:var(--primary-dark);font-weight:600}.refinement{background:rgba(229,218,198,.55);color:var(--muted)}.refinement:empty{display:none}.block-label{display:block;margin-bottom:7px}.select-control{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.35);color:var(--foreground);outline:none;margin-bottom:16px}.pigment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pigment-card{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.28);min-width:0}.pigment-card .swatch{width:29px;height:29px}.pigment-card strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pigment-card small{font:9px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.inventory-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;font-size:11px}.inventory-item:hover{background:rgba(229,218,198,.45)}.inventory-item input{accent-color:var(--primary)}.inventory-item .mini-swatch{width:17px;height:17px;border-radius:50%}.inventory-item small{margin-left:auto;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Consolas,monospace}.recipe-empty{padding:14px;border-radius:10px;background:rgba(229,218,198,.45);font-size:13px;color:var(--muted)}.recipe-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.recipe-index{color:var(--muted);font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.recipe-body{flex:1}.recipe-label{display:flex;justify-content:space-between;gap:8px;font-size:11px}.recipe-label span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--primary-dark);font-weight:700}.mini-meter{height:6px;background:var(--secondary);border-radius:999px;overflow:hidden;margin-top:6px}.mini-meter div{height:100%;border-radius:inherit}.recipe-note{border-top:1px solid var(--border);padding-top:13px;margin-top:14px;color:var(--muted);font-size:11px;line-height:1.5}.feedback-panel{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:28px;margin-top:20px}.feedback-intro p{color:var(--muted);font-size:13px;line-height:1.6;max-width:440px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feedback-form label span{display:block;font-size:11px;font-weight:700;margin-bottom:5px}.feedback-form input,.feedback-form textarea{width:100%;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.4);padding:11px 12px;color:var(--foreground);outline:none}.feedback-form input:focus,.feedback-form textarea:focus,.select-control:focus{border-color:rgba(64,120,111,.65);box-shadow:0 0 0 3px rgba(64,120,111,.1)}.wide-label{display:block;margin-top:12px}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.feedback-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.feedback-actions span{font-size:12px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding-top:18px;margin-top:28px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.fade-up{animation:fadeUp .6s cubic-bezier(.2,.8,.2,1) both}.delay-1{animation-delay:.06s}.delay-2{animation-delay:.12s}.delay-3{animation-delay:.18s}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.two-col,.feedback-panel{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.hero>p{max-width:560px}.canvas-frame{height:360px}.feedback-panel{gap:18px}}
@media(max-width:600px){.topbar,.main-wrap{padding-left:18px;padding-right:18px}.topbar{padding-top:18px}.local-status{display:none}.brand-title{font-size:15px}.brand-subtitle{max-width:240px;font-size:8px}.hero{padding-bottom:22px;margin-bottom:16px}.panel{padding:17px;border-radius:15px}.canvas-frame{height:300px}.section-head{gap:8px}.section-head h2,.feedback-intro h2{font-size:17px}.colour-readout{align-items:flex-start;flex-direction:column}.wrap-readout{flex-direction:row;align-items:center}.readout-values{flex-wrap:wrap}.pigment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-grid,.form-grid{grid-template-columns:1fr}.zoom-controls{bottom:11px}.stage-badge{font-size:8px;line-height:1.25}.calibration-actions{flex-direction:column}.calibration-actions button{width:100%}footer{flex-direction:column}.feedback-actions{align-items:flex-start;flex-direction:column}.feedback-actions button{width:100%}}
