.periodic-controls{margin-bottom:30px}.search-bar{position:relative;max-width:400px;margin:0 auto 20px}.search-bar i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:0.9rem}.search-bar input{width:100%;padding:14px 40px 14px 44px;border:2px solid var(--gray-200);border-radius:50px;font-size:0.9rem;transition:all 0.3s;background:white}.search-bar input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(59,130,246,0.1)}.clear-search{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--gray-400);cursor:pointer;display:none}.filter-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px}.filter-btn{background:var(--gray-100);border:none;padding:8px 20px;border-radius:40px;font-size:0.8rem;cursor:pointer;transition:all 0.2s;color:var(--gray-600)}.filter-btn.active{background:var(--primary-color);color:white;box-shadow:0 2px 8px rgba(59,130,246,0.3)}.filter-btn:hover:not(.active){background:var(--gray-200)}.periodic-table-container{overflow-x:auto;padding-bottom:10px}.periodic-table{display:grid;grid-template-columns:repeat(18, 1fr);gap:8px;min-width:1000px;background:linear-gradient(135deg, #f8fafc, #fff);padding:20px;border-radius:24px;box-shadow:0 4px 20px rgba(0,0,0,0.05)}.element-card{background:white;border-radius:12px;padding:8px 4px;text-align:center;cursor:pointer;transition:all 0.3s;border:1px solid var(--gray-200);position:relative;overflow:hidden}.element-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px -8px rgba(0,0,0,0.15);border-color:transparent}.element-card:hover::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--primary-color), var(--primary-light))}.element-atomic{font-size:0.65rem;color:var(--gray-500)}.element-symbol{font-size:1.1rem;font-weight:700;margin:4px 0}.element-name{font-size:0.6rem;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.element-placeholder{background:transparent;border:none;box-shadow:none;cursor:default}.element-placeholder:hover{transform:none;box-shadow:none}.element-placeholder:hover::before{display:none}.element-nonmetal{background:linear-gradient(135deg, #d1fae5, #a7f3d0);border-color:#10b981}.element-metal{background:linear-gradient(135deg, #e0e7ff, #c7d2fe);border-color:#6366f1}.element-alkali{background:linear-gradient(135deg, #fef3c7, #fde68a);border-color:#f59e0b}.element-alkaline{background:linear-gradient(135deg, #fed7aa, #fdba74);border-color:#ea580c}.element-transition{background:linear-gradient(135deg, #e0f2fe, #bae6fd);border-color:#0ea5e9}.element-lanthanide{background:linear-gradient(135deg, #fce7f3, #fbcfe8);border-color:#ec4899}.element-actinide{background:linear-gradient(135deg, #f1f5f9, #e2e8f0);border-color:#64748b}.element-noble{background:linear-gradient(135deg, #e0e7ff, #c7d2fe);border-color:#4f46e5}.element-halogen{background:linear-gradient(135deg, #cffafe, #a5f3fc);border-color:#06b6d4}.lanthanide-row,.actinide-row{display:grid;grid-template-columns:repeat(15, 1fr);gap:8px;margin-top:20px;padding:20px;background:var(--gray-50);border-radius:20px}.row-label{display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--gray-500);font-size:0.8rem;background:var(--gray-100);border-radius:12px;margin-right:8px}.element-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px)}.modal-content{position:relative;background:white;border-radius:32px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;animation:modalFadeIn 0.3s ease}@keyframes modalFadeIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-200)}.element-badge{width:60px;height:60px;border-radius:20px;background:linear-gradient(135deg, var(--primary-color), var(--primary-dark))}.modal-close{background:transparent;border:none;font-size:1.3rem;cursor:pointer;color:var(--gray-400);transition:color 0.2s}.modal-close:hover{color:var(--danger-color)}.modal-body{padding:24px}.element-detail-header{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap}.element-symbol-large{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg, var(--primary-color), var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:transparent;min-width:100px;text-align:center}.element-basic-info h2{font-size:1.5rem;margin-bottom:4px}.element-name-en{color:var(--gray-500);margin-bottom:8px}.element-desc{font-size:0.85rem;color:var(--gray-600);line-height:1.5}.property-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px}.property-card{background:var(--gray-50);border-radius:16px;padding:12px 16px}.prop-label{display:block;font-size:0.7rem;color:var(--gray-500);margin-bottom:6px}.prop-value{display:block;font-size:1rem;font-weight:600;color:var(--gray-800)}.element-card.hidden{display:none}@media (max-width:1200px){.periodic-table{min-width:900px}}@media (max-width:768px){.filter-buttons{gap:6px}.filter-btn{padding:6px 14px;font-size:0.7rem}.property-grid{grid-template-columns:1fr}}@media (max-width:480px){.periodic-table{min-width:800px}}