:root{--bg-color:#f5f7fa;--card-bg:#fff;--text-primary:#111827;--text-secondary:#4b5563;--border-light:#e5e7eb;--accent:#3b82f6;--accent-light:#eff6ff;--danger:#ef4444;--badge-origin:#fef3c7;--badge-origin-text:#92400e;--badge-type:#e0e7ff;--badge-type-text:#3730a3;--header-bg:#374151;--header-text:#f9fafb}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Noto Sans KR,Segoe UI,Roboto,sans-serif;line-height:1.5}#app{max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.app-header{text-align:center;margin-bottom:2rem;position:relative}.top-theme-btn{cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1.65rem;line-height:1;position:absolute;top:0;right:0}.app-header h1{color:#1f2937;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.block-link{color:var(--accent);font-size:.9rem;text-decoration:none}.block-link:hover{text-decoration:underline}.controls-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.search-container input{border:1px solid var(--border-light);border-radius:6px;outline:none;width:100%;margin-bottom:1rem;padding:.75rem 1rem;font-size:1rem;transition:border .2s}.search-container input:focus{border-color:var(--accent)}.dropdown-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.filter-group{flex-direction:column;flex:1;min-width:120px;display:flex}.filter-group label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem;font-weight:500}.filter-group select{border:1px solid var(--border-light);background:#fff;border-radius:4px;outline:none;padding:.5rem;font-family:inherit;font-size:.9rem}.action-group{justify-content:flex-end;align-items:center;display:flex}.recent-btn{border:1px solid var(--border-light);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:background .2s}.recent-btn:hover{background:var(--bg-color)}.active-filters-container{border-bottom:1px dashed var(--border-light);flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:.5rem 0 1rem;display:flex}.filter-chip{background:var(--text-secondary);color:#fff;border-radius:4px;align-items:center;padding:.3rem .6rem;font-size:.85rem;font-weight:500;display:inline-flex}.filter-chip-remove{color:#fff;cursor:pointer;background:0 0;border:none;margin-left:.4rem;font-size:1rem}.filter-chip-remove:hover{color:#fca5a5}.chosung-filters{background:var(--bg-color);border-radius:6px;flex-wrap:wrap;gap:.25rem;padding:.75rem;display:flex}.chosung-btn{border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;text-align:center;background:#fff;border-radius:4px;flex:1;min-width:32px;padding:.4rem .6rem;font-size:.85rem}.chosung-btn:hover{background:var(--accent-light)}.chosung-btn.active{background:var(--text-secondary);color:#fff;border-color:var(--text-secondary)}.table-container{background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.status-bar{margin-bottom:.5rem;padding-left:.25rem}.status-text{color:var(--text-secondary);font-size:.85rem}.table-header{background:var(--header-bg);color:var(--header-text);grid-template-columns:3fr 1fr 1fr auto;gap:1rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;display:grid}.table-header>div{font-size:.9rem;font-weight:500}.table-body{flex-direction:column;display:flex}.table-row{border-bottom:1px solid var(--border-light);grid-template-columns:3fr 1fr 1fr auto;align-items:center;gap:1.5rem;padding:1rem 1.25rem;transition:all .2s;display:grid}.table-row:hover{background:#f9fafb}.table-row:last-child{border-bottom:none}.col-word{color:#374151;font-size:1rem;font-weight:400}.table-header .col-word{color:var(--header-text)}.badge{text-align:center;border:1px solid #0000;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:500;display:inline-block}.badge-sogdam{color:#1d4ed8;background-color:#eff6ff}.badge-gwan{color:#047857;background-color:#ecfdf5}.badge-pure{color:#475569;background-color:#f1f5f9}.badge-hanja{color:#b45309;background-color:#fffbeb}.badge-hybrid{color:#6d28d9;background-color:#f5f3ff}.badge-foreign{color:#be123c;background-color:#fff1f2}.clickable-badge{cursor:pointer;transition:all .2s}.clickable-badge:hover{filter:brightness(.95);box-shadow:0 1px 3px #0000001a}.link-btn{color:var(--accent);border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;text-decoration:none;display:flex}.link-btn:hover{background:var(--accent-light)}.no-results,.info-item{text-align:center;color:var(--text-secondary);grid-column:1/-1;padding:2rem;font-size:.9rem}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-content{background:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:400px;max-height:80vh;display:flex;box-shadow:0 10px 25px #0003}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1rem;display:flex}.modal-header h2{font-size:1.1rem}.close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-size:1.5rem}.modal-body{flex:1;padding:1rem;overflow-y:auto}.recent-modal-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.recent-item{background:var(--bg-color);border:1px solid var(--border-light);border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.recent-word{color:var(--accent);font-size:.95rem;font-weight:500;text-decoration:none}.recent-word:hover{text-decoration:underline}.delete-item-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1rem}.delete-item-btn:hover{color:var(--danger)}.modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;padding:1rem;display:flex}.danger-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.danger-btn:hover{opacity:.9}.pagination-container{border-top:1px solid var(--border-light);flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;padding:1.5rem;display:flex}.page-btn{min-width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0 .5rem;font-size:.9rem;transition:all .2s;display:inline-flex}.page-btn:hover:not(:disabled):not(.active){background:var(--bg-color);color:var(--text-primary)}.page-btn.active{background:var(--text-primary);color:#fff;font-weight:700}.page-btn:disabled{opacity:.3;cursor:not-allowed}@media (width<=600px){.table-header{display:none}.table-row{grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:.5rem;padding:1rem}.col-word{grid-area:1/1;padding-right:.5rem;font-size:1.1rem}.col-type,.col-origin{grid-row:2;display:inline-block}.col-link{grid-area:1/2;justify-self:end}.dropdown-filters{flex-direction:column;align-items:stretch}.action-group{justify-content:flex-start}}body.dark-theme{--bg-color:#111827;--card-bg:#1f2937;--text-primary:#f9fafb;--text-secondary:#9ca3af;--border-light:#374151;--accent:#60a5fa;--accent-light:#1e3a8a;--danger:#f87171;--header-bg:#111827;--header-text:#f9fafb}body.dark-theme .col-word{color:#f3f4f6}body.dark-theme .table-row:hover{background:#374151}body.dark-theme .table-container{background:var(--card-bg)}body.dark-theme .search-container input,body.dark-theme .filter-group select,body.dark-theme .recent-btn,body.dark-theme .chosung-btn,body.dark-theme .modal-content,body.dark-theme .recent-item{color:#f9fafb;background:#374151;border-color:#4b5563}body.dark-theme .search-container input:focus{border-color:var(--accent)}body.dark-theme .recent-btn:hover,body.dark-theme .chosung-btn:hover{background:#4b5563}body.dark-theme .chosung-btn.active{color:#111827;background:#60a5fa;border-color:#60a5fa}body.dark-theme .badge-sogdam{color:#bfdbfe;background-color:#1e3a8a}body.dark-theme .badge-gwan{color:#a7f3d0;background-color:#064e3b}body.dark-theme .badge-pure{color:#e5e7eb;background-color:#374151}body.dark-theme .badge-hanja{color:#fde68a;background-color:#78350f}body.dark-theme .badge-hybrid{color:#ddd6fe;background-color:#4c1d95}body.dark-theme .badge-foreign{color:#fecdd3;background-color:#881337}body.dark-theme .clickable-badge:hover{filter:brightness(1.2)}body.dark-theme .filter-chip{color:#f9fafb;background:#4b5563}body.dark-theme .page-btn:hover:not(:disabled):not(.active){color:#fff;background:#374151}body.dark-theme .page-btn.active{color:#111827;background:#60a5fa}
