:root{--bg:#0f172a;--card:#fff;--text:#1e293b;--muted:#64748b;--primary:#2563eb;--primary-hover:#1d4ed8;--border:#e2e8f0;--success-bg:#ecfdf5;--success-text:#047857;--error-bg:#fef2f2;--error-text:#b91c1c}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#0f172a,#1e293b);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px}.container{width:100%;max-width:480px;background:var(--card);border-radius:12px;padding:32px;box-shadow:0 20px 40px rgba(0,0,0,.25)}h1{font-size:1.35rem;margin:0 0 24px;color:var(--text)}label{display:block;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:6px}input[type=text],input[type=url]{width:100%;padding:10px 12px;font-size:1rem;border:1px solid var(--border);border-radius:8px;outline:none;background:#fff;color:var(--text)}input[type=text]:focus,input[type=url]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.search-form{margin-bottom:8px}.search-row{display:flex;gap:8px}.search-row input{flex:1 1}.edit-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.button-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#f8fafc;color:var(--text);padding:10px 16px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}.btn:hover{background:#eef2f7}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:#fff;color:var(--muted)}.notice{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#f1f5f9;color:var(--muted);font-size:.9rem}.notice-success{background:var(--success-bg);color:var(--success-text)}.notice-error{background:var(--error-bg);color:var(--error-text)}