:root{color-scheme:light;--bg: #f5f6f8;--panel: #ffffff;--panel-alt: #fafbfc;--border: #d9dde3;--border-strong: #b9c0ca;--text: #1b1e24;--text-dim: #545c68;--text-faint: #737c8a;--accent: #1f5fbf;--accent-dark: #17488f;--accent-soft: #e8f0fc;--danger: #b3261e;--danger-soft: #fdecea;--ok: #1d6b3f;--ok-soft: #e7f4ec;--radius: 6px;--shadow: 0 1px 2px rgba(16, 22, 32, .06), 0 4px 12px rgba(16, 22, 32, .05);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100%}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--panel);border-bottom:1px solid var(--border);padding:0 20px;display:flex;align-items:center;gap:20px;min-height:56px;flex-wrap:wrap}.brand{display:flex;align-items:baseline;gap:8px;font-weight:650;font-size:16px;letter-spacing:-.01em}.brand small{font-weight:400;font-size:12px;color:var(--text-faint)}.privacy-badge{display:inline-flex;align-items:center;gap:7px;background:var(--ok-soft);border:1px solid #b3dcc2;color:var(--ok);border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:600;white-space:nowrap}.privacy-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}.app-nav{display:flex;gap:4px;margin-left:auto}.app-nav button{background:transparent;border:1px solid transparent;border-radius:var(--radius);padding:6px 12px;cursor:pointer;color:var(--text-dim)}.app-nav button:hover:not(:disabled){background:var(--panel-alt);border-color:var(--border)}.app-nav button[aria-current=true]{background:var(--accent-soft);border-color:#b9d3f5;color:var(--accent-dark);font-weight:600}.app-nav button:disabled{opacity:.45;cursor:not-allowed}.app-main{flex:1;padding:20px;max-width:1600px;width:100%;margin:0 auto}.app-footer{border-top:1px solid var(--border);background:var(--panel);padding:10px 20px;color:var(--text-faint);font-size:12px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.panel-head{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.panel-head h2{margin:0;font-size:14px;font-weight:650}.panel-body{padding:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.tight{gap:6px}.spacer{flex:1}.btn{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);padding:7px 14px;cursor:pointer;font-weight:500;white-space:nowrap}.btn:hover:not(:disabled){background:var(--panel-alt);border-color:#98a2b1}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.btn.danger{color:var(--danger);border-color:#e3b4b1;background:var(--panel)}.btn.danger:hover:not(:disabled){background:var(--danger-soft)}.btn.small{padding:4px 9px;font-size:12.5px}label.field{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--text-dim);font-weight:500}label.field>span{font-weight:600}input[type=text],input[type=date],input[type=number],select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius);padding:6px 9px;background:#fff;min-width:0}textarea{resize:vertical;min-height:90px;line-height:1.5;font-family:inherit}input[type=range]{accent-color:var(--accent);width:100%}.hint{color:var(--text-faint);font-size:12px;margin:2px 0 0}.notice{border-radius:var(--radius);padding:10px 12px;border:1px solid;font-size:13px}.notice.info{background:var(--accent-soft);border-color:#b9d3f5;color:#14406f}.notice.warn{background:#fdf6e3;border-color:#ecd9a4;color:#6b5312}.notice.error{background:var(--danger-soft);border-color:#e3b4b1;color:#8c1d18}.notice.ok{background:var(--ok-soft);border-color:#b3dcc2;color:var(--ok)}.start-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-bottom:16px}.start-card{padding:18px;display:flex;flex-direction:column;gap:10px}.start-card h2{margin:0;font-size:15px}.start-card p{margin:0;color:var(--text-dim);font-size:13px;flex:1}.start-card ul{margin:0;padding-left:18px;color:var(--text-dim);font-size:12.5px}.saved-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.saved-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-alt)}.saved-list .meta{flex:1;min-width:0}.saved-list .meta strong{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-list .meta span{color:var(--text-faint);font-size:12px}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}@media(max-width:1100px){.review-layout{grid-template-columns:1fr}}.video-wrap{background:#101318;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:220px}.video-wrap video{width:100%;display:block}.detect-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px}.filmstrip{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:560px;overflow-y:auto}.filmstrip li{display:flex;gap:10px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-alt);cursor:pointer;align-items:flex-start}.filmstrip li.selected{border-color:var(--accent);background:var(--accent-soft)}.filmstrip li .thumb{width:116px;flex:none;border-radius:4px;border:1px solid var(--border);background:#fff;display:block}.filmstrip li .info{flex:1;min-width:0}.filmstrip li .info strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filmstrip li .info .time{color:var(--text-faint);font-size:12px;font-family:var(--mono)}.filmstrip-actions{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.edit-layout{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:16px;align-items:start}@media(max-width:1120px){.edit-layout{grid-template-columns:220px minmax(0,1fr)}.edit-layout .editor-side{grid-column:1 / -1}}.step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:620px;overflow-y:auto}.step-list li{padding:8px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--panel-alt);display:flex;gap:9px;align-items:center}.step-list li.selected{border-color:var(--accent);background:var(--accent-soft)}.step-list .num{width:22px;height:22px;border-radius:50%;background:var(--border);color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;flex:none}.step-list li.selected .num{background:var(--accent);color:#fff}.step-list .label{flex:1;min-width:0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-stage{background:#101318;border-radius:6px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;user-select:none}.canvas-stage canvas{display:block;max-width:100%;height:auto;cursor:crosshair}.canvas-stage canvas.tool-arrow{cursor:crosshair}.tool-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.tool-bar .btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.shape-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.shape-list li{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius);padding:6px 8px;font-size:12.5px;background:var(--panel-alt)}.swatch{width:14px;height:14px;border-radius:3px;border:1px solid var(--border-strong);flex:none}.shape-list .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.export-card{padding:16px;display:flex;flex-direction:column;gap:10px}.export-card h3{margin:0;font-size:14.5px}.export-card p{margin:0;color:var(--text-dim);font-size:12.5px;flex:1}.meta-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.danger-zone{border-color:#e3b4b1}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.busy{opacity:.6;pointer-events:none}
