:root{--bg: #0a0b0a;--panel: #131513;--panel-2: #1a1d1a;--line: #262b26;--fg: #eef2ee;--muted: #9aa39a;--accent: #c8f542;--accent-fg: #0a0b0a;--danger: #ff6b6b;--radius: 14px;--mono: "JetBrains Mono", ui-monospace, monospace;--sans: "Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--accent)}.app{max-width:1080px;margin:0 auto;padding:28px 20px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:12px}.logo-mark{width:38px;height:38px;border-radius:10px;background:var(--accent);display:grid;place-items:center;color:var(--accent-fg);font-weight:800}.logo h1{font-size:18px;margin:0;letter-spacing:-.02em}.logo p{margin:0;font-size:12px;color:var(--muted);font-family:var(--mono)}.stepper{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}.step-pill{font-family:var(--mono);font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--panel)}.step-pill.active{color:var(--accent-fg);background:var(--accent);border-color:var(--accent);font-weight:600}.step-pill.done{color:var(--fg);border-color:var(--accent)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}.card h2{margin:0 0 4px;font-size:20px;letter-spacing:-.02em}.card .hint{color:var(--muted);font-size:14px;margin:0 0 20px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 680px){.grid2{grid-template-columns:1fr}}label.field{display:block;margin-bottom:16px}label.field>span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:500}input,textarea,select{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--fg);border-radius:10px;padding:11px 13px;font-size:14px;font-family:var(--sans)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;min-height:78px}.btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;background:var(--accent);color:var(--accent-fg);font-weight:700;font-size:14px;padding:12px 20px;border-radius:10px;font-family:var(--sans)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn.small{padding:7px 12px;font-size:13px}.btn.danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.actions{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:8px}.actions .right{display:flex;gap:12px}.themes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 680px){.themes{grid-template-columns:1fr 1fr}}.theme-card{border:2px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;background:var(--panel-2)}.theme-card.sel{border-color:var(--accent)}.theme-card .sw{display:flex;gap:6px;margin-bottom:10px}.theme-card .sw i{width:22px;height:22px;border-radius:6px;display:block}.theme-card b{font-size:14px;display:block}.theme-card small{color:var(--muted);font-size:12px}.dropzone{border:2px dashed var(--line);border-radius:14px;padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--panel-2)}.dropzone p{margin:6px 0}.dropzone .big{font-size:16px;font-weight:600}.dropzone .sub{color:var(--muted);font-size:13px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:22px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.warn{background:#c8f54214;border:1px solid rgba(200,245,66,.25);color:var(--fg);border-radius:10px;padding:12px 14px;font-size:13px;margin-top:16px}.errbox{background:#ff6b6b14;border:1px solid rgba(255,107,107,.3);color:#ffd0d0;border-radius:10px;padding:12px 14px;font-size:13px;margin-top:14px;white-space:pre-wrap}.progress{margin-top:20px}.progress .bar{height:10px;background:var(--panel-2);border-radius:999px;overflow:hidden;border:1px solid var(--line)}.progress .bar i{display:block;height:100%;background:var(--accent);transition:width .2s}.progress .lbl{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:8px}.photo-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.photo-toolbar .count{font-family:var(--mono);font-size:13px;color:var(--muted);margin-right:auto}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.pcell{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative}.pcell.excluded{opacity:.4}.pcell .thumb{aspect-ratio:1;width:100%;object-fit:cover;display:block;background:#000}.pcell .meta{padding:8px;display:flex;flex-direction:column;gap:6px}.pcell .fname{font-family:var(--mono);font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcell .row{display:flex;gap:6px;align-items:center}.pcell select{padding:4px 6px;font-size:11px;border-radius:6px}.chip{font-size:10px;font-family:var(--mono);padding:3px 7px;border-radius:999px;border:1px solid var(--line);cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none}.chip.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:700}.badge-scenic{position:absolute;top:8px;left:8px;background:var(--accent);color:var(--accent-fg);font-size:10px;font-family:var(--mono);padding:2px 7px;border-radius:999px;font-weight:700}.result-links{display:flex;flex-direction:column;gap:12px}.result-links a.live{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--accent);word-break:break-all}.muted{color:var(--muted);font-size:13px}code.inline{font-family:var(--mono);background:var(--panel-2);padding:2px 6px;border-radius:6px;font-size:12px}
