:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0d14;--surface-1:#11141d;--surface-2:#161a26;--surface-3:#1c2230;--surface-hover:#20273a;--border:#232a3b;--border-strong:#2e364c;--text:#eef0f7;--text-soft:#c4c9d6;--muted:#8189a0;--muted-2:#5f6781;--accent:#6366f1;--accent-hover:#7c7fff;--accent-soft:#6366f124;--accent-soft-strong:#6366f147;--accent-glow:0 0 0 1px #6366f166, 0 0 0 4px #6366f11f;--ring:var(--accent);--guide:#ff2d9b;--on-accent:#fff;--success:#10b981;--success-soft:#10b9812e;--warning:#f59e0b;--warning-soft:#f59e0b29;--danger:#ef4444;--danger-hover:#f25555;--danger-soft:#ef444429;--status-running-fg:#c7d2fe;--status-clean-fg:#6ee7b7;--status-error-fg:#fca5a5;--badge-warn-fg:#1f1300;--step-done-fg:#0a1f17;--font:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:15px;--fs-2xl:18px;--fs-display:24px;--space-2xs:2px;--space-xs:4px;--space-sm:6px;--space-md:8px;--space-lg:10px;--space-xl:12px;--space-2xl:14px;--space-3xl:16px;--space-4xl:20px;--space-5xl:24px;--space-6xl:32px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-pill:999px;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--t-fast:.12s;--t-med:.2s;--t-slow:.32s;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 18px #00000059, 0 2px 4px #00000040;--shadow-lg:0 18px 50px #0000008c, 0 4px 12px #0000004d;--topbar-h:54px;--sidebar-w:304px;--inspector-w:320px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}html,body{background:var(--bg);color:var(--text);font:var(--fs-md)/1.5 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{background:radial-gradient(1200px 600px at 80% -10%, #6366f11a, transparent 60%), radial-gradient(800px 400px at -10% 10%, #ec48990f, transparent 60%), var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}:where(button,a[href],[role=tab],[role=button],summary,input:not([type=range]):not([type=color]),select,textarea,[contenteditable=true]):focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px color-mix(in srgb, var(--ring) 55%, transparent);outline:none}.muted{color:var(--muted)}.err{color:var(--danger)}.err.small{font-size:var(--fs-sm)}.boot{min-height:100vh;font-size:var(--fs-lg);justify-content:center;align-items:center;padding:64px;display:flex}kbd{padding:1px var(--space-sm);border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-soft);background:#ffffff12;border:1px solid #ffffff14}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--inspector-w);grid-template-rows:var(--topbar-h) 1fr;height:100vh;transition:grid-template-columns .18s var(--ease);display:grid;overflow:hidden}.app.sidebar-collapsed{--sidebar-w:36px}.app.inspector-collapsed{--inspector-w:36px}.topbar{grid-column:1/-1}.sidebar{grid-area:2/1;overflow-y:auto}.canvas-area{grid-area:2/2;overflow-y:auto}.inspector{grid-area:2/3;position:relative;overflow-y:auto}.sidebar.rail,.inspector.rail{background:var(--surface-1);border:0;padding:0;overflow:hidden}.rail-left{box-shadow:inset -1px 0 0 var(--border)}.rail-right{box-shadow:inset 1px 0 0 var(--border)}.rail .rail-btn{cursor:pointer;width:100%;height:100%;color:var(--text-soft);padding:var(--space-3xl) 0;align-items:center;gap:var(--space-2xl);transition:background var(--t-fast) var(--ease);background:0 0;border:0;flex-direction:column;display:flex}.rail .rail-btn:hover{background:var(--surface-2);color:var(--text)}.rail .rail-btn .chev{display:inline-flex;transform:none}.rail .rail-btn .chev svg{display:block;transform:none}.rail .rail-btn .chev.rot-left svg{transform:rotate(180deg)}.rail .rail-count{background:var(--surface-3);color:var(--text-soft);font-size:var(--fs-2xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--r-pill);font-weight:600;line-height:1}.rail .rail-label{writing-mode:vertical-rl;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);-webkit-user-select:none;user-select:none;font-weight:700;transform:rotate(180deg)}.sidebar-head .collapse-btn{margin-left:auto}.chev.rot-left{display:inline-flex;transform:rotate(180deg)}.inspector-toolbar{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border);align-items:center;gap:var(--space-lg);display:flex}.inspector-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-2xs);gap:var(--space-2xs);flex:1;grid-template-columns:1fr 1fr;display:grid}.inspector-tabs .tab{color:var(--muted);font-weight:600;font-size:var(--fs-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border:none}.inspector-tabs .tab:hover:not(.active):not(:disabled){color:var(--text-soft)}.inspector-tabs .tab.active{background:var(--surface-3);color:var(--text);box-shadow:inset 0 1px #ffffff0a,0 1px 2px #00000040}.inspector-tabs .tab:disabled{color:var(--muted-2);cursor:not-allowed}.inspector-body{flex:1;overflow-y:auto}@media (width<=1180px){.app,.app.inspector-collapsed{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.inspector{border-left:none;border-top:1px solid var(--border);grid-area:3/1/auto/-1}.app,.app.inspector-collapsed{grid-template-rows:var(--topbar-h) 1fr auto;height:auto;min-height:100vh;overflow:visible}.sidebar,.canvas-area{overflow-y:visible}}.topbar{align-items:center;gap:var(--space-2xl);padding:0 var(--space-3xl);-webkit-backdrop-filter:saturate(140%)blur(16px);border-bottom:1px solid var(--border);z-index:20;background:#0b0e16d9;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-lg);letter-spacing:-.01em;font-weight:700;font-size:var(--fs-xl);display:flex}.brand .logo{background:conic-gradient(from 200deg,#6366f1,#ec4899,#f59e0b,#6366f1);border-radius:8px;width:28px;height:28px;position:relative;box-shadow:0 6px 18px #6366f159,inset 0 0 0 1px #ffffff14}.brand .logo:after{content:"";background:var(--surface-1);border-radius:5px;position:absolute;inset:5px;box-shadow:inset 0 0 0 1px #ffffff0f}.topbar .divider{background:var(--border);width:1px;height:24px}.topbar .meta{color:var(--muted);font-size:var(--fs-sm)}.topbar-status{color:var(--muted);font-size:var(--fs-xs);font-family:var(--font-mono);padding-left:var(--space-xl);border-left:1px solid var(--border);margin-left:var(--space-xs)}.topbar-status:empty{display:none}.topbar-spacer{flex:1}.topbar-actions{align-items:center;gap:var(--space-md);display:flex}.btn{--bg:var(--surface-2);--bd:var(--border);--fg:var(--text-soft);background:var(--bg);border:1px solid var(--bd);color:var(--fg);border-radius:var(--r-md);padding:var(--space-md) var(--space-xl);font-size:var(--fs-md);justify-content:center;align-items:center;gap:var(--space-sm);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--sm{padding:var(--space-sm) var(--space-lg);font-size:var(--fs-sm)}.btn--lg{padding:var(--space-lg) var(--space-3xl);font-size:var(--fs-lg)}.btn.primary{--bg:var(--accent);--bd:var(--accent);--fg:var(--on-accent);box-shadow:0 6px 18px #6366f159}.btn.primary:hover:not(:disabled){--bg:var(--accent-hover);--bd:var(--accent-hover);--fg:var(--on-accent);box-shadow:0 8px 22px #6366f173}.btn.danger{--bg:var(--danger);--bd:var(--danger);--fg:var(--on-accent)}.btn.danger:hover:not(:disabled){--bg:var(--danger-hover);--bd:var(--danger-hover);--fg:var(--on-accent)}.btn.outline{--bg:transparent;--bd:var(--border-strong);--fg:var(--text-soft)}.btn.outline:hover:not(:disabled){--bg:var(--surface-hover);--fg:var(--text);--bd:var(--border-strong)}.btn.ghost{--bg:transparent;--bd:transparent;--fg:var(--muted)}.btn.ghost:hover:not(:disabled){--bg:var(--surface-hover);--fg:var(--text);--bd:transparent}.btn.ghost.danger{--bg:transparent;--bd:transparent;--fg:var(--danger)}.btn.ghost.danger:hover:not(:disabled){--bg:var(--danger-soft);--bd:transparent;--fg:var(--danger)}.btn.subtle{--bg:var(--surface-3);--bd:transparent;--fg:var(--text-soft)}.btn.link{--bg:transparent;--bd:transparent;--fg:var(--accent);box-shadow:none;padding-left:0;padding-right:0}.btn.link:hover:not(:disabled){--bg:transparent;--fg:var(--accent-hover);text-decoration:underline}.icon-btn{color:var(--muted);border-radius:var(--r-sm);width:28px;height:28px;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-soft)}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-soft);font-size:var(--fs-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:var(--space-xs);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);font-weight:600;display:inline-flex}.chip:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}.chip.active{color:var(--accent-hover);border-color:var(--accent);background:var(--accent-soft)}.chip.shuffle{color:var(--accent-hover);border-color:var(--accent-soft-strong);background:var(--accent-soft)}.chip.shuffle:hover{background:var(--accent-soft-strong)}.chip-row{gap:var(--space-sm);flex-wrap:wrap;display:flex}.sidebar{background:var(--surface-1);border-right:1px solid var(--border);padding:var(--space-2xl) var(--space-xl) 80px;gap:var(--space-xl);flex-direction:column;display:flex}.sidebar-head{align-items:center;gap:var(--space-md);padding:0 var(--space-xs);display:flex}.sidebar-head h2{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.sidebar-head .count{color:var(--muted-2);font-size:var(--fs-xs)}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-2xs);gap:var(--space-2xs);display:flex;position:relative}.segmented .seg{min-width:0;color:var(--muted);padding:var(--space-sm) var(--space-xs);border-radius:var(--r-sm);font-weight:600;font-size:var(--fs-md);justify-content:center;align-items:center;gap:var(--space-xs);min-height:28px;transition:color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);background:0 0;border:none;flex:1 1 0;display:inline-flex;overflow:hidden}.segmented .seg .seg-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.segmented .seg:hover{color:var(--text);background:var(--surface-hover)}.segmented .seg.active{background:var(--surface-3);color:var(--text);box-shadow:0 1px 2px #0006,inset 0 0 0 1px #ffffff0a}.segmented .seg>svg{flex-shrink:0}.segmented .seg .pill{background:var(--surface-hover);color:var(--muted);padding:1px var(--space-sm);border-radius:var(--r-pill);font-size:var(--fs-xs);flex-shrink:0}.segmented .seg.active .pill{background:var(--accent-soft);color:var(--accent-hover)}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--space-3xl) var(--space-2xl);text-align:center;background:var(--surface-2);transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.dropzone .dz-icon{background:var(--surface-3);width:36px;height:36px;color:var(--text-soft);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.dropzone p{color:var(--muted);font-size:var(--fs-sm)}.dropzone.dragover{border-color:var(--accent);background:var(--accent-soft)}.file-btn{align-items:center;gap:var(--space-sm);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-md) var(--space-xl);font-size:var(--fs-sm);color:var(--text-soft);cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);font-weight:600;display:inline-flex}.file-btn:hover{background:var(--surface-hover);color:var(--text)}.file-btn input{display:none}.slides{gap:var(--space-sm);flex-direction:column;display:flex}.slides .hint{padding:var(--space-lg) var(--space-sm);font-size:var(--fs-sm);color:var(--muted);text-align:center}.slide-tile{background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-md);align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-xs);cursor:grab;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);grid-template-columns:auto 56px 1fr auto;display:grid;position:relative}.slide-tile:hover{background:var(--surface-3)}.slide-tile.dragging{opacity:.4;cursor:grabbing}.slide-tile.drop-before:before,.slide-tile.drop-after:after{content:"";background:var(--accent);border-radius:var(--r-pill);height:2px;box-shadow:0 0 0 2px var(--accent-soft);pointer-events:none;position:absolute;left:0;right:0}.slide-tile.drop-before:before{top:calc(var(--space-sm) / -2 - 1px)}.slide-tile.drop-after:after{bottom:calc(var(--space-sm) / -2 - 1px)}.slide-tile.busy{opacity:.55;pointer-events:none}.slide-tile.selected{border-color:var(--accent);background:var(--accent-soft)}.slide-tile .handle{color:var(--muted-2);opacity:.5;width:14px;transition:opacity var(--t-fast) var(--ease);justify-content:center;align-items:center;display:flex}.slide-tile:hover .handle{opacity:1}.slide-tile .thumb{border-radius:var(--r-sm);background:#000;flex-shrink:0;width:56px;height:56px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.slide-tile .thumb img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.slide-tile .meta{gap:var(--space-2xs);flex-direction:column;min-width:0;display:flex}.slide-tile .meta .name{font-size:var(--fs-md);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.slide-tile .meta .sub{font-size:var(--fs-xs);color:var(--muted);align-items:center;gap:var(--space-sm);display:flex}.slide-tile .tile-body{text-align:left;color:inherit;background:0 0;border:none;display:contents}.slide-tile .actions{align-items:center;display:flex;position:relative}.slide-tile .actions .icon-btn{opacity:0}.slide-tile:hover .actions .icon-btn,.slide-tile:focus-visible .actions .icon-btn,.slide-tile.selected .actions .icon-btn{opacity:1}.menu{margin-top:var(--space-sm);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--space-xs);z-index:50;min-width:180px;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:100%;right:0}.menu button{color:var(--text-soft);padding:var(--space-md) var(--space-lg);border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;text-align:left;align-items:center;gap:var(--space-md);background:0 0;border:none;display:flex}.menu button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.menu button:disabled{color:var(--muted-2);cursor:not-allowed}.menu .danger{color:var(--danger)}.menu .danger:hover{background:var(--danger-soft);color:var(--danger)}.tag{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2xs) var(--space-sm);border-radius:var(--r-xs);background:var(--surface-3);color:var(--muted);align-items:center;gap:var(--space-xs);width:fit-content;font-weight:700;display:inline-flex}.tag.ios,.tag.examples{color:#c4b5fd;background:#c4b5fd1f}.tag.android,.tag.uploads{color:#86efac;background:#86efac1f}.tag.phone{color:#93c5fd;background:#93c5fd1f}.tag.tablet{color:#fdba74;background:#fdba741f}.canvas-area{padding:var(--space-3xl) var(--space-5xl) 80px;gap:var(--space-3xl);flex-direction:column;display:flex}.welcome{background:linear-gradient(140deg, var(--surface-1), var(--surface-2));border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--space-6xl) var(--space-6xl);position:relative;overflow:hidden}.welcome:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#6366f12e,#0000 60%);position:absolute;inset:-50%}.welcome h1{font-size:var(--fs-display);letter-spacing:-.02em;margin-bottom:var(--space-sm)}.welcome p{color:var(--muted);font-size:var(--fs-md);max-width:60ch}.welcome .steps{margin-top:var(--space-5xl);gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid;position:relative}.welcome .step{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-2xl);gap:var(--space-lg);transition:border-color var(--t-fast) var(--ease), opacity var(--t-fast) var(--ease);grid-template-columns:30px 1fr;align-items:start;display:grid}.welcome .step.done{opacity:.55}.welcome .step .mark{background:var(--surface-3);border:1px solid var(--border);width:28px;height:28px;color:var(--muted);font-weight:700;font-size:var(--fs-sm);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.welcome .step.done .mark{background:var(--success);color:var(--step-done-fg);border-color:var(--success)}.welcome .step .lbl{font-size:var(--fs-md);color:var(--text);font-weight:600}.welcome .step .hint{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--space-2xs);font-weight:400;display:block}.device-rows{gap:var(--space-3xl);flex-direction:column;display:flex}.device-row{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-xl);transition:border-color var(--t-fast) var(--ease);overflow:hidden}.device-row.drop-active{border-color:var(--accent)}.device-row.drop-active .device-row-body{background:var(--accent-soft)}.device-row-header{align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-2xl);background:var(--surface-2);border-bottom:1px solid var(--border);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;top:0}.device-row-title{align-items:center;gap:var(--space-lg);flex-wrap:wrap;flex:1;min-width:0;display:flex}.device-row-title h3{font-size:var(--fs-lg);font-weight:600}.device-row-title .dims{font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--muted)}.device-row-body{gap:var(--space-2xl);padding:var(--space-3xl);scroll-snap-type:x proximity;transition:background var(--t-fast) var(--ease);align-items:flex-start;display:flex;overflow-x:auto}.device-row-body>*{scroll-snap-align:start}.device-row.drop-active .device-row-body{scroll-snap-type:none}.empty-row{padding:var(--space-5xl) var(--space-2xl);text-align:center;color:var(--muted);font-size:var(--fs-md)}.empty{padding:80px var(--space-6xl);text-align:center;color:var(--muted);font-size:var(--fs-md)}.badge{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2xs) var(--space-sm);border-radius:var(--r-pill);font-weight:600}.badge.fallback{background:var(--warning);color:var(--badge-warn-fg)}.badge.fallback-inline{background:var(--warning-soft);color:var(--warning)}.badge.override{background:var(--accent-soft);color:var(--accent)}.screenshot-card{background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);cursor:pointer;flex-shrink:0;overflow:hidden}.screenshot-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.screenshot-card.focused{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 0 4px var(--accent-soft-strong), var(--shadow-md)}.screenshot-card.dragging-card{opacity:.4}.screenshot-card.drop-target{border-color:var(--accent);box-shadow:-3px 0 0 var(--accent)}.card-preview-wrap{background:#000;position:relative;overflow:hidden}.card-loading{height:100%;color:var(--muted);font-size:var(--fs-sm);justify-content:center;align-items:center;display:flex}.card-chrome{padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-sm);font-size:var(--fs-xs);justify-content:space-between;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--border);background:var(--surface-1);display:flex}.card-actions{gap:var(--space-2xs);align-items:center;display:flex}.drag-handle{width:18px;height:22px;color:var(--muted-2);cursor:grab;border-radius:var(--r-sm);justify-content:center;align-items:center;display:inline-flex}.drag-handle:hover{color:var(--text-soft);background:var(--surface-hover)}.drag-handle:active{cursor:grabbing}.card-status{align-items:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-sm);border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600;display:inline-flex}.card-status:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.card-status.status-running,.card-status.status-pending{background:var(--accent-soft-strong);color:var(--status-running-fg)}.card-status.status-running:before{animation:1.1s infinite pulse}.card-status.status-clean{background:var(--success-soft);color:var(--status-clean-fg)}.card-status.status-dirty{background:var(--warning-soft);color:var(--warning)}.card-status.status-error{background:var(--danger-soft);color:var(--status-error-fg)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.canvas{transform-origin:0 0;position:relative;overflow:hidden}.canvas .text-block{text-align:center;z-index:3;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;padding:var(--hit-pad-y,var(--space-6xl)) var(--hit-pad-x,var(--space-5xl));margin:calc(-1 * var(--hit-pad-y,var(--space-6xl))) calc(-1 * var(--hit-pad-x,var(--space-5xl)));border-radius:var(--r-md);outline-offset:-4px;transition:outline-color .12s var(--ease), outline-width .12s var(--ease);outline:1.5px dashed #ffffff59;position:absolute}.canvas .text-block:hover{outline-color:#fff9}.canvas .text-block.dragging{cursor:grabbing;outline-offset:-4px;outline:2px solid #ffffffd9}.canvas .text-block.selected{outline:2px solid var(--accent);outline-offset:-4px}.canvas .text-block.editing{cursor:default;outline:2px solid var(--accent);outline-offset:-4px}.canvas .text-block.editing [contenteditable]{cursor:text;-webkit-user-select:text;user-select:text}.canvas .text-block [contenteditable]{outline:none}.canvas .text-block [contenteditable]:focus{background:#ffffff0f}.canvas .headline{letter-spacing:-.02em;font-weight:800;line-height:1.1}.canvas .subtitle{opacity:.78;font-weight:400;line-height:1.3}.canvas .device{z-index:2;cursor:grab;touch-action:none;position:absolute}.canvas .device:before{content:"";inset:calc(-1 * var(--hit-pad-y,12px));position:absolute}.canvas .device.dragging{cursor:grabbing}.canvas .device.selected{outline:2px solid var(--accent);outline-offset:2px}.canvas .device-shadow{position:absolute;inset:0}.canvas .align-guide{pointer-events:none;z-index:5;background:var(--guide);position:absolute}.canvas .align-guide.v{width:2px;top:0;bottom:0;transform:translate(-1px)}.canvas .align-guide.h{height:2px;left:0;right:0;transform:translateY(-1px)}.canvas .screenshot{object-position:top;z-index:1;pointer-events:none;position:absolute}.canvas .frame-img{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.canvas .safe-area-overlay{pointer-events:none;z-index:4;border-radius:var(--r-lg);border:8px dashed #ffffff8c;position:absolute}.inspector{background:var(--surface-1);border-left:1px solid var(--border);flex-direction:column;padding:0;display:flex}.insp-section{border-bottom:1px solid var(--border);padding:var(--space-2xl) var(--space-3xl);gap:var(--space-xl);flex-direction:column;display:flex}.insp-section:last-child{border-bottom:none}.insp-head{align-items:center;gap:var(--space-md);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700;display:flex}.insp-head .head-icon{color:var(--muted);display:inline-flex}.insp-head .head-spacer{flex:1}.insp-head .head-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted)}.insp-head-btn{cursor:pointer;width:100%;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;align-items:center;gap:var(--space-md);background:0 0;border:none;margin:0;padding:0;display:flex}.insp-head-btn .chev{color:var(--muted);transition:transform var(--t-fast) var(--ease);display:inline-flex}.insp-head-btn .chev.collapsed{transform:rotate(-90deg)}.insp-head-btn:hover .chev{color:var(--text-soft)}.insp-section.collapsed{padding-bottom:var(--space-2xl)}.insp-row{gap:var(--space-sm);flex-direction:column;display:flex}.insp-row>label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.insp-row.inline{align-items:center;gap:var(--space-lg);flex-direction:row}.insp-row.inline>label{text-transform:none;letter-spacing:0;font-size:var(--fs-md);color:var(--text-soft);flex:1;font-weight:500}.bg-swatches{gap:var(--space-sm);grid-template-columns:repeat(6,1fr);display:grid}.bg-swatch{aspect-ratio:1;border-radius:var(--r-sm);border:1px solid var(--border);cursor:pointer;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);background-position:50%;background-size:cover;padding:0}.bg-swatch:hover{transform:translateY(-1px)}.bg-swatch.active{border-color:var(--accent);box-shadow:var(--accent-glow)}.bg-swatch.inherit{background:var(--surface-2);color:var(--muted);font-size:var(--fs-lg);justify-content:center;align-items:center;line-height:1;display:flex}.theme-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.theme-card{aspect-ratio:4/5;border-radius:var(--r-md);border:1px solid var(--border);cursor:pointer;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);background-position:50%;background-size:cover;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.theme-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0000004d}.theme-sample{font-size:var(--fs-2xl);width:100%;padding:0 var(--space-md);font-weight:800}.theme-label{padding:var(--space-xs) var(--space-sm);font-size:var(--fs-2xs);color:var(--on-accent);text-align:center;background:linear-gradient(#0000,#0000008c);font-weight:600;position:absolute;bottom:0;left:0;right:0}input[type=text],input[type=number],input:not([type]),select,textarea{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--r-md);padding:var(--space-md) var(--space-lg);width:100%;transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);outline:none}input[type=text]:focus,input[type=number]:focus,input:not([type]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=color]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-2xs);cursor:pointer;width:44px;height:32px}input[type=checkbox]{accent-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent)}.device-list{gap:var(--space-xs);flex-direction:column;display:flex}.device-group-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);margin-top:var(--space-xs);font-weight:700}.device-chip{align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);grid-template-columns:20px 1fr auto;display:grid}.device-chip:hover{background:var(--surface-3)}.device-chip.checked{border-color:var(--accent);background:var(--accent-soft)}.device-chip .platform-icon{color:var(--muted);display:inline-flex}.device-chip.checked .platform-icon{color:var(--accent-hover)}.device-chip .label-col{flex-direction:column;min-width:0;display:flex}.device-chip .label-col .name{font-size:var(--fs-md);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.device-chip .label-col .dims{font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--muted)}.device-chip .check-ind{border:1.5px solid var(--border-strong);width:16px;height:16px;color:var(--on-accent);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.device-chip.checked .check-ind{background:var(--accent);border-color:var(--accent)}.insp-tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.insp-status{font-size:var(--fs-sm);color:var(--muted);padding:var(--space-md) var(--space-lg);border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--border);min-height:32px}.insp-status.busy{color:var(--text);border-style:solid;border-color:var(--accent-soft-strong);background:var(--accent-soft)}.insp-status.error{color:var(--danger);border-color:var(--danger-soft)}.insp-actions{gap:var(--space-md);display:flex}.insp-actions .btn{flex:1;justify-content:center}.progress{background:var(--surface-3);border-radius:var(--r-pill);height:4px;margin-top:var(--space-xs);overflow:hidden}.progress .bar{background:linear-gradient(90deg, var(--accent), #ec4899);width:0%;height:100%;transition:width var(--t-med) var(--ease);position:relative}.progress .bar.indeterminate{width:35%;animation:1.2s ease-in-out infinite indet}@keyframes indet{0%{transform:translate(-100%)}to{transform:translate(300%)}}.checkbox-inline{gap:var(--space-lg);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row!important;align-items:center!important;display:flex!important}.checkbox-inline em{color:var(--muted);font-style:normal;font-size:var(--fs-sm)}.safe-area-block{gap:var(--space-lg);flex-direction:column;display:flex}.safe-area-row{align-items:center;gap:var(--space-xs);display:flex;position:relative}.safe-area-grid{gap:var(--space-sm);flex-direction:column;display:flex}.safe-area-cell{align-items:center;gap:var(--space-sm);display:flex}.safe-area-cell>label{font-size:var(--fs-sm);color:var(--text-soft);flex:0 0 44px;font-weight:500}.safe-area-cell>input[type=number]{min-width:0;padding:var(--space-md) var(--space-lg);font-size:var(--fs-md);-moz-appearance:textfield;flex:1 1 0}.safe-area-cell>input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.safe-area-cell>input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.safe-area-cell>.unit{font-size:var(--fs-xs);color:var(--muted)}.safe-area-cell>.reset-btn{margin-left:var(--space-2xs)}.info-icon{color:var(--muted);border-radius:var(--r-sm);cursor:pointer;width:24px;height:24px;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.info-icon:hover{color:var(--text);background:var(--surface-hover)}.info-popover{top:calc(100% + var(--space-sm));z-index:50;max-width:280px;padding:var(--space-lg) var(--space-xl);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-soft);font-size:var(--fs-sm);line-height:1.5;position:absolute;left:0;box-shadow:0 8px 24px #00000059}.info-popover strong{color:var(--text)}.slide-focus-head{align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);display:flex}.slide-focus-head .name{font-weight:600;font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.range-row{gap:var(--space-sm);flex-direction:column;display:flex}.range-row .top{font-size:var(--fs-xs);color:var(--muted);justify-content:space-between;display:flex}.range-row .top .val{font-family:var(--font-mono);color:var(--text-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-pill);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.insp-section .section-body{gap:var(--space-xl);flex-direction:column;display:flex}.insp-row.override{position:relative}.insp-row.override>.reset-btn{flex:none}.reset-btn{border:1px solid var(--border);color:var(--muted);border-radius:var(--r-sm);cursor:pointer;width:24px;height:24px;transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex}.reset-btn:hover{color:var(--text-soft);border-color:var(--border-strong);background:var(--surface-2)}.seg-control{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-2xs);gap:var(--space-2xs);display:inline-flex}.seg-btn{color:var(--muted);padding:var(--space-xs) var(--space-lg);border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.seg-btn:hover:not(.active){color:var(--text-soft)}.seg-btn.active{background:var(--surface-3);color:var(--text);box-shadow:0 1px 2px #00000040}.slide-focus-head{margin:var(--space-2xl) var(--space-3xl) 0}.slide-focus-scope{margin:var(--space-md) var(--space-3xl) 0;padding:var(--space-sm) var(--space-lg);background:var(--accent-soft);border:1px solid var(--accent-soft-strong);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-soft);align-items:center;gap:var(--space-sm);display:flex}.slide-focus-scope strong{color:var(--text);font-weight:600}.slide-focus-scope .muted{color:var(--muted)}.preset-chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.preset-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-soft);font-size:var(--fs-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:var(--space-xs);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);font-weight:600;display:inline-flex}.preset-chip:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}.preset-chip.shuffle{color:var(--accent-hover);border-color:var(--accent-soft-strong);background:var(--accent-soft)}.preset-chip.shuffle:hover{background:var(--accent-soft-strong)}.toast-stack{left:50%;bottom:var(--space-5xl);z-index:100;gap:var(--space-md);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;align-items:center;gap:var(--space-md);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--space-md) var(--space-md) var(--space-md) var(--space-xl);font-size:var(--fs-md);color:var(--text-soft);max-width:360px;animation:toast-in var(--t-med) var(--ease-out);display:flex}.toast--danger{border-left-color:var(--danger)}.toast--success{border-left-color:var(--success)}.toast--info{border-left-color:var(--accent)}.toast-msg{flex:1}.toast .toast-action{flex:none;padding-inline:0}.toast .toast-dismiss{flex:none}@keyframes toast-in{0%{opacity:0;transform:translateY(var(--space-md))}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.screenshot-card:hover{transform:none!important}}
