@keyframes path-traveling-pulse{0%{stroke-dasharray:20 30;stroke-dashoffset:0;stroke-opacity:.8}to{stroke-dasharray:20 30;stroke-dashoffset:-50;stroke-opacity:.8}}.animate-draw-path{animation:path-traveling-pulse 1.5s linear infinite}@keyframes pulse-travel{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.3);opacity:1}}.animate-pulse-travel{animation:pulse-travel 1s ease-in-out infinite}@keyframes fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .4s ease-out}@keyframes pulse-subtle{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.animate-pulse-subtle{animation:pulse-subtle 2s ease-in-out infinite}@keyframes dash-rotate{0%{stroke-dashoffset:0}to{stroke-dashoffset:12}}.animate-dash-rotate{animation:dash-rotate 2s linear infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.grid-cell-enhanced{transition:all .3s cubic-bezier(.4,0,.2,1)}.grid-cell-enhanced:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.grid-cell-enhanced:focus{transform:scale(1.05);box-shadow:0 0 0 4px #3b82f64d}.grid-cell-in-path{background:linear-gradient(135deg,#f0f9ff,#dbeafe);border-color:#3b82f6;color:#1e40af;box-shadow:0 2px 8px #3b82f633}.grid-cell-starting{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#92400e;box-shadow:0 2px 8px #f59e0b4d;position:relative}.grid-cell-starting:before{content:"";position:absolute;inset:-2px;border-radius:10px;border:2px dashed #f59e0b;opacity:.6;animation:dash-rotate 2s linear infinite}.path-visualization *{transition:opacity .3s ease,transform .3s ease}.path-lines>g:nth-child(1) .animate-draw-path{animation-delay:0ms}.path-lines>g:nth-child(2) .animate-draw-path{animation-delay:.2s}.path-lines>g:nth-child(3) .animate-draw-path{animation-delay:.4s}.path-lines>g:nth-child(4) .animate-draw-path{animation-delay:.6s}.path-lines>g:nth-child(5) .animate-draw-path{animation-delay:.8s}.cell-highlights rect:nth-child(1){animation-delay:0ms}.cell-highlights rect:nth-child(2){animation-delay:50ms}.cell-highlights rect:nth-child(3){animation-delay:.1s}.cell-highlights rect:nth-child(4){animation-delay:.15s}.cell-highlights rect:nth-child(5){animation-delay:.2s}.cell-highlights rect:nth-child(6){animation-delay:.25s}.cell-highlights rect:nth-child(7){animation-delay:.3s}.cell-highlights rect:nth-child(8){animation-delay:.35s}@media (prefers-reduced-motion: reduce){.animate-draw-path,.animate-fade-in,.animate-pulse-subtle,.animate-dash-rotate,.animate-ping{animation:none}.grid-cell-enhanced,.path-visualization *{transition:none}}@media (prefers-contrast: high){.grid-cell-in-path{background:#fff;border-color:#000;color:#000;border-width:3px}.grid-cell-starting{background:#ff0;border-color:#000;color:#000;border-width:4px}}@media (prefers-color-scheme: dark){.grid-cell-in-path{background:linear-gradient(135deg,#1e3a8a,#3730a3);border-color:#60a5fa;color:#dbeafe;box-shadow:0 2px 8px #60a5fa4d}.grid-cell-starting{background:linear-gradient(135deg,#92400e,#b45309);border-color:#fbbf24;color:#fef3c7;box-shadow:0 2px 8px #fbbf2466}}.path-visualization{will-change:transform;contain:layout style paint}.path-lines path{will-change:stroke-dashoffset}.cell-highlights rect{will-change:opacity,transform}.results-panel{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;border:1px solid #e2e8f0;padding:24px;transition:all .3s ease}.results-panel:hover{box-shadow:0 8px 25px #00000026}.results-header{margin-bottom:24px}.results-title{font-size:24px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:8px}.results-count{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600}.search-box{position:relative;margin-bottom:20px}.search-input{width:100%;padding:12px 16px 12px 40px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;background:#f8fafc}.search-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6b7280;width:16px;height:16px}.word-groups{space-y:12px}.word-group{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:12px;transition:all .2s ease}.word-group:hover{border-color:#c7d2fe;box-shadow:0 2px 8px #0000000d}.word-group-header{width:100%;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;border:none}.word-group-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.word-group-title{font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.word-group-count{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;color:#fff}.expand-icon{width:16px;height:16px;color:#6b7280;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(90deg)}.words-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:16px;background:#f8fafc80;animation:slideInBottom .3s ease-out}@media (max-width: 768px){.words-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;padding:12px}}.word-item{position:relative;padding:8px 12px;border-radius:6px;font-weight:500;text-align:center;cursor:pointer;transition:all .2s ease;border:1px solid transparent;background:#fff;font-size:14px}.word-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#3b82f6}.word-item:active{transform:scale(.95)}.word-item:focus{outline:none;ring:2px;ring-color:rgba(59,130,246,.5)}.word-item.has-multiple-paths{background:linear-gradient(135deg,#fef3c7,#fed7aa);border-color:#f59e0b}.word-item.has-multiple-paths:hover{background:linear-gradient(135deg,#fde68a,#fdba74);border-color:#d97706}.path-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#fb7185,#f97316);color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.path-selector{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(59,130,246,.2);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;animation:fadeInUp .2s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.path-option{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.05);border:none;background:transparent;width:100%;text-align:left}.path-option:last-child{border-bottom:none}.path-option:hover{background:#3b82f61a}.path-option.selected{background:#3b82f633;color:#1d4ed8;font-weight:600}.path-info{display:flex;align-items:center;gap:6px}.path-name{font-size:12px;font-weight:500}.recommended-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:2px 6px;border-radius:8px;font-size:10px;font-weight:600}@keyframes slideInBottom{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 640px){.results-panel{padding:16px;margin:0 8px}.results-header{margin-bottom:16px}.results-title{font-size:20px}.search-input{font-size:16px}.word-group-header{padding:10px 12px}.words-grid{grid-template-columns:repeat(2,1fr)}.word-item{font-size:12px;padding:6px 8px}}
