*{box-sizing:border-box}body{margin:0;padding:0;font-family:Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh}.dragging{opacity:.5;transform:rotate(5deg);transition:all .2s ease}.drop-zone{border:2px dashed #1976d2;background-color:#1976d20a;transition:all .2s ease}.drop-zone:hover{border-color:#1565c0;background-color:#1976d214}.drop-zone.drag-over{border-color:#0d47a1;background-color:#1976d21f;transform:scale(1.02)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}.pulse{animation:pulse .5s ease-in-out}.loading-overlay{position:relative}.loading-overlay:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffb3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1;border-radius:inherit}.keyphrase-chip{transition:all .2s ease;cursor:pointer}.keyphrase-chip:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.keyphrase-chip.selected{transform:scale(1.05);box-shadow:0 4px 12px #1976d24d}.cluster-card{transition:all .2s ease}.cluster-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.cluster-card.selected{border-color:#1976d2;box-shadow:0 4px 16px #1976d233}@media (max-width: 600px){.cluster-card{margin:.5rem 0}.keyphrase-chip{margin:.25rem;font-size:.75rem}.keyphrase-chip,.cluster-card{min-height:44px}}.breadcrumb-link{text-decoration:none;color:inherit;transition:color .2s ease}.breadcrumb-link:hover{color:#1976d2;text-decoration:underline}.progress-bar{position:relative;overflow:hidden}.progress-bar:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}@media print{.no-print{display:none!important}body{background:#fff}.cluster-card,.keyphrase-chip{break-inside:avoid}}
