:root{--bg: #0e1117;--surface: #161b24;--surface-2: #1d2430;--border: #283142;--text: #e6e9ef;--muted: #8c96a8;--accent: #5b8cff;--accent-contrast: #ffffff;--cat-creative: #e879f9;--cat-ml: #2dd4bf;--cat-fav: #f0ac00;--warn: #f5b14c;--danger: #ef5d5d;--ok: #3ccf8e;--radius: 10px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Code", Consolas, monospace;color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f4f6fa;--surface: #ffffff;--surface-2: #eef1f6;--border: #d9dee8;--text: #1a1f2b;--muted: #5e6879;--accent: #2f66f0;--cat-creative: #a21caf;--cat-ml: #0f766e;--cat-fav: #b77900;--ok: #198754;color-scheme:light}}:root[data-theme=light]{--ok: #198754;--bg: #f4f6fa;--surface: #ffffff;--surface-2: #eef1f6;--border: #d9dee8;--text: #1a1f2b;--muted: #5e6879;--accent: #2f66f0;--cat-creative: #a21caf;--cat-ml: #0f766e;--cat-fav: #b77900;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased}h1,h2{margin:0;line-height:1.2}h2{font-size:13px;font-weight:600;letter-spacing:.02em}code{font-family:var(--mono);font-size:12px}button,input,select{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:12px}.error,.error-text{color:var(--danger)}p.error{margin:0;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--danger) 12%,transparent)}.push-right{margin-left:auto}.row{display:flex;flex-wrap:wrap;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-block{width:100%;padding:10px 14px;font-weight:600}.icon-btn{border:0;background:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.icon-btn:hover:not(:disabled){color:var(--text)}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn--danger:hover:not(:disabled){color:var(--danger)}.select{width:100%;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2)}input[type=range]{width:100%;accent-color:var(--accent)}.checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox input{accent-color:var(--accent)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.segmented{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.segmented button{flex:1;min-width:0;padding:7px 10px;border:0;background:var(--surface-2);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.segmented button+button{border-left:1px solid var(--border)}.segmented button.is-active{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2));color:var(--text);font-weight:600}.tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.badge--local{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.badge--version{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);text-decoration:none}a.badge--version:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.badge--running{color:var(--accent)}.badge--completed{color:var(--ok)}.badge--cancelled{color:var(--warn)}.badge--failed{color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:12px}.panel-header{display:flex;align-items:center;gap:10px;min-height:22px}.empty{display:grid;place-items:center;gap:12px;text-align:center;color:var(--muted);padding:48px 16px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.stats-grid div{background:var(--surface-2);border-radius:8px;padding:8px 10px}.stats-grid dt{font-size:11px;color:var(--muted)}.stats-grid dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.stats-grid--dense dd{font-size:13px}.progress{display:flex;height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress-fill{background:var(--accent);transition:width .2s linear}.progress-fill--failed{background:var(--danger)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:10px;height:52px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--text);text-decoration:none}.brand-name{font-size:17px;letter-spacing:-.01em}.brand img{width:26px;height:26px}@media(max-width:640px){.brand-name{font-size:14px}.brand img{width:22px;height:22px}}.crumb{color:var(--muted)}.crumb-current{font-weight:600}.topbar .brand{min-width:0}.topbar .brand-name,.topbar .crumb-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .crumb,.topbar .badge{flex-shrink:0;white-space:nowrap}.landing-layout{display:flex;justify-content:center;gap:32px;padding:0 16px}.landing{width:min(1100px,100%);min-width:0;padding:48px 0 64px;display:flex;flex-direction:column;gap:32px}.landing-sidebar{flex:none;width:300px;padding-top:48px}.landing-sidebar .dt-slot{position:sticky;top:76px}.hero{position:relative;overflow:hidden;padding:44px 44px 36px;border:1px solid var(--border);border-radius:24px;background:radial-gradient(560px 280px at 100% 0%,color-mix(in srgb,var(--cat-creative) 14%,transparent),transparent 70%),radial-gradient(520px 260px at 0% 100%,color-mix(in srgb,var(--cat-ml) 12%,transparent),transparent 70%),radial-gradient(640px 300px at 25% -10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),var(--surface)}.hero-brand{margin:0 0 10px;color:var(--accent);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.hero h1{max-width:19ch;margin-bottom:18px;font-size:clamp(30px,4.6vw,50px);line-height:1.06;letter-spacing:-.03em}.hero-accent{background:linear-gradient(90deg,var(--accent),var(--cat-creative));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-points{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.hero-points li{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg) 55%,transparent);font-size:13px;font-weight:500}.hero-points li:before{content:"✓";margin-right:7px;color:var(--ok);font-weight:700}.hero-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero .jump-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border:1px solid color-mix(in srgb,var(--cat) 30%,var(--border));border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s}.jump-chip:hover{border-color:var(--cat);transform:translateY(-1px);box-shadow:0 8px 20px -12px color-mix(in srgb,var(--cat) 60%,transparent)}.jump-chip:focus-visible{outline:2px solid var(--cat);outline-offset:2px}.jump-title{font-weight:600}.jump-count{color:var(--muted);font-size:12px}.app-section--quick,.jump-chip--quick{--cat: var(--accent)}.app-section--creative,.jump-chip--creative{--cat: var(--cat-creative)}.app-section--ml,.jump-chip--ml{--cat: var(--cat-ml)}.app-section--favorites{--cat: var(--cat-fav)}.app-section{position:relative;display:flex;flex-direction:column;gap:20px;padding:26px;border:1px solid color-mix(in srgb,var(--cat) 22%,var(--border));border-radius:22px;background:radial-gradient(130% 120% at 0% 0%,color-mix(in srgb,var(--cat) 9%,transparent),transparent 55%),color-mix(in srgb,var(--cat) 3%,var(--bg));scroll-margin-top:72px}.app-section:before{content:"";position:absolute;top:-1px;left:26px;width:64px;height:3px;border-radius:0 0 3px 3px;background:var(--cat)}.app-section-header{display:flex;align-items:center;gap:14px}.section-icon{flex:none;display:grid;place-items:center;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--cat) 28%,transparent);border-radius:14px;background:color-mix(in srgb,var(--cat) 13%,var(--surface));color:var(--cat)}.section-icon svg{width:24px;height:24px}.section-icon--small{width:32px;height:32px;border-radius:10px}.section-icon--small svg{width:18px;height:18px}.section-heading{flex:1;min-width:0}.app-section-header h2{font-size:22px;font-weight:700;letter-spacing:-.015em}.app-section-header p{margin:3px 0 0}.section-count{flex:none;padding:4px 11px;border-radius:999px;background:color-mix(in srgb,var(--cat) 13%,transparent);color:var(--cat);font-size:12px;font-weight:600}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.creator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.tool-card,.creator-card,.app-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;box-shadow:0 1px 2px #0000000d;transition:border-color .18s,transform .18s,box-shadow .18s}.tool-card:hover,.creator-card:hover,.app-card:hover{border-color:color-mix(in srgb,var(--cat) 65%,var(--border));transform:translateY(-2px);box-shadow:0 12px 28px -14px color-mix(in srgb,var(--cat) 55%,transparent)}.tool-card:focus-visible,.creator-card:focus-visible,.app-card:focus-visible{outline:2px solid var(--cat);outline-offset:2px}.tool-card h3,.creator-card h3,.app-card h3{margin:0;letter-spacing:-.005em}.tool-card{gap:4px;min-height:78px;padding:15px 16px;border-radius:12px}.tool-card h3{font-size:15px}.tool-card:after{content:"→";position:absolute;right:14px;bottom:11px;color:var(--cat);font-weight:700;opacity:0;transform:translate(-4px);transition:opacity .18s,transform .18s}.tool-card:hover:after,.tool-card:focus-visible:after{opacity:1;transform:none}.creator-card{gap:4px;padding:16px 18px;border-radius:14px}.creator-card h3{font-size:16px}.creator-card-cta,.app-card-cta{margin-top:auto;padding-top:8px;color:var(--cat);font-size:13px;font-weight:600}.app-card{gap:8px;padding:20px;border-radius:16px}.app-card h3{font-size:18px}.app-card p{margin:0;color:var(--muted);font-size:13px}.app-card-tagline{color:var(--cat);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}@media(max-width:640px){.hero{padding:28px 20px 24px;border-radius:18px}.hero-points{gap:6px}.hero-points li{padding:5px 10px;font-size:12px}.hero-jump{margin-top:20px}.app-section .card-wrap>a{padding-right:30px}.app-section .card-fav{top:4px;right:3px}.jump-chip{flex:1 1 100%}.jump-count{margin-left:auto}.app-section{gap:16px;padding:18px 14px 14px;border-radius:18px}.app-section:before{left:18px}.app-section-header{flex-wrap:wrap;gap:12px}.section-icon{width:40px;height:40px;border-radius:12px}.app-section-header h2{font-size:19px}.section-heading{flex-basis:calc(100% - 52px)}.section-count{order:3;margin-left:52px}.tool-grid,.creator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-grid{grid-template-columns:minmax(0,1fr)}.tool-card,.creator-card{padding:12px 13px}.creator-card h3{font-size:15px}.creator-card-cta{display:none}}@media(prefers-reduced-motion:reduce){.jump-chip,.tool-card,.creator-card,.app-card,.tool-card:after{transition:none}.jump-chip:hover,.tool-card:hover,.creator-card:hover,.app-card:hover{transform:none}}.page-extra{width:min(1100px,100% - 32px);margin:0 auto;padding:40px 0 48px;display:flex;flex-direction:column;gap:40px}.tool-guide{max-width:820px;line-height:1.6;display:flex;flex-direction:column;gap:40px}.tool-guide h2{font-size:20px;margin:0 0 10px}.tool-guide h3{font-size:15px;margin:0 0 4px}.tool-guide p{margin:0 0 10px}.tool-guide-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:20px 0 8px}.tool-guide-points>div{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.tool-guide-points p{margin:0;color:var(--muted)}.tool-guide-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}.tool-guide-faq{margin:0;display:flex;flex-direction:column;gap:14px}.tool-guide-faq dt{font-weight:600}.tool-guide-faq dd{margin:2px 0 0;color:var(--muted)}.tool-guide-related{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.tool-guide-related a{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-decoration:none}.tool-guide-related a:hover{border-color:var(--accent)}.hero p{max-width:640px;font-size:16px;margin:0}.bp-layout{flex:none;display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr) minmax(300px,360px);grid-template-rows:minmax(0,1fr);gap:12px;padding:12px;height:calc(100vh - 52px);min-height:0}.bp-col{display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto}.bp-col--tabs{overflow:hidden}.tree-panel{flex:1 1 auto;min-height:260px}@media(max-width:1100px){.bp-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto}.bp-col,.bp-col--tabs,.tab-panel--scroll{overflow:visible}.op-nav-scroll{max-height:60vh}.tree-panel{height:480px;flex:none}}.vlist{overflow-y:auto;position:relative;min-height:0}.vlist-spacer{position:relative}.vlist-row{position:absolute;left:0;right:0}.file-tree{flex:1;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.tree-row{width:100%;height:100%;display:flex;align-items:center;gap:6px;padding-right:8px;border:0;background:none;text-align:left;cursor:pointer;font-size:12.5px}.tree-row:hover:not(:disabled){background:var(--surface-2)}.tree-row:disabled{cursor:default;color:var(--muted)}.tree-row.is-selected{background:color-mix(in srgb,var(--accent) 20%,transparent)}.tree-row--dir{font-weight:600}.tree-caret{width:12px;color:var(--muted)}.tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-meta{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.tree-dot{width:7px;height:7px;border-radius:50%;flex:none;margin-left:5px}.tree-dot--image{background:var(--accent)}.tree-dot--annotation{background:var(--warn)}.tree-dot--other{background:var(--border)}.preview-panel{flex:1}.ba{display:flex;flex-direction:column;gap:8px;align-items:center}.ba-stage{position:relative;width:min(100%,calc(64vh * var(--ar)));aspect-ratio:var(--ar);border-radius:8px;overflow:hidden;background:repeating-conic-gradient(var(--surface-2) 0% 25%,var(--bg) 0% 50%) 50% / 20px 20px}.ba-layer{position:absolute;inset:0;width:100%;height:100%}.annotation-layer{pointer-events:none}.ba-divider{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 6px #0009;cursor:ew-resize;touch-action:none;z-index:1;transition:opacity .15s}.ba-divider:before{content:"";position:absolute;inset:0 -10px}.ba-handle{position:absolute;top:50%;left:50%;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#1f2a37;box-shadow:0 1px 8px #00000073;transform:translate(-50%,-50%);transition:transform .12s,opacity .15s}.ba-divider:hover .ba-handle,.ba-divider:active .ba-handle{transform:translate(-50%,-50%) scale(1.1)}.ba-divider.is-hidden{opacity:0}.ba-divider.is-hidden .ba-handle{transform:translate(-50%,-50%) scale(.6)}.ba-label{position:absolute;top:8px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#0009;color:#fff;pointer-events:none}.ba-label--before{left:8px}.ba-label--after{right:8px}.ba-slider{width:min(100%,480px)}.ba-meta{margin:0;text-align:center;word-break:break-all}.sample-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.sample-thumb{flex:none;width:72px;height:72px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:var(--surface-2);cursor:pointer}.sample-thumb.is-active{border-color:var(--accent)}.sample-thumb canvas{width:100%;height:100%;object-fit:cover;display:block}.step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.step-index{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--accent);color:var(--accent-contrast)}.spinner{position:relative;display:inline-grid;place-items:center;flex:none}.spinner svg{position:absolute;inset:0;transform:rotate(-90deg)}.spinner circle{fill:none;stroke-width:3.5}.spinner-track{stroke:var(--border)}.spinner-progress{stroke:color-mix(in srgb,var(--accent) 45%,transparent);stroke-linecap:round;transition:stroke-dashoffset .3s ease-out}.spinner-arc{stroke:var(--accent);stroke-linecap:round;transform-origin:24px 24px;animation:dt-spin 1.1s linear infinite}.spinner-label{position:relative;font-variant-numeric:tabular-nums}.spinner-label strong{font-size:26px}@keyframes dt-spin{to{transform:rotate(360deg)}}@keyframes dt-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.spinner-arc{animation:dt-pulse 2s ease-in-out infinite}}.processing-view{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 16px;text-align:center}.processing-view .progress{width:min(360px,100%)}.processing-title{margin:4px 0 0;font-size:16px}.processing-meta{margin:0}.preview-stage-wrap{position:relative}.preview-stage-wrap.is-rendering .ba-stage{opacity:.45;transition:opacity .2s}.preview-busy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600;pointer-events:none}.empty[role=status]{display:flex;flex-direction:column;align-items:center;gap:12px}.pipeline-picker{display:flex;flex-direction:column;gap:8px}.preset-status{display:flex;align-items:center;gap:8px;min-height:30px;padding:4px 8px;border-radius:8px;background:var(--surface-2);font-size:12px;color:var(--muted)}.preset-status.is-modified{color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface-2))}.creative-steps{gap:6px}.creative-step{position:relative;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);transition:opacity .15s}.creative-step.is-open{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.creative-step.is-bypassed .creative-step-name,.creative-step.is-bypassed .step-index{opacity:.45}.creative-step.is-bypassed .creative-step-name{text-decoration:line-through}.creative-step.is-dragging{opacity:.4}.creative-step.drop-before:before,.creative-step.drop-after:after{content:"";position:absolute;left:0;right:0;height:3px;border-radius:2px;background:var(--accent)}.creative-step.drop-before:before{top:-5px}.creative-step.drop-after:after{bottom:-5px}.creative-step-head{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 4px;cursor:grab}.creative-step-head:active{cursor:grabbing}.creative-step-head input{accent-color:var(--accent);flex:none}.drag-handle{flex:none;width:14px;color:var(--muted);text-align:center;user-select:none}.creative-step-title{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:0;background:none;padding:2px 0;text-align:left;cursor:pointer}.creative-step-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.creative-step-body{display:flex;flex-direction:column;gap:12px;padding:10px 10px 12px;border-top:1px solid var(--border)}.creative-step-body p{margin:0}.run-actions{display:grid;grid-template-columns:1fr;gap:8px}.drop-hint{margin:0;padding:10px;border:1px dashed var(--border);border-radius:8px;text-align:center;font-size:12px;color:var(--muted)}.drop-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 70%,transparent);border:3px dashed var(--accent);pointer-events:none}.drop-overlay-card{padding:18px 26px;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:16px;font-weight:600}.color-input{width:100%;height:32px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);cursor:pointer}.mono{font-family:var(--mono)}.btn-small{padding:3px 9px;font-size:12px;border-radius:6px}.btn.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--surface-2))}.link-btn{align-self:flex-start;border:0;background:none;padding:0;color:var(--muted);font-size:12px;text-decoration:underline;cursor:pointer}.link-btn:hover{color:var(--text)}.input{width:100%;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);font-variant-numeric:tabular-nums}.grow{flex:1;min-width:0;width:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-line{margin:0;padding:8px 10px;border-radius:8px;background:var(--surface-2);font-size:13px;font-variant-numeric:tabular-nums}.range-slider{position:relative;height:22px}.range-slider-track,.range-slider-fill{position:absolute;top:50%;height:4px;transform:translateY(-50%);border-radius:999px}.range-slider-track{left:0;right:0;background:var(--border)}.range-slider-fill{background:var(--accent)}.range-slider input[type=range]{position:absolute;inset:0;width:100%;height:22px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;z-index:2}.range-slider input[type=range]::-webkit-slider-runnable-track{background:transparent;height:4px}.range-slider input[type=range]::-moz-range-track{background:transparent}.range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);cursor:pointer}.range-slider input[type=range]::-moz-range-thumb{pointer-events:auto;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);cursor:pointer}.range-slider input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:2px}.op-group{display:flex;flex-direction:column;gap:6px}.op-group-title{margin:4px 0 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tab-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px}.tab-panel--scroll{overflow-y:auto}.tab-panel--fill{overflow:hidden}.tabs{flex:none;display:flex;gap:4px;border-bottom:1px solid var(--border)}.tabs button{flex:1;min-width:0;padding:7px 6px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-weight:600;cursor:pointer}.tabs button.is-active{color:var(--text);border-bottom-color:var(--accent)}.op-nav{gap:10px;flex:1 1 auto;min-height:0}.op-nav-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;margin:0 -6px;padding:0 6px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.op-nav-scroll>.op-group:first-child{padding-top:8px}.op-nav-scroll>.op-group:last-child{padding-bottom:8px}.op-nav-note{margin:0}.op-group-rule{margin:-2px 0 2px;font-size:11px;line-height:1.35;color:var(--muted)}.op-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.op-row{display:flex;align-items:center;gap:8px;padding-left:8px;border-radius:7px;border-left:3px solid transparent}.op-row input{accent-color:var(--accent);flex:none}.op-row:hover{background:var(--surface-2)}.op-row.is-selected{background:color-mix(in srgb,var(--accent) 18%,transparent);border-left-color:var(--accent)}.op-row-select{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px 6px 0;border:0;background:none;text-align:left;cursor:pointer;color:var(--muted)}.op-row.is-enabled .op-row-select,.op-row.is-selected .op-row-select{color:var(--text)}.op-row.is-selected .op-row-name{font-weight:600}.op-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.op-row-prob{font-size:11px;color:var(--accent);font-variant-numeric:tabular-nums}.kbd-hints{margin:4px 0 0;line-height:1.9}kbd{display:inline-block;min-width:18px;padding:0 5px;margin:0 1px;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--surface-2);font:11px/16px var(--mono);text-align:center;color:var(--text)}.viewer-toolbar{display:flex;flex-direction:column;gap:8px}.viewer-toolbar p{margin:0}.segmented--compact button{flex:none;padding:5px 10px;font-size:12px}.op-editor{gap:10px;border-color:var(--border)}.op-editor.is-enabled{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.op-editor-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.op-editor-title{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.op-editor-title h2{font-size:16px}.op-editor-nav{gap:6px}.op-editor-desc{margin:0}.op-editor-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{position:relative;width:34px;height:20px;border-radius:999px;background:var(--border);transition:background .15s}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.stepper{display:flex;align-items:center;gap:6px}.stepper-value{font-size:12px;font-variant-numeric:tabular-nums;min-width:92px;text-align:center}.applied-ops{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.chip{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.dt-slot{flex:none;display:flex;flex-direction:column;gap:4px;width:fit-content;max-width:100%;margin:0 auto}.dt-slot-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.dt-slot-frame{position:relative;max-width:100%;overflow:hidden;border-radius:6px;background:var(--surface-2)}.dt-slot--native{width:auto;margin:0;padding:14px 20px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.dt-slot--native .dt-slot-frame{flex:1;width:100%;min-height:150px;background:none}.dt-slot.is-pending .dt-slot-label{visibility:hidden}.dt-slot.is-pending .dt-slot-frame{background:none}.dt-slot.is-unfilled{display:none}.landing-sidebar:has(.dt-slot.is-unfilled){display:none}.mock-creative{--mock-accent: var(--accent);width:100%;height:100%;display:flex;gap:8px;padding:14px;border:1px dashed color-mix(in srgb,var(--mock-accent) 55%,transparent);border-radius:6px;background:linear-gradient(135deg,color-mix(in srgb,var(--mock-accent) 16%,var(--surface-2)),var(--surface-2) 70%);color:var(--text);overflow:hidden}.mock-creative--box,.mock-creative--tall{flex-direction:column;justify-content:center;text-align:center;align-items:center}.mock-creative--native{flex-direction:column;padding:0;border:0;background:none}.mock-creative--wide,.mock-creative--tiny{flex-direction:row;align-items:center;padding:0 16px;gap:14px}.mock-creative--tiny{padding:0 10px;gap:8px;font-size:12px}.mock-tag{font:10px/1 var(--mono);color:var(--muted);white-space:nowrap}.mock-creative--box .mock-tag,.mock-creative--tall .mock-tag{position:absolute;top:8px;right:8px}.mock-advertiser{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mock-accent);white-space:nowrap}.mock-headline{font-size:17px;line-height:1.25}.mock-creative--wide .mock-headline,.mock-creative--tiny .mock-headline{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mock-creative--native .mock-headline{font-size:18px}.mock-body{margin:0;font-size:13px;color:var(--muted)}.mock-creative--wide .mock-body{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mock-creative--native .mock-body{flex:1}.mock-cta{flex:none;padding:6px 14px;border-radius:999px;background:var(--mock-accent);color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.mock-creative--native .mock-cta{align-self:flex-start}.mock-creative--tiny .mock-cta{padding:4px 10px;margin-left:auto}.mock-visual{width:100%;flex:1;max-height:260px;border-radius:6px;background:repeating-linear-gradient(45deg,transparent 0 12px,color-mix(in srgb,var(--mock-accent) 12%,transparent) 12px 24px),color-mix(in srgb,var(--mock-accent) 10%,var(--surface))}.blocker-notice{display:flex;flex-direction:column;gap:8px;padding:16px;overflow-y:auto;border:1px dashed var(--border);font-size:13px}.blocker-notice p,.blocker-notice ol{margin:0;color:var(--muted)}.blocker-notice summary{cursor:pointer;color:var(--accent);font-size:12px}.blocker-notice ol{margin-top:6px;padding-left:18px;font-size:12px}.partner-offer{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--ok) 8%,var(--surface-2))}.partner-offer p{margin:0}.partner-offer .btn{align-self:flex-start}.gate-dialog{width:min(460px,calc(100vw - 32px));padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text)}.gate-dialog::backdrop{background:#0000008c}.gate-dialog h2{font-size:18px;margin-bottom:10px}.gate-dialog p{margin:0 0 10px}.gate-steps{margin:0 0 14px;padding-left:20px;color:var(--muted)}.gate-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);align-items:center}.failures summary{cursor:pointer;color:var(--danger);font-size:12px}.failures ul{margin:8px 0 0;padding-left:18px;max-height:200px;overflow-y:auto;font-size:12px}.studio-main{overflow:hidden;gap:8px}.studio-toolbar,.studio-statusbar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.studio-toolgroup{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.studio-toolgroup .btn kbd{margin-left:4px;font-size:10px;opacity:.7}.studio-inline{display:inline-flex;align-items:center;gap:6px}.studio-inline input[type=range]{width:90px}.studio-filename{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:12px}.studio-dirty{color:var(--warn)}.studio-keys{flex:1 1 0;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:right}.studio-banner{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--warn);background:color-mix(in srgb,var(--warn) 12%,var(--surface));font-size:13px}.studio-banner span{flex:1 1 240px}.editor-viewport{position:relative;flex:1 1 auto;min-height:320px;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:repeating-conic-gradient(color-mix(in srgb,var(--surface-2) 70%,var(--bg)) 0% 25%,var(--bg) 0% 50%) 0 0 / 24px 24px;touch-action:none;user-select:none}.editor-empty{display:grid;place-items:center}.editor-content{position:absolute;left:0;top:0;transform-origin:0 0}.editor-content img,.editor-mask,.editor-overlay{position:absolute;left:0;top:0;width:100%;height:100%;display:block}.editor-content img{image-rendering:auto}.editor-mask{image-rendering:pixelated;pointer-events:none}.editor-overlay{overflow:visible}.editor-shape>rect:not(.editor-handle),.editor-shape>polygon{cursor:move}.editor-handle{cursor:pointer}.editor-rotate{cursor:grab}.editor-rotate:active{cursor:grabbing}.handle-nw,.handle-se{cursor:nwse-resize}.handle-ne,.handle-sw{cursor:nesw-resize}.handle-n,.handle-s{cursor:ns-resize}.handle-e,.handle-w{cursor:ew-resize}.editor-label{pointer-events:none;font-family:var(--font);font-weight:600}.editor-hint,.editor-zoom{position:absolute;pointer-events:none;padding:4px 10px;border-radius:6px;background:#000000a6;color:#fff}.editor-hint{left:50%;bottom:12px;transform:translate(-50%);max-width:calc(100% - 24px);font-size:12px;text-align:center}.editor-zoom{right:8px;top:8px;color:#ddd}.editor-busy{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 40%,transparent);pointer-events:none}.class-list,.object-list,.export-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.export-notes{margin-top:6px;gap:4px}.class-row,.object-row{display:flex;align-items:center;gap:8px;min-height:30px;padding:3px 8px;border-radius:6px;border:1px solid transparent;cursor:pointer}.class-row:hover,.object-row:hover{background:var(--surface-2)}.class-row.is-active,.object-row.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.class-row kbd{font-size:10px}.class-hotkey{flex:none;padding:0;border:0;background:none;cursor:pointer}.class-hotkey kbd.is-empty{color:var(--muted);border-style:dashed}.class-hotkey.is-recording kbd{border-color:var(--accent);color:var(--accent)}.class-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-swatch{flex:none;display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px}.object-row .select{flex:1;min-width:0}.select-small,.input-small{padding:2px 6px;font-size:12px}.chip-small{font-size:10px;padding:1px 6px}.kp-schema summary,.class-merge summary{cursor:pointer;color:var(--muted);margin-bottom:8px}.kp-schema textarea{resize:vertical}.kp-list,.mask-coverage{display:flex;flex-direction:column;gap:4px}.kp-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ok-text{color:var(--ok)}.insights-main{overflow:hidden;gap:10px}.insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.insights-grid .span-2{grid-column:span 2}@media(max-width:1400px){.insights-grid{grid-template-columns:minmax(0,1fr)}.insights-grid .span-2{grid-column:auto}}.insights-empty h2{font-size:16px}.check-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.check-list li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;background:var(--surface-2)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0}.kpi-grid div{background:var(--surface-2);border-radius:8px;padding:8px 10px}.kpi-grid dt{font-size:11px;color:var(--muted)}.kpi-grid dd{margin:0;font-weight:600;font-size:16px;font-variant-numeric:tabular-nums}.kpi-link{font-size:16px;font-weight:600;color:var(--accent)}.health-card{display:flex;align-items:center;gap:14px}.health-ring{flex:none;width:84px;height:84px}.health-card.is-compact .health-ring{width:64px;height:64px}.health-ring-bg{fill:none;stroke:var(--surface-2);stroke-width:8}.health-ring-fg{fill:none;stroke-width:8;stroke-linecap:round}.health-ok .health-ring-fg{stroke:var(--ok)}.health-warn .health-ring-fg{stroke:var(--warn)}.health-bad .health-ring-fg{stroke:var(--danger)}.health-score{font:700 22px var(--font);fill:var(--text)}.health-grade{font-weight:700;font-size:15px}.health-counts{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.sev{display:inline-block;flex:none;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:4px;margin-left:6px;white-space:nowrap}.health-counts .sev,.issue-head .sev,.dup-tags .sev{margin-left:0}.sev-critical{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.sev-warning{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent)}.sev-info{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.issue-filters{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}.issue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.issue-item{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:6px 10px;display:flex;flex-direction:column;gap:4px}.sev-border-critical{border-left-color:var(--danger)}.sev-border-warning{border-left-color:var(--warn)}.issue-head{display:flex;align-items:center;gap:8px;width:100%;padding:2px 0;border:0;background:none;text-align:left;cursor:pointer}.issue-title{flex:1;min-width:0;font-weight:600;font-size:13px}.issue-count{color:var(--muted)}.issue-body p{margin:0 0 4px}.issue-show{font-size:12px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:5px 8px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.data-table th{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.data-table .n{text-align:right;font-variant-numeric:tabular-nums}.data-table .link-btn{color:var(--text);text-decoration:none;font-size:13px;align-self:auto}.data-table .link-btn:hover{text-decoration:underline}.cooc-table td.cooc-diag{font-weight:600;box-shadow:inset 0 0 0 1px var(--border)}.cell-warn{background:color-mix(in srgb,var(--warn) 14%,transparent)}.barlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.barlist-row{display:grid;grid-template-columns:minmax(120px,34%) minmax(0,1fr) 70px;align-items:center;gap:10px;width:100%;padding:4px 6px;border:0;border-radius:6px;background:none;text-align:left;cursor:pointer}.barlist-row:disabled{cursor:default}.barlist-row:not(:disabled):hover{background:var(--surface-2)}.barlist-label{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.barlist-track{display:flex;height:12px;border-radius:3px;background:var(--surface-2);overflow:hidden}.barlist-fill{display:block;height:100%;background:var(--accent)}.seg-train{background:var(--accent)}.seg-val{background:var(--ok)}.seg-test{background:var(--warn)}.seg-other{background:var(--muted)}.barlist-value{text-align:right;font-size:12px}.barlist-hint{margin:-2px 0 4px 6px;color:var(--muted)}.split-legend{display:flex;flex-wrap:wrap;gap:12px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:2px}.hist{margin:0}.hist-bars{position:relative;display:flex;align-items:flex-end;gap:1px;height:130px;padding-top:14px;border-bottom:1px solid var(--border)}.hist-bar{flex:1;min-width:0;padding:0;border:0;border-radius:2px 2px 0 0;background:var(--accent);opacity:.85;cursor:pointer}.hist-bar:disabled{cursor:default}.hist-bar:not(:disabled):hover{opacity:1;background:color-mix(in srgb,var(--accent) 70%,var(--text))}.hist-marker{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--danger);pointer-events:none}.hist-marker span{position:absolute;top:-2px;left:4px;font-size:10px;color:var(--danger);white-space:nowrap}.hist-axis{display:flex;justify-content:space-between;gap:8px;margin-top:4px}.scatter{margin:0}.scatter canvas{display:block;width:100%;height:300px}.heatmap{display:block;width:100%;max-width:360px;aspect-ratio:1;margin:0 auto;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.callout{padding:8px 12px;border-radius:8px;font-size:13px;border:1px solid var(--border)}.callout .link-btn{display:inline;margin-left:6px;font-size:13px}.callout-warn{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface))}.callout-ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--surface))}.wrap-row{flex-wrap:wrap;align-items:flex-end}.field-inline{flex:0 0 auto}.input-narrow{width:84px}.ratio-row{display:flex;flex-wrap:wrap;gap:8px}.export-buttons{display:flex;flex-wrap:wrap;gap:6px}.dup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.dup-row{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border:0;border-radius:6px;background:none;text-align:left;cursor:pointer}.dup-row:hover{background:var(--surface-2)}.dup-files{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dup-tags{display:flex;gap:4px}.browser-panel{flex:1 1 auto;min-height:0}.browser-header{flex-wrap:wrap}.browser-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;position:relative}.browser-spacer{position:relative}.thumb-card{position:absolute;display:flex;flex-direction:column;gap:3px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);text-align:left;cursor:pointer;overflow:hidden}.thumb-card:hover{border-color:var(--accent)}.thumb-canvas,.thumb-failed{display:block;width:100%;height:150px;flex:none;border-radius:4px;background:var(--bg)}.thumb-failed{display:grid;place-items:center;color:var(--danger)}.thumb-path,.thumb-meta,.thumb-detail{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-detail{color:var(--warn)}a.badge{text-decoration:none}a.badge--local:hover{background:color-mix(in srgb,var(--ok) 14%,transparent)}.hero a{color:var(--accent)}.qt-heading{font-size:18px;letter-spacing:-.01em}.qt-intro{margin-top:-4px}.qt-files .file-tree{min-height:160px}.qt-file{display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;padding:2px 10px;border:0;background:none;text-align:left;cursor:pointer;overflow:hidden}.qt-file:hover{background:var(--surface-2)}.qt-file.is-selected{background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.qt-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.qt-file-meta{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row{display:flex;align-items:stretch;height:100%}.file-row>:first-child{flex:1 1 auto;min-width:0}.file-remove{flex:none;width:28px;border:0;background:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;opacity:.45}.file-row:hover .file-remove,.file-remove:focus-visible{opacity:1}.file-remove:hover{color:var(--danger);background:var(--surface-2)}@media(hover:none){.file-remove{opacity:1}}.qt-main{flex:1 1 auto;min-height:0;overflow:auto}.qt-empty{flex:1;border:2px dashed var(--border);border-radius:var(--radius)}.qt-preview{display:flex;flex-direction:column;gap:10px;min-height:0;flex:1}.qt-preview-empty{display:grid;place-items:center;min-height:300px}.qt-compare{display:flex;flex-direction:column;gap:6px;min-height:0}.qt-compare-stage{position:relative;display:grid;max-height:calc(100vh - 260px);border-radius:8px;overflow:hidden;background:repeating-conic-gradient(color-mix(in srgb,var(--surface-2) 70%,var(--bg)) 0% 25%,var(--bg) 0% 50%) 0 0 / 20px 20px}.qt-layer{grid-area:1 / 1;width:100%;height:100%;max-height:calc(100vh - 260px);object-fit:contain;user-select:none}.qt-preview-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px}.qt-seg{flex-wrap:wrap}.qt-number{display:inline-flex;align-items:center;gap:6px}.qt-presets{display:flex;flex-wrap:wrap;gap:6px}.qt-presets .chip{cursor:pointer;color:var(--text)}.qt-presets .chip:hover{border-color:var(--accent)}.qt-meta h2{font-size:15px;margin-bottom:8px;word-break:break-all}.qt-meta .data-table td{white-space:normal}.qt-meta a{color:var(--accent)}.qt-crop{display:flex;flex-direction:column;gap:8px;align-items:center;touch-action:none}.qt-crop-stage{position:relative;display:inline-block;max-width:100%;line-height:0}.qt-crop-stage img{max-width:100%;max-height:calc(100vh - 240px);user-select:none}.qt-crop-frame{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #0000008c;outline:1px solid rgba(0,0,0,.6);cursor:move}.qt-crop-handle{position:absolute;width:14px;height:14px;background:#fff;border:1px solid rgba(0,0,0,.6);border-radius:3px}@media(pointer:coarse){.qt-crop-handle:after,.redact-handle:after{content:"";position:absolute;inset:-15px}}.qt-crop-nw{left:-8px;top:-8px;cursor:nwse-resize}.qt-crop-ne{right:-8px;top:-8px;cursor:nesw-resize}.qt-crop-sw{left:-8px;bottom:-8px;cursor:nesw-resize}.qt-crop-se{right:-8px;bottom:-8px;cursor:nwse-resize}.qt-crop-stage{overflow:hidden}.sample-cta{display:flex;flex-direction:column;gap:4px}.sample-cta .link-btn{color:var(--accent);font-size:13px}.qt-empty .sample-cta{align-items:center}.recent-folders ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.recent-folders li{display:flex;align-items:center;gap:4px}.recent-open{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);text-align:left;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.recent-open:hover:not(:disabled){border-color:var(--accent)}.share-controls{display:flex;flex-direction:column;gap:6px}.share-controls .row{flex-wrap:wrap}.notice{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--surface));font-size:13px}.notice span{flex:1}.qt-checks{display:flex;flex-wrap:wrap;gap:4px 14px}.qt-anchor{display:grid;grid-template-columns:repeat(3,28px);gap:4px}.qt-anchor button{width:28px;height:22px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2);cursor:pointer}.qt-anchor button.is-active{background:var(--accent);border-color:var(--accent)}.qt-logo{display:flex;align-items:center;gap:10px}.qt-logo img{max-width:96px;max-height:48px;object-fit:contain;border-radius:4px;background:repeating-conic-gradient(color-mix(in srgb,var(--surface-2) 70%,var(--bg)) 0% 25%,var(--bg) 0% 50%) 0 0 / 10px 10px}.curve-editor,.hsl-editor{display:flex;flex-direction:column;gap:8px}.curve-svg{width:100%;max-width:280px;aspect-ratio:1;border:1px solid var(--border);border-radius:6px;background:var(--bg);touch-action:none;cursor:crosshair}.curve-grid line{stroke:var(--border);stroke-width:1}.curve-diagonal{stroke:var(--border);stroke-dasharray:4 4}.curve-point{fill:var(--surface);stroke:var(--text);stroke-width:2;cursor:grab}.curve-preset{cursor:pointer;color:var(--text)}.hsl-bands{display:flex;gap:6px}.hsl-band{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;position:relative}.hsl-band.is-active{border-color:var(--text)}.hsl-band.is-changed:after{content:"";position:absolute;right:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--text)}.tag--warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.sm-focus{position:relative;display:inline-block;align-self:center;max-width:100%;line-height:0;cursor:crosshair;touch-action:none}.sm-focus canvas{max-width:100%;max-height:260px;border-radius:6px}.sm-focus--empty{display:grid;place-items:center;min-height:160px}.sm-focus-mark{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #0009;pointer-events:none}.sm-formats{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.sm-format{margin:0;display:flex;flex-direction:column;gap:4px;font-size:12px}.sm-format-stage{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px var(--border)}.sm-format-stage canvas{display:block}.sm-zone{position:absolute;background:#e5484d52;outline:1px dashed rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;overflow:hidden}.sm-zone span{font-size:9px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap}.sm-safe{position:absolute;outline:1px dashed #fff;box-shadow:0 0 0 9999px #00000073}.sm-slices{display:grid;justify-content:start}.sm-slice{position:relative;border-radius:3px;overflow:hidden}.sm-slice canvas{display:block}.sm-slice-label{position:absolute;left:6px;top:6px;padding:1px 6px;border-radius:4px;background:#0009;color:#fff;font-size:11px;font-weight:600}.sm-platforms{display:flex;flex-direction:column;gap:8px}.sm-platform{margin:0;padding:6px 10px 8px;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:2px}.sm-platform legend{font-size:12px;font-weight:600;padding:0 4px}.panel-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer}.panel-toggle-icon{margin-left:auto;color:var(--muted)}.ba-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ba-slot{display:flex;flex-direction:column;gap:4px;min-width:0;border-radius:8px}.ba-slot.is-over .ba-slot-body{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-2))}.ba-slot-body{display:grid;place-items:center;height:110px;padding:4px;border:2px dashed var(--border);border-radius:8px;background:var(--surface-2);cursor:pointer;overflow:hidden}.ba-slot-body img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.ba-slot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ba-preview-panel{flex:1 1 auto;min-height:0}.ba-preview-box{flex:1 1 auto;min-height:260px;display:grid;place-items:center;overflow:hidden}.ba-preview-canvas{display:block;border-radius:6px;box-shadow:0 0 0 1px var(--border);touch-action:none}.ba-label-input{width:110px}.notice--warn{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface))}.pdf-preview{display:flex;flex-direction:column;gap:10px}.pdf-grid{display:flex;flex-wrap:wrap;gap:14px}.pdf-card{display:flex;flex-direction:column;align-items:center;gap:4px;width:170px;padding:8px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);cursor:grab}.pdf-page{position:relative;min-width:60px;min-height:80px;background:#fff;box-shadow:0 1px 4px #00000059;display:grid;place-items:center}.pdf-card-foot{display:flex;align-items:center;gap:10px}.pdf-card-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-card.is-broken{border-color:var(--danger)}.pdf-card.is-broken .pdf-page{padding:8px;text-align:center}.redact{display:flex;flex-direction:column;gap:8px}.redact-stage{position:relative;align-self:center;max-width:100%;line-height:0;cursor:crosshair;touch-action:none;user-select:none}.redact-stage:focus{outline:none}.redact-stage img{max-width:100%;max-height:calc(100vh - 280px)}.redact-result{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.redact-box{position:absolute;border:2px solid #fff;outline:1px solid rgba(0,0,0,.6);cursor:move}.redact-stage:not(.is-live) .redact-box--blur{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.redact-stage:not(.is-live) .redact-box--pixelate{backdrop-filter:blur(6px) contrast(.9);-webkit-backdrop-filter:blur(6px) contrast(.9);background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:12px 12px}.redact-box.is-selected{border-color:var(--accent)}.redact-handle{position:absolute;right:-7px;bottom:-7px;width:12px;height:12px;background:#fff;border:1px solid rgba(0,0,0,.6);border-radius:3px;cursor:nwse-resize}.icons-preview{display:flex;flex-direction:column;gap:14px}.icons-tab{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-width:220px;padding:8px 12px;border-radius:10px 10px 0 0;background:var(--surface-2);border:1px solid var(--border);border-bottom:0;font-size:13px}.icons-tab-icon{width:16px;height:16px}.icons-tab-close{margin-left:auto;color:var(--muted)}.icons-sizes{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px}.icons-size{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px}.icons-size canvas{image-rendering:auto;background:repeating-conic-gradient(color-mix(in srgb,var(--surface-2) 70%,var(--bg)) 0% 25%,var(--bg) 0% 50%) 0 0 / 10px 10px}.icons-size--apple canvas{border-radius:22%}.icons-size--maskable canvas{border-radius:50%}.pal-preview{display:flex;flex-direction:column;gap:12px}.pal-image{align-self:center;max-width:100%;max-height:calc(100vh - 420px);border-radius:8px}.pal-loading{display:flex;align-items:center;gap:10px;min-height:120px;justify-content:center}.pal-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.pal-swatch{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;height:96px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:8px;cursor:copy;font:inherit;text-align:left}.pal-swatch:hover{outline:2px solid var(--accent);outline-offset:1px}.pal-bar{display:flex;height:12px;border-radius:6px;overflow:hidden}.pal-bar span{flex-basis:0;min-width:2px}.merge-preview{display:flex;flex-direction:column;gap:10px}.merge-stage{align-self:center;max-width:100%;line-height:0;box-shadow:0 1px 4px #0000004d}.merge-stage.is-transparent{background:repeating-conic-gradient(color-mix(in srgb,var(--surface-2) 70%,var(--bg)) 0% 25%,var(--bg) 0% 50%) 0 0 / 20px 20px}.merge-stage canvas{max-width:100%;max-height:calc(100vh - 400px)}.merge-order{display:flex;flex-wrap:wrap;gap:10px}.merge-card{display:flex;flex-direction:column;align-items:center;gap:4px;width:112px;padding:6px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);cursor:grab}.merge-card.is-broken{border-color:var(--danger);text-align:center}.merge-card img{width:100px;height:72px;object-fit:contain}@media(max-width:640px){.topbar .crumb,.topbar .crumb-current,.topbar .badge--version{display:none}}.site-footer{display:flex;flex-direction:column;gap:24px;padding-top:20px;border-top:1px solid var(--border)}.site-footer-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 24px}.site-footer-tools ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.site-footer-tools a{text-decoration:none}.site-footer-tools a:hover{color:var(--text);text-decoration:underline}.site-footer-heading{margin:0 0 8px;font-weight:600;font-size:13px}.site-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px}.site-footer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}.site-footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px}.site-footer a{color:var(--muted)}.privacy-settings{padding:0;border:0;background:none;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer}.privacy-settings:hover{color:var(--text)}.legal-nav .privacy-settings{text-decoration:none}.legal-page{width:min(820px,100%);margin:0 auto;padding:28px 16px 64px;display:flex;flex-direction:column;gap:16px}.legal-nav{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px}.legal-nav a{color:var(--muted);text-decoration:none}.legal-nav a.is-active{color:var(--text);font-weight:600}.legal-text{line-height:1.6;overflow-wrap:anywhere}.legal-text h1{font-size:clamp(24px,4vw,32px);letter-spacing:-.02em;margin:0 0 12px}.legal-text h2{font-size:17px;margin:28px 0 6px}.legal-text ul{padding-left:20px}.changelog-release{padding-top:8px}.changelog-release h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:20px}.changelog li+li{margin-top:6px}.clarify{margin:10px 0;padding:10px 12px;border-radius:var(--radius);border:1px dashed var(--warn);border-left:4px solid var(--warn);background:color-mix(in srgb,var(--warn) 12%,var(--surface));font-size:13px;line-height:1.5}.clarify--lawyer{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.clarify-label{display:block;margin-bottom:2px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.clarify-field{padding:0 4px;border-radius:4px;background:color-mix(in srgb,var(--warn) 35%,transparent);color:var(--text)}.licenses{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.licenses summary{cursor:pointer}.license-text{max-height:320px;overflow:auto;padding:10px 12px;border-radius:8px;background:var(--surface-2);font-size:12px;white-space:pre-wrap}h1.crumb-current{margin:0;font-size:inherit;letter-spacing:normal}.qt-crop-frame:focus-visible,.redact-box:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.error-page h1{font-size:22px;margin:0 0 6px}.error-detail{max-width:min(720px,100%);overflow:auto;padding:10px 12px;border-radius:8px;background:var(--surface-2);font-size:12px;white-space:pre-wrap}.prerender{width:min(820px,100%);margin:0 auto;padding:40px 16px;line-height:1.6}.legal-text h3{font-size:15px;margin:18px 0 4px}.legal-text>section+section{margin-top:36px;padding-top:8px;border-top:1px solid var(--border)}.support-hero{text-align:center;padding:8px 0 4px}.support-hero-icon{display:inline-grid;place-items:center;width:64px;height:64px;margin-bottom:10px;border-radius:50%;font-size:30px;background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.support-hero p{max-width:620px;margin:0 auto}.support-options{display:flex;flex-direction:column;gap:14px;margin-top:28px}.support-option{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px 18px;padding:20px 22px;border-radius:14px;transition:border-color .15s,box-shadow .15s}.support-option:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 4px 18px #0000000f}.support-option.is-featured{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.support-option-icon{align-self:start;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font-size:24px;background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.support-option-body{display:flex;flex-direction:column;gap:8px;min-width:0}.support-option h2{margin:0;font-size:18px}.support-option p,.support-option ol{margin:0}.support-option ol{padding-left:20px}.support-option-action{justify-self:end}.support-option-action .btn{white-space:nowrap}.support-tip-buttons{display:grid;gap:8px}.support-tip-buttons .btn{justify-content:center;text-align:center;text-decoration:none}.support-mail{white-space:nowrap}@media(max-width:640px){.support-option{grid-template-columns:44px minmax(0,1fr);padding:16px}.support-option-icon{width:44px;height:44px;font-size:20px}.support-option-action{grid-column:2;justify-self:start}}.site-footer a.site-footer-support{color:var(--accent);font-weight:600}.compare-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:6px}.loupe-toggle{display:grid;place-items:center;width:32px;height:30px;padding:0;border:1px solid var(--border);border-radius:8px}.loupe-zoom{display:inline-flex;align-items:center;gap:8px}.loupe-zoom-value{min-width:2.6em;font-size:12px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;color:var(--accent)}.loupe-track{position:relative;width:150px;height:4px;margin:0 15px;border-radius:2px;background:var(--border);cursor:pointer;touch-action:none}.loupe-track:before{content:"";position:absolute;inset:-12px -15px}.loupe-track-fill{position:absolute;inset:0 auto 0 0;border-radius:2px;background:var(--accent);pointer-events:none}.loupe-thumb{position:absolute;top:50%;z-index:1;width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--accent);border-radius:50%;background:var(--surface);color:var(--accent);box-shadow:0 1px 5px #00000040;cursor:grab;touch-action:none;transform:translate(-50%,-50%)}.loupe-thumb:active{cursor:grabbing}.has-loupe{cursor:crosshair;touch-action:none}.loupe{position:fixed;z-index:50;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.loupe-canvas{display:block;border-radius:50%;border:2px solid #fff;box-shadow:0 4px 18px #00000080;background:repeating-conic-gradient(#d6d6d6 0% 25%,#fff 0% 50%) 50% / 16px 16px}.loupe-info{font-size:11px;font-variant-numeric:tabular-nums;padding:1px 8px;border-radius:999px;background:#000000a6;color:#fff}.compare-toggle button{white-space:nowrap}.compare-sbs{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}.ba>.compare-toolbar,.ba>.compare-sbs{align-self:stretch}.compare-sbs .ba-stage{width:min(100%,calc(64vh * var(--ar)));justify-self:center}.compare-sbs .qt-compare-stage,.compare-sbs .qt-layer{max-height:calc(100vh - 300px)}@media(max-width:640px){.compare-sbs{grid-template-columns:1fr}}.notice-dialog-body p{margin:0 0 10px}.notice-dialog-body ul{margin:0 0 10px;padding-left:20px}.notice-dialog-body li+li{margin-top:4px}.notice-dialog-hide{margin-top:6px}.notice-dialog-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.tag--muted{color:var(--muted);background:transparent;border:1px dashed var(--border)}.studio-filename.is-excluded,.tree-row.is-excluded .tree-name{color:var(--muted);text-decoration:line-through}.studio-banner.insights-link{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.tutorial{scroll-margin-top:52px;margin-top:40px;padding:36px 0 44px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 15%,var(--bg));line-height:1.6}.tutorial-inner{width:min(1100px,100% - 32px);margin:0 auto}.tutorial-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.tutorial-header h2{font-size:26px;margin:0}.tutorial-section{padding-top:28px}.tutorial-section+.tutorial-section{margin-top:28px;border-top:1px solid var(--border)}.tutorial h3{font-size:17px;margin:0 0 12px}.tutorial h4{font-size:15px;margin:0 0 4px}.tutorial p{margin:0 0 10px}.tutorial-features{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin:0}.tutorial-steps{list-style:none;counter-reset:step;margin:0;padding:0;columns:2 360px;column-gap:48px}.tutorial-steps li{counter-increment:step;position:relative;padding-left:40px;margin-bottom:16px;break-inside:avoid}.tutorial-steps li:before{content:counter(step);position:absolute;top:0;left:0;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:700;line-height:1}.tutorial-steps strong{display:block}.tutorial-steps span{color:var(--muted)}.tutorial-tips{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--muted)}.tutorial-top{color:var(--muted);text-decoration:none;white-space:nowrap}.tutorial-top:hover{color:var(--accent)}.how-bar{flex:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.how-bar.is-open{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.how-bar-toggle{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 12px 0 14px;border:0;border-radius:var(--radius);background:none;color:var(--accent);font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.how-bar-toggle:hover span{text-decoration:underline}.how-bar-icon{flex:none;margin-left:auto;color:var(--muted);transition:transform .15s ease}.how-bar.is-open .how-bar-icon{transform:rotate(180deg);color:var(--accent)}.how-bar-panel{max-width:920px;padding:2px 14px 14px;line-height:1.6}.how-bar-panel p{margin:0 0 8px}.how-bar-panel .btn{margin-top:4px}@media(max-width:640px){.tutorial{padding:28px 0 32px}.tutorial-header h2{font-size:22px}}.tutorial-functionality{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:start}.tutorial-figure{margin:0}.tutorial-figure figcaption{margin-top:6px}.tutorial-figure img,.article-figure img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:10px}@media(max-width:900px){.tutorial-functionality{grid-template-columns:minmax(0,1fr);gap:16px}}.article-page{width:min(780px,100%)}.article{font-size:16px;line-height:1.7}.article h2{font-size:22px;letter-spacing:-.01em;margin:36px 0 10px}.article p{margin:0 0 14px}.article ul,.article ol{margin:0 0 14px;padding-left:22px}.article li+li{margin-top:6px}.article-eyebrow{margin:0 0 8px;color:var(--muted)}.article-eyebrow a{color:var(--accent);text-decoration:none}.article-lead{font-size:17px}.article-figure{margin:24px 0 8px}.article-figure figcaption{margin-top:6px;font-size:13px;color:var(--muted)}.content-table{overflow-x:auto;margin:0 0 16px}.content-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}.content-table th,.content-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.content-table th{font-weight:600;background:var(--surface-2)}.content-tip{padding:10px 14px;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;background:var(--surface-2)}.guide-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}.article .guide-list li+li{margin-top:0}.guide-card{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);line-height:1.5;text-decoration:none}.guide-card:hover{border-color:var(--accent)}.landing-more{position:relative;margin-top:72px;padding:36px 32px 32px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 55%,var(--bg));display:flex;flex-direction:column;gap:40px}.landing-more:before{content:"";position:absolute;left:0;right:0;top:-53px;height:2px;background:var(--border)}@media(max-width:640px){.landing-more{margin-top:40px;padding:24px 16px}.landing-more:before{top:-37px}}.landing-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.landing-info-card{padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface);line-height:1.6}.landing-info-card h2,.landing-guides h2,.landing-faq h2{font-size:20px;margin:0 0 12px}.landing-info-card p{margin:0 0 10px}.landing-info-card ol{margin:0 0 10px;padding-left:20px}.landing-info-card li+li{margin-top:6px}.landing-faq{line-height:1.6}.look-stack{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.look-stack-item{border:1px solid var(--border);border-radius:10px;background:var(--surface)}.look-stack-item.is-open{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.look-stack-item.is-missing{border-style:dashed;padding-bottom:8px}.look-stack-item.is-missing p{margin:0 12px}.look-stack-head{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 10px}.look-stack-title{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:2px 0;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.look-stack-title:disabled{cursor:default}.look-stack-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.look-stack-item.is-missing .look-stack-name{color:var(--muted);text-decoration:line-through}.look-stack-body{display:flex;flex-direction:column;gap:10px;padding:0 10px 10px}.look-stack-body .creative-step-head{cursor:default}.stack-files{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--border)}.stack-files .row{flex-wrap:wrap}.video-preview{display:flex;flex-direction:column;gap:10px;min-height:0;height:100%}.video-preview-player,.sequence-stage{flex:1 1 auto;min-height:0;width:100%;max-height:70vh;border-radius:var(--radius);background:#000}.video-preview-player{object-fit:contain}.sequence-stage{display:grid;place-items:center;overflow:hidden;flex:1 1 0;min-height:260px}.sequence-frame-box{position:relative;overflow:hidden;flex:none;box-shadow:0 0 0 1px #ffffff2e}.sequence-frame-box.is-movable{cursor:grab;touch-action:none}.sequence-frame-box.is-movable:active{cursor:grabbing}.sequence-frame{position:absolute;max-width:none;max-height:none;object-fit:fill;user-select:none;pointer-events:none}.sequence-overlay-layer{position:absolute;inset:0}.sequence-overlay-layer .compose-area{min-height:0;height:100%;overflow:visible}.sequence-overlay-layer .compose-stage{background:none;box-shadow:none}.sequence-overlay-layer .compose-canvas{cursor:grab}.sequence-time,.sequence-layout,.sequence-zoom-animation{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding-top:10px;border-top:1px solid var(--border)}.sequence-time .row,.sequence-layout .row,.sequence-zoom-animation .row{flex-wrap:wrap;align-items:center;gap:6px 8px}.sequence-layout-zoom{flex-wrap:nowrap}.sequence-layout-zoom input[type=range]{flex:1 1 auto;min-width:0}.sequence-controls{align-items:center;gap:10px}.sequence-controls input[type=range]{flex:1}.sequence-time-field{display:inline-flex;align-items:center;gap:8px}.sequence-time-field .input{width:76px}.seq-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.seq-list{position:relative;overflow-y:auto}.seq-spacer{position:relative}.seq-row{position:absolute;left:0;right:0;display:flex;align-items:center;gap:8px;padding:0 4px 0 6px;border-bottom:1px solid var(--border);background:var(--bg);cursor:pointer}.seq-row:hover{background:var(--surface-2)}.seq-row.is-current{background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.seq-row.is-dragging{opacity:.4}.seq-row.drop-before:before,.seq-row.drop-after:after{content:"";position:absolute;left:0;right:0;height:3px;background:var(--accent);pointer-events:none}.seq-row.drop-before:before{top:-2px}.seq-row.drop-after:after{bottom:-2px}.seq-grip{flex:none;color:var(--muted);cursor:grab;font-size:15px;letter-spacing:-3px;line-height:1;user-select:none}.seq-num{flex:none;width:24px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.seq-thumb{flex:none;width:48px;height:36px;border-radius:4px;background:var(--surface-2);pointer-events:none}.seq-text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.seq-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.pdf-images-preview{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto}.pdf-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.pdf-images-page{margin:0;display:flex;flex-direction:column;align-items:center;gap:4px}.pdf-images-page img{max-width:100%;border:1px solid var(--border);border-radius:4px;background:#fff;box-shadow:0 1px 3px #0000001f}.ocr-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;height:100%;min-height:0}.ocr-image{display:grid;place-items:center;min-height:0;overflow:hidden;border-radius:var(--radius);background:var(--surface-2)}.ocr-image img{max-width:100%;max-height:100%;object-fit:contain}.ocr-text{display:flex;flex-direction:column;gap:8px;min-height:0}.ocr-textarea{flex:1 1 auto;min-height:240px;resize:none;font-family:var(--mono);font-size:13px;line-height:1.5;white-space:pre-wrap}@media(max-width:1100px){.ocr-preview{grid-template-columns:minmax(0,1fr)}}.support-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:60;width:min(360px,calc(100vw - 32px));padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 12px 40px #00000059}.support-toast-logo{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 10px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--border);font-size:26px;line-height:1}.support-toast{text-align:center}.support-toast h2{margin:0 0 6px;font-size:16px}.support-toast p{margin:0 0 12px;font-size:14px}.support-toast .support-toast-lead{margin:24px 0 8px;font-size:17px;font-weight:700}.support-toast-ways{display:grid;gap:6px;margin:0 0 24px;padding:0;list-style:none;font-size:14px}.support-toast-ways strong{color:var(--accent)}.support-toast .support-toast-bookmark{margin:-8px 0 20px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:14px}.support-toast-actions{flex-wrap:wrap;justify-content:center;gap:8px}.support-toast-actions a.btn{text-decoration:none}.browser-only{position:relative;flex-shrink:0}button.badge{font-family:inherit;line-height:inherit;cursor:pointer}button.badge--local:hover,button.badge--local[aria-expanded=true]{background:color-mix(in srgb,var(--ok) 14%,transparent)}.browser-only-note{position:fixed;top:58px;right:16px;z-index:30;width:min(340px,calc(100vw - 32px));padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 10px 30px #0000002e;font-size:13px;line-height:1.5}.browser-only-note p{margin:0 0 8px}.browser-only-title{font-weight:700;color:var(--ok)}.browser-only-link{font-weight:600;text-decoration:none}.theme-toggle{display:inline-grid;place-items:center;padding:3px 7px;color:var(--text)}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.effects-panel{flex:none}.effects-group{margin:4px 0 0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.effects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.effect-tile{display:flex;flex-direction:column;gap:4px;padding:4px;border:2px solid transparent;border-radius:10px;background:none;color:var(--text);font:inherit;cursor:pointer;text-align:center}.effect-tile:hover{border-color:var(--border)}.effect-tile.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.effect-thumb{display:grid;place-items:center;aspect-ratio:1;overflow:hidden;border-radius:7px;background:var(--surface-2)}.effect-thumb img{width:100%;height:100%;object-fit:cover}.effect-thumb-empty{width:40%;height:40%;border-radius:50%;background:color-mix(in srgb,var(--muted) 18%,transparent);animation:effect-pulse 1.2s ease-in-out infinite}@keyframes effect-pulse{50%{opacity:.4}}.effect-name{font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-main{flex:1 1 auto;min-height:420px}.compose-toolbar,.compose-save{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.compose-sizes{flex:0 1 auto}.compose-area{position:relative;flex:1 1 auto;min-height:260px;display:grid;place-items:center;overflow:hidden}.compose-stage{position:relative;box-shadow:0 2px 14px #00000040;background:repeating-conic-gradient(#c9ccd1 0% 25%,#fff 0% 50%) 0 0 / 16px 16px}.compose-circle-guide{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle closest-side,transparent calc(100% - 1px),rgb(255 255 255 / 85%) calc(100% - 1px),rgb(255 255 255 / 85%) 100%,rgb(0 0 0 / 45%) 100%)}.compose-canvas{display:block;touch-action:none;cursor:move}.compose-selection{position:absolute;border:2px solid var(--accent);border-radius:3px;pointer-events:none;box-shadow:0 0 0 1px #fff9}.compose-selection.is-locked{border-style:dashed}.compose-handle{position:absolute;right:-8px;bottom:-8px;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:var(--accent);cursor:nwse-resize;pointer-events:auto;touch-action:none}.compose-guide{position:absolute;background:#ff4fd8;pointer-events:none}.compose-guide--v{top:0;bottom:0;left:calc(50% - .5px);width:1px}.compose-guide--h{left:0;right:0;top:calc(50% - .5px);height:1px}.compose-templates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compose-template{display:flex;flex-direction:column;gap:4px;padding:4px;border:2px solid transparent;border-radius:10px;background:none;color:var(--text);font:inherit;cursor:pointer}.compose-template:hover{border-color:var(--border)}.compose-template.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.compose-template-thumb{display:grid;place-items:center;height:84px;border-radius:6px;background:var(--surface-2);overflow:hidden}.compose-template-thumb canvas{max-width:100%;max-height:84px}.compose-template-name{font-size:12px}.compose-photos{flex:none;height:220px;min-height:0}.compose-photos .qt-file{flex-direction:row;align-items:center;justify-content:flex-start}.compose-photos .qt-file-name{flex:1;min-width:0}.compose-slot-tag{flex:none;margin-left:6px;color:var(--text);background:color-mix(in srgb,var(--accent) 22%,transparent)}.compose-slot-tag--error{background:color-mix(in srgb,var(--danger) 25%,transparent)}.compose-colors{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.compose-swatch{width:22px;height:22px;padding:0;border:1px solid var(--border);border-radius:50%;cursor:pointer}.compose-swatch.is-active{outline:2px solid var(--accent);outline-offset:2px}.compose-colors input[type=color]{width:30px;height:24px;padding:0;border:1px solid var(--border);border-radius:6px;background:none}.compose-text{resize:vertical;font:inherit}.compose-row{align-items:flex-end}.compose-row .field{flex:1}.compose-caps{padding-bottom:6px}.compose-props .panel-header h2{flex:none}.compose-actions{gap:6px}.compose-stickers{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:4px}.compose-sticker-btn{display:grid;place-items:center;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:20px;cursor:pointer}.compose-sticker-btn:hover{border-color:var(--accent)}.compose-layers{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.compose-layer{display:flex;align-items:center;gap:2px;border-radius:8px}.compose-layer.is-selected{background:color-mix(in srgb,var(--accent) 16%,transparent)}.compose-layer-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;background:none;color:var(--text);font:inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.compose-layer-icon{flex:none;width:20px;text-align:center;font-weight:700}@media(max-width:1100px){.compose-area{height:70vh}}.app-tooltip{position:fixed;z-index:50;width:max-content;max-width:min(320px,calc(100vw - 16px));padding:12px 14px;border:1.5px solid var(--accent);border-radius:12px;background:var(--surface-2);color:var(--text);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent),0 12px 32px #00000073;font-size:14px;line-height:1.45;pointer-events:none;animation:app-tooltip-in .12s ease-out}.app-tooltip p{margin:0}.app-tooltip-title{display:block;margin-bottom:4px;font-size:15px;font-weight:700;color:var(--accent)}.app-tooltip:after{content:"";position:absolute;left:calc(var(--arrow-x, 50%) - 6px);bottom:-6px;width:10px;height:10px;border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);background:var(--surface-2);transform:rotate(45deg)}.app-tooltip.is-below:after{top:-6px;bottom:auto;transform:rotate(225deg)}.app-tooltip-partners{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.app-tooltip-label{display:block;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.app-tooltip-partners ul{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.app-tooltip-partners li{padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);font-size:12px}@keyframes app-tooltip-in{0%{opacity:0;transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.app-tooltip{animation:none}}.share-app{position:relative;flex:none;margin-left:auto}.share-app-btn{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:none;color:var(--accent);cursor:pointer;transition:background-color .15s}.share-app-btn:hover,.share-app-btn:focus-visible,.share-app-btn.is-copied{background:color-mix(in srgb,var(--accent) 16%,transparent)}.share-app-manual{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:flex;align-items:center;gap:4px;width:min(340px,80vw);padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 6px 18px #00000040}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.compose-guide-layer{position:absolute;inset:0;pointer-events:none}.passport-line{position:absolute;left:0;right:0;border-top:1.5px dashed #ff3b6b}.passport-zone{position:absolute;left:0;right:0;background:#ff3b6b24;border-top:1.5px dashed #ff3b6b;border-bottom:1.5px dashed #ff3b6b}.passport-oval{position:absolute;border:2px solid rgb(255 255 255 / 85%);border-radius:50%;box-shadow:0 0 0 1px #00000059}.passport-center{position:absolute;top:0;bottom:0;left:calc(50% - .5px);border-left:1px dashed rgb(255 255 255 / 70%)}.passport-label{position:absolute;right:4px;padding:1px 5px;border-radius:4px;background:#ff3b6b;color:#fff;font-size:10px;font-weight:700;line-height:1.4;transform:translateY(-50%);white-space:nowrap}.compose-tail-handle{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid #fff;border-radius:50%;background:#ff3b6b;box-shadow:0 0 0 1px #0006;cursor:crosshair;touch-action:none}.compose-drop-target{position:absolute;border:3px dashed var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent);pointer-events:none}.comic-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;max-height:340px;overflow-y:auto}.comic-page-thumb{position:relative;display:grid;place-items:center;padding:4px;border:2px solid transparent;border-radius:8px;background:var(--surface-2);cursor:pointer}.comic-page-thumb canvas{max-width:100%;box-shadow:0 1px 4px #0000004d}.comic-page-thumb.is-active{border-color:var(--accent)}.comic-page-no{position:absolute;right:6px;bottom:6px;min-width:18px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;text-align:center}.comic-page-actions{flex-wrap:wrap;gap:4px}.comic-layouts{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px}.comic-layout-btn{position:relative;display:grid;place-items:center;padding:4px;border:2px solid transparent;border-radius:8px;background:var(--surface-2);color:var(--muted);cursor:pointer}.comic-layout-btn:hover{border-color:var(--border)}.comic-layout-btn.is-active{border-color:var(--accent)}.comic-layout-btn span{position:absolute;top:3px;right:6px;font-size:10px;font-weight:700}.comic-add{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.comic-pager{display:inline-flex;align-items:center;gap:4px}.comic-photo{cursor:grab}.gutter-handle{position:absolute;z-index:2;touch-action:none}.gutter-handle--v{width:16px;margin-left:-8px;cursor:col-resize}.gutter-handle--h{height:16px;margin-top:-8px;cursor:row-resize}.gutter-handle:before{content:"";position:absolute;border-radius:3px;background:var(--accent);opacity:.55;transition:opacity .12s}.gutter-handle--v:before{top:0;bottom:0;left:6px;width:4px}.gutter-handle--h:before{left:0;right:0;top:6px;height:4px}.gutter-handle:after{content:"";position:absolute;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px #00000059}.gutter-handle--v:after{top:calc(50% - 7px);left:1px}.gutter-handle--h:after{left:calc(50% - 7px);top:1px}.gutter-handle:hover:before,.gutter-handle:active:before{opacity:1}.slideshow-canvas{display:block;box-shadow:0 2px 14px #00000040;background:#000}.slideshow-controls{display:flex;align-items:center;gap:10px}.slideshow-clock{flex:none;font-variant-numeric:tabular-nums}.slideshow-slides{min-height:0}.slideshow-list{display:flex;flex-direction:column;gap:2px;max-height:52vh;margin:0;padding:0;overflow-y:auto;list-style:none}.slideshow-item{display:flex;align-items:center;gap:2px;border-radius:8px}.slideshow-item.is-selected{background:color-mix(in srgb,var(--accent) 16%,transparent)}.slideshow-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;background:none;color:var(--text);font:inherit;font-size:13px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.slideshow-no{flex:none;min-width:20px;padding:0 5px;border-radius:10px;background:var(--surface-2);font-size:11px;font-weight:700;text-align:center}.seg-wrap{flex-wrap:wrap}.seg-wrap button{flex:1 1 auto}.filmstrip{display:flex;align-items:center;gap:0;padding:4px 2px 8px;overflow-x:auto}.filmstrip-cell{display:flex;align-items:center;flex:none}.filmstrip-frame{position:relative;padding:0;border:2px solid transparent;border-radius:6px;background:none;cursor:pointer}.filmstrip-frame canvas{display:block;width:56px;height:56px;border-radius:4px}.filmstrip-frame.is-selected{border-color:var(--accent)}.filmstrip-no{position:absolute;left:3px;top:3px;min-width:16px;padding:0 3px;border-radius:8px;background:#000000a6;color:#fff;font-size:10px;font-weight:700;text-align:center}.filmstrip-transition{display:flex;flex-direction:column;align-items:center;margin:0 3px;padding:2px 5px;border:1px dashed var(--border);border-radius:6px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:10px;line-height:1.2;cursor:pointer}.filmstrip-transition span{font-variant-numeric:tabular-nums}.filmstrip-transition.is-own{border-style:solid;border-color:var(--accent);color:var(--accent);font-weight:700}.filmstrip-transition.is-selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.frame-panel-body{display:flex;flex-direction:column;gap:14px}.frame-group{display:flex;flex-direction:column;gap:8px}.frame-apply{justify-self:start}.filmstrip-motion{position:absolute;left:2px;right:2px;bottom:2px;overflow:hidden;border-radius:3px;background:#000000a6;color:#fff;font-size:9px;line-height:1.5;text-align:center;white-space:nowrap}.filmstrip-motion.is-own{background:var(--accent)}.slideshow-save .segmented{align-self:stretch}.slideshow-save .segmented button{flex:1 1 0}.slideshow-save .progress{height:8px}.slideshow-canvas.is-draggable{cursor:grab;touch-action:none}.slideshow-canvas.is-draggable:active{cursor:grabbing}.comic-save .segmented button{flex:1 1 0}.compose-photos.compose-photos--fill{flex:1 1 auto;height:auto;min-height:260px}.compose-save.compose-save--panel{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.compose-save--panel .segmented button{flex:1 1 0}.compose-photos.comic-photos{flex:1 1 auto;height:auto;min-height:260px}.crop-position-stage{position:relative;align-self:center;max-width:100%;overflow:hidden;border-radius:8px;touch-action:none;user-select:none}.crop-position-stage img{display:block;max-width:100%;max-height:calc(100vh - 300px);pointer-events:none}.crop-position-window{position:absolute;outline:2px solid #fff;box-shadow:0 0 0 9999px #0000008c;touch-action:none}.crop-position-window:focus-visible{outline-color:var(--accent)}.crop-position-thirds{position:absolute;inset:0;background:linear-gradient(to right,transparent calc(33.33% - .5px),rgb(255 255 255 / .45) calc(33.33% - .5px),rgb(255 255 255 / .45) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.67% - .5px),rgb(255 255 255 / .45) calc(66.67% - .5px),rgb(255 255 255 / .45) calc(66.67% + .5px),transparent calc(66.67% + .5px)),linear-gradient(to bottom,transparent calc(33.33% - .5px),rgb(255 255 255 / .45) calc(33.33% - .5px),rgb(255 255 255 / .45) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.67% - .5px),rgb(255 255 255 / .45) calc(66.67% - .5px),rgb(255 255 255 / .45) calc(66.67% + .5px),transparent calc(66.67% + .5px));pointer-events:none}.card-wrap{position:relative;display:flex;min-width:0}.card-wrap>a{flex:1 1 auto;min-width:0;padding-right:38px}.card-wrap--plain>a{padding-right:14px}.fav-btn{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;transition:color .15s,background-color .15s,transform .15s}.fav-btn:hover,.fav-btn:focus-visible{color:#e8a400;background:color-mix(in srgb,#e8a400 14%,transparent)}.fav-btn.is-on{color:#f0ac00}.fav-btn:active{transform:scale(.88)}.card-fav{position:absolute;top:6px;right:6px;z-index:1}.card-wrap .card-fav:not(.is-on){opacity:.55}.card-wrap:hover .card-fav,.card-fav:focus-visible{opacity:1}.app-actions{display:inline-flex;align-items:center;gap:2px;flex:none;margin-left:auto}.app-actions .share-app{margin-left:0}.afm-main{gap:10px}.afm-breakall{word-break:break-all;margin:0}.afm-hint{line-height:1.35}.afm-note{margin:0;padding:7px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 10%,var(--surface))}.afm-inline{display:inline-flex;align-items:center;gap:6px}.afm-param{gap:4px}.afm-value{display:inline-flex;align-items:center;gap:4px}.afm-number{width:74px;padding:2px 6px;font-size:12px;text-align:right;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-variant-numeric:tabular-nums}.afm-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;background:var(--muted)}.afm-classes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.afm-class{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.afm-class.is-ignored .afm-class-name{color:var(--muted);text-decoration:line-through}.afm-swatch{width:28px;height:28px;padding:1px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);cursor:pointer;flex:none}.afm-class-name{flex:1 1 100px;min-width:0;padding:5px 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.afm-ignore{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.afm-totals{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13px}.afm-totals .afm-dot{margin-right:6px}.afm-layouts{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.afm-mode{margin:0}.afm-facts{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0}.afm-facts dt{color:var(--muted)}.afm-facts dd{margin:0;min-width:0}.afm-summary{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:var(--surface-2)}.afm-list-panel{flex:1 1 auto;min-height:260px}.afm-list{flex:1 1 auto;min-height:160px;border:1px solid var(--border);border-radius:8px}.afm-counts{display:flex;flex-wrap:wrap;gap:6px}.afm-row{display:flex;align-items:center;gap:6px;height:100%;padding:0 8px;font-size:12.5px}.afm-row:hover{background:var(--surface-2)}.afm-row.is-selected{background:color-mix(in srgb,var(--accent) 20%,transparent)}.afm-row.is-excluded .afm-row-name{color:var(--muted);text-decoration:line-through}.afm-row-name{flex:1;min-width:0;padding:0;border:0;background:none;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.afm-kind--photo{color:var(--muted)}.afm-kind--binary{color:var(--ok)}.afm-kind--semantic{color:var(--warn)}.afm-samples{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.afm-welcome{max-width:760px;margin:0 auto;padding:24px 12px;display:flex;flex-direction:column;gap:14px}.afm-welcome h2{margin:0;font-size:22px}.afm-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;line-height:1.5}.afm-gallery{display:flex;flex-direction:column;gap:10px}.afm-gallery-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px}.afm-filter{min-width:220px}.afm-selection{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));position:sticky;top:0;z-index:2}.afm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.afm-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.afm-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.afm-card.is-current{border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}.afm-card.is-excluded .afm-card-body{opacity:.4}.afm-card-head{display:flex;align-items:center;gap:6px;padding:6px 8px;min-width:0}.afm-card-name{flex:1;min-width:0;padding:0;border:0;background:none;text-align:left;font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.afm-card-body{display:block;padding:0 8px;border:0;background:none;cursor:pointer}.afm-card-foot{padding:6px 8px 8px}.afm-thumbs{transition:opacity .2s}.afm-thumbs--idle{aspect-ratio:4 / 3}.afm-thumbs.is-busy{opacity:.55}.afm-thumb{aspect-ratio:var(--ar, 1.33);display:grid;place-items:center;border-radius:6px;overflow:hidden;background:repeating-conic-gradient(var(--surface-2) 0% 25%,var(--bg) 0% 50%) 50% / 14px 14px}.afm-thumb img{display:block;width:100%;height:100%;object-fit:contain}.afm-thumb-wait{color:var(--muted)}.afm-viewer{display:flex;flex-direction:column;gap:8px;min-width:0}.afm-viewbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.afm-viewbar .compare-toolbar{margin-left:auto}.afm-stepbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.afm-viewname{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afm-viewpos{min-width:4.5em;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.afm-hintline{margin:0}.afm-stagewrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}.afm-stagewrap>.compare-sbs{width:100%}.afm-stagewrap.is-rendering .ba-stage{opacity:.6;transition:opacity .2s}.afm-stagewrap.is-excluded .ba-stage{filter:grayscale(.8)}.afm-stagewrap .preview-busy{align-items:flex-start;justify-content:flex-end;padding:10px}.afm-canvas{image-rendering:auto}.afm-objects .afm-obj polygon{transition:fill-opacity .1s}.annotation-layer.afm-objects.is-interactive{pointer-events:auto}.afm-objects.is-interactive .afm-obj{cursor:pointer}.afm-objects.is-interactive .afm-obj:hover polygon{fill-opacity:.45}.afm-obj.is-removed polygon,.afm-obj.is-removed rect{stroke-dasharray:3 3;opacity:.55}.afm-obj.is-removed polygon{fill:var(--muted);stroke:var(--muted)}.afm-objlist{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.afm-objrow{width:100%;display:flex;align-items:center;gap:8px;padding:5px 6px;border:0;border-radius:6px;background:none;text-align:left;cursor:pointer;font-size:12.5px}.afm-objrow:hover{background:var(--surface-2)}.afm-objrow.is-removed{opacity:.55;text-decoration:line-through}.afm-objname{font-weight:600}.afm-objrow .muted:last-child{margin-left:auto}@media(max-width:1100px){.afm-list-panel{height:420px;flex:none}}.feedback-cta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px;padding-top:10px;border-top:1px solid var(--border)}.feedback-cta{flex-direction:column;align-items:stretch}
