:root{--bg: #0f1117;--surface: #1a1d27;--border: #2a2e3b;--text: #e4e6ed;--muted: #8b8fa3;--accent: #6c5ce7;--accent-hover: #7c6ff7;--danger: #e74c3c}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}.app{max-width:600px;margin:0 auto;padding:2rem 1rem}header{text-align:center;margin-bottom:2rem}header h1{font-size:1.75rem;font-weight:700}.subtitle{color:var(--muted);font-size:.85rem}.url-input-form{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.url-input-form input{flex:1;min-width:150px;padding:.6rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem}.url-input-form input:focus{outline:none;border-color:var(--accent)}.url-input-form button{padding:.6rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .15s}.url-input-form button:hover{background:var(--accent-hover)}.empty-state{text-align:center;padding:3rem 0;color:var(--muted)}.url-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.url-item{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem}.url-info{display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.url-link{color:var(--accent);text-decoration:none;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.url-link:hover{text-decoration:underline}.url-label{font-size:.75rem;color:var(--muted)}.url-actions{display:flex;gap:.5rem;flex-shrink:0;margin-left:1rem}.url-actions button{background:none;border:none;color:var(--muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s}.url-actions button:hover{color:var(--text)}.delete-btn:hover{color:var(--danger)!important}.url-item{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.form-error{grid-column:1 / -1;color:var(--danger);font-size:.85rem;margin:0}
