@import"https://fonts.googleapis.com/css2?family=Poppins:wght@500;700&family=Uncial+Antiqua&display=swap";@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@import"https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@700&display=swap";.ff-h5.rhap_container{background:linear-gradient(180deg,#0f172ad9,#0f172aa6);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 10px 30px #7c3aed26;padding:10px 12px}.ff-h5 .rhap_main-controls{gap:10px}.ff-h5 .rhap_main-controls-button{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;border-radius:9999px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 20px #a855f74d}.ff-h5 .rhap_controls-section{justify-content:center}.ff-h5 .rhap_additional-controls,.ff-h5 .rhap_volume-controls{display:none}.ff-h5 .rhap_progress-filled{background:linear-gradient(90deg,#a855f7,#7c3aed)}.ff-h5 .rhap_time{color:#e2e8f0e6}.ff-audio{width:100%;display:block;background-color:transparent;accent-color:#a78bfa;filter:drop-shadow(0 6px 18px rgba(124,58,237,.2))}.ff-audio::-webkit-media-controls-panel{background:linear-gradient(180deg,#0f172ad9,#0f172aa6);border:1px solid rgba(255,255,255,.08);border-radius:12px}.ff-audio::-webkit-media-controls-enclosure{border-radius:12px}.ff-audio::-webkit-media-controls-play-button,.ff-audio::-webkit-media-controls-mute-button{filter:hue-rotate(15deg) saturate(1.2)}.ff-audio::-webkit-media-controls-current-time-display,.ff-audio::-webkit-media-controls-time-remaining-display,.ff-audio::-webkit-media-controls-timeline-container{color:#e2e8f0e6}.ff-audio::-webkit-media-controls-timeline{background:#64748b40;border-radius:9999px}.ff-audio::-webkit-media-controls-timeline::-webkit-media-slider-thumb{background:#fff;box-shadow:0 0 0 4px #a78bfa59}@supports (-moz-appearance: none){.ff-audio{--accent: #a78bfa;color-scheme:dark}}html,body,#root{overflow-anchor:none}.flash-it-button{position:relative;overflow:hidden;border-radius:14px;color:#fff;border:1px solid rgba(255,255,255,.12);background-image:conic-gradient(from 0deg at 50% 50%,#7c3aed,#06b6d4,#22c55e,#f59e0b,#ec4899,#8b5cf6,#7c3aed);background-size:300% 300%;background-position:0% 50%;box-shadow:0 10px 30px #7c3aed59,0 6px 18px #ec489940,inset 0 0 14px #ffffff14;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease;animation:flashGradientShift 6s ease infinite}.flash-it-button:hover:not(:disabled){transform:translateY(-1px) scale(1.01);box-shadow:0 14px 36px #7c3aed73,0 10px 22px #ec48994d,inset 0 0 18px #ffffff1f}.flash-it-button:active:not(:disabled){transform:translateY(0) scale(.985);filter:brightness(1.06)}.flash-it-button:disabled{animation:none;filter:grayscale(.15) saturate(.7) opacity(.85);box-shadow:none}.flash-it-button:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:radial-gradient(closest-side,#ffffff80,#fff0 70%);opacity:0;transform:scale(.6);pointer-events:none}.flash-it-button:active:not(:disabled):after{animation:clickFlash .5s ease forwards}@keyframes flashGradientShift{0%{background-position:0% 50%;filter:hue-rotate(0deg)}50%{background-position:100% 50%;filter:hue-rotate(180deg)}to{background-position:0% 50%;filter:hue-rotate(360deg)}}@keyframes clickFlash{0%{opacity:.85;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.flash-it-button.animated:not(:disabled){animation:flashGradientShift 6s ease infinite,pulse-blue 2s infinite}@media (max-width: 414px){.modal-content,.modal{width:100%!important;max-width:100%!important;margin:0!important;border-radius:0!important;padding:16px!important}.how-it-works h2,.features-section h2{font-size:1.5rem!important}.nav-cta,.btn{padding:10px 14px!important}.main-app-container{padding:8px!important}}:root{--primary-purple: #8B5CF6;--secondary-pink: #EC4899;--brand-gradient: linear-gradient(to right, var(--primary-purple), var(--secondary-pink));--dark-bg: #111827;--content-bg: #1F2937;--border-color: #374151;--text-light: #F9FAFB;--text-soft: #D1D5DB;--text-dark: #9CA3AF;--success-green: #10B981;--danger-red: #EF4444;--gold: #FFD700;--silver: #C0C0C0;--bronze: #CD7F32}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--dark-bg);color:var(--text-light)}#root{max-width:100%;margin:0 auto;padding:0;text-align:center}.main-app-container{max-width:700px;margin:0 auto;padding:2rem 1rem}.main-app-container.home-wide{max-width:1920px;width:100%;padding:0rem}.header,.flashfoto-header{margin-bottom:.5rem}.header h1,.flashfoto-header h1{font-family:Poppins,sans-serif;font-size:2.5rem;font-weight:700;color:transparent;background-clip:text;-webkit-background-clip:text;background-image:var(--brand-gradient);margin-bottom:.25rem}.flashfoto-header .sub-brand{font-size:1.1rem;font-weight:500;color:var(--primary-purple);margin-top:-.5rem;margin-bottom:1.5rem}.subheading{font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:500;margin-top:0;color:var(--primary-purple);letter-spacing:1px;opacity:.9}.flashcount-container{text-align:center;margin-bottom:1rem}.usage-counter-new{display:inline-block;font-size:1.2rem;font-weight:700;color:var(--secondary-pink);background-color:var(--content-bg);border:1px solid var(--primary-purple);padding:.5em 1em;border-radius:20px;box-shadow:0 4px 15px #8b5cf633}.usage-counter-new .counter-label{color:var(--text-light)}.usage-counter-new .counter-value{color:var(--secondary-pink)}.usage-counter-new .counter-suffix{color:var(--text-dark);font-weight:400;font-size:.9em}.card{background-color:var(--content-bg);padding:1.5em;border-radius:16px;margin-bottom:1.5rem;border:1px solid var(--border-color);text-align:left;box-shadow:0 10px 25px #0003;position:relative}.main-mode-selector{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.main-mode-selector .create-folder-btn{flex:1;max-width:250px;display:flex;flex-direction:column;align-items:center}.main-mode-selector .create-folder-btn.active{background:var(--brand-gradient);box-shadow:0 0 15px #8b5cf680}.main-mode-selector .create-folder-btn .mode-tagline{margin-top:4px;font-size:.8rem;color:#fffc}.main-controls .listening-control{display:flex;flex-direction:column;justify-content:space-around;align-items:center;margin-bottom:1.5rem;gap:1rem}.start-stop-btn,.voice-activate-btn{padding:.8em 1.5em;font-size:1em;font-weight:700;border:none;border-radius:30px;cursor:pointer;transition:all .2s ease;background-color:var(--primary-purple);color:#fff;width:100%;box-sizing:border-box}.mode-selector{display:flex;justify-content:center;margin-bottom:2rem;background-color:var(--content-bg);border-radius:12px;padding:5px;border:1px solid var(--border-color)}.mode-selector button{flex:1;padding:.8em .5em;border:none;background-color:var(--content-bg);color:var(--text-dark);font-size:.9em;font-weight:500;border-radius:9px;cursor:pointer;transition:all .3s ease}.mode-selector button.active{background-color:var(--primary-purple);color:#fff;font-weight:600;box-shadow:0 4px 15px #8b5cf633}.main-controls button:disabled{background-color:var(--border-color);color:var(--text-dark);cursor:not-allowed;box-shadow:none}.ff-sub-toggle{display:inline-flex;align-self:center;gap:8px;margin:0 0 12px;padding:6px;border-radius:12px;background:#0f172ab3;border:1px solid var(--border-color)}.ff-sub-btn{padding:6px 12px;border-radius:10px;color:var(--text-secondary);background:transparent}.ff-sub-btn.active{color:#fff;background:var(--brand-gradient);box-shadow:0 4px 14px #8b5cf659}.flash-it-button{width:100%;padding:1em 1.5em;font-size:1.2em;margin-top:1.5rem;border-radius:12px;background:linear-gradient(90deg,#7c3aed,#ec4899,#7c3aed);background-size:200% 200%;color:#fff;border:none;cursor:pointer;font-weight:700;transition:transform .15s ease}.flash-it-button:disabled{background:var(--border-color);cursor:not-allowed}.flash-it-button:hover:not(:disabled){transform:translateY(-1px)}@keyframes flashGradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.flash-it-button.animated:not(:disabled){animation:flashGradientMove 4s ease infinite,pulse-blue 2s infinite}.slider-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.slider-container+.slider-container{margin-top:1.5rem}.slider-label{font-size:1em;color:var(--text-soft);font-weight:500;margin-bottom:.5rem;text-align:center}.slider-value{font-weight:600;color:var(--secondary-pink);background-color:transparent;padding:0 .2em;border-radius:0;border:none}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:90%;height:8px;background:var(--border-color);border-radius:5px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--secondary-pink);cursor:pointer;border-radius:50%}.notification{margin-top:1em;color:var(--secondary-pink);font-weight:500;min-height:1.2em;text-align:center}.voice-activate-btn.active,.start-stop-btn.active{background-color:var(--secondary-pink);color:#fff}.voice-hint{text-align:center;font-style:italic;color:var(--secondary-pink);margin-top:-.5rem;margin-bottom:1rem}.voice-hint ol{text-align:left;margin:0 auto;max-width:400px;padding-left:20px}.voice-hint li{font-size:1rem;font-style:normal;margin-bottom:.5rem}.section-heading{font-size:1.5rem;font-weight:700;color:transparent;background-clip:text;-webkit-background-clip:text;background-image:var(--brand-gradient);text-align:center;margin-bottom:1.5rem}.section-heading-left{font-size:1.5rem;font-weight:700;color:transparent;background-clip:text;-webkit-background-clip:text;background-image:var(--brand-gradient);text-align:left;margin:0}.games-section-container h3{font-size:2rem;font-weight:900;color:transparent;background-clip:text;-webkit-background-clip:text;background-image:var(--brand-gradient);text-align:center;margin-bottom:1.5rem;letter-spacing:1px;text-shadow:0 0 10px rgba(236,72,153,.5)}.generated-cards-queue .queue-header{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-bottom:1rem}.generated-cards-queue h3{margin:0;font-size:1.3rem;color:var(--primary-purple)}.generated-card{display:flex;align-items:flex-start;gap:.5rem}.card-selection{padding-top:.5rem}.generated-card input[type=checkbox]{width:20px;height:20px}.card-content{flex-grow:1;padding-right:3rem}.card-content p{font-family:Poppins,sans-serif;color:var(--text-soft);margin-top:0;margin-bottom:0;word-wrap:break-word;font-size:.9rem}.card-content p:first-of-type{margin-bottom:1em}.card-content p strong{color:var(--text-light)}.folder-actions{margin-top:1rem;display:flex;flex-direction:column;gap:1rem;align-items:stretch}.folder-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-grow:1;padding:.8em;background-color:var(--dark-bg);color:var(--text-light);border:1px solid var(--primary-purple);border-radius:8px;cursor:pointer;font-family:Poppins,sans-serif;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3csvg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.move-to-folder-btn{padding:.8em 1.5em;font-size:1em;font-weight:700;border:none;border-radius:8px;cursor:pointer;background-color:var(--success-green);color:#fff}.folders-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;width:100%}.folders-container h2{text-align:center;color:var(--text-light);margin-bottom:1rem}.create-folder-btn{display:block;margin:0;padding:.8em 1.5em;font-size:1.1em;font-weight:700;border:none;border-radius:30px;cursor:pointer;transition:all .2s ease;background-color:var(--primary-purple);color:#fff}.folder-sort-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;justify-content:flex-end;width:100%}.folder-sort-controls label{color:var(--text-soft);font-size:.9em}.folder-sort-controls .folder-select{width:auto;padding:.5em 1em}.folder-list .folder{background-color:var(--content-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;transition:background-color .2s ease,border-color .2s ease;position:relative;z-index:1}.folder.dragging{background-color:#8b5cf633;border-color:var(--primary-purple)}.folder-summary-custom{position:relative;padding:1em;font-weight:600;cursor:pointer;outline:none;list-style:none;font-family:Poppins,sans-serif;display:flex;justify-content:space-between;align-items:center;pointer-events:auto}.folder-toggle-arrow{display:inline-block;margin-right:.5em;transition:transform .2s ease-in-out;font-size:1.1em;color:var(--primary-purple)}.folder-toggle-arrow.rotated{transform:rotate(90deg)}.folder-item-header{display:flex;justify-content:space-between;align-items:center;width:100%}.folder-name-display{font-size:1.1em;color:var(--text-light);display:flex;align-items:center;gap:.5em}.folder-icon{font-size:1.2em;line-height:1}.card-count-display{font-size:.8em;color:var(--text-dark)}.folder-actions-right{display:flex;gap:.5rem;align-items:center}.study-btn-small{background-color:var(--success-green)!important;border-color:var(--success-green)!important;padding:.4em .8em!important;font-size:.8em!important;font-weight:600!important;border-radius:6px;color:#fff;cursor:pointer}.folder-expanded-content{padding:1em;border-top:1px solid var(--border-color);background-color:var(--dark-bg);position:relative;z-index:2;pointer-events:auto}.folder-expanded-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.folder-expanded-name{margin:0;font-size:1.3rem;color:var(--text-light);text-align:left;flex-grow:1}.folder-main-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.study-btn-large,.flash-notes-btn,.game-button-in-folder{padding:.8em 1.5em!important;font-size:1em!important;font-weight:700!important;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;border:none}.study-btn-large{background-color:var(--success-green)!important}.flash-notes-btn{background-color:var(--secondary-pink)!important}.game-button-in-folder{background-color:var(--primary-purple)!important}.folder-expanded-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.actions-dropdown-container{position:relative}.actions-tab{background-color:var(--content-bg);color:var(--text-light);border:1px solid var(--primary-purple);padding:.4em .8em;border-radius:6px;cursor:pointer;font-size:.8em;font-weight:700}.actions-dropdown-menu{position:absolute;top:100%;right:0;background-color:var(--content-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0003;min-width:120px;z-index:100;display:flex;flex-direction:column;padding:.5rem 0}.actions-dropdown-menu button{background:none;border:none;color:var(--text-light);padding:.6em 1em;text-align:left;cursor:pointer;font-size:.9em;transition:background-color .2s ease}.actions-dropdown-menu button:hover{background-color:var(--primary-purple)}.folder-card-list{max-height:400px;overflow-y:auto;padding-right:5px}.folder-card-list .card{background-color:var(--content-bg);margin:.5em 0;border-radius:8px;padding:1em;border:1px solid var(--border-color);display:flex;align-items:flex-start;gap:.5rem;cursor:grab;transition:background-color .2s ease}.folder-card-list .card:hover{background-color:#8b5cf61a}.folder-card-list .card.dragging{opacity:.5;border:2px dashed var(--primary-purple)}.folder-card-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.folder-card-actions .folder-select,.folder-card-actions .move-to-folder-btn{width:100%}.subfolder-list{padding-left:1em;border-left:1px dashed var(--border-color);margin-left:.5em;margin-top:.5em;margin-bottom:.5em}.saved-card-in-folder{background-color:var(--dark-bg);margin:.5em 1em;border-radius:8px;padding:1em}.upload-button-container{text-align:center}.upload-button-container button{padding:.8em 1.5em;font-size:1em;font-weight:700;border:none;border-radius:30px;cursor:pointer;transition:all .2s ease;background-color:var(--primary-purple);color:#fff}.file-name-display{text-align:center;color:var(--text-dark);margin-top:1rem;font-style:italic;word-break:break-all}.audio-player{display:flex;align-items:center;gap:.75rem;margin-top:1rem;background-color:var(--dark-bg);padding:.75rem;border-radius:12px}.play-pause-btn{background-color:var(--primary-purple);color:#fff;border:none;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;flex-shrink:0}.progress-bar-container{flex-grow:1;min-width:50px;height:8px;background-color:var(--border-color);border-radius:4px;cursor:pointer}.progress-bar{height:100%;background:var(--brand-gradient);border-radius:4px}.time-display{font-family:monospace;font-size:.9em;color:var(--text-dark);flex-shrink:0}.player-container{margin:1.5rem 0}.video-player{width:100%;max-height:400px;border-radius:12px;background-color:#000;border:1px solid var(--border-color)}.subtle-text{text-align:center;color:var(--text-dark)}.card-top-actions{position:absolute;top:1em;right:1em;display:flex;flex-direction:column;gap:.5rem}.edit-btn,.card-move-btn{background:none;border:1px solid var(--primary-purple);color:var(--primary-purple);border-radius:6px;padding:.2em .6em;font-size:.8em;font-weight:700;cursor:pointer;transition:all .2s ease}.edit-btn:hover,.card-move-btn:hover{color:#fff;background-color:var(--primary-purple)}.card-delete-btn{position:absolute;bottom:1em;right:1em;background:none;border:none;color:var(--text-dark);font-size:1.2rem;cursor:pointer;transition:color .2s ease}.card-delete-btn:hover{color:var(--danger-red)}.edit-mode .edit-textarea{width:100%;background-color:var(--dark-bg);border:1px solid var(--border-color);color:var(--text-light);border-radius:8px;padding:.5em;margin-bottom:.5rem;font-family:inherit;font-size:1em;box-sizing:border-box}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.edit-actions button{padding:.4em 1em;border-radius:6px;border:none;cursor:pointer;font-weight:700}.edit-save-btn{background-color:var(--success-green);color:#fff}.edit-cancel-btn{background-color:var(--border-color);color:var(--text-light)}.viewer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#111827f2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:1000;padding:1rem;box-sizing:border-box;overflow-y:auto}.viewer-header{width:100%;max-width:800px;display:flex;justify-content:space-between;align-items:center;color:var(--text-light);margin-bottom:1rem}.viewer-header h2{font-size:1.2rem}.viewer-close-btn{font-size:2rem;background:none;border:none;color:var(--text-light);cursor:pointer}.viewer-controls{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;justify-content:center}.viewer-controls button{background-color:var(--content-bg);color:var(--text-light);border:1px solid var(--primary-purple);padding:.5em 1em;border-radius:8px;cursor:pointer;font-size:.9em}.viewer-controls button.active{background-color:var(--primary-purple);color:#fff;font-weight:700}.viewer-main{width:90vw;max-width:900px;height:50vh;max-height:500px;perspective:1000px;cursor:pointer;margin-bottom:1rem}.viewer-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s}.viewer-card.is-flipped{transform:rotateY(180deg)}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;font-size:1.1rem;text-align:center;padding:.8rem;box-sizing:border-box;border-radius:16px;overflow-y:auto}.card-front{background-color:var(--content-bg);border:2px solid var(--primary-purple)}.card-back{background-color:var(--primary-purple);color:#fff;transform:rotateY(180deg)}.viewer-nav{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:900px;margin-top:0}.viewer-nav button{background-color:var(--content-bg);color:var(--text-light);border:1px solid var(--border-color);padding:.5em 1em;border-radius:8px;cursor:pointer}.arrange-container{width:100%;max-width:600px;background-color:var(--dark-bg);padding:1rem;border-radius:8px;max-height:70vh;overflow-y:auto}.arrange-card{background-color:var(--content-bg);padding:1rem;margin-bottom:.5rem;border-radius:8px;cursor:grab;border-left:4px solid var(--secondary-pink);font-size:.9rem}.flag-btn{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;color:var(--text-dark);cursor:pointer;transition:color .2s,transform .2s}.flag-btn:hover{transform:scale(1.1)}.flag-btn.active{color:var(--secondary-pink)}.viewer-empty{width:100%;max-width:600px;height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background-color:var(--content-bg);border-radius:16px}.viewer-empty p{font-size:1.1rem;color:var(--text-dark);padding:0 1rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#111827cc;display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem;box-sizing:border-box}.modal-content{background-color:var(--content-bg);padding:2rem;border-radius:16px;box-shadow:0 10px 30px #0006;width:100%;max-width:400px;text-align:center}.modal-content h2{margin-top:0;color:var(--text-light);font-size:1.5rem}.modal-input{width:100%;padding:.8em;margin:1rem 0;background-color:var(--dark-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-light);font-size:1em;box-sizing:border-box}.modal-message{color:var(--text-dark);margin-bottom:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.modal-actions button{padding:.6em 1.2em;border-radius:8px;border:none;cursor:pointer;font-weight:700}.modal-create-btn{background-color:var(--primary-purple);color:#fff}.modal-create-btn.danger{background-color:var(--danger-red)}.modal-cancel-btn{background-color:var(--border-color);color:var(--text-light)}.tts-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;background-color:var(--content-bg);padding:1rem;border-radius:12px;margin-top:1rem;width:100%;max-width:900px;box-sizing:border-box}.tts-play-btn{background-color:var(--success-green);color:#fff;border:none;padding:.5em 1em;border-radius:8px;font-weight:700;cursor:pointer}.tts-slider-group{display:flex;flex-direction:column;flex-grow:1;min-width:120px;position:relative}.tts-slider-group label{font-size:.9em;color:var(--text-dark);margin-bottom:.25rem}.tts-slider-group input[type=range]{width:100%}.custom-select-container{position:relative}.custom-select-trigger{background-color:var(--dark-bg);color:var(--text-light);border:1px solid var(--border-color);border-radius:8px;padding:.8em;font-family:Poppins,sans-serif;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s ease,box-shadow .2s ease}.custom-select-trigger:hover{border-color:var(--primary-purple)}.custom-select-trigger .arrow{border:solid var(--text-dark);border-width:0 2px 2px 0;display:inline-block;padding:3px;transition:transform .2s ease}.custom-select-trigger .arrow.down{transform:rotate(45deg)}.custom-select-trigger .arrow.up{transform:rotate(-135deg)}.custom-select-options{position:absolute;bottom:100%;margin-bottom:.5rem;left:0;right:0;background-color:var(--content-bg);border:1px solid var(--border-color);border-radius:8px;z-index:10;max-height:250px;overflow-y:auto;box-shadow:0 5px 15px #0000004d}.custom-select-option{padding:.8em;cursor:pointer;font-family:Poppins,sans-serif;color:var(--text-soft);transition:background-color .2s ease,color .2s ease}.custom-select-option:hover{background-color:var(--primary-purple);color:#fff}.stop-listening-bar{background-color:var(--danger-red);color:#fff;padding:1rem;border-radius:12px;margin-bottom:1.5rem;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;gap:.5rem}.stop-listening-bar button{background-color:#fff;color:var(--danger-red);border:none;border-radius:8px;padding:.5em 1em;font-weight:700;cursor:pointer}.check-all-btn{background-color:var(--content-bg);color:var(--text-light);border:1px solid var(--primary-purple);padding:.5em 1em;border-radius:8px;cursor:pointer}.move-mode p{color:var(--text-light);margin-bottom:.5rem}.move-controls{display:flex;gap:.5rem}.move-cancel-btn{background-color:var(--border-color);color:var(--text-light);border:none;border-radius:6px;padding:.4em .8em;font-size:.8em;cursor:pointer}@media (min-width: 768px){.main-app-container{padding:2rem}.header h1,.flashfoto-header h1{font-size:3.5rem}.subheading{font-size:1.4rem}.card{padding:1.5em 2em}.main-controls .listening-control{flex-direction:row;gap:1rem}.start-stop-btn,.voice-activate-btn{flex:1;font-size:1.1em}.mode-selector button{padding:.8em 1em;font-size:1em}.flash-it-button{font-size:1.5em;padding:1.2em 1.5em}.section-heading,.section-heading-left{font-size:1.8rem}.generated-cards-queue .queue-header{flex-direction:row}.generated-cards-queue h3{font-size:1.5rem}.card-content p{font-size:1rem}.folder-actions{flex-direction:row;align-items:center}.folders-header{flex-direction:row}.create-folder-btn{margin:0}.folder-sort-controls{justify-content:flex-end}.folder-item-header{flex-direction:row}.folder-summary{flex-direction:row;align-items:center}.folder-export-buttons button{margin-left:10px}.upload-button-container button{font-size:1.1em}.audio-player{gap:1rem}.play-pause-btn{width:40px;height:40px;font-size:1.2rem}.time-display{font-size:.9em}.stop-listening-bar{flex-direction:row;text-align:left}.viewer-header h2{font-size:1.5rem}.viewer-close-btn{font-size:2.5rem}.viewer-controls button{font-size:1em}.card-face{font-size:1.5rem;padding:1.5rem}.viewer-empty{height:400px}.viewer-empty p{font-size:1.2rem}.modal-content h2{font-size:1.75rem}.folder-expanded-header{flex-direction:row}.folder-card-actions{flex-direction:row;justify-content:flex-end}.folder-card-actions .folder-select{width:auto;flex-grow:1}.folder-card-actions .move-to-folder-btn{width:auto}}.nav-logo{font-family:Poppins,sans-serif;font-weight:700;font-size:1.5rem;color:transparent;background-clip:text;-webkit-background-clip:text;background-image:var(--brand-gradient)}.nav-cta{padding:.5em 1.5em;font-size:1em;font-weight:700;border:1px solid var(--primary-purple);border-radius:30px;cursor:pointer;transition:all .3s ease;background-color:transparent;color:var(--primary-purple)}.nav-cta:hover{background-color:var(--primary-purple);color:#fff}.how-it-works,.features-section{text-align:center;padding:4rem 2rem}.features-section{background-color:var(--content-bg)}.how-it-works h2,.features-section h2{font-size:2rem;color:var(--text-light);margin-bottom:3rem;font-family:Poppins,sans-serif}.steps-container{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1000px;margin:0 auto}.step{max-width:300px;margin:0 auto}.step-number{width:50px;height:50px;border-radius:50%;border:2px solid var(--primary-purple);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--primary-purple);margin:0 auto 1rem}.step h3{font-size:1.2rem;color:var(--text-light);margin-bottom:.5rem}.step p{color:var(--text-soft);line-height:1.5;font-size:1.1rem}.features-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:900px;margin:0 auto}.feature-card{background-color:var(--dark-bg);padding:2rem;border-radius:16px;text-align:center;border:1px solid var(--border-color)}.feature-card h3{font-size:1.2rem;color:var(--secondary-pink);margin-top:0;margin-bottom:1rem}.feature-card p{color:var(--text-soft);line-height:1.6;margin-bottom:0}.footer-credit{margin-top:3rem;color:var(--text-dark);font-size:.9rem}@media (min-width: 768px){.steps-container{grid-template-columns:repeat(3,1fr)}.features-grid{grid-template-columns:1fr 1fr}}.listening-modes{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:space-around}.autoflash-btn{padding:.8em 1.5em;font-size:1em;font-weight:700;border:none;border-radius:30px;cursor:pointer;transition:all .2s ease;background-color:var(--primary-purple);color:#fff;flex:1;display:flex;align-items:center;justify-content:center;gap:.5em}.autoflash-btn.active{background-color:var(--success-green);color:#fff}.autoflash-btn:disabled,.voice-activate-btn:disabled{background-color:var(--border-color)!important;color:var(--text-dark)!important;cursor:not-allowed;box-shadow:none}.beta-tag{font-size:.7em;font-weight:700;background-color:var(--secondary-pink);color:#fff;padding:.2em .5em;border-radius:6px;vertical-align:middle}@media (min-width: 768px){.autoflash-btn{font-size:1.1em}}@media (max-width: 640px){.main-app-container{padding:1rem}.card{padding:1rem;border-radius:12px}.main-mode-selector{flex-direction:column;gap:.75rem}.study-btn-large,.flash-notes-btn,.game-button-in-folder,.exam-button-in-folder{width:100%}.folder-expanded-actions{width:100%;justify-content:center}.upload-button-container button,.autoflash-btn,.start-stop-btn,.voice-activate-btn,.flash-it-button{width:100%}.tts-controls{flex-direction:column;align-items:stretch}.tts-play-btn,.tts-slider-group{width:100%}.audio-player{flex-direction:column;align-items:stretch}.time-display{align-self:flex-end}.viewer-main{width:100%;height:40vh;max-height:420px}.choice-btn{min-height:52px;padding:.9rem 1rem}.choice-letter{width:34px;height:34px}.exam-question-container{padding:1.25rem;font-size:1.05rem}.exam-footer{justify-content:center}.exam-next-btn{width:100%}.folder-card-list{max-height:320px}.folder-list .folder{margin-bottom:.75rem}.folder-summary-custom{padding:.8em .9em;font-size:1rem}.folder-toggle-arrow{font-size:1.3em}.folder-expanded-header{flex-direction:column;align-items:stretch;gap:.75rem}.folder-main-actions,.folder-main-actions button{width:100%}.folder-expanded-actions{justify-content:flex-start;flex-wrap:wrap}.folder-card-actions{flex-direction:column;align-items:stretch}.folder-card-actions .folder-select,.folder-card-actions .move-to-folder-btn{width:100%}.generated-cards-queue .queue-header{align-items:stretch}.generated-card{flex-direction:column;gap:.75rem}.card-content{padding-right:0}.card-top-actions{position:static;flex-direction:row;gap:.5rem;justify-content:flex-end}.usage-counter{top:.5rem;right:.75rem}}@keyframes shimmer{0%{background-position:-500% 0}to{background-position:500% 0}}.brand-bling{font-weight:700;color:transparent;background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(to right,#ec4899,#f9fafb,#8b5cf6,#f9fafb,#ec4899);background-size:200% auto;animation:shimmer 5s linear infinite}@keyframes pulse-blue{0%{box-shadow:0 0 #818cf8b3}70%{box-shadow:0 0 0 12px #818cf800}to{box-shadow:0 0 #818cf800}}.flash-it-button.animated:not(:disabled){animation:pulse-blue 2s infinite}.app-footer{text-align:center;margin-top:2rem;padding-bottom:2rem}.feedback-btn{background-color:var(--success-green);color:#fff;border:none;border-radius:30px;padding:.8em 1.5em;font-size:1.1em;font-weight:700;cursor:pointer;transition:background-color .2s ease}.feedback-btn:hover{background-color:#059669}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.feedback-modal-content{background:var(--content-bg);padding:2rem;border-radius:12px;width:90%;max-width:500px;box-shadow:0 10px 25px #0000001a}.feedback-modal-content h2{margin-top:0;margin-bottom:1.5rem;color:var(--text-light)}.feedback-form .form-group{margin-bottom:1rem;text-align:left}.feedback-form label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-soft)}.feedback-form .form-input,.feedback-form .form-textarea,.feedback-form .form-select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;box-sizing:border-box;background-color:var(--dark-bg);color:var(--text-light)}.feedback-form .form-textarea{min-height:120px;resize:vertical}.feedback-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.flash-notes-container{width:100%;max-width:800px;background-color:var(--content-bg);padding:2rem;border-radius:12px;max-height:80vh;overflow-y:auto;text-align:left}.flash-notes-content{color:var(--text-light);line-height:1.6;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.flash-notes-content h1,.flash-notes-content h2,.flash-notes-content h3{color:var(--primary-purple);border-bottom:1px solid var(--border-color);padding-bottom:.3em;margin-top:1.5em;margin-bottom:1em;font-size:1.2rem}.flash-notes-content p{margin-bottom:1em;font-size:1rem}.flash-notes-content ul,.flash-notes-content ol{padding-left:1.5rem;font-size:1rem}.flash-notes-content li{padding-left:1em;text-indent:-1em}.flash-notes-content .modal-actions{justify-content:center;margin-top:2rem}.games-section-container{margin-top:4rem;padding-top:1rem;border-top:1px solid var(--border-color);text-align:center}.game-launch-btn{background:var(--brand-gradient);color:#fff;border:none;padding:.8em 1.5em;font-size:1em;font-weight:700;border-radius:30px;cursor:pointer;transition:transform .2s ease}.game-launch-btn:hover{transform:scale(1.05)}.viewer-overlay.game-mode{justify-content:center;gap:1rem}.game-header{width:100%;max-width:800px;display:flex;justify-content:space-between;align-items:center;color:var(--text-light);padding:0 1rem;position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:1002}.game-header h3{background-image:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;font-size:1.2rem}.game-info{display:flex;gap:1rem;font-size:.9rem;font-weight:500}.game-card-area{width:100%;max-width:600px;height:300px;display:flex;align-items:center;justify-content:center}.game-card{width:100%;height:100%;background-color:var(--content-bg);border:2px solid var(--primary-purple);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box;text-align:center}.game-question{font-size:1.5rem;font-weight:500;color:var(--text-light)}.game-state-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#111827e6;display:flex;align-items:center;justify-content:center;z-index:1001}.game-status-fullscreen{font-size:2.5rem;font-weight:700;color:var(--text-light);animation:fadeIn .5s ease-in-out}.game-listening-container{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-light)}.mic-icon{font-size:4rem}.mic-animation{position:relative;display:flex;align-items:center;justify-content:center}.mic-wave{position:absolute;width:80px;height:80px;border:2px solid var(--primary-purple);border-radius:50%;animation:wave 1.5s infinite}@keyframes wave{0%{transform:scale(1);opacity:1}to{transform:scale(2);opacity:0}}.game-user-answer-display{min-height:2em;font-size:1.2rem;font-style:italic;color:var(--text-soft);max-width:80%}.game-result-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;height:100%}.game-result-fullscreen.correct{color:var(--success-green)}.game-result-fullscreen.incorrect{color:var(--danger-red)}.score-feedback-animation{font-size:5rem;font-weight:700;animation:popIn .5s ease-out}.incorrect-x{animation:popInX .5s ease-out}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes popInX{0%{transform:scale(.5) rotate(-45deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.correct-answer-reveal{font-size:1.4rem;font-style:italic;color:var(--text-soft);max-width:80%;text-align:center}.game-next-btn{margin-top:1rem;padding:.8em 2em;font-size:1.1em;font-weight:700;border-radius:30px;border:none;cursor:pointer;background:var(--brand-gradient);color:#fff}.game-over-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background-color:var(--content-bg);border-radius:20px;color:var(--text-light);width:100%;max-width:500px;box-sizing:border-box}.game-over-title{font-size:2.2rem;font-weight:700;background-image:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;margin:0}.final-score-display{font-size:2rem;font-weight:500;margin:.5rem 0}.game-end-actions{display:flex;gap:1rem;margin-top:1.5rem}.game-action-btn{padding:.6em 1.2em;border-radius:8px;border:1px solid var(--primary-purple);cursor:pointer;font-weight:700;background-color:transparent;color:var(--primary-purple);transition:all .2s ease}.game-action-btn:hover{background-color:var(--primary-purple);color:#fff}.leaderboard-container{font-family:Poppins,sans-serif;width:100%;max-width:500px;background-color:var(--dark-bg);border:1px solid var(--border-color);box-shadow:0 0 15px #8b5cf64d;padding:1.5rem;border-radius:16px;color:var(--text-light);margin-top:1rem}.leaderboard-container.full-page{background-color:var(--dark-bg);max-width:600px}.leaderboard-container.full-page .game-end-actions{justify-content:center}.leaderboard-container h3,.leaderboard-container h2{font-family:"Press Start 2P",cursive;font-size:1.5rem;color:var(--secondary-pink);text-shadow:0 0 5px var(--secondary-pink);margin-top:0;margin-bottom:1.5rem;text-align:center;text-transform:uppercase}.leaderboard-list{list-style-type:none;padding-left:0;margin:0;max-height:250px;overflow-y:auto}.leaderboard-list>div,.leaderboard-list li{display:grid;grid-template-columns:.5fr 2fr 1.5fr 1fr;gap:1rem;padding:.75rem .5rem;font-size:1rem;align-items:center;border-bottom:1px solid var(--border-color)}.leaderboard-list li:last-child{border-bottom:none}.leaderboard-list>div{font-weight:700;color:var(--text-dark);font-size:.9em;text-transform:uppercase;border-bottom:2px solid var(--border-color)}.leaderboard-list li{color:var(--text-soft)}.leaderboard-list span{font-weight:400}.leaderboard-list span:nth-child(1){color:var(--primary-purple);font-weight:700}.leaderboard-list span:nth-child(2){font-weight:500;color:var(--text-light)}.leaderboard-list span:nth-child(3){color:var(--secondary-pink);font-weight:500}.leaderboard-list span:nth-child(4){text-align:right;color:var(--gold);font-weight:700}@keyframes flash{0%,to{background-color:transparent}50%{background-color:#ec489933}}.leaderboard-list li.recent-score{animation:flash 1.5s 3;border-radius:8px}.medal-container{text-align:center}.medal-icon{font-size:3rem;line-height:1}.medal-container p{margin:0;font-size:1.2rem;font-weight:700}@keyframes gold-medal-animation{0%{transform:scale(1);text-shadow:0 0 5px var(--gold)}50%{transform:scale(1.1);text-shadow:0 0 20px var(--gold)}to{transform:scale(1);text-shadow:0 0 5px var(--gold)}}.gold-medal-animation{animation:gold-medal-animation 1.5s ease-in-out infinite;color:var(--gold)}.silver-medal-animation{color:var(--silver)}.bronze-medal-animation{color:var(--bronze)}.casualty-animation{color:var(--text-dark)}.game-landing-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;width:100%;height:100%;background-image:radial-gradient(circle at top left,rgba(139,92,246,.2),transparent 40%),radial-gradient(circle at bottom right,rgba(236,72,153,.2),transparent 50%),url(https://www.transparenttextures.com/patterns/gplay.png);background-color:var(--dark-bg)}.game-landing-title,.anamnesis-title{font-family:Uncial Antiqua,cursive;font-size:3rem;line-height:1.2;font-weight:700;color:transparent;background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(to right,red,gold);text-shadow:0 0 20px rgba(255,0,0,.7);letter-spacing:3px;margin-bottom:.5rem}.anamnesis-tagline{font-size:1.5rem;font-style:italic;color:var(--text-soft);margin-bottom:1rem}.anamnesis-description{font-size:1.2rem;color:var(--text-light);max-width:700px;margin-bottom:2rem;line-height:1.6}.anamnesis-features-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:800px;width:100%;margin-bottom:2rem}.anamnesis-feature-card{background-color:#1f2937b3;border:1px solid rgba(255,0,0,.5);border-radius:12px;padding:1.5rem;box-shadow:0 0 15px #ff00004d;text-align:left}.anamnesis-feature-card h3{font-size:1.3rem;color:gold;margin-top:0;margin-bottom:.75rem}.anamnesis-feature-card p{font-size:1rem;color:var(--text-soft);line-height:1.5}.anamnesis-cta-button{padding:1em 2.5em;font-size:1.2em;font-weight:700;border:none;border-radius:30px;cursor:pointer;transition:all .3s ease;background:linear-gradient(to right,red,gold);color:#fff;box-shadow:0 10px 20px -10px #ff0000b3}.anamnesis-cta-button:hover{transform:translateY(-3px);box-shadow:0 10px 25px -5px #ff0000e6}@media (min-width: 768px){.anamnesis-title{font-size:4.5rem}.anamnesis-tagline{font-size:1.8rem}.anamnesis-description{font-size:1.3rem}.anamnesis-features-grid{grid-template-columns:repeat(3,1fr)}}.games-modal-content{min-height:0}.games-modal-content .game-selection-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.5rem}.games-modal-content .game-selection-grid button{padding:1em;font-size:1.1em;font-weight:700;border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;background-color:var(--primary-purple);color:#fff}.games-modal-content .game-selection-grid button:hover{background-color:var(--secondary-pink)}.image-preview-container{width:100%;max-height:300px;background-color:var(--dark-bg);border:2px dashed var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;position:relative;overflow:hidden}.image-preview-container img,.image-preview-container video{width:100%;height:100%;object-fit:contain}.image-preview-placeholder{color:var(--text-dark);text-align:center}.flashfoto-controls{display:flex;gap:1rem;margin-bottom:1.5rem}.flashfoto-controls button{flex:1}.ai-recommendation{background-color:var(--dark-bg);border:1px solid var(--primary-purple);border-radius:12px;padding:1rem;margin-top:1.5rem;text-align:center}.ai-recommendation p{margin:0 0 1rem;color:var(--text-soft)}.ai-recommendation-actions{display:flex;gap:1rem;justify-content:center}.ai-recommendation-actions button{background-color:var(--primary-purple);color:#fff;border:none;padding:.6em 1.2em;border-radius:8px;font-weight:700;cursor:pointer}.ai-recommendation-actions button.danger,.start-stop-btn.cancel-action{background-color:var(--danger-red)}.usage-counter{position:absolute;top:1rem;right:1.5rem;background-color:var(--dark-bg);color:var(--secondary-pink);padding:.3em .8em;border-radius:20px;font-size:.8em;font-weight:700;border:1px solid var(--secondary-pink)}.upload-cancel-container{text-align:center;margin-top:1rem;margin-bottom:1rem}.cancel-upload-btn{background:none;border:1px solid var(--danger-red);color:var(--danger-red);padding:.4em 1em;border-radius:20px;font-size:.9em;cursor:pointer;transition:all .2s ease}.cancel-upload-btn:hover{background-color:var(--danger-red);color:#fff}.in-game-controls{position:absolute;bottom:1rem;right:1rem;display:flex;gap:.5rem;z-index:1002}.in-game-controls button{background-color:#1f2937cc;border:1px solid var(--border-color);color:var(--text-light);padding:.5em 1em;border-radius:8px;cursor:pointer}.game-pause-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;color:var(--text-light)}.game-pause-overlay h2{font-size:2.5rem;margin:0}.game-start-button{font-size:4rem;font-weight:700;color:#fff;background:var(--brand-gradient);border:none;padding:.5em 1.5em;border-radius:20px;cursor:pointer;animation:pulse-blue 2s infinite}.game-play-mode-selector{display:flex;background-color:var(--content-bg);border-radius:30px;padding:5px;border:1px solid var(--border-color)}.game-mode-btn{padding:.6em 1.2em;border:none;background:none;color:var(--text-dark);font-weight:500;border-radius:25px;cursor:pointer;transition:all .3s ease}.game-mode-btn.active{background-color:var(--primary-purple);color:#fff}.game-landing-voice-selector{width:100%;max-width:250px}.in-game-voice-selector{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);width:250px;max-width:90%;z-index:1002}.continuous-play-notice{font-size:1rem;font-style:italic;color:var(--text-dark);margin-top:1rem}.how-to-play-overlay .modal-content{max-width:600px;text-align:left;max-height:85vh;overflow-y:auto}.how-to-play-title{font-size:1.8rem;color:var(--primary-purple);text-align:center;margin-bottom:1.5rem}.how-to-play-content h3{font-size:1.2rem;color:var(--secondary-pink);margin-top:1.5rem;margin-bottom:.5rem}.how-to-play-content p,.how-to-play-content li{color:var(--text-soft);line-height:1.6}.how-to-play-content ul{list-style-type:none;padding-left:0}.how-to-play-content li{padding-left:1em;text-indent:-1em}.how-to-play-content .modal-actions{justify-content:center;margin-top:2rem}.study-area-main{display:flex;flex-direction:column;align-items:center;width:100%}.study-area-footer{display:flex;flex-direction:column;align-items:center;width:100%;max-width:900px}.card-selection{position:relative;z-index:10;pointer-events:all;cursor:pointer}.card-selection input[type=checkbox]{-webkit-appearance:checkbox!important;-moz-appearance:checkbox!important;appearance:checkbox!important;display:block!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;background-color:#fff!important;border:1px solid #6b7280!important;border-radius:4px!important;cursor:pointer!important;z-index:10!important}.card-selection input[type=checkbox]:checked{background-color:var(--primary-purple)!important;border-color:var(--primary-purple)!important}.folder-card-list .card{position:relative}.how-to-play-overlay{z-index:1002}.reaction-container{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem;width:100%}.reaction-side{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.reaction-arrow-group{display:flex;flex-direction:column;align-items:center;text-align:center}.reagents{font-size:.8em;color:var(--text-soft);margin-bottom:-.5rem}.arrow{font-size:2.5rem;font-weight:700;color:var(--secondary-pink);line-height:1}.plus-sign{font-size:1.5rem;font-weight:700;margin:0 .5rem}@media (max-width: 480px){.game-landing-title{font-size:2.5rem;line-height:1.1}.game-landing-actions{display:flex;flex-direction:column;width:90%;gap:.75rem}.game-action-btn{width:100%;font-size:1rem;padding:.8em 1em}.game-question{font-size:1.2rem}}@media (max-width: 480px){.game-header{padding:0 .5rem;flex-wrap:wrap;justify-content:center;gap:.5rem}.game-header h3{font-size:1rem;order:1;width:100%;text-align:center}.game-info{font-size:.8rem;order:2}.game-header .viewer-close-btn{order:3;position:absolute;top:0;right:.5rem}}.exam-button-in-folder{padding:.8em 1.5em!important;font-size:1em!important;font-weight:700!important;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;border:none;background-color:var(--gold)!important}.exam-folder-list{list-style:none;padding:0;margin:1.5rem 0;max-height:250px;overflow-y:auto;text-align:left;border:1px solid var(--border-color);border-radius:8px;padding:.5rem}.exam-folder-list li{padding:.5rem}.exam-folder-list li label{display:flex;align-items:center;gap:.75rem;font-size:1.1em;cursor:pointer}.exam-folder-list input[type=checkbox]{width:20px;height:20px}.exam-config-group{margin-bottom:1.5rem;text-align:left}.exam-config-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-soft)}.exam-viewer-overlay{justify-content:flex-start;padding:1rem;display:flex;flex-direction:column}.exam-question-container{background-color:var(--content-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem;width:100%;max-width:800px;margin:0 auto;font-size:1.2rem;line-height:1.6;text-align:left;min-height:100px;word-break:break-word}.answer-choices{width:100%;max-width:800px;margin:2rem auto;display:grid;grid-template-columns:1fr;gap:1rem}.choice-btn{display:flex;align-items:center;gap:1rem;width:100%;padding:.8rem 1rem;font-size:1rem;text-align:left;background-color:var(--content-bg);color:var(--text-light);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.choice-btn:not(:disabled):hover{border-color:var(--primary-purple);background-color:#2a3647}.choice-btn:disabled{cursor:not-allowed;opacity:.7}.choice-letter{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid var(--primary-purple);color:var(--primary-purple);font-weight:700;display:flex;align-items:center;justify-content:center}.exam-footer{margin-top:auto;padding-top:1rem;width:100%;max-width:800px;margin-left:auto;margin-right:auto;display:flex;justify-content:flex-end}.exam-next-btn{background:var(--brand-gradient);color:#fff;border:none;padding:.8em 2em;font-size:1.1em;font-weight:700;border-radius:30px;cursor:pointer}.choice-btn.correct,.choice-btn.correct .choice-letter{background-color:var(--success-green);border-color:var(--success-green);color:#fff}.choice-btn.incorrect,.choice-btn.incorrect .choice-letter{background-color:var(--danger-red);border-color:var(--danger-red);color:#fff}.choice-btn:disabled:not(.correct):not(.incorrect){opacity:.6}.explanation-container{width:100%;max-width:800px;margin:1rem auto 0;padding:1.5rem;background-color:var(--content-bg);border:1px solid var(--border-color);border-radius:12px;text-align:left;max-height:45vh;overflow-y:auto;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.explanation-container h3{margin-top:0;color:var(--primary-purple)}.explanation-container p{line-height:1.6}.explanation-container ul{list-style:none;padding-left:0;margin-top:1rem;color:var(--text-soft)}.explanation-container li{margin-bottom:.5rem}.exam-results-container{background-color:var(--content-bg);padding:2rem 3rem;border-radius:16px;box-shadow:0 10px 30px #0006;width:100%;max-width:500px;text-align:center;margin:auto}.exam-results-container h2{font-size:2rem;margin-top:0;color:var(--text-light)}.final-score-percent{font-size:4.5rem;font-weight:700;color:transparent;background-clip:text;-webkit-background-clip:text;background-image:var(--brand-gradient);margin:1rem 0}.final-score-details{font-size:1.2rem;color:var(--text-soft);margin-bottom:2rem}.explanation-modal-content{padding:1rem;background-color:var(--dark-bg);border-radius:8px;margin:1.5rem 0;max-height:50vh;overflow-y:auto;text-align:left;border:1px solid var(--border-color)}.explanation-modal-content p{line-height:1.6}.explanation-modal-content ul{list-style:none;padding-left:0;margin-top:1rem;color:var(--text-soft)}.explanation-modal-content li{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);padding-left:.5rem;border-left:2px solid var(--border-color)}.explanation-modal-content li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.explanation-modal-content li.correct-explanation strong{color:var(--success-green)}.exam-header{width:100%;max-width:800px;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;position:relative}.exam-header h2{background-image:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;font-size:1.8rem;margin:0;font-weight:700}.exam-header-progress{position:absolute;left:50%;transform:translate(-50%);font-size:1rem;font-weight:500;color:var(--text-dark);white-space:nowrap}.exam-header .flag-btn{position:absolute;left:75%;transform:translate(-50%);font-size:1em;font-weight:700;color:var(--text-dark);background-color:var(--content-bg);border:1px solid var(--border-color);border-radius:20px;padding:.4em .8em;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:.3em;justify-content:center}.exam-header .flag-btn.active{color:#fff;background-color:var(--secondary-pink);border-color:var(--secondary-pink)}.exam-header .viewer-close-btn{padding:0;line-height:1}.exam-history-container{margin-top:2rem}.exam-history-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.retake-exam-item{padding:1rem;background-color:var(--dark-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.retake-exam-item:hover{background-color:var(--content-bg);border-color:var(--primary-purple)}.exam-history-list{list-style:none;padding:0;margin:0;max-height:400px;overflow-y:auto}.exam-history-list li{display:flex;align-items:center;gap:1rem;padding:1rem .5rem;border-bottom:1px solid var(--border-color)}.exam-history-list li:last-child{border-bottom:none}.history-score{font-size:1.5rem;font-weight:700;color:var(--gold);flex-basis:60px;text-align:right}.history-details{display:flex;flex-direction:column;gap:.25rem}.history-title{font-weight:500;color:var(--text-light)}.history-date{font-size:.8em;color:var(--text-dark)}.progress-overlay{background-color:#111827cc;z-index:2000}.progress-modal-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;color:var(--text-light);font-size:1.2rem;font-weight:500}.spinner{width:60px;height:60px;border:5px solid var(--border-color);border-top:5px solid var(--primary-purple);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.login-modal{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border:1px solid var(--border-color);border-radius:20px;padding:0;max-width:440px;width:100%;box-shadow:0 25px 50px -12px #00000080;animation:modalSlideIn .3s ease-out;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 2rem 1rem;border-bottom:1px solid var(--border-color)}.login-modal-header h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.login-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-dark);cursor:pointer;padding:.25rem;line-height:1;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.login-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.login-modal-content{padding:1.5rem 2rem 2rem}.login-subtitle{margin:0 0 2rem;color:var(--text-dark);text-align:center;line-height:1.5}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.google-btn:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--text-dark);font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.divider span{padding:0 1rem}.email-form{margin-bottom:1rem}.input-group{display:flex;flex-direction:column;gap:12px}.email-input{width:100%;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1rem;transition:all .2s ease;box-sizing:border-box}.email-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #8b5cf61a}.email-input::placeholder{color:var(--text-dark)}.magic-link-btn{width:100%;padding:14px 20px;background:linear-gradient(135deg,var(--accent-color) 0%,#7c3aed 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.magic-link-btn:hover{transform:translateY(-1px);box-shadow:0 8px 25px #8b5cf64d}.login-status{margin-top:1rem;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-dark);font-size:.875rem;text-align:center}.guest-option{margin-top:1.5rem;text-align:center}.guest-btn{background:none;border:1px solid var(--border-color);color:var(--text-dark);padding:12px 24px;border-radius:12px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.guest-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.user-info{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem}.user-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--accent-color) 0%,#7c3aed 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.user-details{flex:1}.user-status{font-weight:500;color:var(--text-primary);margin-bottom:4px}.user-email{color:var(--text-dark);font-size:.875rem}.login-actions{display:flex;gap:12px}.btn-primary{flex:1;padding:14px 20px;background:linear-gradient(135deg,var(--accent-color) 0%,#7c3aed 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 25px #8b5cf64d}.btn-secondary{flex:1;padding:14px 20px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-primary);transform:translateY(-1px)}.toast-container{position:fixed;right:16px;bottom:16px;z-index:2000;display:flex;flex-direction:column;gap:8px}.toast{padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#e5e7eb;box-shadow:0 10px 20px #00000059}.toast.info{background:#1e293bb3}.toast.success{background:#10b9812e;border-color:#10b98159;color:#bbf7d0}.toast.error{background:#ef44442e;border-color:#ef444459;color:#fecaca}@media (max-width: 389px){.flashcard-viewer .fv-header h2{font-size:14px}.flashcard-viewer .fv-card{min-height:180px}.flashcard-viewer .fv-card .card-face{min-height:180px;padding:12px}.flashcard-viewer .fv-card .card-face p{font-size:14px;line-height:1.35}.flashcard-viewer .fv-card .flag-btn{top:6px;right:6px;font-size:18px}.flashcard-viewer .fv-nav{gap:8px}.flashcard-viewer .fv-nav button{padding:8px 10px;font-size:12px}.flashcard-viewer .fv-nav span{font-size:12px}.flashcard-viewer .fv-controls{grid-template-columns:1fr!important;gap:10px}.flashcard-viewer .fv-controls .custom-select-trigger{padding:10px 12px;font-size:13px}.flashcard-viewer .fv-controls label{font-size:11px}.flashcard-viewer input[type=range]{width:100%}.flashcard-viewer .fv-controls .grid>button{padding:10px 12px;font-size:13px}}
