*{margin:0;padding:0;box-sizing:border-box}:root,html[data-theme=dark]{--bg-page: #0a0a0a;--bg-surface: #1a1a1a;--bg-surface-hover: #1f1f1f;--bg-elevated: #252525;--text-primary: #ffffff;--text-secondary: #e0e0e0;--text-muted: #999;--text-dim: #666;--border: #2a2a2a;--border-strong: #3a3a3a;--btn-primary-bg: #ffffff;--btn-primary-text: #0a0a0a;--btn-primary-hover: #e0e0e0;--btn-primary-disabled: #ccc;--btn-secondary-bg: #2a2a2a;--btn-secondary-text: #ffffff;--btn-secondary-border: #3a3a3a;--btn-secondary-hover: #3a3a3a;--input-bg: #252525;--input-text: #ffffff;--input-border: #3a3a3a;--input-focus-border: #ffffff;--theme-color: #0a0a0a;--color-correct: #27ae60;--color-correct-hover: #229954;--color-wrong: #e74c3c;--color-wrong-hover: #c0392b;--color-warning: #f39c12;--color-warning-hover: #e67e22}html[data-theme=light]{--bg-page: #f5f5f5;--bg-surface: #ffffff;--bg-surface-hover: #f0f0f0;--bg-elevated: #fafafa;--text-primary: #1a1a1a;--text-secondary: #333;--text-muted: #666;--text-dim: #888;--border: #e0e0e0;--border-strong: #ccc;--btn-primary-bg: #1a1a1a;--btn-primary-text: #ffffff;--btn-primary-hover: #333;--btn-primary-disabled: #bbb;--btn-secondary-bg: #ffffff;--btn-secondary-text: #1a1a1a;--btn-secondary-border: #ccc;--btn-secondary-hover: #f0f0f0;--input-bg: #ffffff;--input-text: #1a1a1a;--input-border: #ccc;--input-focus-border: #1a1a1a;--theme-color: #1a1a1a;--color-correct: #27ae60;--color-correct-hover: #229954;--color-wrong: #e74c3c;--color-wrong-hover: #c0392b;--color-warning: #f39c12;--color-warning-hover: #e67e22}html[data-theme=ocean]{--bg-page: #0d2137;--bg-surface: #132f4c;--bg-surface-hover: #1a3a5c;--bg-elevated: #1e4976;--text-primary: #e6f0f7;--text-secondary: #b8d4e8;--text-muted: #7ba3c4;--text-dim: #5a8ab0;--border: #1e4976;--border-strong: #2a5d8a;--btn-primary-bg: #2a7ab8;--btn-primary-text: #ffffff;--btn-primary-hover: #3389c9;--btn-primary-disabled: #5a8ab0;--btn-secondary-bg: #132f4c;--btn-secondary-text: #e6f0f7;--btn-secondary-border: #2a5d8a;--btn-secondary-hover: #1a3a5c;--input-bg: #132f4c;--input-text: #e6f0f7;--input-border: #2a5d8a;--input-focus-border: #4a9dd9;--theme-color: #0d2137;--color-correct: #27ae60;--color-correct-hover: #229954;--color-wrong: #e74c3c;--color-wrong-hover: #c0392b;--color-warning: #f39c12;--color-warning-hover: #e67e22}html[data-theme=forest]{--bg-page: #0f1f14;--bg-surface: #1a2e1e;--bg-surface-hover: #223d28;--bg-elevated: #2a4a32;--text-primary: #e2f0e4;--text-secondary: #b8d4bc;--text-muted: #7ba87f;--text-dim: #5a8a5e;--border: #2a4a32;--border-strong: #3d6b45;--btn-primary-bg: #2d7d3e;--btn-primary-text: #ffffff;--btn-primary-hover: #35904a;--btn-primary-disabled: #7ba87f;--btn-secondary-bg: #1a2e1e;--btn-secondary-text: #e2f0e4;--btn-secondary-border: #3d6b45;--btn-secondary-hover: #223d28;--input-bg: #1a2e1e;--input-text: #e2f0e4;--input-border: #3d6b45;--input-focus-border: #4d9a5a;--theme-color: #0f1f14;--color-correct: #27ae60;--color-correct-hover: #229954;--color-wrong: #e74c3c;--color-wrong-hover: #c0392b;--color-warning: #f39c12;--color-warning-hover: #e67e22}html[data-theme=sunset]{--bg-page: #2d1b2e;--bg-surface: #3d2840;--bg-surface-hover: #4a3350;--bg-elevated: #5a3f60;--text-primary: #fce8f0;--text-secondary: #e8c4d4;--text-muted: #c49ab0;--text-dim: #a07090;--border: #5a3f60;--border-strong: #7a5a80;--btn-primary-bg: #c94d7a;--btn-primary-text: #ffffff;--btn-primary-hover: #d96a8f;--btn-primary-disabled: #c49ab0;--btn-secondary-bg: #3d2840;--btn-secondary-text: #fce8f0;--btn-secondary-border: #7a5a80;--btn-secondary-hover: #4a3350;--input-bg: #3d2840;--input-text: #fce8f0;--input-border: #7a5a80;--input-focus-border: #d96a8f;--theme-color: #2d1b2e;--color-correct: #27ae60;--color-correct-hover: #229954;--color-wrong: #e74c3c;--color-wrong-hover: #c0392b;--color-warning: #f39c12;--color-warning-hover: #e67e22}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-page);min-height:100vh;min-height:-webkit-fill-available;margin:0;color:var(--text-secondary);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-overflow-scrolling:touch;overflow-x:hidden}.container{width:100%;min-height:100vh;min-height:-webkit-fill-available;margin:0;overflow-x:hidden}.view{display:none;background:var(--bg-page);min-height:100vh;padding:calc(60px + env(safe-area-inset-top)) calc(80px + env(safe-area-inset-right)) calc(60px + env(safe-area-inset-bottom)) calc(80px + env(safe-area-inset-left));box-shadow:none;border:none;position:relative}.view.active{display:block;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}h1{text-align:left;color:var(--text-primary);margin-bottom:48px;font-size:3rem;font-weight:700;letter-spacing:-1px}h2{color:var(--text-primary);margin-bottom:32px;font-size:1.75rem;font-weight:600}.main-header{margin-bottom:64px;padding-bottom:32px;border-bottom:1px solid var(--border)}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-top h1,.header-top .site-logo-fallback{margin-bottom:0}.site-logo{display:flex;align-items:center}.site-logo img{display:block;max-height:48px;width:auto}.site-logo-fallback{display:none;text-align:left;color:var(--text-primary);font-size:3rem;font-weight:700;letter-spacing:-1px}.site-logo-fallback.visible{display:block}.site-logo img.failed{display:none}.version-info{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));font-size:.75rem;color:var(--text-dim);font-family:monospace}.gold-stamp{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));max-width:150px;height:auto;z-index:10}h3{color:var(--text-secondary);margin-bottom:16px;font-size:1.2rem}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn:active{transform:translateY(0)}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary:hover{background:var(--btn-primary-hover)}.btn-primary:disabled{background:var(--btn-primary-disabled);cursor:not-allowed;transform:none}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border)}.btn-secondary:hover{background:var(--btn-secondary-hover);border-color:var(--border-strong)}.btn-danger{background:var(--color-wrong);color:#fff}.btn-danger:hover{background:var(--color-wrong-hover)}.btn-success{background:var(--color-correct);color:#fff}.btn-success:hover{background:var(--color-correct-hover)}.btn-small{padding:8px 16px;font-size:.9rem}.btn-warning{background:var(--color-warning);color:var(--btn-primary-text)}.btn-warning:hover{background:var(--color-warning-hover)}.button-group{display:flex;gap:16px;justify-content:flex-start;margin-bottom:64px}.gamepad-focused{outline:3px solid #00d4ff!important;outline-offset:3px!important;box-shadow:0 0 0 1px #00d4ff4d,0 0 20px #00d4ff80!important;position:relative;animation:gamepadPulse 1.5s ease-in-out infinite}@keyframes gamepadPulse{0%,to{outline-color:#00d4ff;box-shadow:0 0 0 1px #00d4ff4d,0 0 20px #00d4ff80}50%{outline-color:#00a8cc;box-shadow:0 0 0 1px #00d4ff80,0 0 30px #00d4ffb3}}.wiiu .view{padding:24px 32px}.wiiu .btn{min-height:44px;min-width:44px;padding:14px 28px}.wiiu .button-group{gap:12px;margin-bottom:32px}.wiiu .main-header{margin-bottom:32px;padding-bottom:24px}.wiiu h1{font-size:2rem;margin-bottom:24px}.wiiu h2{font-size:1.4rem;margin-bottom:20px}.wiiu .flashcard{touch-action:manipulation}.wiiu .study-actions .btn,.wiiu .answer-buttons .btn{min-height:48px;padding:16px 32px}#bundledSetsContainer{margin-bottom:48px}.sets-container{margin-top:0}.sets-list{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.set-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:16px;transition:all .2s ease;cursor:pointer;min-height:140px;position:relative}.set-item:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 8px 24px #0006;background:var(--bg-surface-hover)}.set-item.bundled-set{border-color:var(--border-strong);background:var(--bg-surface-hover)}.bundled-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:4px;font-size:.7rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.set-info{flex:1}.set-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.set-meta{font-size:.9rem;color:var(--text-muted)}.set-item-color{position:absolute;top:16px;right:16px;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.2);flex-shrink:0}.set-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-icon{padding:8px 12px;font-size:.9rem}.empty-message{text-align:center;color:var(--text-dim);padding:40px;font-style:italic}.pwa-bottom-nav{display:none}@media(max-width:768px){html.standalone .pwa-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:999;min-height:56px;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box;height:calc(56px + env(safe-area-inset-bottom));background:var(--bg-surface);border-top:1px solid var(--border);align-items:center;justify-content:space-around;-webkit-tap-highlight-color:transparent;pointer-events:auto;-webkit-user-select:none;user-select:none;isolation:isolate}html.standalone .pwa-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 8px 12px;background:none;border:none;color:var(--text-muted);font-size:.75rem;font-family:inherit;cursor:pointer;min-height:56px;transition:color .2s,background .2s}html.standalone .pwa-nav-btn:hover,html.standalone .pwa-nav-btn:active{color:#fff;background:#ffffff0f}html.standalone .pwa-nav-btn.active{color:#fff;font-weight:600}html.standalone .pwa-nav-icon{font-size:1.5rem;line-height:1}html.standalone .pwa-nav-icon.material-symbols-outlined{font-family:Material Symbols Outlined,sans-serif;font-weight:400;font-style:normal;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}html.standalone .view{padding-bottom:calc(80px + env(safe-area-inset-bottom))}html.standalone #mainView #createSetBtn,html.standalone #mainView #studyBtn,html.standalone #mainView .version-info,html.standalone #backToMainFromSetupBtn,html.standalone #backToMainBtn,html.standalone .study-read-controls,html.standalone .theme-select-row-main{display:none}html.standalone #mainView .main-header,html.standalone #mainView .button-group{margin-bottom:24px}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3}.modal-content{position:relative;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;max-width:420px;width:100%;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;color:#999;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 4px}.modal-close:hover{color:#fff}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border)}.editor-header,.setup-header,.results-header,.settings-header{display:flex;align-items:center;gap:24px;margin-bottom:48px;padding-bottom:24px;border-bottom:1px solid var(--border)}.editor-header h2,.setup-header h2,.results-header h2,.settings-header h2{margin:0;flex:1;font-size:2rem}.settings-content{display:flex;flex-direction:column;gap:24px;max-width:400px}.settings-version{font-size:.9rem;color:var(--text-muted);font-family:monospace}.form-group{margin-bottom:32px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-secondary)}.form-group input[type=text],.form-group input[type=number],.select-input{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s;background:var(--input-bg);color:var(--input-text)}.select-input option{background:var(--input-bg);color:var(--input-text)}.form-group input:focus,.select-input:focus{outline:none;border-color:var(--input-focus-border);background:var(--bg-elevated)}.color-input-row{display:flex;align-items:center;gap:12px}.color-input-row input[type=color]{width:48px;height:40px;padding:4px;border:1px solid var(--border-strong);border-radius:8px;cursor:pointer;background:var(--bg-elevated)}.color-input-row .color-text-input{flex:1;max-width:120px}.hint{display:block;margin-top:4px;font-size:.85rem;color:var(--text-muted)}.rounds-section{margin-top:32px;margin-bottom:32px;padding:20px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px}.rounds-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.rounds-header h3{margin:0;color:var(--text-primary)}.rounds-list{display:flex;flex-wrap:wrap;gap:12px}.round-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-primary);font-weight:500}.card-round-select-wrapper{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px}.card-round-select-wrapper label{color:var(--text-secondary);font-weight:500;font-size:.9rem;margin:0}.card-round-select-wrapper select{flex:1;padding:8px 12px;border:1px solid var(--border-strong);border-radius:6px;font-size:.9rem;font-family:inherit;background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.card-round-select-wrapper select:focus{outline:none;border-color:var(--input-focus-border);background:var(--bg-elevated)}.cards-editor{margin-top:48px}.cards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cards-header-actions{display:flex;gap:16px;align-items:center}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-secondary);font-size:.9rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--text-primary)}.cards-list{display:grid;gap:20px;max-height:calc(100vh - 400px);overflow-y:auto;padding-right:12px}.card-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:24px}.card-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-item-number{font-weight:600;color:var(--text-primary)}.card-item-inputs{display:grid;gap:16px}.questions-section{display:grid;gap:12px}.questions-header{display:flex;justify-content:space-between;align-items:center}.questions-header label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.questions-list{display:grid;gap:10px}.question-item{display:flex;gap:8px;align-items:flex-start;padding:8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface);margin-bottom:4px;transition:all .2s ease}.question-item:hover{border-color:var(--input-focus-border);box-shadow:0 2px 4px #00000026}.question-item.dragging{opacity:.5;transform:rotate(2deg);box-shadow:0 4px 8px #0003}.question-drag-handle{cursor:grab;color:var(--text-dim);font-size:12px;line-height:1;padding:4px 8px;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:24px;background:var(--bg-elevated);border-radius:4px;border:1px solid var(--border);margin-right:4px;touch-action:none}.question-drag-handle:active{cursor:grabbing;background:var(--bg-surface-hover)}.question-item:not(.dragging) .question-drag-handle:hover{background:var(--bg-surface-hover)}.question-input-wrapper{flex:1}.question-input-wrapper textarea{width:100%}.question-placeholder{border:2px dashed var(--input-focus-border);background:#8080800d;opacity:.7}.question-placeholder .placeholder-text{color:var(--text-muted);font-style:italic;padding:8px 0;text-align:center}.question-placeholder .question-drag-handle{color:var(--text-muted)}.hints-section{margin-top:16px}.hints-section label{display:block;margin-bottom:8px;font-size:.9rem;color:var(--text-secondary);font-weight:500}.hints-section input.card-hint{width:100%;padding:8px 12px;border:1px solid var(--input-border);border-radius:6px;font-size:.9rem;font-family:inherit;background:var(--input-bg);color:var(--input-text);transition:border-color .2s}.hints-section input.card-hint:focus{outline:none;border-color:var(--input-focus-border);background:var(--bg-elevated)}.hints-section input.card-hint::placeholder{color:var(--text-dim)}input.card-do-not-accept,.hints-section input.card-do-not-accept{width:100%;padding:8px 12px;border:1px solid var(--input-border);border-radius:6px;font-size:.9rem;font-family:inherit;background:var(--input-bg);color:var(--input-text);transition:border-color .2s;box-sizing:border-box;position:static!important;top:auto!important;right:auto!important;max-width:100%!important;text-align:left!important;font-style:normal!important;z-index:auto!important}input.card-do-not-accept:focus,.hints-section input.card-do-not-accept:focus{outline:none;border-color:var(--input-focus-border);background:var(--bg-elevated)}input.card-do-not-accept::placeholder,.hints-section input.card-do-not-accept::placeholder{color:var(--text-dim)}.card-hints{position:absolute;top:16px;right:16px;font-size:.75rem;color:#fff9;font-style:italic;text-align:right;max-width:60%;line-height:1.4;z-index:10}.card-do-not-accept:not(input){position:absolute;top:16px;right:16px;font-size:.75rem;color:#ff6464cc;font-style:italic;text-align:right;max-width:60%;line-height:1.4;z-index:10}.image-input-wrapper{display:flex;flex-direction:column;gap:8px}.image-input-wrapper textarea.card-image-svg{width:100%;padding:8px 12px;border:1px solid var(--input-border);border-radius:6px;font-size:.85rem;font-family:Courier New,monospace;background:var(--input-bg);color:var(--input-text);resize:vertical;min-height:80px;transition:border-color .2s;box-sizing:border-box}.image-input-wrapper textarea.card-image-svg:focus{outline:none;border-color:var(--input-focus-border);background:var(--bg-elevated)}.image-input-wrapper input.card-image-file{font-size:.85rem}.card-main-content{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0;margin-top:48px}.card-front.has-image .card-main-content,.card-back.has-image .card-main-content{flex-direction:row;align-items:center;gap:24px}.card-text-content{flex:1;min-width:0;display:flex;flex-direction:column}.card-image{flex-shrink:0;display:none;justify-content:center;align-items:center;max-width:300px;width:300px;margin:0}.card-front.has-image .card-image,.card-back.has-image .card-image{display:flex}.card-image svg,.card-image img{max-width:100%;max-height:300px;height:auto;display:block;width:auto}.card-image-content{max-width:100%;max-height:300px;height:auto;width:auto}.answer-syntax-hint{margin-top:8px;display:flex;flex-direction:column;gap:4px}.answer-syntax-hint small{font-size:.75rem;color:#999;font-style:italic}.accepted-answers-list{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.accepted-forms-label{font-size:.85rem;color:#ffffffb3;margin-bottom:8px;font-style:italic}.accepted-forms{display:flex;flex-direction:column;gap:6px}.accepted-form-item{font-size:.9rem;color:#fffc;padding:6px 12px;background:#ffffff0d;border-radius:6px;border-left:2px solid rgba(255,255,255,.3)}.btn-tiny{padding:6px 10px;font-size:.85rem;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.card-item-inputs textarea{width:100%;padding:10px;border:1px solid var(--input-border);border-radius:6px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s;background:var(--bg-surface);color:var(--input-text)}.card-item-inputs textarea:focus{outline:none;border-color:var(--input-focus-border);background:var(--bg-elevated)}.editor-actions{display:flex;gap:16px;margin-top:48px;justify-content:flex-start;padding-top:32px;border-top:1px solid var(--border)}.study-header{margin-bottom:48px;padding-bottom:24px;border-bottom:1px solid var(--border)}.progress-info{text-align:center}.study-read-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;opacity:.7;transition:opacity .2s}.study-read-controls:hover,.study-read-controls:focus-within{opacity:1}.btn-read-aloud{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:background .2s,border-color .2s}.btn-read-aloud:hover{background:var(--bg-surface-hover);border-color:var(--border-strong);color:var(--text-primary)}.btn-read-aloud .material-symbols-outlined{font-size:1.25rem;font-family:Material Symbols Outlined,sans-serif;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.read-voice-select{padding:4px 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-elevated);color:var(--text-secondary);font-size:.75rem;font-family:inherit;max-width:160px}.read-voice-select:focus{outline:none;border-color:var(--input-focus-border)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#progressText{display:block;margin-bottom:12px;font-weight:600;color:var(--text-secondary)}.progress-timeline{display:flex;align-items:center;gap:0;width:100%;position:relative}.progress-dot-wrapper{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.progress-dot-wrapper:before{content:"";position:absolute;top:50%;left:0;right:50%;height:3px;background:var(--border);transform:translateY(-50%);z-index:0}.progress-dot-wrapper:after{content:"";position:absolute;top:50%;left:50%;right:0;height:3px;background:var(--border);transform:translateY(-50%);z-index:0}.progress-dot-wrapper:first-child:before{display:none}.progress-dot-wrapper:last-child:after{display:none}.progress-dot-wrapper.completed:before,.progress-dot-wrapper.completed:after{background:var(--text-muted)}.progress-dot-wrapper.current:before{background:var(--text-muted)}.progress-dot{width:14px;height:14px;border-radius:50%;background:var(--border);border:2px solid var(--border-strong);position:relative;z-index:1;transition:all .25s ease;cursor:default;flex-shrink:0}.progress-dot.current{width:18px;height:18px;background:var(--text-primary);border-color:var(--text-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--text-primary) 30%,transparent)}.progress-dot.completed{background:var(--color-correct);border-color:var(--color-correct);cursor:pointer}.progress-dot.completed.wrong{background:var(--color-wrong);border-color:var(--color-wrong)}.progress-dot.completed:hover{transform:scale(1.35);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-correct) 30%,transparent)}.progress-dot.completed.wrong:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-wrong) 30%,transparent)}.progress-timeline.compact .progress-dot{width:10px;height:10px}.progress-timeline.compact .progress-dot.current{width:14px;height:14px}.progress-timeline.ultra-compact .progress-dot{width:7px;height:7px;border-width:1px}.progress-timeline.ultra-compact .progress-dot.current{width:10px;height:10px}.review-overlay{position:absolute;top:0;left:0;right:0;z-index:50;display:flex;justify-content:center;padding-top:8px;pointer-events:none}.review-overlay[style*="display: flex"],.review-overlay:not([style*="display:none"]):not([style*="display: none"]){pointer-events:auto}.review-card{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:12px;padding:16px 20px;max-width:420px;width:90%;box-shadow:0 8px 24px #0000004d;pointer-events:auto}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.review-title{font-weight:700;font-size:.9rem;color:var(--text-primary)}.review-close{background:none;border:none;color:var(--text-muted);font-size:1.3rem;cursor:pointer;padding:0 4px;line-height:1}.review-close:hover{color:var(--text-primary)}.review-body{display:flex;flex-direction:column;gap:10px}.review-section{display:flex;flex-direction:column;gap:2px}.review-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.review-text{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.review-badge{display:inline-flex;align-self:flex-start;padding:3px 10px;border-radius:6px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.review-badge.correct{background:color-mix(in srgb,var(--color-correct) 20%,transparent);color:var(--color-correct)}.review-badge.wrong{background:color-mix(in srgb,var(--color-wrong) 20%,transparent);color:var(--color-wrong)}.card-container{perspective:1000px;margin-bottom:48px;min-height:400px;display:flex;align-items:center;justify-content:center}.flashcard{width:100%;max-width:700px;height:450px;position:relative;transform-style:preserve-3d;transition:transform .6s;cursor:pointer;margin:0 auto}.flashcard.flipped{transform:rotateY(180deg)}.flashcard.slide-out{animation:slideOut .6s ease-out forwards}.flashcard.slide-in{animation:slideIn .6s ease-out forwards}@keyframes slideOut{0%{transform:translateY(0) rotateY(0);opacity:1}to{transform:translateY(100vh) rotateY(0);opacity:1}}@keyframes slideIn{0%{transform:translateY(-100vh) rotateY(0);opacity:0}to{transform:translateY(0) rotateY(0);opacity:1}}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:16px;padding:32px;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000026;overflow:hidden}.card-front{background:var(--bg-page);color:var(--text-primary);border:2px solid var(--text-primary)}.card-back{background:var(--bg-surface);color:var(--text-primary);transform:rotateY(180deg);border:2px solid var(--text-primary)}.card-label{position:absolute;top:16px;left:32px;font-size:.9rem;opacity:.9;margin-bottom:0;text-transform:uppercase;letter-spacing:1px;font-weight:600;z-index:10}.card-content{flex:1;display:flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1.6;text-align:center;word-wrap:break-word;overflow-y:auto}.study-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.answer-buttons{display:flex;gap:16px;width:100%;max-width:400px}.answer-buttons .btn{flex:1;padding:16px;font-size:1.1rem}.hint-button{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%;max-width:400px}.points-display{font-size:.9rem;color:#e0e0e0;font-weight:600}.results-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:48px;max-width:900px}.stat-card{background:var(--bg-elevated);color:var(--text-primary);padding:24px;border-radius:12px;text-align:center;box-shadow:0 4px 12px #00000080;border:1px solid var(--border-strong)}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:8px}.stat-label{font-size:.9rem;opacity:.9;text-transform:uppercase;letter-spacing:1px}.cards-results-container{margin-top:48px;margin-bottom:32px}.cards-results-container h3{color:var(--text-primary);margin-bottom:24px;font-size:1.5rem}.cards-results-list{display:grid;gap:16px;max-height:600px;overflow-y:auto;padding-right:12px}.cards-results-list::-webkit-scrollbar,.cards-list::-webkit-scrollbar{width:8px}.cards-results-list::-webkit-scrollbar-track,.cards-list::-webkit-scrollbar-track{background:var(--bg-surface);border-radius:4px}.cards-results-list::-webkit-scrollbar-thumb,.cards-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.cards-results-list::-webkit-scrollbar-thumb:hover,.cards-list::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.card-result-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:20px;transition:all .2s ease}.card-result-item:hover{border-color:var(--border-strong);background:var(--bg-surface-hover)}.card-result-item.correct{border-left:4px solid var(--color-correct)}.card-result-item.wrong{border-left:4px solid var(--color-wrong)}.card-result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-result-number{font-weight:600;color:var(--text-primary);font-size:1rem}.card-result-badge{padding:4px 12px;border-radius:6px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.card-result-badge.correct{background:color-mix(in srgb,var(--color-correct) 20%,transparent);color:var(--color-correct);border:1px solid color-mix(in srgb,var(--color-correct) 30%,transparent)}.card-result-badge.wrong{background:color-mix(in srgb,var(--color-wrong) 20%,transparent);color:var(--color-wrong);border:1px solid color-mix(in srgb,var(--color-wrong) 30%,transparent)}.card-result-content{display:grid;gap:12px}.card-result-question,.card-result-answer{color:var(--text-secondary);line-height:1.6}.card-result-question strong,.card-result-answer strong{color:var(--text-primary);font-weight:600;margin-right:8px}.results-actions{display:flex;gap:16px;justify-content:flex-start;padding-top:32px;border-top:1px solid var(--border)}.setup-content{max-width:500px;margin:0}@media(max-width:1200px){.view{padding:calc(40px + env(safe-area-inset-top)) calc(60px + env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) calc(60px + env(safe-area-inset-left))}}@media(max-width:768px){.view{padding:calc(32px + env(safe-area-inset-top)) calc(40px + env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) calc(40px + env(safe-area-inset-left))}h1{font-size:2.5rem;margin-bottom:32px}.header-top{flex-direction:column;align-items:flex-start;gap:16px}.header-top h1,.header-top .site-logo-fallback{margin-bottom:0}.site-logo-fallback.visible{font-size:2.5rem}.button-group{flex-direction:column;gap:12px}.sets-list{grid-template-columns:1fr}.set-item{min-height:auto}.flashcard{height:350px}.results-content{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.view{min-height:100vh;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(80px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.button-group{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}input[type=text],input[type=number],select,textarea{font-size:16px!important}h1{font-size:1.75rem;margin-bottom:24px;line-height:1.2}h2{font-size:1.5rem;margin-bottom:24px}.editor-header h2,.setup-header h2,.results-header h2,.study-header h2{font-size:1.25rem}h3{font-size:1.1rem;margin-bottom:12px}.main-header{margin-bottom:32px;padding-bottom:24px}.header-top{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.header-top h1,.header-top .site-logo-fallback{font-size:1.75rem;margin-bottom:0}.btn{padding:14px 24px;font-size:1rem;min-height:44px;min-width:44px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,255,255,.3)}.btn-primary{font-weight:600}.btn-small{padding:10px 16px;font-size:.9rem;min-height:40px}.btn-tiny{padding:8px 12px;font-size:.85rem;min-height:36px;min-width:36px}.button-group{flex-direction:column;gap:12px;margin-bottom:32px}.sets-list{grid-template-columns:1fr;gap:16px}.set-item{min-height:auto;padding:16px}.set-item .set-actions{flex-direction:column;gap:8px;margin-top:12px}.set-item .set-actions .btn{width:100%}input[type=text],input[type=number],select,textarea{padding:12px 16px;font-size:16px;min-height:44px;border-radius:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none}select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:40px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:.95rem;font-weight:500}.checkbox-label{display:flex;align-items:center;gap:12px;padding:12px;cursor:pointer;min-height:44px;touch-action:manipulation}.checkbox-label input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;cursor:pointer;-webkit-tap-highlight-color:transparent}.editor-header,.setup-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.editor-header .btn,.setup-header .btn{margin-bottom:0}.cards-editor{margin-bottom:24px}.cards-header{margin-bottom:20px}.card-item{padding:16px;margin-bottom:16px}.card-item-header{margin-bottom:16px;flex-wrap:wrap;gap:8px}.card-item-inputs{gap:16px}.questions-header{flex-direction:column;align-items:flex-start;gap:12px}.questions-header button{width:100%}.hints-header{flex-direction:column;align-items:flex-start;gap:12px}.hints-header button{width:100%}.card-container{min-height:300px;margin-bottom:32px;padding:0 8px}.flashcard{width:100%;max-width:100%;height:auto;min-height:280px;max-height:60vh;cursor:pointer;touch-action:manipulation}.card-front,.card-back{padding:24px 20px}.card-content{font-size:1.1rem;line-height:1.6;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(60vh - 120px)}.card-label{position:absolute;top:12px;left:20px;font-size:.85rem;margin-bottom:0}.card-hints,.card-do-not-accept{font-size:.85rem;margin-bottom:12px}.card-main-content{flex-direction:column!important;gap:16px;margin-top:44px}.card-image{width:100%;max-width:100%;margin:0}.card-image svg,.card-image img{max-height:200px}.study-header{margin-bottom:24px;padding-bottom:16px}.btn-read-aloud{width:40px;height:40px;-webkit-tap-highlight-color:rgba(255,255,255,.2);touch-action:manipulation}.read-voice-select{min-height:40px;padding:8px 10px;font-size:16px;max-width:140px}.study-actions{gap:16px;width:100%;padding:0 8px}.answer-buttons{flex-direction:column;gap:12px;width:100%;max-width:100%}.answer-buttons .btn{flex:1;width:100%;padding:16px 24px;font-size:1.1rem;font-weight:600;min-height:56px}#flipCardBtn{width:100%;max-width:100%;padding:16px 24px;font-size:1.1rem;min-height:56px}.hint-button{width:100%;max-width:100%}.hint-button .btn{width:100%;padding:14px 24px;min-height:48px}.progress-info{margin-bottom:24px}.progress-timeline{margin-top:8px}.results-content{grid-template-columns:1fr;gap:16px;margin-bottom:24px}.stat-card{padding:20px}.stat-value{font-size:2rem}.cards-results-container{margin-bottom:24px}.card-result-item{padding:16px;margin-bottom:12px}.card-result-header{margin-bottom:12px;flex-wrap:wrap;gap:8px}.version-info{font-size:.65rem;bottom:12px;right:12px}.gold-stamp{bottom:12px;left:12px;max-width:100px}.editor-actions{flex-direction:column;gap:12px;position:sticky;bottom:0;background:var(--bg-page);padding:16px 0;margin-top:24px;border-top:1px solid var(--border)}.editor-actions .btn{width:100%}.results-actions{flex-direction:column;gap:12px;margin-top:24px}.results-actions .btn{width:100%}.gamepad-focused{outline:none!important;box-shadow:none!important;animation:none!important}.set-actions{gap:8px}.set-actions .btn{flex:1;min-width:0}.answer-syntax-hint{font-size:.8rem;padding:12px}.answer-syntax-hint small{display:block;margin-bottom:4px;line-height:1.4}.accepted-answers-list{margin-top:16px}.accepted-forms-label{font-size:.85rem;margin-bottom:8px}.accepted-forms{gap:8px}.accepted-form-item{font-size:.9rem;padding:8px 12px}.moderator-view{gap:14px}.mod-qa-section{padding:16px;gap:14px;border-radius:12px}.mod-qa-text{font-size:1.05rem}.mod-nav-row{flex-direction:column;gap:10px}.mod-nav-row .btn{width:100%;min-height:50px;font-size:1rem}.mod-players-section{padding:14px 16px;border-radius:12px}.mod-players-header{flex-direction:column;align-items:stretch;gap:10px}.mod-player-add-row{min-width:0}.mod-player-add-row .text-input{padding:10px 14px;font-size:16px;min-height:44px}.mod-player-add-row .btn-sm{min-height:44px;padding:10px 18px;font-size:.95rem}.mod-player-row{padding:10px 12px;gap:8px}.mod-player-name{font-size:1rem}.mod-player-score-badge{min-width:34px;height:30px;font-size:.9rem}.mod-player-actions{gap:6px}.mod-player-actions button{min-width:44px;min-height:44px;font-size:1rem;padding:8px 12px;border-radius:8px}.mod-award-btn{font-size:1rem!important}.moderator-final-scores{gap:10px}.mod-final-card{padding:12px 16px;min-width:80px}}#toastContainer{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;background:var(--card-bg);color:var(--text-color);box-shadow:0 4px 16px #00000040;font-size:.95rem;pointer-events:auto;cursor:pointer;opacity:0;transform:translate(40px);transition:opacity .3s ease,transform .3s ease;max-width:360px;word-break:break-word}.toast-visible{opacity:1;transform:translate(0)}.toast-exit{opacity:0;transform:translate(40px)}.toast-icon{font-size:1.15rem;flex-shrink:0}.toast-success{border-left:4px solid var(--color-correct)}.toast-error{border-left:4px solid var(--color-wrong)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--accent-color)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:#00000080;opacity:0;transition:opacity .25s ease}.confirm-visible{opacity:1}.confirm-dialog{background:var(--card-bg);color:var(--text-color);border-radius:14px;padding:28px 32px;max-width:400px;width:90%;box-shadow:0 8px 32px #0000004d}.confirm-message{margin:0 0 20px;font-size:1rem;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.btn-sm{padding:6px 14px;font-size:.85rem}.moderator-view{display:flex;flex-direction:column;gap:18px;width:100%;max-width:700px;margin:0 auto;overflow:hidden}.mod-qa-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:18px;touch-action:pan-y;will-change:transform,opacity}.mod-qa-block{display:flex;flex-direction:column;gap:4px}.mod-qa-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.6}.mod-qa-text{font-size:1.2rem;line-height:1.5;word-break:break-word}.mod-answer-block{padding-top:14px;border-top:1px dashed var(--border-color)}.mod-answer-block .mod-qa-text{font-weight:700;color:var(--accent-color)}.mod-qa-hints{font-size:.85rem;opacity:.7;font-style:italic}.mod-qa-dna{font-size:.85rem;color:var(--color-wrong);font-weight:600}.mod-qa-accepted{font-size:.85rem;opacity:.7}.mod-qa-image{text-align:center}.mod-qa-image img,.mod-qa-image svg{max-width:100%;max-height:200px;border-radius:8px}.mod-qa-section.mod-slide-out{animation:modSlideOut .35s ease-in forwards}.mod-qa-section.mod-slide-in{animation:modSlideIn .3s ease-out forwards}@keyframes modSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}@keyframes modSlideIn{0%{opacity:0;transform:translate(60%)}to{opacity:1;transform:translate(0)}}.mod-nav-row{display:flex;justify-content:center;gap:10px}.mod-players-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:18px 24px}.mod-players-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}.mod-players-header h3{margin:0;font-size:1rem;white-space:nowrap}.mod-player-add-row{display:flex;gap:8px;flex:1;min-width:180px}.mod-player-add-row .text-input{flex:1;padding:6px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-color);font-size:.9rem}.mod-players-list{display:flex;flex-direction:column;gap:6px}.mod-player-row{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;transition:box-shadow .2s}.mod-player-row.just-scored{box-shadow:0 0 10px var(--accent-color)}.mod-player-name{flex:1;font-weight:600;font-size:.95rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mod-player-score-badge{background:var(--accent-color);color:#fff;border-radius:20px;min-width:30px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;padding:0 8px}.mod-player-actions{display:flex;gap:4px}.mod-player-actions button{border:none;background:none;cursor:pointer;font-size:.85rem;padding:4px 8px;border-radius:6px;transition:background .12s;color:var(--text-color)}.mod-award-btn{background:var(--color-correct)!important;color:#fff!important;font-weight:700}.mod-award-btn:hover,.mod-award-btn:focus-visible{opacity:.85}.mod-remove-player-btn:hover,.mod-remove-player-btn:focus-visible{background:var(--color-wrong)!important;color:#fff!important}.moderator-results-section{margin-bottom:20px}.moderator-results-section h3{text-align:center;margin:0 0 12px}.moderator-final-scores{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.mod-final-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 22px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;min-width:100px;transition:border-color .2s}.mod-final-card.winner{border-color:var(--accent-color);box-shadow:0 0 14px #00000026}.mod-final-card .mod-rank{font-size:1.3rem}.mod-final-card .mod-final-name{font-weight:700;font-size:1rem}.mod-final-card .mod-final-score{font-size:1.6rem;font-weight:800;color:var(--accent-color)}.mod-final-card .mod-final-label{font-size:.75rem;opacity:.7;text-transform:uppercase;letter-spacing:.04em}
