.ui-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-spacer{margin-left:auto}.ui-grid{gap:var(--space-3);display:grid}.ui-grid--2{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.ui-grid--3{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.ui-stack{gap:var(--space-4);flex-direction:column;display:flex}.ui-field{flex-direction:column;min-width:0;display:flex}.ui-label{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-faint);font-weight:700;display:block}.ui-input,.ui-area,.ui-select{width:100%;padding:var(--space-3);border:var(--border-width) solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-family:var(--font-mono);font-size:var(--step--1);font-variant-numeric:tabular-nums;border-radius:0}.ui-input:focus-visible,.ui-area:focus-visible,.ui-select:focus-visible{border-color:var(--c-accent);box-shadow:var(--shadow-sm);outline:none}.ui-area{resize:vertical;line-height:var(--leading-snug)}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-4);border:var(--border-width) solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);border-radius:0;font-weight:700;display:inline-flex}.ui-btn:hover:not(:disabled){border-color:var(--c-accent);color:var(--c-accent);box-shadow:var(--shadow-sm);transform:translate(-1px,-1px)}.ui-btn:active:not(:disabled){box-shadow:none;transform:none}.ui-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.ui-btn--primary{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-contrast)}.ui-btn--primary:hover:not(:disabled){color:var(--c-accent-contrast);border-color:var(--c-accent-hover);box-shadow:var(--shadow-ink-2)}.ui-btn--ghost{background:0 0}.ui-btn--sm{min-height:2rem;padding:0 var(--space-3);font-size:var(--step--2)}.ui-panel{padding:var(--space-4);border:var(--border-width) solid var(--c-border);background:var(--c-surface);border-radius:0}.ui-panel--flat{background:var(--c-bg-subtle)}.ui-note{padding:var(--space-3) var(--space-4);border-left:var(--ink-bar-width) solid var(--c-text-faint);background:var(--c-bg-subtle);font-size:var(--step--1);color:var(--c-text-muted);margin:0}.ui-note--err{border-left-color:var(--c-accent);color:var(--c-text)}.ui-note--ok{border-left-color:var(--c-ink-2)}.ui-empty{padding:var(--space-6);border:var(--border-hair) dashed var(--c-border);color:var(--c-text-faint);font-size:var(--step--1);text-align:center;margin:0}.ui-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ui-faint{color:var(--c-text-faint)}.ui-stats{gap:var(--space-5);flex-wrap:wrap;display:flex}.ui-stat{flex-direction:column;gap:2px;display:flex}.ui-stat .k{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--c-text-faint);font-weight:700}.ui-stat .v{font-family:var(--font-mono);font-size:var(--step-2);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.ui-stat .v.is-accent{color:var(--c-accent)}.ui-tabs{border-bottom:var(--border-width) solid var(--c-border);flex-wrap:wrap;display:flex}.ui-tab{min-height:2.25rem;margin-bottom:calc(var(--border-width) * -1);padding:0 var(--space-4);border:0;border-bottom:var(--border-width) solid transparent;color:var(--c-text-muted);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;font-weight:700}.ui-tab:hover{color:var(--c-accent)}.ui-tab.is-on{color:var(--c-text);border-bottom-color:var(--c-accent)}.ui-table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.ui-table th,.ui-table td{padding:var(--space-2) var(--space-3);border-bottom:var(--border-hair) solid var(--c-border);text-align:left}.ui-table th{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-faint);font-weight:700}.ui-check{align-items:center;gap:var(--space-2);font-size:var(--step--1);color:var(--c-text-muted);cursor:pointer;display:inline-flex}.ui-check input{width:1.05rem;height:1.05rem;accent-color:var(--c-accent)}.ui-overlay{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--c-bg);opacity:.95;text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.ui-overlay-title{font-size:var(--step-2);margin:0;font-weight:800}.ui-overlay-sub{color:var(--c-text-muted);font-size:var(--step--1);margin:0}.imgt{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.imgt .drop{padding:var(--space-6) var(--space-5);border:var(--border-width) dashed var(--c-border);background:var(--c-bg-subtle);text-align:center;transition:border-color .12s,background .12s}.imgt .drop.is-over{border-color:var(--c-accent);background:var(--c-accent-soft)}.imgt .compare{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=54rem){.imgt .compare{grid-template-columns:1fr 1fr}}.imgt .pane{gap:var(--space-2);flex-direction:column;display:flex}.imgt .frame{min-height:12rem;padding:var(--space-3);border:var(--border-width) solid var(--c-border);background:linear-gradient(45deg, var(--c-bg-subtle) 25%, transparent 25%) 0 0/16px 16px, linear-gradient(-45deg, var(--c-bg-subtle) 25%, transparent 25%) 0 8px/16px 16px, var(--c-surface);place-items:center;display:grid}.imgt .frame img{max-width:100%;height:auto;display:block}.imgt .meta{gap:var(--space-4);font-family:var(--font-mono);font-size:var(--step--2);flex-wrap:wrap;align-items:center;display:flex}.imgt .meta .k{color:var(--c-text-faint)}.imgt .saved{padding:var(--space-1) var(--space-3);background:var(--c-accent);color:var(--c-accent-contrast);font-weight:700}.imgt .grid-opts{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.imgt input[type=range]{width:100%;accent-color:var(--c-accent)}
