:root{--paper: #fbfaf7;--bg: #eceae4;--bg-deep: #e3e0d8;--ink: #2b2825;--ink-soft: #6d675f;--ink-faint: #9a938a;--line: #d8d4cb;--surface: #ffffff;--accent: #1a1a1a;--agent: #7b5cd6;--ok: #3f8f7a;--warn: #c2412d;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 26px;--shadow-sm: 0 1px 2px rgba(40, 35, 28, .06), 0 2px 6px rgba(40, 35, 28, .05);--shadow-md: 0 2px 8px rgba(40, 35, 28, .08), 0 12px 28px rgba(40, 35, 28, .1);--shadow-lg: 0 4px 14px rgba(40, 35, 28, .1), 0 24px 60px rgba(40, 35, 28, .16);--ease: cubic-bezier(.22, 1, .36, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--ink);font:14px/1.5 ui-sans-serif,-apple-system,Segoe UI,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}kbd{font:500 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:2px 4px;border-radius:4px;background:#ffffff29;margin-left:6px}#app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:20px;padding:0 20px;height:56px;flex:none;border-bottom:1px solid var(--line);background:#fcfbf9d1;backdrop-filter:blur(14px);z-index:40}.brand{display:flex;align-items:center;gap:9px;flex:none}.brand-mark{width:20px;height:20px;border-radius:50%;background:var(--ink);box-shadow:9px 0 0 -3px var(--agent);margin-right:7px}.brand-name{font-weight:620;letter-spacing:-.01em}.note{display:flex;align-items:center;gap:10px;flex:1;min-width:0;max-width:560px}.note-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);flex:none}.note input{flex:1;min-width:0;font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid transparent;padding:5px 2px;outline:none;transition:border-color .18s var(--ease)}.note input::placeholder{color:var(--ink-faint)}.note input:hover{border-bottom-color:var(--line)}.note input:focus{border-bottom-color:var(--accent)}.topbar-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}.status{font-size:11.5px;font-weight:550;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.live{color:var(--ok);background:#3f8f7a1a}.status.idle{color:var(--ink-faint);background:#7871681a}.ghost{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:6px 11px;font-size:12.5px;font-weight:520;color:var(--ink-soft);transition:all .16s var(--ease)}.ghost:hover{color:var(--ink);border-color:var(--ink-faint);transform:translateY(-1px)}.ghost:active{transform:translateY(0)}.icon-btn{display:grid;place-items:center;width:30px;padding:0}.stage{flex:1;min-height:0;position:relative;overflow:hidden;isolation:isolate;z-index:0;padding:26px 26px 150px;background:radial-gradient(1200px 620px at 50% 8%,#f3f1ec 0%,var(--bg) 58%,var(--bg-deep) 100%)}.carousel{position:absolute;inset:0}.carousel-track{position:absolute;top:calc(50% - 62px);left:50%;width:0;height:0}.sheet{position:absolute;top:0;left:0;line-height:0;transform-origin:center;transition:transform .52s var(--ease),opacity .42s var(--ease);will-change:transform,opacity;backface-visibility:hidden}.sheet-canvas{display:block;width:min(76vw,calc((100vh - 260px)*1.6));height:auto;border-radius:4px;background:var(--paper);box-shadow:var(--shadow-lg);touch-action:none}.sheet.active .sheet-canvas{cursor:crosshair}[data-mode=fill] .sheet.active .sheet-canvas{cursor:cell}[data-mode=eyedrop] .sheet.active .sheet-canvas{cursor:copy}.sheet-shield{position:absolute;inset:0;border:0;padding:0;border-radius:4px;background:transparent;cursor:pointer}.sheet-shield:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sheet-tag{position:absolute;bottom:-34px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:3px;padding:4px 11px;border-radius:999px;background:#23201c1a;color:var(--ink-soft);font-size:11.5px;font-weight:550;line-height:1.5;white-space:nowrap;pointer-events:none;transition:background .22s var(--ease),color .22s var(--ease)}.sheet.active .sheet-tag{background:#23201ce0;color:#fff}.sheet-tag.deletable{padding-right:4px}.sheet-del{display:none;width:19px;height:19px;place-items:center;border:0;padding:0;border-radius:999px;background:transparent;color:#ffffff80;cursor:pointer;pointer-events:auto;transition:background .18s var(--ease),color .18s var(--ease)}.sheet-tag.deletable .sheet-del{display:grid}.sheet-del:hover{background:#ffffff29;color:#fff}.sheet-del:focus-visible{outline:2px solid var(--paper);outline-offset:1px}.sheet.active .sheet-tag.arm{background:var(--warn);color:#fff}.sheet.active .sheet-tag.arm .sheet-del{color:#fff;background:#fff3}.sheet.active .sheet-tag.arm .sheet-del:hover{background:#ffffff57}.loupe{position:fixed;top:0;left:0;width:0;height:0;z-index:90;pointer-events:none;opacity:0;transition:opacity .14s var(--ease)}.loupe.live{opacity:1}.loupe:before{content:"";position:absolute;left:-27px;top:-86px;width:54px;height:54px;border-radius:50%;background:var(--picked, #000);border:3px solid #fff;box-shadow:var(--shadow-md),0 0 0 1px #28231c2e}.loupe-hex{position:absolute;left:50%;top:-22px;transform:translate(-50%);padding:2px 7px;border-radius:999px;background:var(--picked, #000);color:var(--picked-ink, #fff);border:1.5px solid #fff;box-shadow:var(--shadow-sm);font-size:10.5px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.dock-wrap{position:fixed;bottom:26px;left:50%;transform:translate(-50%);z-index:60}.dock{display:flex;align-items:center;gap:6px;padding:12px 16px;border-radius:var(--r-xl);background:#fdfcfac7;backdrop-filter:blur(22px) saturate(1.7);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-md)}.dock-group{display:flex;align-items:center;gap:6px}.dock-sep{width:1px;height:26px;margin:0 7px;background:var(--line);flex:none}.dock-item{position:relative;width:48px;height:48px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-soft);--pop: 1;transition:color .18s var(--ease),background .18s var(--ease)}.dock-item:hover{color:var(--ink);--pop: 1.32}.dock-item:active{--pop: 1.16}.dock-item.active{color:var(--ink);background:#0000000b}.dock-glyph{display:grid;place-items:center;pointer-events:none;transform-origin:center;transform:scale(var(--pop));transition:transform .22s var(--spring);will-change:transform}.dock-ring{position:absolute;inset:0;pointer-events:none;opacity:0;transform-origin:center;transform:scale(calc(var(--pop) * .72));transition:opacity .2s var(--ease),transform .3s var(--spring)}.dock-ring svg{width:100%;height:100%;display:block}.dock-ring circle{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:135;stroke-dashoffset:135;transition:stroke-dashoffset .42s var(--ease) .04s}.dock-item.active .dock-ring{opacity:1;transform:scale(var(--pop))}.dock-item.active .dock-ring circle{stroke-dashoffset:0}.dock-tip{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%) translateY(4px);padding:5px 9px;border-radius:var(--r-sm);background:#23201cf0;color:#fff;font-size:11.5px;font-weight:520;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .16s var(--ease),transform .16s var(--ease)}.dock-item:hover .dock-tip{opacity:1;transform:translate(-50%) translateY(0)}.size-dot,.color-chip{display:block;border-radius:50%;background:var(--ink);transition:width .22s var(--spring),height .22s var(--spring),background .2s var(--ease)}.color-chip{width:22px;height:22px;box-shadow:inset 0 0 0 1px #00000024,0 1px 3px #00000029}.pop{position:absolute;bottom:calc(100% + 16px);left:0;transform:translate(-50%) translateY(8px) scale(.94);transform-origin:bottom center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:14px;opacity:0;pointer-events:none;transition:opacity .18s var(--ease),transform .28s var(--spring);cursor:default}.pop.open{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0) scale(1)}.pop-size{width:196px}.size-preview{height:104px;display:grid;place-items:center;background:linear-gradient(45deg,#f2f0eb 25%,transparent 25%,transparent 75%,#f2f0eb 75%) 0 0 / 12px 12px,var(--paper);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden}.size-preview-dot{display:block;border-radius:50%;transition:width .2s var(--spring),height .2s var(--spring)}.size-range,.layer-opacity{width:100%;accent-color:var(--accent)}.size-readout{text-align:center;font-size:12px;color:var(--ink-soft);margin-top:8px;font-variant-numeric:tabular-nums}.pop-color{width:236px}.cw{display:block}.cw-discwrap{position:relative;width:208px;height:208px;margin:0 auto 14px;touch-action:none}.cw-disc{display:block;border-radius:50%;box-shadow:inset 0 0 0 1px #00000012}.cw-thumb{position:absolute;width:17px;height:17px;border-radius:50%;transform:translate(-50%,-50%);border:2.5px solid #fff;box-shadow:0 0 0 1px #00000038,0 2px 6px #00000047;pointer-events:none}.cw-track{position:relative;height:15px;border-radius:999px;margin-bottom:10px;touch-action:none;box-shadow:inset 0 0 0 1px #00000017}.cw-alpha{background:linear-gradient(to right,transparent,var(--to, #000)),linear-gradient(45deg,#ddd 25%,transparent 25%,transparent 75%,#ddd 75%) 0 0 / 10px 10px,#fff}.cw-track-thumb{position:absolute;top:50%;width:15px;height:15px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;border:2.5px solid #fff;box-shadow:0 0 0 1px #00000038,0 1px 4px #00000040;pointer-events:none}.cw-row{display:flex;align-items:center;gap:6px;margin:12px 0 10px}.cw-hash{color:var(--ink-faint);font-size:13px}.cw-hex{flex:1;min-width:0;font:500 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;text-transform:lowercase;padding:7px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);outline:none;transition:border-color .16s var(--ease)}.cw-hex:focus{border-color:var(--accent)}.cw-eyedrop{flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink-soft);transition:all .16s var(--ease)}.cw-eyedrop:hover{color:var(--ink);border-color:var(--ink-faint)}.cw-swatches,.cw-recent{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.cw-recent{min-height:22px}.cw-swatch{position:relative;aspect-ratio:1;border:0;border-radius:5px;box-shadow:inset 0 0 0 1px #00000024;transition:transform .16s var(--spring),box-shadow .16s var(--ease)}.cw-swatch:hover{transform:scale(1.16)}.cw-swatch.selected{box-shadow:inset 0 0 0 1px #00000024,0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.cw-swatch.selected:hover{transform:none}.cw-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:12px 0 6px}.cw-empty{grid-column:1 / -1;font-size:11px;color:var(--ink-faint)}.layers,.toolpanel{position:fixed;top:56px;right:0;bottom:0;width:296px;background:#fdfcfaf0;backdrop-filter:blur(16px);border-left:1px solid var(--line);padding:16px;overflow-y:auto;transform:translate(100%);transition:transform .34s var(--ease);z-index:50}.layers.open,.toolpanel.open{transform:translate(0)}.layers-head,.toolpanel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.layers-head h2,.toolpanel-head h2{margin:0;font-size:12px;font-weight:620;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.layers-title{display:flex;align-items:baseline;gap:8px;min-width:0}.layers-canvas{font-size:11px;font-weight:560;color:var(--ink-faint);padding:2px 7px;border-radius:999px;background:#23201c0f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layers-add,.toolpanel-close{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-soft);transition:all .16s var(--ease)}.layers-add:hover,.toolpanel-close:hover{color:var(--ink);border-color:var(--ink-faint)}.toolpanel-close{transform:rotate(90deg)}.layer-row{display:grid;grid-template-columns:46px 1fr 26px 26px;grid-template-areas:"thumb main vis clear" "thumb opa  opa opa";align-items:center;gap:6px 8px;padding:9px 10px;border:1px solid transparent;border-radius:var(--r-md);margin-bottom:5px;background:var(--bg);touch-action:none;transition:background .16s var(--ease),border-color .16s var(--ease)}.layer-row:hover{background:#00000007}.layer-row.active{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}.layer-row.agent.active{border-color:color-mix(in srgb,var(--agent) 42%,var(--line))}.layer-row.hidden-layer .layer-thumb,.layer-row.hidden-layer .layer-name{opacity:.4}.layers-list.reordering .layer-row{transition:transform .16s var(--ease)}.layer-row.dragging{transition:none;position:relative;z-index:2;cursor:grabbing;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-md)}.layer-thumb{grid-area:thumb}.layer-thumb canvas{display:block;width:46px;height:29px;border-radius:3px;border:1px solid var(--line)}.layer-vis{grid-area:vis}.layer-main{grid-area:main;text-align:left;min-width:0;cursor:grab}.layer-clear{grid-area:clear}.layer-opacity{grid-area:opa;height:3px}.layer-depth{display:inline-grid;place-items:center;min-width:14px;height:14px;padding:0 3px;border-radius:4px;background:#23201c12;color:var(--ink-faint);font-size:9.5px;font-weight:650;font-variant-numeric:tabular-nums}.layer-confirm{display:none;font-size:11px;font-weight:600;color:var(--warn)}.layer-row.arming .layer-meta{display:none}.layer-row.arming .layer-confirm{display:block}.layer-row.arming{background:color-mix(in srgb,var(--warn) 8%,var(--surface));border-color:color-mix(in srgb,var(--warn) 34%,var(--line))}.layer-row.arming .layer-clear{color:var(--warn);background:#c2412d1f}.layers-hint{display:none;margin:10px 2px 0;font-size:10.5px;line-height:1.45;color:var(--ink-faint)}.layers-hint.show{display:block}.layer-vis,.layer-clear{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-faint);transition:color .16s var(--ease),background .16s var(--ease)}.layer-vis:hover,.layer-clear:hover{color:var(--ink);background:#0000000d}.layer-clear:hover{color:var(--warn)}.layer-main{border:0;background:transparent;padding:0}.layer-name{display:block;font-size:13px;font-weight:540;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-faint);margin-top:2px}.layer-badge{font-size:9.5px;font-weight:620;text-transform:uppercase;letter-spacing:.05em;padding:1.5px 5px;border-radius:4px;color:var(--agent);background:color-mix(in srgb,var(--agent) 13%,transparent)}.toolpanel-source{font-size:12px;line-height:1.6;color:var(--ink-soft);padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);margin-bottom:12px}.toolpanel-source .ok{color:var(--ok);font-weight:600}.toolpanel-source .warn{color:var(--warn);font-weight:600}.toolpanel-source code{font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;background:#0000000d;padding:2px 4px;border-radius:4px}.toolpanel-list{list-style:none;margin:0;padding:0}.toolpanel-item{display:flex;flex-direction:column;gap:1px;padding:7px 2px;border-bottom:1px solid var(--line)}.toolpanel-item:last-child{border-bottom:0}.toolpanel-item code{font:600 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}.toolpanel-item span{font-size:11.5px;line-height:1.45;color:var(--ink-faint)}.agent-cursor{position:absolute;top:0;left:0;pointer-events:none;opacity:0;transition:opacity .22s var(--ease);z-index:20;will-change:transform}.agent-cursor.live{opacity:1}.agent-nib{position:absolute;top:-5px;left:-5px;width:10px;height:10px;border-radius:50%;background:var(--ink, #7b5cd6);box-shadow:0 0 0 2px #ffffffe6,0 0 12px 2px color-mix(in srgb,var(--ink, #7b5cd6) 55%,transparent)}.agent-tag{position:absolute;top:8px;left:10px;display:flex;align-items:center;gap:4px;padding:3px 8px 3px 6px;border-radius:999px;background:var(--agent);color:#fff;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px #00000038}.feed{position:absolute;left:14px;bottom:14px;pointer-events:none;z-index:20}.feed-list{display:flex;flex-direction:column-reverse;gap:5px}.feed-row{display:flex;align-items:center;gap:7px;padding:5px 11px 5px 8px;border-radius:999px;background:#23201cdb;backdrop-filter:blur(8px);color:#fff;font-size:11.5px;font-weight:520;line-height:1.4;opacity:0;transform:translateY(6px) scale(.96);transition:opacity .3s var(--ease),transform .34s var(--spring)}.feed-row.in{opacity:1;transform:translateY(0) scale(1)}.feed-row.out{opacity:0;transform:translateY(-4px) scale(.97)}.feed-row.agent{background:color-mix(in srgb,var(--agent) 88%,#000)}.feed-dot{display:flex;align-items:center;color:#fff}.feed-row.human .feed-dot{width:6px;height:6px;border-radius:50%;background:#fff9;margin-left:3px}@media(max-width:860px){.note{display:none}.stage{padding:14px 14px 130px}.sheet-canvas{width:min(88vw,calc((100vh - 220px)*1.6))}.dock{padding:9px 11px;gap:4px}.dock-item{width:42px;height:42px}.dock-item:hover{--pop: 1.24}.layers,.toolpanel{width:100%}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
