:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--panel:#141c2b;--input:#0c0e14;--border:#ffffff14;--text:#e2e2ea;--muted:#8e909e;--accent:#7c9cff;--ok:#9be0b4;--danger:#ff6b6b}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{letter-spacing:-.01em;font-family:Geist,system-ui,sans-serif}a{color:var(--accent)}header{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0b1220d9;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.25rem;display:flex;position:sticky;top:0}header .brand{letter-spacing:-.02em;color:var(--text);font-family:Geist,sans-serif;font-weight:700;text-decoration:none}header nav{align-items:center;gap:1rem;font-size:.9rem;display:flex}main{max-width:42rem;margin:0 auto;padding:1.75rem 1.25rem 3rem}h1{letter-spacing:-.01em}form.stack{gap:.85rem;display:grid}label{color:var(--muted);gap:.35rem;font-size:.85rem;font-weight:600;display:grid}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--input);color:var(--text);border-radius:10px;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#6b7280}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #7c9cff33}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238e909e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:38px}button{font:inherit;cursor:pointer;background:var(--accent);color:#0b1220;border:none;border-radius:10px;padding:.7rem 1rem;font-weight:600;transition:opacity .15s}button:hover{opacity:.92}button.link{color:var(--accent);background:0 0;padding:0;font-weight:500}button.ghost{color:var(--text);border:1px solid var(--border);background:0 0}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:1.1rem}a.card{color:inherit;text-decoration:none;transition:border-color .15s;display:block}a.card:hover{border-color:#7c9cff66}.badge{background:var(--input);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:.22rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge.ok{color:var(--ok);background:#14301f;border-color:#245c3a}.badge.warn{color:#f2c035;background:#2e2410;border-color:#5a4400}.msg{border-radius:10px;padding:.7rem .85rem;font-size:.9rem}.msg.error{color:#ffb3b3;background:#3a1620;border:1px solid #6b2233}.msg.ok{color:var(--ok);background:#14301f;border:1px solid #245c3a}.muted{color:var(--muted)}img.thumb{object-fit:cover;cursor:zoom-in;background:#0b1220;border-radius:8px}.thumb-row{gap:.5rem;padding-bottom:.4rem;display:flex;overflow-x:auto}#lightbox{z-index:50;background:#050810f0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#lightbox[hidden]{display:none}#lightbox img{object-fit:contain;border-radius:8px;max-width:92vw;max-height:86vh}#lightbox button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:999px;width:3rem;height:3rem;font-size:1.5rem;position:absolute}#lightbox button:hover{background:#fff3}#lb-prev{left:1rem}#lb-next{right:1rem}#lb-close{width:2.5rem;height:2.5rem;top:1rem;right:1rem}#lb-count{color:var(--muted);font-size:.9rem;position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%)}#confirm-dialog{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:14px;width:90vw;max-width:26rem;padding:0}#confirm-dialog::backdrop{background:#05081099}#confirm-dialog .body{padding:1.25rem 1.25rem 0}#confirm-dialog h3{margin:0 0 .4rem;font-size:1.05rem}#confirm-dialog p{color:var(--muted);margin:0;font-size:.95rem}#confirm-dialog .actions{justify-content:flex-end;gap:.6rem;padding:1.25rem;display:flex}#confirm-dialog .actions button{font:inherit;cursor:pointer;border-radius:8px;padding:.55rem 1rem}#confirm-dialog .cancel{color:var(--text);border:1px solid var(--border);background:0 0}#confirm-dialog .ok{background:var(--accent);color:#0b1220;border:none;font-weight:600}
