:root{--bg:#0f1117;--bg2:#1a1d27;--bg3:#242836;--border:#2e3348;--text:#e4e6f0;--text2:#8b8fa8;--accent:#667eea;--accent-h:#7b93ff;--green:#34d399;--red:#f87171}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:linear-gradient(135deg,#1e1b4b 0%,#312e81 50%,#4c1d95 100%);padding:1.2rem 2rem}.header h1{letter-spacing:-.5px;font-size:1.4rem;font-weight:700}.header-row{justify-content:space-between;align-items:center;display:flex}.header-right{align-items:center;gap:.6rem;display:flex}.header-user{color:#ffffffb3;font-size:.85rem}.main{flex:1;width:100%;max-width:800px;margin:0 auto;padding:1.5rem 2rem}.section{margin-bottom:1.5rem}.section-head{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.section h2{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.empty{color:var(--text2);text-align:center;background:var(--bg2);border:1px dashed var(--border);border-radius:8px;padding:1.5rem;font-size:.9rem}.btn{background:var(--bg3);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;transition:all .15s}.btn:hover:not(:disabled){border-color:var(--accent);color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-h)}.btn-sm{padding:.3rem .7rem;font-size:.8rem}.btn-go{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;padding:.7rem 1.5rem;font-size:.95rem;font-weight:600;transition:filter .15s}.btn-go:hover:not(:disabled){filter:brightness(1.1)}.btn-go:disabled{opacity:.4;cursor:not-allowed}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{background:var(--bg3);border:1px solid var(--border);color:var(--text2);border-radius:20px;align-items:center;gap:.3rem;padding:.35rem .7rem;font-size:.85rem;transition:all .15s;display:flex}.chip span{cursor:pointer;-webkit-user-select:none;user-select:none}.chip-on{border-color:var(--accent);color:var(--accent);background:#667eea26}.chip-action{cursor:pointer;color:var(--text2);border:1px solid var(--border);background:0 0;border-radius:20px;padding:.35rem .7rem;font-size:.8rem}.chip-action:hover{border-color:var(--accent);color:var(--text)}.chip-x{color:var(--text2);cursor:pointer;opacity:.3;background:0 0;border:none;padding:0 .1rem;font-size:1rem;line-height:1}.chip-x:hover{opacity:1;color:var(--red)}.urls-input,.custom-prompt{background:var(--bg2);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:8px;outline:none;padding:.7rem 1rem;font-family:inherit;font-size:.9rem}.urls-input:focus,.custom-prompt:focus{border-color:var(--accent);box-shadow:0 0 0 2px #667eea33}.urls-input::placeholder,.custom-prompt::placeholder{color:var(--text2)}.custom-prompt{margin-top:.5rem}.settings-row{align-items:flex-start;gap:1.5rem;display:flex}.setting{flex:1}.setting label{color:var(--text2);text-transform:uppercase;letter-spacing:.3px;margin-bottom:.4rem;font-size:.75rem;display:block}.setting select{background:var(--bg2);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;outline:none;padding:.5rem .7rem;font-size:.85rem}.setting select:focus{border-color:var(--accent)}.setting input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.status{color:var(--accent);background:#667eea14;border-radius:6px;margin-top:.6rem;padding:.5rem .8rem;font-size:.85rem}.pulsing{animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.live-view{border:1px solid var(--border);background:var(--bg2);border-radius:8px;min-height:200px;overflow:hidden}.live-view img{width:100%;display:block}.hist{flex-direction:column;gap:.5rem;display:flex}.hist-item{background:var(--bg2);border-left:3px solid var(--green);border-radius:8px;padding:.8rem}.hist-err{border-left-color:var(--red)}.hist-top{justify-content:space-between;margin-bottom:.3rem;display:flex}.hist-user{color:var(--accent);font-size:.85rem;font-weight:600}.hist-time{color:var(--text2);font-size:.8rem}.hist-comment{color:var(--text2);font-size:.9rem}.hist-error{color:var(--red);font-size:.85rem}.hist-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.hist-style{color:var(--accent);background:#667eea1f;border-radius:10px;padding:.1rem .5rem;font-size:.7rem}.hist-dur{color:var(--text2);font-size:.75rem}.hist-author{color:var(--text2);margin-bottom:.2rem;font-size:.8rem}.hist-thumb{object-fit:cover;border:1px solid var(--border);cursor:pointer;border-radius:6px;max-width:100%;max-height:180px;margin-top:.5rem}.preview-img{border-radius:8px;max-width:90vw;max-height:90vh}.overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:12px;width:90%;max-width:420px;padding:1.8rem}.modal h2{margin-bottom:.8rem;font-size:1.15rem}.modal-hint{color:var(--text2);margin-bottom:1rem;font-size:.85rem}.field{margin-bottom:1rem}.field label{color:var(--text2);text-transform:uppercase;letter-spacing:.3px;margin-bottom:.3rem;font-size:.75rem;display:block}.field input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;outline:none;padding:.6rem .8rem;font-size:.9rem}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #667eea33}.field input:disabled{opacity:.5}.login-status{color:var(--accent);background:#667eea14;border-radius:6px;margin-bottom:.8rem;padding:.5rem .8rem;font-size:.85rem}.modal-btns{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.modal-wide{max-width:520px}.auth-loading{min-height:100vh;color:var(--text2);justify-content:center;align-items:center;display:flex}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;width:100%;max-width:380px;padding:2rem}.auth-card h1{text-align:center;margin-bottom:.3rem;font-size:1.6rem}.auth-hint{color:var(--text2);text-align:center;margin-bottom:1.5rem;font-size:.85rem}.auth-error{color:var(--red);background:#f871711a;border-radius:6px;margin-bottom:.8rem;padding:.5rem .8rem;font-size:.85rem}.auth-btn{width:100%;padding:.7rem;font-size:.95rem}.btn-danger{border-color:var(--red);color:var(--red);background:#f8717126}.btn-danger:hover:not(:disabled){background:#f8717140}.users-list{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.user-row{background:var(--bg);border-radius:6px;align-items:center;gap:.6rem;padding:.5rem .7rem;display:flex}.user-name{flex:1;font-size:.9rem}.user-role{background:var(--bg3);color:var(--text2);border-radius:10px;padding:.15rem .5rem;font-size:.7rem}.user-role.admin{color:var(--accent);background:#667eea26}.user-add{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.user-add input,.user-add select{background:var(--bg);border:1px solid var(--border);min-width:100px;color:var(--text);border-radius:6px;outline:none;flex:1;padding:.5rem .7rem;font-size:.85rem}.user-add select{flex:none;width:90px}.mode-switch{gap:.3rem;margin-bottom:.8rem;display:flex}.mode-btn{border:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer;border-radius:6px;padding:.4rem 1rem;font-size:.85rem;transition:all .15s}.mode-btn:hover{border-color:var(--accent);color:var(--text)}.mode-active{border-color:var(--accent);color:var(--accent);background:#667eea26;font-weight:600}.manual-input{background:var(--bg2);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:8px;outline:none;padding:.7rem 1rem;font-family:inherit;font-size:.9rem}.manual-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #667eea33}.manual-input::placeholder{color:var(--text2)}.tabs{gap:.3rem;margin-bottom:1.2rem;display:flex}.tab{border:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer;border-radius:8px;padding:.5rem 1.2rem;font-size:.9rem;transition:all .15s}.tab:hover{border-color:var(--accent);color:var(--text)}.tab-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.comments-tab{flex-direction:column;gap:1rem;display:flex}.comments-stats{flex-wrap:wrap;gap:1rem;display:flex}.stat-item{color:var(--text2);font-size:.85rem}.stat-item b{color:var(--text)}.stat-ok b{color:var(--green)}.stat-err b{color:var(--red)}.stat-vis b{color:#60a5fa}.stat-hid b{color:#fbbf24}.comments-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.comments-filters select{background:var(--bg2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;outline:none;padding:.4rem .6rem;font-size:.82rem}.comments-filters select:focus{border-color:var(--accent)}.comments-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.comments-table{border-collapse:collapse;width:100%;font-size:.82rem}.comments-table th{text-align:left;background:var(--bg3);color:var(--text2);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;padding:.6rem;font-size:.7rem;font-weight:600}.comments-table td{border-top:1px solid var(--border);vertical-align:top;padding:.55rem .6rem}.comments-table tr:hover td{background:#667eea0a}.row-err td{background:#f871710a}.col-date{white-space:nowrap;color:var(--text2);font-size:.78rem}.col-user{color:var(--accent);white-space:nowrap;font-weight:600}.post-author{color:var(--text2);margin-bottom:.15rem;font-size:.8rem}.post-link{color:var(--accent);font-size:.78rem;text-decoration:underline}.post-link:hover{color:var(--accent-h)}.col-comment{text-overflow:ellipsis;max-width:250px;overflow:hidden}.text-err{color:var(--red);font-size:.8rem}.badge{white-space:nowrap;border-radius:10px;padding:.1rem .5rem;font-size:.7rem;font-weight:500;display:inline-block}.badge-critical{color:var(--red);background:#f871711f}.badge-sarcastic{color:#fbbf24;background:#fbbf241f}.badge-positive{color:var(--green);background:#34d3991f}.badge-neutral{color:var(--text2);background:#8b8fa81f}.badge-status-ok{color:var(--green);background:#34d3991f}.badge-status-error{color:var(--red);background:#f871711f}.badge-vis-visible{color:#60a5fa;background:#60a5fa1f}.badge-vis-hidden{color:#fbbf24;background:#fbbf241f}.badge-vis-not_checked{color:var(--text2);background:#8b8fa814}.badge-vis-none{color:var(--text2);opacity:.4}.btn-xs{padding:.2rem .4rem;font-size:.75rem}.comments-pager{justify-content:center;align-items:center;gap:.8rem;padding:.5rem 0;display:flex}.comments-pager span{color:var(--text2);font-size:.85rem}@media (width<=640px){.header{padding:1rem}.header h1{font-size:1.2rem}.main{padding:1rem}.btn-go{width:100%}.settings-row{flex-direction:column;gap:.8rem}.field input,.setting select,.urls-input,.custom-prompt{font-size:16px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e4e6f0;background-color:#0f1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
