.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:11px 16px;font-weight:800;text-decoration:none}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-strong)}.btn-secondary{background:var(--card);border-color:var(--border);color:var(--text)}.btn-danger{background:transparent;border-color:color-mix(in srgb,var(--danger) 35%,var(--border));color:var(--danger)}.icon-btn,.theme-toggle{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:8px 10px}.category-card,.tool-card,.note-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.category-card{padding:18px;text-decoration:none;min-height:145px;display:flex;flex-direction:column;justify-content:space-between}.category-card .cat-icon{font-size:1.8rem}.category-card p{font-size:.9rem;margin:0}.tool-card{padding:20px;display:flex;flex-direction:column;gap:10px}.tool-icon{font-size:1.8rem}.tool-card .tool-meta{display:flex;gap:7px;flex-wrap:wrap}.badge{display:inline-flex;font-size:.72rem;font-weight:800;padding:4px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.tool-card .btn{margin-top:auto}.text-link{font-weight:800;text-decoration:none;color:var(--primary)}.empty-state{text-align:center;padding:30px;border:1px dashed var(--border);border-radius:14px;color:var(--muted)}.note-card{padding:20px}.tool-shell{max-width:920px}.tool-shell h1{font-size:clamp(2rem,4vw,3rem)}.tool-panel{margin-top:20px;border:1px solid var(--border);border-radius:20px;background:var(--card);padding:24px;box-shadow:var(--shadow)}.tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.field{display:grid;gap:7px;margin-bottom:16px}.field label{font-weight:750}.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);outline:none}.field textarea{min-height:170px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.dropzone{padding:30px;border:2px dashed var(--border);border-radius:16px;text-align:center;background:var(--surface)}.dropzone.dragover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.result-box{margin-top:18px;padding:16px;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.status{margin-top:10px;font-weight:700}.status.error{color:var(--danger)}.status.success{color:var(--success)}.planner-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.planner-col{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px}.planner-col h4{display:flex;justify-content:space-between}.task-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;margin:9px 0}.task-row{display:flex;justify-content:space-between;gap:10px;align-items:start}.priority-high{border-left:4px solid var(--danger)}.priority-medium{border-left:4px solid #b45309}.priority-low{border-left:4px solid var(--success)}.task-controls{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.task-controls button{font-size:.78rem;padding:5px 8px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px}.result-table{width:100%;border-collapse:collapse}.result-table th,.result-table td{padding:8px;border-bottom:1px solid var(--border);text-align:left}.article-wrap ol{padding-left:22px}.article-wrap li{margin-bottom:8px}.faq-list{display:grid;gap:10px;margin-top:14px}.faq-list details{border:1px solid var(--border);border-radius:12px;background:var(--card);padding:12px 14px}.faq-list summary{font-weight:800;cursor:pointer}.tool-description{max-width:820px}.preview-img{max-width:100%;max-height:380px;border-radius:12px;border:1px solid var(--border);margin:12px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-box{padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}
