*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.loading{display:flex;justify-content:center;padding:4rem;font-size:1.2rem;color:#666}.error{color:#c00;background:#fee;border:1px solid #c00;padding:.5rem .75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.success{color:#060;background:#efe;border:1px solid #060;padding:.5rem .75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.app{max-width:800px;margin:0 auto;padding:2rem}.app header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid #ddd;padding-bottom:1rem}.app header h1{margin:0;font-size:1.5rem}.app header div{display:flex;align-items:center;gap:1rem}.auth-form{max-width:400px;margin:4rem auto;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.auth-form h2{margin-top:0;margin-bottom:1.5rem}.auth-form label{display:block;margin-top:1rem;font-weight:500;font-size:.9rem}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{width:100%;padding:.5rem .75rem;margin-top:.25rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;transition:border-color .15s}.auth-form input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e833}.auth-form button[type=submit]{width:100%;margin-top:1.5rem;padding:.75rem;background:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s}.auth-form button[type=submit]:hover:not(:disabled){background:#1557b0}.auth-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.link-btn{background:none;border:none;color:#1a73e8;cursor:pointer;padding:0;font-size:.9rem}.auth-form .link-btn{margin-top:1rem;display:block;text-align:center;width:100%}.link-btn:hover{text-decoration:underline}.keyword-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.keyword-form h2{margin-top:0;margin-bottom:1.5rem}.keyword-form fieldset{border:1px solid #ddd;border-radius:6px;padding:1rem 1.25rem;margin-bottom:1.5rem}.keyword-form legend{font-weight:600;padding:0 .5rem;font-size:.95rem}.keyword-form fieldset label{margin-right:1.5rem;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}.keyword-form button[type=submit]{padding:.75rem 2rem;background:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;margin-top:.5rem;transition:background .15s}.keyword-form button[type=submit]:hover:not(:disabled){background:#1557b0}.keyword-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.btn-test-keywords{padding:.75rem 2rem;background:#2e7d32;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-test-keywords:hover:not(:disabled){background:#1b5e20}.btn-test-keywords:disabled{opacity:.6;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.preview-loading{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;gap:.75rem}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#2e7d32;border-radius:50%;animation:spin .8s linear infinite}.preview-loading p{color:#666;font-size:.9rem;margin:0}.tag-input{margin-bottom:1.5rem}.tag-input>label{font-weight:600;display:block;margin-bottom:.5rem;font-size:.95rem}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;min-height:1.5rem}.tag{background:#e8f0fe;color:#1a73e8;border-radius:16px;padding:.2rem .75rem;display:inline-flex;align-items:center;gap:.3rem;font-size:.875rem;font-weight:500}.tag button{background:none;border:none;cursor:pointer;color:#5f6368;font-size:1.1rem;padding:0;line-height:1;display:flex;align-items:center}.tag button:hover{color:#c00}.tag-input input{padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem;width:100%;transition:border-color .15s}.tag-input input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e833}
