:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}#root{padding:1rem}}h1,h2{margin:0}ul{padding:0;margin:0}ul li{list-style:none}.card{padding:2em}.techniqueCard{display:flex;padding:1rem;margin-bottom:1rem;border:1px solid #e0e0e0;border-radius:8px;background-color:#313131;gap:1rem}@media (max-width: 480px){.techniqueCard{flex-direction:column;gap:1rem}}.cardContent{flex:1;color:#f2f2f2}.cardTitle{margin:0 0 1rem;color:#f2f2f2;font-size:1.25rem;text-align:left}.cardDetails{display:flex;flex-direction:column;gap:.5rem}.detailItem{text-align:left;display:flex;gap:.5rem}.detailLabel{font-weight:700;color:#b3b3b3;min-width:140px}@media (max-width: 480px){.detailLabel{min-width:120px}}.detailValue{color:#f2f2f2}.cardVideo{display:flex;flex-direction:column;align-items:center;min-width:150px}.cardVideo iframe{max-width:100%;height:auto;aspect-ratio:16 / 9}@media (max-width: 480px){.cardVideo{align-items:center;min-width:unset;width:100%}}.videoLink{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#007bff;transition:transform .2s ease}.videoLink:hover{transform:scale(1.05);color:#0056b3}.videoThumbnail{width:120px;height:90px;border-radius:4px;object-fit:cover;margin-bottom:.5rem}.watchVideoText{font-size:.9rem;text-align:center}.techniqueFilter{padding:1rem;background-color:#2a2a2a;border-radius:8px;border:1px solid #404040}.filterControls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.filterGroup{display:flex}.filterSelect{padding:.5rem;border:1px solid #555;border-radius:4px;background-color:#404040;color:#f2f2f2;font-size:.9rem}.filterSelect:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.clearButton{padding:.5rem .75rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.clearButton:hover:not(:disabled){background-color:#c82333}.clearButton:disabled{background-color:#6c757d;cursor:not-allowed}@media (max-width: 370px){.filterControls{flex-direction:column;align-items:stretch;gap:.75rem}.filterSelect{min-width:unset}}.pagination{display:flex;flex-direction:column;gap:1rem;align-items:center;margin:2rem 0}.paginationControls{display:flex;gap:1rem;align-items:center}.paginationButton{padding:.5rem 1rem;background-color:#313131;color:#fff;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.paginationButton:hover:not(:disabled){background-color:#404040}.paginationButton:disabled{opacity:.5;cursor:not-allowed}.paginationPage{color:#888;font-size:.9rem;min-width:100px;text-align:center}@media (max-width: 480px){.pagination{gap:.75rem}.paginationControls{gap:.5rem}.paginationButton{padding:.4rem .8rem;font-size:.85rem}.paginationPage{font-size:.85rem;min-width:80px}}.appHeader{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#2a2a2a;border-bottom:1px solid #404040;margin-bottom:2rem;width:100%;box-sizing:border-box}.appTitle{margin:0;font-size:2rem;color:#ffffffde}.logoutButton{padding:.5rem 1rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.logoutButton:hover{background-color:#c82333;border-color:transparent}.logoutButton:focus,.logoutButton:focus-visible{outline:2px solid #dc3545;outline-offset:2px}@media (prefers-color-scheme: light){.appHeader{background-color:#f9f9f9;border-bottom-color:#ddd}.appTitle{color:#213547}}@media (max-width: 480px){.appHeader{padding:1rem}.appTitle{font-size:1.5rem}.logoutButton{padding:.4rem .8rem;font-size:.85rem}}.loginOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000}.loginModal{background-color:#2a2a2a;border:1px solid #404040;border-radius:8px;padding:2rem;max-width:400px;width:90%;box-shadow:0 4px 6px #0000004d}.loginModal h2{margin-top:0;margin-bottom:.5rem;font-size:1.5rem;color:#ffffffde}.loginModal p{margin-bottom:1.5rem;color:#ffffffb3;font-size:.9rem}.loginModal form{display:flex;flex-direction:column;gap:1rem}.inputGroup{display:flex;flex-direction:column;gap:.5rem}.inputGroup label{font-size:.9rem;font-weight:500;color:#ffffffde}.inputGroup input{padding:.75rem;border:1px solid #555;border-radius:4px;background-color:#404040;color:#f2f2f2;font-size:1rem;font-family:inherit}.inputGroup input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.inputGroup input:disabled{opacity:.6;cursor:not-allowed}.inputGroup input::placeholder{color:#fff6}.errorMessage{padding:.75rem;background-color:#dc35451a;border:1px solid #dc3545;border-radius:4px;color:#ff6b6b;font-size:.9rem}.loginModal button{padding:.75rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.loginModal button:hover:not(:disabled){background-color:#0056b3}.loginModal button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}@media (prefers-color-scheme: light){.loginOverlay{background-color:#00000080}.loginModal{background-color:#fff;border-color:#ddd}.loginModal h2{color:#213547}.loginModal p{color:#666}.inputGroup label{color:#213547}.inputGroup input{background-color:#f9f9f9;border-color:#ddd;color:#213547}.inputGroup input::placeholder{color:#0006}}@media (max-width: 480px){.loginModal{padding:1.5rem}.loginModal h2{font-size:1.25rem}}
