:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--paper: #f4ead8;--paper-deep: #e1d2b8;--ink: #17232b;--muted: #69737a;--line: rgba(23, 35, 43, .16);--teal: #0f9a9c;--blue: #176fd1;--violet: #7556cb;--rose: #c84f7d;--panel: rgba(248, 244, 235, .88)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden;background:var(--paper);color:var(--ink)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.appShell{display:grid;grid-template-columns:minmax(0,1fr) 324px;width:100vw;height:100dvh;background:linear-gradient(90deg,#ffffff47,#fff0),var(--paper)}.canvasStage{position:relative;min-width:0;min-height:0;overflow:hidden}.watercolorCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;background:var(--paper)}.topRail{position:absolute;z-index:2;top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.eyebrow{margin:0 0 4px;color:#17232b9e;font-size:.72rem;line-height:1;text-transform:uppercase;letter-spacing:0}h1,h2{margin:0;letter-spacing:0}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,4.3vw,4.6rem);font-weight:500;line-height:.92;color:#17232bc2}.statusPill{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid rgba(23,35,43,.16);border-radius:999px;background:#f8f4eb9e;color:#17232bb8;font-size:.78rem;white-space:nowrap;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.controlPanel{position:relative;z-index:4;display:flex;flex-direction:column;gap:14px;min-width:0;height:100%;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow-y:auto;border-left:1px solid var(--line);background:linear-gradient(180deg,#fff6,#ffffff14),var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panelHeader{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.panelHeader svg{color:var(--teal)}.panelHeader h2{font-size:1rem;font-weight:700}.panelHeader p{margin:2px 0 0;color:var(--muted);font-size:.78rem}.swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-width:0;margin:0;padding:0;border:0}.swatch{position:relative;width:100%;aspect-ratio:1;border:1px solid rgba(23,35,43,.22);border-radius:6px;background:radial-gradient(circle at 35% 32%,rgba(255,255,255,.68),transparent 38%),radial-gradient(circle at 70% 75%,rgba(0,0,0,.12),transparent 48%),var(--swatch);cursor:pointer}.swatch.isSelected{outline:2px solid var(--ink);outline-offset:2px;box-shadow:inset 0 0 0 2px #ffffff94,0 0 0 1px #17232b1f}.swatch.isSelected:after{content:"";position:absolute;right:6px;bottom:6px;width:9px;height:9px;border:2px solid rgba(255,255,255,.88);border-radius:50%;background:#17232bd1}.controlRow{display:grid;gap:8px;padding:10px 0;border-bottom:1px solid rgba(23,35,43,.1)}.controlMeta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink);font-size:.86rem}.controlMeta span,.toggleRow span{display:inline-flex;align-items:center;gap:7px;min-width:0}.controlMeta svg,.toggleRow svg{color:var(--blue);flex:0 0 auto}.controlMeta strong{color:#17232bad;font-size:.76rem;font-weight:650;white-space:nowrap}input[type=range]{width:100%;height:18px;margin:0;accent-color:var(--blue)}.toggleRow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:8px 0;color:var(--ink);font-size:.88rem;border-bottom:1px solid rgba(23,35,43,.1)}.toggleRow input{width:42px;height:24px;accent-color:var(--teal)}.actionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:2px}.toolButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:40px;padding:0 10px;border:1px solid rgba(23,35,43,.2);border-radius:6px;background:#ffffff6b;color:var(--ink);cursor:pointer}.toolButton span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolButton.primary{border-color:#0f9a9c61;background:#0f8f91;color:#fff}.toolButton:focus-visible,.swatch:focus-visible{outline:3px solid rgba(23,111,209,.32);outline-offset:2px}.telemetry{display:grid;gap:8px;margin:auto 0 0;padding-top:12px;border-top:1px solid var(--line)}.telemetry div{display:flex;align-items:center;justify-content:space-between;gap:12px}.telemetry dt{color:var(--muted);font-size:.74rem}.telemetry dd{margin:0;color:#17232bc2;font-size:.76rem;font-variant-numeric:tabular-nums}.fallbackLayer{position:absolute;z-index:5;inset:0;display:grid;place-items:center;padding:28px;background:linear-gradient(90deg,#f4ead8f2,#f4ead8bd),var(--paper)}.staticWash{position:absolute;inset:0;overflow:hidden}.staticWash span{position:absolute;width:52vw;height:24vw;min-width:420px;min-height:190px;border-radius:48%;filter:blur(8px);opacity:.5;transform:rotate(-16deg)}.staticWash span:nth-child(1){left:-9vw;bottom:9vh;background:radial-gradient(circle at 30% 40%,rgba(65,215,191,.62),transparent 58%)}.staticWash span:nth-child(2){right:6vw;top:12vh;background:radial-gradient(circle at 44% 48%,rgba(31,139,234,.55),transparent 62%)}.staticWash span:nth-child(3){right:-10vw;bottom:8vh;background:radial-gradient(circle at 50% 42%,rgba(137,87,237,.45),transparent 64%)}.fallbackCopy{position:relative;width:min(480px,100%);padding:20px;border:1px solid var(--line);border-radius:8px;background:#f8f4ebdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fallbackCopy h2{margin-bottom:8px;font-size:clamp(1.35rem,4vw,2.4rem);font-family:Georgia,Times New Roman,serif;font-weight:500}.fallbackCopy p{margin:0;color:var(--muted);line-height:1.55}.fallbackActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}@media(max-width:860px){body{overflow:hidden}.appShell{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.controlPanel{height:min(42dvh,390px);border-left:0;border-top:1px solid var(--line);padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.topRail{align-items:flex-start}.statusPill{max-width:52vw;overflow:hidden;text-overflow:ellipsis}}@media(max-width:560px){.topRail{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}h1{font-size:clamp(1.7rem,11vw,3.2rem)}.statusPill{min-height:28px;padding-inline:8px;font-size:.68rem}.actionGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.toolButton{gap:5px;padding-inline:7px;font-size:.8rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}
