:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;background-color:#282828;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;align-items:center;min-height:90vh;margin:0 auto;padding:0;color:#ebdbb2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#665c54;color:#ebdbb2;cursor:pointer;transition:border-color .25s}button:hover{background-color:#504945}button:focus,button:focus-visible{outline:4px solid #689d6a}h1{font-size:3.2em;line-height:1.1}header{text-align:center;position:relative}.status-dots{position:absolute;top:50%;right:0;transform:translateY(-50%);display:flex;gap:8px;align-items:center}.status-dot-wrap{position:relative;display:flex;align-items:center}.status-dot{width:10px;height:10px;border-radius:50%;cursor:default;transition:background-color .3s}.status-dot.up{background-color:#98971a}.status-dot.down{background-color:#cc241d}.status-dot.checking{background-color:#504945}.status-dot-wrap:hover .status-tooltip{opacity:1;pointer-events:auto}.status-tooltip{opacity:0;pointer-events:none;position:absolute;bottom:calc(100% + 8px);right:0;background:#1d2021;border:1px solid #504945;border-radius:4px;padding:6px 10px;white-space:nowrap;font-size:12px;color:#d5c4a1;transition:opacity .15s;z-index:10}h2{color:#d5c4a1;margin-bottom:24px}p{margin:8px 0}form{margin:5px 0}input{width:30vw;padding:8px;margin:4px 0;border:1px solid #504945;border-radius:4px;background-color:#665c54;color:#a89984;font-size:16px}h3{margin:0}input:focus{outline:none;border-color:#7c6f64}select{width:30vw;padding:8px;margin:4px 0;border:1px solid #504945;border-radius:4px;background-color:#665c54;color:#a89984;font-size:16px}.loading-spinner{border:4px solid #a89984;border-top:4px solid #689d6a;border-radius:50%;width:40px;height:40px;animation:spin .8s linear infinite;margin-bottom:15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{text-align:center;padding-top:10vh}.error-container h2{color:#fb4934}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px}.help-btn{position:absolute;top:50%;left:0;transform:translateY(-50%);width:28px;height:28px;padding:0;border-radius:50%;font-size:14px;font-weight:700;background-color:#665c54;color:#d5c4a1;border:1px solid #504945;line-height:28px;text-align:center}.help-btn:hover{background-color:#504945;color:#ebdbb2}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.help-modal{background:#32302f;border:1px solid #504945;border-radius:8px;padding:28px 32px;max-width:480px;width:90%;color:#d5c4a1}.help-modal h3{margin:0 0 16px;color:#ebdbb2;font-size:1.1em}.help-modal ol{padding-left:20px;margin:0 0 16px;line-height:1.8}.help-modal code{background:#1d2021;border:1px solid #3c3836;border-radius:3px;padding:1px 5px;font-size:.85em;color:#83a598}.help-hint{font-size:.85em;color:#a89984;margin:0 0 20px;display:flex;align-items:center;gap:4px}.dot-green{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#98971a}.help-close{display:block;margin-left:auto}.deckTable{background-color:#32302f;width:65vw;border-collapse:collapse}.deckTable th,.deckTable td{text-align:left;border-top:none;padding:8px;background-color:#32302f}.deckTable th{color:#fbf1c7;background-color:#1d2021}.deckTable td{border-top:1px solid #3c3836}.deckTable td.deckElement{text-align:left;padding-left:8px}.deckTable button{float:right}.deckTable caption{font-size:32px}.formDiv{background-color:#32302f;width:fit-content;border:1px solid #3c3836;padding:10px;margin-bottom:30px}.formDiv p{font-size:20px}.formDiv button[type=submit]{display:block;margin-top:14px}.toggle-row{display:flex;align-items:center;gap:12px;line-height:1}.toggle{position:relative;display:inline-flex;align-items:center;width:56px;height:30px;flex-shrink:0}.toggle input{position:absolute;opacity:0;width:0;height:0;padding:0;margin:0;border:none}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#504945;border-radius:30px;cursor:pointer;transition:background-color .2s}.toggle-slider:before{content:"";position:absolute;width:22px;height:22px;left:4px;top:4px;background-color:#a89984;border-radius:50%;transition:transform .2s,background-color .2s}.toggle input:checked+.toggle-slider{background-color:#3a5a3c}.toggle input:checked+.toggle-slider:before{transform:translate(26px);background-color:#689d6a}.cardCreation{display:flex;flex-direction:column;align-items:center;width:98vw}.cardCreation table{margin:30px 10px 10px}.cardCreation hr{width:98vw;border:1px solid #665c54;margin-top:60px;margin-bottom:30px}.audio-lang-row{display:flex;align-items:center;gap:10px;font-size:13px;margin-top:2px;padding:4px 0}.audio-lang-active{color:#ebdbb2;font-weight:600}.audio-lang-inactive{color:#7c6f64}.form-buttons{display:flex;gap:8px;margin-top:14px}.form-buttons button{flex:1;min-width:0;box-sizing:border-box}.form-buttons button[type=submit]{display:block;margin-top:0;width:auto}.btn-queue{background-color:#3c3836;color:#83a598;border:1px solid #504945}.btn-queue:hover{background-color:#504945;color:#ebdbb2}.queue-section{width:fit-content;min-width:400px;background:#32302f;border:1px solid #3c3836;padding:14px;margin-bottom:20px}.queue-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}.queue-item{display:flex;align-items:center;gap:10px;background:#3c3836;padding:6px 10px;border-radius:4px;font-size:14px}.queue-topic{font-weight:600;color:#ebdbb2;min-width:100px}.queue-langs{color:#a89984}.queue-count{color:#928374;margin-left:auto}.queue-badge{background:#504945;color:#a89984;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.queue-remove{background:none;border:none;color:#7c6f64;cursor:pointer;padding:0 4px;font-size:14px;line-height:1}.queue-remove:hover{color:#cc241d}.btn-generate-all{width:100%;background-color:#504945;color:#ebdbb2;font-weight:600;border:1px solid #665c54}.btn-generate-all:hover:not(:disabled){background-color:#665c54}.btn-generate-all:disabled{opacity:.5;cursor:not-allowed}.preview-section{width:94vw;max-width:1100px;margin:0 auto 16px}.preview-controls{display:flex;align-items:center;gap:20px;margin-bottom:12px;flex-wrap:wrap;padding:10px 14px;background:#32302f;border:1px solid #3c3836;border-radius:4px}.preview-controls label{display:flex;align-items:center;gap:7px;color:#d5c4a1;font-size:14px;cursor:pointer}.preview-select-all{gap:9px;font-size:14px;color:#d5c4a1}.preview-count{color:#7c6f64;font-size:13px;margin-left:auto}.cefr-select{background:#3c3836;color:#ebdbb2;border:1px solid #504945;border-radius:4px;padding:4px 8px;font-size:13px}.preview-checkbox{position:relative;display:flex;align-items:center;cursor:pointer}.preview-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.preview-checkmark{display:inline-block;width:16px;height:16px;background:#3c3836;border:1px solid #504945;border-radius:3px;flex-shrink:0}.preview-checkbox input:checked+.preview-checkmark{background:#458588;border-color:#83a598}.preview-checkbox input:checked+.preview-checkmark:after{content:"✓";display:block;color:#ebdbb2;font-size:11px;text-align:center;line-height:16px}.preview-table{width:100%}.preview-table .col-check{width:28px;text-align:center}.preview-table .col-target{white-space:nowrap}.preview-table .col-example{color:#928374;font-style:italic;max-width:320px}.preview-table .col-topic{color:#7c6f64;font-size:13px}.preview-table .row-deselected td{opacity:.35}.audio-indicator{margin-left:6px;color:#83a598;font-size:12px}.preview-actions{display:flex;gap:12px;margin-top:16px;justify-content:center}.btn-confirm{background-color:#98971a;color:#fbf1c7;font-weight:600;padding:8px 28px;border:1px solid #b8bb26}.btn-confirm:hover:not(:disabled){background-color:#b8bb26;color:#1d2021}.btn-confirm:disabled{opacity:.4;cursor:not-allowed}.btn-cancel{background-color:#32302f;color:#a89984;padding:8px 24px;border:1px solid #504945}.btn-cancel:hover{background-color:#3c3836;color:#ebdbb2}
