:root{--bg:#f3f1ec;--surface:#fff;--surface-sunken:#fcfbf7;--tray:#e9e5db;--canvas:#f0f0f0;--border:#e6e2d8;--border-soft:#ece8dd;--border-input:#e0dccf;--border-strong:#d8d3c6;--border-dashed:#c8c2b2;--ink:#1a1a1a;--ink-secondary:#3a372f;--ink-muted:#5a564d;--ink-faint:#6a655a;--ink-ghost:#7e7969;--ink-contrast:#fff;--ink-hover:#333;--ink-active:#000;--accent:#4070ff;--accent-hover:#2855dd;--accent-strong:#2050cc;--accent-bg:#e8f0ff;--accent-bg-soft:#f0f4ff;--verdict-green:#1f8a4c;--verdict-amber:#d98324;--verdict-red:#c0392b;--verdict-green-text:#166e3b;--verdict-amber-text:#a05a00;--positive-bg:#e3f3e8;--positive-text:#166e3b;--positive-border:#bce3c8;--warning-bg:#fdf2e0;--warning-text:#8a5a1a;--warning-border:#f0d8ad;--chart-line:#2b6cb0;--chart-target:#cbb34d;--chart-zero:#e2b6b6;--chart-bar:#3b9ae0;--chart-track:#f0ece2;--palette-black:#000;--palette-magenta:#ff13f0;--palette-red:#ff2c2c;--palette-orange:#ff7518;--palette-yellow:#ffef00;--palette-green:#0bda51;--palette-blue:#0000cd;--palette-violet:#7f00ff;--palette-white:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--font-sans:"auto-pro-new",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-italic:"auto-pro-2-new","auto-pro-new",ui-sans-serif,system-ui,sans-serif;--font-mono:ui-monospace,monospace;--text-2xs:11px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-title:20px;--text-data:20px;--text-headline:32px;--radius-cap:3px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:14px;--radius-full:9999px;--radius-tray:calc(var(--radius-lg) - 1px);--sidebar-width:280px;--bottombar-height:44px;--transition-fast:120ms ease}[data-italic],em,i{font-family:var(--font-italic);font-style:italic}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}.app-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.studio-shell{display:flex;flex:1 1;min-height:0;width:100%}.studio-canvas{flex:1 1;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg)}.studio-panel{order:-1;width:var(--sidebar-width);flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--surface-sunken)}.panel-scroll{flex:1 1;overflow-y:auto;overflow-x:hidden}.studio-grip{display:none}@media (max-width:720px){.studio-shell{flex-direction:column}.studio-canvas{flex:none;width:100%}.studio-canvas,.studio-grip{border-bottom:1px solid var(--border)}.studio-grip{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:18px;cursor:ns-resize;background:var(--surface-sunken);touch-action:none}.studio-grip-bar{width:36px;height:4px;border-radius:2px;background:var(--border-strong)}.studio-grip:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.studio-grip:active .studio-grip-bar,.studio-grip[data-dragging] .studio-grip-bar{background:var(--accent)}.studio-panel{order:0;width:100%;height:auto;flex:1 1;min-height:0;overflow-y:auto;border-right:none}.panel-scroll{flex:none;overflow:visible}}.section{border-bottom:1px solid var(--border)}.section-hd{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:34px;padding:var(--space-2) var(--space-3);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:left;border:none;font-family:var(--font-sans);color:inherit;background:var(--surface-sunken);position:-webkit-sticky;position:sticky;top:0;z-index:2}@media (hover:hover) and (pointer:fine){.section-hd:hover{background:var(--bg)}}.section-title{font-size:var(--text-xs);font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em}.section-count{color:var(--ink-ghost);font-weight:500}.section-chevron{font-size:var(--text-2xs);line-height:1;color:var(--ink-ghost);transition:transform .18s cubic-bezier(.23,1,.32,1)}.section-chevron.open{transform:rotate(90deg)}.section-body{padding:14px var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface)}.section-body.list{padding:var(--space-3) var(--space-3) 14px;gap:6px}.section-body.hidden{display:none}.group{display:flex;flex-direction:column;gap:9px}.glabel{display:flex;align-items:center;gap:var(--space-2)}.glabel-text{font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.1em}.glabel-note,.glabel-text{font-size:var(--text-2xs);color:var(--ink-faint);white-space:nowrap}.glabel-rule{flex:1 1;height:1px;background:var(--border)}.scope{display:inline-flex;flex-shrink:0;border:1px solid var(--border-strong);border-radius:var(--radius-full);overflow:hidden;background:var(--surface)}.scope-seg{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:600;padding:2px var(--space-2);border:none;background:none;color:var(--ink-faint);cursor:pointer;white-space:nowrap}.scope-seg.on{background:var(--ink);color:var(--ink-contrast);font-weight:700}@media (hover:hover) and (pointer:fine){.scope-seg:not(.on):hover{color:var(--ink);background:var(--surface-sunken)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:14px}.card-title{font-size:var(--text-base);font-weight:700;margin-bottom:2px;color:var(--ink)}.card-hint{font-size:var(--text-sm);color:var(--ink-faint);margin:4px 0 12px;line-height:1.4}.tabbar{display:flex;gap:6px;margin-bottom:var(--space-4)}.tabbar--pill{background:var(--tray);padding:4px;border-radius:var(--radius-tray)}.tab{flex:1 1;border:none;background:transparent;cursor:pointer;padding:9px 0;font-size:var(--text-base);line-height:1;font-weight:600;color:var(--ink-faint);border-radius:var(--radius-md);font-family:var(--font-sans);transition:background var(--transition-fast),color var(--transition-fast)}.tabbar--pill .tab.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}.tabbar--outline{margin-bottom:14px}.tabbar--outline .tab{border:1px solid var(--border-input);background:var(--surface);padding:8px 0;font-size:var(--text-sm)}.tabbar--outline .tab.on{background:var(--ink);color:var(--ink-contrast);border-color:var(--ink)}.seg{display:inline-flex;border:1px solid var(--border-input);border-radius:var(--radius-md);overflow:hidden}.seg-btn{border:none;background:var(--surface);color:var(--ink-faint);font-size:var(--text-sm);line-height:1;padding:5px 10px;cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-fast),color var(--transition-fast)}.seg-btn.on{background:var(--ink);color:var(--ink-contrast)}.seg-btn:disabled{opacity:.55;pointer-events:none}.seg--wrap{flex-wrap:wrap;gap:var(--space-1);border:none;overflow:visible}.seg--wrap .seg-btn{border:1px solid var(--border-input);border-radius:var(--radius-md);padding:5px 10px}.seg--wrap .seg-btn.on{border-color:var(--ink)}.chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:var(--text-xs);line-height:1;padding:4px 10px;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface);color:var(--ink-faint);cursor:pointer;white-space:nowrap}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--ink-contrast)}.chip--dashed{border-style:dashed;background:transparent}@media (hover:hover) and (pointer:fine){.chip:not(.on):hover{border-color:var(--border-strong);color:var(--ink)}}.chip--split{padding:0;cursor:default}.chip-main{display:inline-flex;align-items:center;gap:6px;padding:4px 2px 4px 10px}.chip-del,.chip-main{border:none;background:none;color:inherit;font:inherit;cursor:pointer}.chip-del{font-size:var(--text-2xs);opacity:.55;line-height:1;padding:4px 10px 4px 4px}@media (hover:hover) and (pointer:fine){.chip-del:hover{opacity:1;color:var(--verdict-red)}.chip.on .chip-del:hover{color:inherit}}.badge{font-size:var(--text-2xs);font-weight:600;padding:1px 6px;white-space:nowrap;border:1px solid;border-radius:var(--radius-xs)}.badge--neutral{background:var(--surface-sunken);color:var(--ink-faint);border-color:var(--border-input)}.badge--ok{background:var(--positive-bg);color:var(--positive-text);border-color:var(--positive-border)}.badge--warn{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.badge--info{background:var(--accent-bg);color:var(--accent-strong);border-color:var(--accent-bg)}.statrow{display:flex;gap:14px;margin-top:var(--space-3);flex-wrap:wrap}.stat{flex:1 1 auto}.stat-label{font-size:var(--text-xs);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}.stat-value{font-size:var(--text-data);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px;color:var(--ink)}.optgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.optcard{display:flex;flex-direction:column;width:100%;text-align:left;border:1px solid var(--border-input);border-radius:var(--radius-md);padding:6px var(--space-2);cursor:pointer;background:var(--surface);font-family:var(--font-sans);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.optcard--center{align-items:center;justify-content:center;text-align:center}.optcard-label{font-size:var(--text-xs);font-weight:600;color:var(--ink);line-height:1.2}.optcard-sub{font-size:var(--text-2xs);color:var(--ink-faint);margin-top:1px;line-height:1.2}.optcard.on{background:var(--ink);border-color:var(--ink)}.optcard.on,.optcard.on .optcard-label,.optcard.on .optcard-sub{color:var(--ink-contrast)}.optcard.on .optcard-sub{opacity:.72}@media (hover:hover) and (pointer:fine){.optcard:not(.on):hover{background:var(--surface-sunken);border-color:var(--border-strong)}}.layer-row{display:flex;flex-direction:column;padding:7px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;position:relative}@media (hover:hover) and (pointer:fine){.layer-row:hover{background:var(--accent-bg-soft)}}.layer-row.active{border-color:var(--accent);background:var(--accent-bg-soft)}.layer-row.dragging{opacity:.4}.layer-row.drag-over{border-color:var(--accent);border-style:dashed}.layer-top{width:100%;min-height:36px}.layer-main,.layer-top{display:flex;align-items:center;gap:7px}.layer-main{flex:1 1;min-width:0;border:none;background:none;padding:0;cursor:pointer;text-align:left;font-family:var(--font-sans);color:inherit}.drag-handle{display:flex;align-items:center;cursor:-webkit-grab;cursor:grab;flex-shrink:0;color:var(--ink-ghost);padding:0 1px}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.drag-handle svg{display:block}.layer-thumb{width:36px;height:36px;border-radius:var(--radius-xs);border:1px solid var(--border);flex-shrink:0;overflow:hidden;background:var(--surface);display:flex;align-items:center;justify-content:center}.layer-thumb svg{display:block}.layer-info{flex:1 1;min-width:0;display:flex;flex-direction:column;justify-content:center}.layer-label{font-size:var(--text-xs);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-sub{font-size:var(--text-2xs);line-height:1.3;color:var(--ink-faint);margin-top:2px}.layer-btns{gap:2px;flex-shrink:0}.layer-btns,.lbtn{display:flex;align-items:center}.lbtn{width:24px;height:24px;border:none;background:none;cursor:pointer;border-radius:var(--radius-xs);justify-content:center;color:var(--ink-faint);padding:0}@media (hover:hover) and (pointer:fine){.lbtn:hover{background:var(--bg);color:var(--ink)}}.lbtn svg{display:block;pointer-events:none}.lbtn.vis-off{opacity:.4}.layer-expand{border-top:1px solid var(--accent-bg);margin-top:var(--space-2);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.layer-row.layer-hidden .layer-info,.layer-row.layer-hidden .layer-thumb{opacity:.45}.slabel{font-size:var(--text-xs);font-weight:600;color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px;display:flex;align-items:baseline;gap:6px}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field .slabel,.field-group .slabel{margin-bottom:0}.field-group{display:flex;flex-direction:column;gap:var(--space-2)}.slabel-note{font-size:var(--text-2xs);font-weight:400;color:var(--ink-faint);text-transform:none;letter-spacing:0}.slabel .badge{align-self:center}.sval{margin-left:auto;display:inline-flex;align-items:baseline;gap:3px;font-size:var(--text-sm);font-weight:700;color:var(--ink);text-transform:none;letter-spacing:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sunit{font-weight:500}.slabel-hint,.sunit{font-size:var(--text-2xs);color:var(--ink-faint)}.slabel-hint{margin-left:auto;font-weight:400;text-transform:none;letter-spacing:0}.srow{display:flex;align-items:center;gap:6px}.srow label{color:var(--ink-secondary);min-width:40px;flex-shrink:0}.srow label,.v{font-size:var(--text-xs)}.v{font-weight:700;min-width:28px;text-align:right;color:var(--ink)}input[type=range]{flex:1 1;min-width:0;height:16px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) 0 var(--fill,0),var(--border-strong) var(--fill,0) 100%)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 1px 2px rgba(0,0,0,.2)}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--border-strong)}input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.2)}input[type=range]:disabled{cursor:default;opacity:.55}select{font-size:var(--text-sm);padding:5px var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);width:100%}select:disabled{opacity:.65;background:var(--surface-sunken);cursor:default}.num{padding:7px 9px;border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--text-base);text-align:right;min-width:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:var(--font-sans);background:var(--surface);color:var(--ink)}.num--left{text-align:left}.labeled-num{display:flex;flex-direction:column;gap:3px}.labeled-num .mini-label{font-size:var(--text-xs);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em}.labeled-num .num{width:70px;padding:6px var(--space-2);font-size:var(--text-base);border-color:var(--border-input)}.emoji{width:38px;height:36px;text-align:center;flex:0 0 auto;padding:0;border:1px solid var(--border-input);border-radius:var(--radius-md);font-size:var(--text-title);background:var(--surface)}.hex-row{display:flex;align-items:center;gap:6px}.hex-swatch{width:22px;height:22px;border-radius:50%;flex-shrink:0;border:2px solid var(--border)}.hex-field{flex:1 1;min-width:0;display:flex;align-items:center;gap:5px;height:26px;padding:0 var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface)}.hex-field:focus-within{outline:2px solid var(--ink);outline-offset:2px}.hex-hash{font-size:var(--text-xs);color:var(--ink-ghost)}.hex-field .hex-in{flex:1 1;min-width:0;border:none;padding:0;background:none;font-size:var(--text-sm);font-family:var(--font-mono);letter-spacing:.05em}.hex-field .hex-in:focus-visible{outline:none}.hex-in{flex:1 1;font-size:var(--text-sm);padding:4px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);min-width:0}.crow{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.sw{width:18px;height:18px;border-radius:50%;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:2px solid transparent;flex-shrink:0}.sw.on{border-color:var(--ink)}.bgsw{width:18px;height:18px;border-radius:var(--radius-xs);padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:1.5px solid var(--border-strong);flex-shrink:0}.bgsw.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink-faint)}@media (hover:hover) and (pointer:fine){.sw:not(.on):hover{border-color:var(--ink-secondary)}.bgsw:not(.on):hover{border-color:var(--ink-faint)}}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:26px}.toggle-row>span{font-size:var(--text-sm);color:var(--ink-secondary)}.toggle{width:30px;height:17px;border-radius:var(--radius-full);padding:0;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-strong);cursor:pointer;position:relative;flex-shrink:0;transition:background var(--transition-fast)}.toggle.on{background:var(--accent)}.toggle:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--surface);top:2px;left:2px;transition:transform var(--transition-fast)}.toggle.on:after{transform:translateX(13px)}.toggle-row.disabled{opacity:.55}.toggle:disabled{cursor:default;pointer-events:none}@media (hover:hover) and (pointer:fine){.toggle:hover{background:var(--ink-ghost)}.toggle.on:hover{background:var(--accent-hover)}}.status{border:1px solid;border-radius:var(--radius-md);padding:7px var(--space-3);font-size:var(--text-base);line-height:1;font-weight:600;cursor:pointer;font-family:var(--font-sans);transition:filter var(--transition-fast)}.status--positive{background:var(--positive-bg);color:var(--positive-text);border-color:var(--positive-border)}.status--warning{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.status--neutral{background:var(--surface-sunken);color:var(--ink-muted);border-color:var(--border-input)}@media (hover:hover) and (pointer:fine){.status:hover{filter:brightness(.96)}}.verdict{background:var(--surface);border:2px solid;border-radius:var(--radius-xl);padding:var(--space-4) 18px;margin-bottom:14px}.verdict-top{display:flex;gap:10px;align-items:center;min-height:var(--space-4)}.verdict-dot{width:11px;height:11px;border-radius:var(--radius-full);flex:0 0 auto}.verdict-line{font-size:var(--text-title);font-weight:650;line-height:1.25;color:var(--ink)}.verdict-sub{font-size:var(--text-base);color:var(--ink-muted);margin-top:6px;line-height:1.45}.sparkline{width:100%;height:auto;display:block}.gear-card{display:flex;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 0 2px}.gear-card svg{display:block}.blend-row{display:flex;gap:4px}.blend-btn{font-size:var(--text-2xs);padding:3px 7px;border:1px solid var(--border-input);border-radius:var(--radius-xs);background:var(--surface);cursor:pointer;color:var(--ink-faint)}.blend-btn.on{background:var(--ink);color:var(--ink-contrast);border-color:var(--ink)}.ring-override{display:flex;align-items:center;gap:6px;margin-bottom:4px}.ring-override select{flex:1 1}.range-pair{display:flex;align-items:center;gap:4px}.rval{font-size:var(--text-xs);font-weight:700;min-width:18px;color:var(--ink)}.divider{height:1px;background:var(--border-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;line-height:1;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;padding:5px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--transition-fast),transform .16s cubic-bezier(.23,1,.32,1)}.btn:active{background:var(--tray);transform:scale(.97)}.btn:disabled{opacity:.55;pointer-events:none}.btn--primary{background:var(--ink);color:var(--ink-contrast);border-color:var(--ink)}.btn--primary:active{background:var(--ink-active);border-color:var(--ink-active)}@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--bg)}.btn--primary:hover{background:var(--ink-hover);border-color:var(--ink-hover)}}.add-layer-btn{width:100%;font-size:var(--text-xs);padding:6px;border:1px dashed var(--border-dashed);border-radius:var(--radius-md);background:transparent;cursor:pointer;color:var(--ink-faint);display:flex;align-items:center;justify-content:center;gap:5px;font-family:var(--font-sans)}@media (hover:hover) and (pointer:fine){.add-layer-btn:hover{background:var(--accent-bg-soft);border-color:var(--accent);color:var(--accent-strong)}}.exp-btn{width:100%;font-size:var(--text-xs);padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-family:var(--font-sans)}@media (hover:hover) and (pointer:fine){.exp-btn:hover{background:var(--surface-sunken);border-color:var(--border-strong)}}.exp-btn .exp-label{font-weight:600}.exp-btn .exp-desc{font-size:var(--text-2xs);color:var(--ink-faint);margin-top:1px}.exp-inner{display:flex;flex-direction:column}.tbtn{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;padding:8px 14px;min-height:36px;border:none;border-radius:var(--radius-cap);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 1px 0 rgba(0,0,0,.28);transition:background var(--transition-fast),transform 60ms ease,box-shadow 60ms ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.tbtn svg{display:block;pointer-events:none}.tbtn--blue{background:var(--accent-hover)}.tbtn--black{background:var(--ink)}@media (hover:hover) and (pointer:fine){.tbtn--blue:hover{background:var(--accent-strong)}.tbtn--black:hover{background:var(--ink-hover)}}.tbtn.on,.tbtn:active{transform:translateY(1px);box-shadow:inset 0 2px 4px rgba(0,0,0,.42)}.tbtn--blue.on,.tbtn--blue:active{background:var(--accent-strong)}.tbtn--black.on,.tbtn--black:active{background:var(--ink-active)}.tbtn:disabled{opacity:.5;cursor:default}.tbtn:disabled,.tbtn:disabled:active{box-shadow:none;transform:none}#studio-tabs{display:flex;border-bottom:2px solid var(--border);background:var(--surface);padding:0 var(--space-4);flex-shrink:0}.studio-tab{padding:10px var(--space-4);font-size:var(--text-base);line-height:1;font-weight:500;cursor:pointer;color:var(--ink-faint);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:none;font-family:var(--font-sans);-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:.01em}.studio-tab.on{color:var(--ink);border-bottom-color:var(--ink)}@media (hover:hover) and (pointer:fine){.studio-tab:not(.on):hover{color:var(--ink-secondary)}}.bm-wrap{padding:var(--space-6);max-width:900px;margin:0 auto;width:100%}.bm-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.bm-title{font-size:var(--text-lg);font-weight:600;color:var(--ink);margin-bottom:4px}.bm-sub{font-size:var(--text-sm)}.bm-empty,.bm-sub{color:var(--ink-faint)}.bm-empty{text-align:center;padding:60px 20px;font-size:var(--text-base)}.bm-group{margin-bottom:28px}.bm-group-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-secondary);margin-bottom:10px}.bm-group-note{font-size:var(--text-2xs);color:var(--ink-faint);font-weight:400;text-transform:none;letter-spacing:0}.bm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.bm-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.bm-card:focus-within{border-color:var(--ink)}@media (hover:hover) and (pointer:fine){.bm-card:hover{border-color:var(--border-strong)}}.bm-card-main{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer;text-align:left;font-family:var(--font-sans);color:inherit}.bm-card-main:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.bm-thumb{display:block;aspect-ratio:1;overflow:hidden;background:var(--canvas)}.bm-thumb svg{display:block;width:100%;height:100%}.bm-name{display:block;padding:var(--space-2) 10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-del,.bm-name{font-size:var(--text-sm)}.bm-del{position:absolute;top:6px;right:6px;width:22px;height:22px;border:none;background:hsla(0,0%,100%,.85);border-radius:var(--radius-full);cursor:pointer;color:var(--ink-faint);display:flex;align-items:center;justify-content:center}@media (hover:hover) and (pointer:fine){.bm-del:hover{color:var(--verdict-red)}}@media (pointer:coarse){.bm-del{width:36px;height:36px}}.add-layer-btn:focus-visible,.bgsw:focus-visible,.blend-btn:focus-visible,.bm-del:focus-visible,.btn:focus-visible,.chip:focus-visible,.emoji:focus-visible,.exp-btn:focus-visible,.hex-in:focus-visible,.layer-main:focus-visible,.lbtn:focus-visible,.num:focus-visible,.optcard:focus-visible,.save-row button:focus-visible,.save-row input:focus-visible,.scope-seg:focus-visible,.section-hd:focus-visible,.status:focus-visible,.studio-tab:focus-visible,.sw:focus-visible,.tab:focus-visible,.tbtn:focus-visible,.toggle:focus-visible,input[type=range]:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.chip-del:focus-visible,.chip-main:focus-visible,.seg-btn:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.seg--wrap .seg-btn:focus-visible{outline-offset:2px}@media (prefers-reduced-motion:reduce){.section-chevron,.toggle,.toggle:after{transition:none}.btn{transition:background var(--transition-fast)}.btn:active{transform:none}.tbtn{transition:background var(--transition-fast)}.tbtn.on,.tbtn:active{transform:none}}@media (pointer:coarse){.lbtn{width:44px;height:44px}.tbtn{min-height:44px}.add-layer-btn,.blend-btn,.btn,.exp-btn{min-height:42px}.scope-seg{padding:7px var(--space-3)}.seg-btn{min-height:44px;padding:0 var(--space-4)}.tab{padding:14px 0}.tabbar--outline .tab{padding:13px 0}.status{padding:9px 14px}.num,.status{min-height:44px}.emoji{width:44px;height:44px}.labeled-num .num{min-height:40px}input[type=range]{touch-action:pan-y;height:44px}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px}input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px}input[type=range]::-moz-range-progress,input[type=range]::-moz-range-track{height:6px;border-radius:3px}input[type=range]::-moz-range-thumb{width:22px;height:22px}.section-body{padding:var(--space-4) var(--space-3);gap:var(--space-4)}.group{gap:var(--space-3)}.field{gap:6px}.layer-expand{gap:var(--space-4)}.studio-tab{padding-top:14px;padding-bottom:14px}.crow{gap:10px}.bgsw,.sw{width:30px;height:30px}.toggle:before{content:"";position:absolute;inset:-14px}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{overflow-x:hidden}button,input{font-family:inherit}.tide-page{min-height:100vh;padding:28px 14px}.tide-col{max-width:560px;margin:0 auto;display:flex;flex-direction:column}.tide-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:12px}.tide-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.tide-h1{font-size:30px;margin:6px 0 0;font-weight:700;letter-spacing:-.02em}.tide-logout{border:1px solid var(--border-input);background:var(--surface);color:var(--ink-muted);border-radius:var(--radius-md);padding:6px 12px;font-size:12.5px;cursor:pointer;flex:0 0 auto}.tide-logout:hover{background:var(--surface-sunken)}.tide-foot{font-size:11.5px;color:var(--ink-faint);line-height:1.5;margin-top:4px}.tide-month{display:flex;align-items:center;gap:8px;margin-bottom:16px}.tide-month label{font-size:12px;color:var(--ink-muted)}.tide-month input{padding:7px 9px;border:1px solid var(--border-input);border-radius:var(--radius-md);font-size:13.5px;background:var(--surface);color:var(--ink)}.tide-ledger{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:5px 0;color:var(--ink-secondary)}.tide-ledger-total{border-top:1px solid var(--border-soft);margin-top:4px;padding-top:8px;font-weight:700;font-size:16px}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tide-gap-big{font-size:22px}.tide-hours{margin-top:12px;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:10px;padding:12px}.tide-hours--ok{background:var(--positive-bg);border-color:var(--positive-border)}.tide-hours-title{font-size:13px;font-weight:600;color:var(--warning-text);margin-bottom:8px}.tide-hours-title--ok{color:var(--positive-text)}.tide-hours-row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;border-top:1px dashed var(--warning-border)}.tide-hours-rate{font-size:13px;color:var(--ink-muted)}.tide-hours-val{font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tide-hours-exact{font-size:11.5px;font-weight:400;color:var(--ink-ghost)}.tide-legend{display:flex;gap:16px;font-size:12px;color:var(--ink-muted);margin-top:8px;flex-wrap:wrap}.tide-ldot{display:inline-block;width:9px;height:9px;border-radius:99px;margin-right:5px;vertical-align:middle}.tide-hint{font-size:12px;color:var(--ink-faint);margin:4px 0 12px;line-height:1.4}.tide-sync-err{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;margin-bottom:16px}.tide-field,.tide-sync-err{display:flex;align-items:center;justify-content:space-between;gap:10px}.tide-field{margin-bottom:8px}.tide-field-label{font-size:13px;color:var(--ink-muted)}.tide-line{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.tide-txt{padding:7px 9px;border:1px solid var(--border-input);border-radius:var(--radius-md);font-size:13.5px}.tide-date,.tide-txt{min-width:0;background:var(--surface);color:var(--ink)}.tide-date{padding:6px 8px;border:1px solid var(--border-input);border-radius:7px;font-size:12.5px}.tide-del{border:none;background:transparent;color:var(--ink-ghost);font-size:20px;cursor:pointer;line-height:1;padding:0 4px;flex:0 0 auto;margin-left:auto}.tide-del:hover{color:var(--verdict-red)}.tide-invoice{border:1px solid var(--border-soft);border-radius:10px;padding:12px;margin-bottom:10px;background:var(--surface-sunken)}.tide-subrow{border-bottom:1px solid var(--border-soft);padding-bottom:8px;margin-bottom:8px}.tide-breakdown{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border-input)}.tide-bd{display:flex;flex-direction:column;min-width:64px}.tide-bd-k{font-size:10.5px;color:var(--ink-muted)}.tide-bd-k--muted{color:var(--ink-ghost)}.tide-bd-v{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tide-bd-v--strong{font-weight:700;color:var(--positive-text)}.tide-sharetag{font-size:11.5px;color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tide-add{border:1px dashed var(--border-dashed);background:transparent;color:var(--ink-muted);border-radius:var(--radius-md);padding:7px 12px;font-size:13px;cursor:pointer;align-self:flex-start;margin-top:4px}.tide-add:hover{background:var(--surface-sunken)}.tide-move{border:1px solid var(--border-input);background:var(--surface);color:var(--ink-muted);border-radius:7px;padding:5px 9px;font-size:11.5px;cursor:pointer}.tide-move:hover{background:var(--surface-sunken)}.tide-cat{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.tide-cat-name{font-size:13px;color:var(--ink-secondary);width:130px;flex:0 0 auto}.tide-cat-val{font-size:13.5px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:64px;text-align:right;flex:0 0 auto}.tide-cat-pct{font-size:11px;color:var(--chart-line);flex:0 0 auto}.tide-bar-track{flex:0 0 auto;width:120px;height:9px;background:var(--chart-track);border-radius:99px;overflow:hidden}.tide-bar-fill{height:100%;border-radius:99px;background:var(--chart-bar)}.tide-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.tide-login-card{width:100%;max-width:360px}.tide-login-card .tide-txt{width:100%;margin:12px 0;padding:11px 12px;font-size:15px}.tide-login-btn{width:100%;border:none;background:var(--ink);color:#fff;border-radius:var(--radius-md);padding:11px;font-size:14px;font-weight:600;cursor:pointer}.tide-login-btn:disabled{opacity:.6;cursor:default}.tide-login-err{color:var(--verdict-red);font-size:13px;margin-top:4px;min-height:18px}.tide-add:focus-visible,.tide-date:focus-visible,.tide-del:focus-visible,.tide-login-btn:focus-visible,.tide-logout:focus-visible,.tide-month input:focus-visible,.tide-move:focus-visible,.tide-txt:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (pointer:coarse){.tide-add,.tide-date,.tide-del,.tide-login-btn,.tide-logout,.tide-month input,.tide-move,.tide-select,.tide-txt{min-height:44px}.tide-del{min-width:44px;display:inline-flex;align-items:center;justify-content:center}}.tide-select{font-family:inherit;font-size:13.5px;padding:4px 8px;border-radius:var(--radius-md);border:1px solid var(--border-input);background:var(--surface);color:inherit}.tide-page .emoji,.tide-page .num,.tide-page .seg,.tide-page .tide-date,.tide-page .tide-del,.tide-page .tide-select,.tide-page .tide-txt{min-height:36px}.tide-catgroup,.tide-page .card,.tide-page .tabbar--outline{margin-bottom:16px}.tide-catgroup-head{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.6;margin:0 0 8px}