:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;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{text-align:center;max-width:1280px;margin:0 auto;padding:0}.appContent{padding:0 2rem 2rem}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}@media (width<=480px){.appContent{padding:0 1rem 1rem}}h1,h2{margin:0}ul{margin:0;padding:0}ul li{list-style:none}.card{padding:2em}.techniqueCard{background-color:#313131;border:1px solid #e0e0e0;border-radius:8px;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex;position:relative}.cardLegend{border-top-right-radius:8px;width:3.5rem;height:3.5rem;position:absolute;top:0;right:0}.cardLegend:after{content:"";pointer-events:none;border-top:0 solid #0000;border-bottom:3.5rem solid #0000;border-left:0 solid #0000;border-right:3.5rem solid #4a4a4a;border-top-right-radius:8px;width:0;height:0;position:absolute;top:0;right:0}.cardLegend .legendTrigger{z-index:1;color:#e0e0e0;background:0 0;border:none;width:1.4rem;height:1.4rem;font-size:.85rem;position:absolute;top:.35rem;right:.35rem}.cardLegend .legendTrigger:hover{color:#fff;border-color:#0000}@media (width<=480px){.techniqueCard{flex-direction:column;gap:1rem}}.cardContent{color:#f2f2f2;flex:1}.cardHeader{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin-bottom:1rem;display:flex}.cardTitle{color:#f2f2f2;text-align:left;margin:0;font-size:1.25rem}.difficultyPill{letter-spacing:.06em;color:#b3b3b3;white-space:nowrap;border:1px solid #555;border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:700}.cardDetails{flex-direction:column;gap:.6rem;display:flex}.detailItem{text-align:left;gap:.5rem;display:flex}.sectionLabel{color:#b3b3b3;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:700}.cardSection,.sectionBody{flex-direction:column;gap:.15rem;display:flex}.detailLabel{color:#b3b3b3;min-width:140px;font-weight:700}@media (width<=480px){.detailLabel{min-width:120px}}.detailValue{color:#f2f2f2}.pairHighlight{color:#fff;font-weight:700}.cardVideo{flex-direction:column;align-items:center;min-width:150px;padding-top:2rem;display:flex}.cardVideo iframe{aspect-ratio:16/9;max-width:100%;height:auto}@media (width<=480px){.cardVideo{min-width:unset;align-items:center;width:100%;padding-top:0}}.videoLink{color:#007bff;flex-direction:column;align-items:center;text-decoration:none;transition:transform .2s;display:flex}.videoLink:hover{color:#0056b3;transform:scale(1.05)}.videoThumbnail{object-fit:cover;border-radius:4px;width:120px;height:90px;margin-bottom:.5rem}.watchVideoText{text-align:center;font-size:.9rem}.legendTriggerWithLabel{color:#b3b3b3;cursor:pointer;background:0 0;border:1px solid #b3b3b3;border-radius:4px;align-items:center;gap:.35rem;padding:.4rem .6rem;font-size:.9rem;transition:border-color .2s,color .2s;display:inline-flex}.legendTriggerWithLabel:hover{color:#f2f2f2;border-color:#f2f2f2}.legendTriggerCircle{border:1px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.65rem;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.legendTrigger{color:#b3b3b3;cursor:pointer;background:0 0;border:1px solid #b3b3b3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;font-size:.7rem;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.legendTrigger:hover{color:#f2f2f2;border-color:#f2f2f2}.legendBackdrop{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.legendPanel{background:#2a2a2a;border:1px solid #555;border-radius:8px;min-width:220px;padding:1.5rem;position:relative}.legendClose{color:#b3b3b3;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.4rem;line-height:1;position:absolute;top:.5rem;right:.75rem}.legendClose:hover{color:#f2f2f2}.legendTitle{color:#f2f2f2;margin:0 0 1rem;font-size:1rem}.legendList{flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.legendRow{align-items:baseline;gap:.75rem;display:flex}.legendAbbr{color:#b3b3b3;min-width:3rem;font-weight:700}.legendFull{color:#f2f2f2;margin:0}.techniqueFilter{background-color:#2a2a2a;border:1px solid #404040;border-radius:8px;padding:1rem}.filterCount{color:#f2f2f2;text-align:left;margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.filterControls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.filterGroup{min-width:0;display:flex}.filterSelect{color:#f2f2f2;background-color:#404040;border:1px solid #555;border-radius:4px;max-width:80vw;padding:.5rem;font-size:.9rem}.filterSelect:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.clearButton{color:#fff;cursor:pointer;background-color:#dc3545;border:none;border-radius:4px;padding:.5rem .75rem;font-size:.9rem;transition:background-color .2s}.clearButton:hover:not(:disabled){background-color:#c82333}.clearButton:disabled{cursor:not-allowed;background-color:#6c757d}.filterLegend{margin-left:auto}@media (width<=370px){.filterControls{flex-direction:column;align-items:stretch;gap:.75rem}.filterSelect{min-width:unset}}.pagination{flex-direction:column;align-items:center;gap:1rem;margin:.5rem 0;display:flex}.paginationControls{align-items:center;gap:1rem;display:flex}.paginationButton{color:#fff;cursor:pointer;background-color:#313131;border:1px solid #555;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:background-color .2s}.paginationButton:hover:not(:disabled){background-color:#404040}.paginationButton:disabled{opacity:.5;cursor:not-allowed}.paginationPage{color:#888;text-align:center;min-width:100px;font-size:.9rem}@media (width<=480px){.pagination{gap:.75rem}.paginationControls{gap:.5rem}.paginationButton{padding:.4rem .8rem;font-size:.85rem}.paginationPage{min-width:80px;font-size:.85rem}}.appHeader{box-sizing:border-box;background-color:#2a2a2a;border-bottom:1px solid #404040;justify-content:space-between;align-items:center;width:100%;margin-bottom:.5rem;padding:1rem 2rem;display:flex}.appTitle{color:#ffffffde;margin:0;font-size:2rem}.logoutButton{color:#fff;cursor:pointer;background-color:#dc3545;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background-color .2s}.logoutButton:hover{background-color:#c82333;border-color:#0000}.logoutButton:focus,.logoutButton:focus-visible{outline-offset:2px;outline:2px solid #dc3545}@media (prefers-color-scheme:light){.appHeader{background-color:#f9f9f9;border-bottom-color:#ddd}.appTitle{color:#213547}}@media (width<=480px){.appHeader{padding:1rem}.appTitle{font-size:1.5rem}.logoutButton{padding:.4rem .8rem;font-size:.85rem}}.loginOverlay{z-index:1000;background-color:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loginModal{background-color:#2a2a2a;border:1px solid #404040;border-radius:8px;width:90%;max-width:400px;padding:2rem;box-shadow:0 4px 6px #0000004d}.loginModal h2{color:#ffffffde;margin-top:0;margin-bottom:.5rem;font-size:1.5rem}.loginModal p{color:#ffffffb3;margin-bottom:1.5rem;font-size:.9rem}.loginModal form{flex-direction:column;gap:1rem;display:flex}.inputGroup{flex-direction:column;gap:.5rem;display:flex}.inputGroup label{color:#ffffffde;font-size:.9rem;font-weight:500}.inputGroup input{color:#f2f2f2;background-color:#404040;border:1px solid #555;border-radius:4px;padding:.75rem;font-family:inherit;font-size:1rem}.inputGroup input:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.inputGroup input:disabled{opacity:.6;cursor:not-allowed}.inputGroup input::placeholder{color:#fff6}.errorMessage{color:#ff6b6b;background-color:#dc35451a;border:1px solid #dc3545;border-radius:4px;padding:.75rem;font-size:.9rem}.loginModal button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .2s}.loginModal button:hover:not(:disabled){background-color:#0056b3}.loginModal button:disabled{cursor:not-allowed;opacity:.6;background-color:#6c757d}@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{color:#213547;background-color:#f9f9f9;border-color:#ddd}.inputGroup input::placeholder{color:#0006}}@media (width<=480px){.loginModal{padding:1.5rem}.loginModal h2{font-size:1.25rem}}
