:root{--blue:#2563eb;--blue-400:#3b82f6;--blue-300:#60a5fa;--blue-50:#eff6ff;--green:#10b981;--amber:#f59e0b;--red:#ef4444;--transition:0.3s ease;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--card-bg:#fff;--card-border:#e2e8f0;--shadow:rgba(15,23,42,.06)}html[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border:#334155;--card-bg:#1e293b;--card-border:#334155;--shadow:rgba(0,0,0,.35)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg-secondary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Pretendard,SF Pro Display,Helvetica Neue,Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;transition:background var(--transition),color var(--transition)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.shell{max-width:480px;margin:0 auto;min-height:100vh;position:relative;flex-direction:column;box-shadow:0 0 0 1px var(--border)}.appbar,.shell{background:var(--bg-primary);display:flex}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.appbar .back{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary)}.appbar .title{font-size:15px;font-weight:500;letter-spacing:.3px;flex:1 1}.appbar .tool-btn{width:38px;height:28px;border-radius:999px;border:1px solid var(--card-border);background:transparent;color:var(--text-secondary);font-size:10px;font-weight:600;letter-spacing:1px}.appbar .tool-btn:hover{border-color:var(--blue);color:var(--blue)}.content{flex:1 1;padding:20px 18px 96px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--blue);font-weight:600}.eyebrow,.h1{margin-bottom:6px}.h1{font-size:26px;font-weight:300;letter-spacing:-.4px}.h2{font-size:18px;font-weight:500;margin-bottom:10px}.muted{color:var(--text-secondary);font-size:13px;line-height:1.55}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:18px;box-shadow:0 2px 8px var(--shadow);transition:border-color var(--transition),transform var(--transition)}.card+.card{margin-top:12px}.card.pad-sm{padding:14px}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;height:52px;border-radius:12px;border:none;background:var(--blue);color:#fff;font-size:15px;font-weight:500;letter-spacing:.2px;transition:background var(--transition),transform var(--transition)}.btn:hover{background:var(--blue-400)}.btn:active{transform:scale(.98)}.btn:disabled,.btn[disabled]{color:var(--text-muted);cursor:not-allowed;transform:none}.btn:disabled,.btn:disabled:hover,.btn[disabled],.btn[disabled]:hover{background:var(--bg-tertiary)}.btn.secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn.secondary:hover{border-color:var(--blue);color:var(--blue)}.btn.ghost{background:transparent;color:var(--blue)}.btn.small{height:40px;font-size:13px;width:auto;padding:0 16px;border-radius:10px}.input,.select,.textarea{width:100%;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);border-radius:10px;padding:12px 14px;font-size:14px;font-family:inherit;transition:border-color var(--transition)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--blue)}.textarea{resize:vertical;min-height:96px}.label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;letter-spacing:.3px}.field+.field{margin-top:14px}.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:var(--bg-primary);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);padding:10px 8px 14px;z-index:40}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-muted);font-size:10px;letter-spacing:.3px;padding:6px 2px}.tabbar a.active{color:var(--blue)}.tabbar a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.stepbar{display:flex;gap:6px;margin-bottom:18px}.stepbar .seg{flex:1 1;height:3px;border-radius:3px;background:var(--border)}.stepbar .seg.on{background:var(--blue)}.stepbar .seg.done{background:var(--blue-300)}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.3px;border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-primary)}.chip.blue{border-color:var(--blue);color:var(--blue)}.chip.green{border-color:var(--green);color:var(--green)}.chip.amber{border-color:var(--amber);color:var(--amber)}.chip.red{border-color:var(--red);color:var(--red)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin:14px 0 18px}.stat-cell{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}.stat-cell .num{font-size:18px;font-weight:500;color:var(--text-primary)}.stat-cell .lbl{font-size:10px;color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;margin-top:2px}.list-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:none}.list-row .thumb{width:48px;height:48px;border-radius:10px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--blue)}.list-row .thumb svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.list-row .meta{flex:1 1;min-width:0}.list-row .meta .name{font-size:14px;font-weight:500;color:var(--text-primary)}.list-row .meta .sub{font-size:11px;color:var(--text-muted);margin-top:2px}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hero-capture{border-radius:16px;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;padding:28px 20px;margin-bottom:18px}.hero-capture .big{font-size:22px;font-weight:300;line-height:1.35}.hero-capture .sub{font-size:12px;opacity:.85;margin-top:6px}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(37,99,235,.5)}70%{box-shadow:0 0 0 18px rgba(37,99,235,0)}to{box-shadow:0 0 0 0 rgba(37,99,235,0)}}.record-dot{width:72px;height:72px;border-radius:50%;background:var(--blue);animation:pulse-ring 1.8s infinite;margin:10px auto 8px;display:flex;align-items:center;justify-content:center;color:#fff}.progress{width:100%;height:8px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue-300),var(--blue));transition:width .4s ease}