@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;700&display=swap";:root{font-family:"Source Sans 3",system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}html{height:100%}body{margin:0;padding:0;min-height:100dvh;min-width:320px}#root{height:100%;display:flex;flex-direction:column}a{font-weight:500;text-decoration:none;transition:color .2s ease-in-out}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.75em;line-height:1.2}h1{font-size:2.5em}h2{font-size:2em}h3{font-size:1.5em}button{border-radius:6px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .2s,background-color .2s}button:focus,button:focus-visible{outline:3px auto -webkit-focus-ring-color;outline-offset:1px}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#f8f9fa}a{color:#007bff}a:hover{color:#0056b3}button{background-color:#e9ecef;color:#213547;border:1px solid #ced4da}}@media (prefers-color-scheme: dark){:root{color:#ffffffde;background-color:#1e1e1e}a{color:#8ab4f8}a:hover{color:#adcffc}button{background-color:#33373a;color:#ffffffde;border:1px solid #495057}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.matching-game-container.new-matching-game{display:flex;flex-direction:column;width:100%;height:100%;max-width:1000px;margin:0 auto;padding:10px;box-sizing:border-box;background-color:var(--game-bg, var(--app-bg));overflow:hidden}@media (max-width: 768px){.matching-game-container.new-matching-game{padding:5px}}.game-header-info{padding:10px 5px;text-align:center;margin-bottom:10px;border-bottom:1px solid var(--border-soft, #dde1e6);flex-shrink:0}.game-header-info h1{margin:0 0 5px;font-size:1.6em;color:var(--game-header-title-text, var(--app-text))}.game-header-info .stats{display:flex;justify-content:space-around;font-size:.9em;color:var(--game-header-stats-text, var(--app-text))}.game-header-info .stats span{padding:0 10px}.game-grid{display:flex;flex-direction:column;flex-grow:1;gap:8px;width:100%;min-height:0}.grid-zone{display:grid;gap:6px;padding:5px;border-radius:6px;min-height:0}.terms-zone{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);background-color:var(--game-terms-zone-bg, #e9eef2);flex-grow:2}.definitions-zone{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);background-color:var(--game-definitions-zone-bg, #dfe6ec);flex-grow:3}.grid-cell{display:flex;justify-content:center;align-items:center;padding:6px;border-radius:5px;box-shadow:var(--game-cell-shadow, 0 1px 3px rgba(0, 0, 0, .1));text-align:center;overflow:hidden;transition:background-color .2s ease,border-color .2s ease,opacity .3s ease,transform .2s ease;box-sizing:border-box;width:100%}.term-cell{background-color:var(--game-term-cell-bg, #ffffff);border:1px solid var(--game-term-cell-border, #d1d9e0);min-height:50px}.definition-cell{background-color:var(--game-definition-cell-bg, #ffffff);border:1px solid var(--game-definition-cell-border, #c8d0d8);min-height:70px;max-height:none}.placeholder-cell{background-color:transparent!important;border:1px dashed var(--game-placeholder-border, #d1d9e0)!important;box-shadow:none!important;opacity:.5;min-height:50px}.initial-placeholder{background-color:transparent!important;border:1px solid transparent!important;box-shadow:none!important;min-height:50px}.item-text{font-size:1.2em;color:var(--game-item-text, var(--app-text));word-break:break-word;display:flex;align-items:center;justify-content:center;text-align:center;width:100%;height:auto;overflow:hidden}@media (max-width: 767px){.game-grid{gap:6px}.grid-zone{gap:4px}.terms-zone,.definitions-zone{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}.item-text{font-size:1.1em}.game-header-info h1{font-size:1.4em}.game-header-info .stats{font-size:.8em}.grid-cell{padding:4px}.term-cell{min-height:45px}.definition-cell{min-height:60px}}@media (max-width: 479px){.item-text{font-size:.9em}.grid-cell{padding:3px}.term-cell{min-height:40px}.definition-cell{min-height:60px}}.dragging-preview{border:2px dashed var(--game-drag-preview-border, #007bff);box-shadow:var(--game-drag-preview-shadow, 0 5px 12px rgba(0, 0, 0, .2));opacity:.95;transform:scale(1.03);background-color:var(--game-drag-preview-bg, #f8f9fa);box-sizing:border-box}.dragging-preview .item-text{color:var(--game-drag-preview-text, var(--app-text));display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:100%;width:100%}.definition-cell.drop-target-highlight{background-color:var(--game-drop-target-highlight-bg, #e0eaff);border-color:var(--game-drop-target-highlight-border, #007bff);transform:scale(1.02)}.matched-correct{animation:correctMatchExplosion .7s forwards ease-out;z-index:10}@keyframes correctMatchExplosion{0%{background-color:var(--game-correct-match-bg, #d4edda);border-color:var(--game-correct-match-border, #28a745);transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}to{transform:scale(.5);opacity:0}}.matched-final-state{background-color:var(--game-matched-final-bg, #e9ecef)!important;border:1px dashed var(--game-matched-final-border, #ced4da)!important;box-shadow:none!important;cursor:default!important}.matched-final-state .item-text{visibility:hidden}.term-cell.dragging-source-hidden{opacity:0!important}.shake-incorrect{animation:incorrectMatchShake .5s ease-in-out}@keyframes incorrectMatchShake{0%,to{transform:translate(0);background-color:var(--game-incorrect-match-bg, #f8d7da);border-color:var(--game-incorrect-match-border, #dc3545)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}99%{background-color:var(--game-incorrect-match-bg, #f8d7da);border-color:var(--game-incorrect-match-border, #dc3545)}}.term-cell.shake-incorrect{animation:incorrectMatchShake .5s ease-in-out}.game-over-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:100%;flex-grow:1}.game-over-screen h1{font-size:2.5em;color:var(--game-over-title-text, var(--app-text));margin-bottom:15px}.final-score{font-size:1.8em;color:var(--game-over-score-text, #16a085);margin-bottom:30px}.restart-button.button-style{padding:12px 25px;font-size:1.1em;background-color:var(--button-primary-bg);color:var(--button-primary-text)}.restart-button.button-style:hover{background-color:var(--button-primary-hover-bg)}.matching-game-footer{padding:10px 0;text-align:center;margin-top:10px;flex-shrink:0}.matching-game-back-button{padding:10px 20px;font-size:.95em;background-color:var(--button-secondary-bg, #6c757d);color:var(--button-secondary-text, white);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.matching-game-back-button:hover{background-color:var(--button-secondary-hover-bg, #545b62)}@media (max-width: 768px){.matching-game-back-button{padding:8px 15px;font-size:.9em}.matching-game-footer{padding-top:5px;margin-top:10px}}.game-header-info .title-group{display:flex;flex-direction:column;align-items:center;gap:.5rem}.header-accessory-container{display:none}@media (max-width: 768px){.game-header-info{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;width:100%;gap:1rem}.game-header-info .title-group{align-items:flex-start;gap:.25rem}.game-header-info h1{margin-bottom:0;font-size:1.2rem}.game-header-info .stats{justify-content:flex-start;gap:1rem}.header-accessory-container{display:block;flex-shrink:0}}.mc-game-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;padding:10px 0 20px;box-sizing:border-box;flex-grow:1;overflow-y:auto;min-height:0}.mc-game-container{max-width:650px;width:95%;margin:0 auto 20px;padding:25px;border:1px solid var(--form-input-border);border-radius:12px;background-color:var(--container-bg);color:var(--container-text);text-align:center;font-family:inherit;box-shadow:var(--container-shadow)}.mc-game-header{display:flex;justify-content:center;align-items:center;width:100%;margin-bottom:15px}.mc-back-button-external{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:none;padding:10px 18px;border-radius:6px;cursor:pointer;font-size:.95em;font-weight:500;text-decoration:none;transition:background-color .2s ease;display:inline-flex;align-items:center;gap:8px}.mc-back-button-external svg{font-size:1.1em}.mc-title-group{display:flex;flex-direction:column;align-items:center;gap:10px}.mc-header-accessory-container{display:none}.mc-game-container h2{color:var(--container-heading-text);margin:0;font-size:1.6em;text-align:center}.mc-game-info{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:0;justify-content:center}.mc-question-counter,.mc-score,.mc-streak-counter{font-size:.95em;color:var(--app-text-subtle);background-color:color-mix(in srgb,var(--app-bg) 85%,var(--app-text) 15%);padding:5px 10px;border-radius:15px}.mc-score{font-weight:700;font-size:1em}.mc-streak-counter{font-weight:700;color:var(--streak-color)}.mc-streak-counter .streak-icon{margin-right:4px}.mc-progress-bar-container{width:100%;height:10px;background-color:var(--progress-bar-bg);border-radius:5px;margin-bottom:20px;overflow:hidden}.mc-progress-bar-fill{height:100%;background-color:var(--progress-bar-fill-bg);border-radius:5px;transition:width .3s ease-in-out}.mc-game-container h3{color:var(--container-text);margin-top:20px;margin-bottom:25px;font-size:1.5em;min-height:60px;line-height:1.4}.mc-options-list{list-style-type:none;padding:0;margin:0 auto 25px;max-width:500px}.mc-options-list li{margin-bottom:12px}.mc-option-button{display:flex;align-items:center;width:100%;padding:14px 18px;font-size:1em;text-align:left;background-color:var(--button-choice-bg);border:1px solid var(--button-choice-border);color:var(--button-choice-text);border-radius:8px;cursor:pointer;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out,transform .1s ease,box-shadow .2s ease;position:relative}.mc-option-button:disabled{cursor:not-allowed;background-color:var(--button-generic-disabled-bg);color:var(--button-generic-disabled-text);border-color:var(--button-generic-disabled-bg);opacity:.7}.mc-option-button.selected:not(.correct):not(.incorrect){background-color:var(--button-choice-selected-bg);border-color:var(--button-choice-selected-border);color:var(--button-choice-selected-text);font-weight:500}.mc-option-button.correct,.mc-option-button.incorrect{font-weight:700;padding-right:35px}.mc-option-button.correct:disabled{background-color:var(--feedback-correct-bg);border-color:var(--feedback-correct-border);color:var(--feedback-correct-text);opacity:1}.mc-option-button.correct:after{content:"✔";color:var(--feedback-correct-text)}.mc-option-button.incorrect:disabled{background-color:var(--feedback-incorrect-bg);border-color:var(--feedback-incorrect-border);color:var(--feedback-incorrect-text);opacity:1;animation:shake-horizontal .4s cubic-bezier(.455,.03,.515,.955) both}.mc-option-button.incorrect:after{content:"✖";color:var(--feedback-incorrect-text)}.mc-button{padding:12px 25px;font-size:1.05em;font-weight:500;color:var(--button-primary-text);background-color:var(--button-primary-bg);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .1s ease;margin-top:10px;box-shadow:0 2px 4px #0000001a}.results-screen{padding:30px}.results-screen h2{color:var(--cramzly-teal);font-size:2em;margin-bottom:15px}.results-screen p{font-size:1.3em;margin-bottom:25px;color:var(--app-text)}@media (hover: hover){.mc-back-button-external:hover{background-color:var(--button-secondary-hover-bg)}.mc-option-button:hover:not(:disabled){background-color:var(--button-choice-hover-bg);border-color:var(--button-choice-hover-border);transform:translateY(-2px);box-shadow:0 2px 6px #0000000f}.mc-button:hover{background-color:var(--button-primary-hover-bg);transform:translateY(-1px)}}@media (max-width: 600px){.mc-game-wrapper{padding:5px 0 15px}.mc-game-container{padding:15px;border-radius:10px}.mc-game-container h2{font-size:1.3em;margin-bottom:0;text-align:left}.mc-game-info{gap:8px;margin-bottom:0;justify-content:flex-start}.mc-game-header{justify-content:space-between;align-items:flex-start;gap:1rem}.mc-title-group{align-items:flex-start;gap:8px}.mc-header-accessory-container{display:block;flex-shrink:0}.mc-question-counter,.mc-score,.mc-streak-counter{font-size:.85em;padding:4px 8px}.mc-score{font-size:.9em}.mc-progress-bar-container{height:8px;margin-bottom:15px}.mc-game-container h3{font-size:1.2em;min-height:40px;margin-bottom:20px}.mc-options-list{max-width:100%;margin-bottom:20px}.mc-options-list li{margin-bottom:8px}.mc-option-button{padding:12px 15px;font-size:.95em;border-radius:6px}.mc-option-button.correct,.mc-option-button.incorrect{padding-right:30px}.mc-option-button.correct:after,.mc-option-button.incorrect:after{right:10px;font-size:1.1em}.mc-button{padding:10px 20px;font-size:1em}.next-button{margin-top:20px}.results-screen h2{font-size:1.6em}.results-screen p{font-size:1.1em;margin-bottom:20px}}@keyframes shake-horizontal{0%,to{transform:translate(0)}10%,30%,50%,70%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.spatial-game-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;padding:20px 0;box-sizing:border-box;flex-grow:1;min-height:0}.spatial-choice-container{max-width:700px;width:95%;margin-bottom:20px;padding:20px;border:1px solid var(--border-soft, #ccc);border-radius:8px;background-color:var(--container-bg-alt, #f9f9f9);text-align:center;display:flex;flex-direction:column;align-items:center;color:var(--app-text)}.spatial-game-wrapper>.spatial-choice-container:last-child{margin-bottom:0}.spatial-choice-container h2{color:var(--container-heading-text, #2c3e50);margin-bottom:15px}.spatial-hud{display:flex;justify-content:space-between;width:100%;max-width:500px;margin-bottom:20px;font-size:.9em;color:var(--app-text-subtle, #34495e)}.spatial-game-area{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:500px;min-height:350px;position:relative}.spatial-prompt-area{background-color:var(--game-prompt-bg, var(--container-bg));border:2px solid var(--game-prompt-border, var(--cramzly-teal));color:var(--game-prompt-text, var(--container-text));padding:20px;margin:10px 0;border-radius:6px;min-height:80px;width:60%;display:flex;align-items:center;justify-content:center;font-size:1.1em;box-shadow:var(--container-shadow, 0 2px 4px rgba(0,0,0,.1))}.spatial-middle-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin:10px 0}.spatial-option-slot{background-color:var(--game-option-bg, var(--container-bg));border:2px solid var(--game-option-border, #bdc3c7);color:var(--game-option-text, var(--container-text));padding:15px;margin:10px;border-radius:6px;min-height:60px;min-width:120px;display:flex;align-items:center;justify-content:center;font-size:1em;transition:background-color .1s ease-in-out,border-color .1s ease-in-out,transform .1s,color .1s ease-in-out;box-shadow:var(--container-shadow-light, 0 1px 3px rgba(0,0,0,.05))}.slot-up,.slot-down{width:50%;margin:10px auto}.slot-left,.slot-right{flex-grow:1;max-width:35%}@keyframes flash-green{0%,to{background-color:var(--feedback-correct-bg, #2ecc71);border-color:var(--feedback-correct-border, #27ae60);color:var(--feedback-correct-text, white);transform:scale(1.05)}50%{background-color:var(--feedback-correct-bg, #2ecc71);border-color:var(--feedback-correct-border, #27ae60);color:var(--feedback-correct-text, white);transform:scale(1)}}@keyframes flash-red{0%,to{background-color:var(--feedback-incorrect-bg, #e74c3c);border-color:var(--feedback-incorrect-border, #c0392b);color:var(--feedback-incorrect-text, white);transform:scale(1.05)}50%{background-color:var(--feedback-incorrect-bg, #e74c3c);border-color:var(--feedback-incorrect-border, #c0392b);color:var(--feedback-incorrect-text, white);transform:scale(1)}}.spatial-option-slot.correct-flash{animation:flash-green .7s ease-in-out forwards}.spatial-option-slot.incorrect-flash{animation:flash-red .7s ease-in-out forwards}.spatial-key-hint{margin-top:20px;font-size:.9em;color:var(--app-text-hint, #7f8c8d)}.spatial-button{padding:10px 20px;font-size:1em;color:var(--button-generic-text, white);background-color:var(--button-generic-bg, #3498db);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;margin-top:10px}.spatial-button:hover{background-color:var(--button-generic-hover-bg, #2980b9)}.spatial-back-button-external{background-color:var(--button-secondary-bg, #6c757d);color:var(--button-secondary-text, white);border:none;padding:10px 18px;border-radius:6px;cursor:pointer;font-size:.95em;font-weight:500;text-decoration:none;transition:background-color .2s ease;display:inline-flex;align-items:center;gap:8px}.spatial-back-button-external:hover{background-color:var(--button-secondary-hover-bg, #5a6268)}.spatial-back-button-external svg{font-size:1.1em}.results-screen h2,.unavailable-screen h2{color:var(--link-color, #3498db)}.results-screen p,.unavailable-screen p{font-size:1.2em;margin-bottom:20px;color:var(--app-text)}.results-screen .spatial-button,.results-screen .spatial-back-button-external,.unavailable-screen .spatial-back-button-external{margin-top:10px;margin-bottom:5px}.results-screen>*:last-child,.unavailable-screen>*:last-child{margin-bottom:0}.unavailable-screen{gap:15px}@media (max-width: 768px){.spatial-game-wrapper{padding:10px 0 15px}.spatial-choice-container.mobile-view{max-width:100%;width:100%;height:100%;margin:0;padding:8px;border:none;border-radius:0;background-color:var(--app-bg);flex-grow:1;display:flex;flex-direction:column;overflow:hidden}.spatial-choice-container.mobile-view .spatial-mobile-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%;padding:0 5px;margin-bottom:8px;box-sizing:border-box;gap:1rem}.spatial-choice-container.mobile-view .title-group{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;flex-grow:1;min-width:0}.spatial-choice-container.mobile-view .spatial-mobile-title{font-size:1.2rem;font-weight:700;color:var(--app-text);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;flex-grow:0;margin-right:0}.spatial-choice-container.mobile-view .spatial-back-button-mobile-header:hover{text-decoration:underline}.spatial-choice-container.mobile-view .spatial-back-button-mobile-header svg{font-size:1.2em}.spatial-choice-container.mobile-view .spatial-hud.mobile{display:flex;justify-content:flex-start;gap:1rem;width:auto;padding:0;margin-bottom:0;font-size:.85em;color:var(--app-text-subtle)}.spatial-choice-container.mobile-view .header-accessory-container{display:block;flex-shrink:0}.spatial-game-area.mobile{flex-grow:1;display:flex;flex-direction:column;justify-content:space-between;width:100%;min-height:0;gap:8px}.mobile-options-row{display:flex;justify-content:space-between;width:100%;gap:8px}.mobile-option-slot{flex-basis:calc(50% - 4px);min-height:70px;padding:8px;border:2px solid var(--game-option-border, #bdc3c7);border-radius:6px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:1em;background-color:var(--game-option-bg, var(--container-bg));box-shadow:var(--container-shadow-light, 0 1px 2px rgba(0,0,0,.05));word-break:break-word;overflow:hidden;color:var(--game-option-text, var(--container-text));transition:background-color .1s ease-in-out,border-color .1s ease-in-out,transform .1s,color .1s ease-in-out}.mobile-option-slot.correct-flash{animation:flash-green .7s ease-in-out forwards}.mobile-option-slot.incorrect-flash{animation:flash-red .7s ease-in-out forwards}.mobile-prompt-wrapper{flex-grow:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:100px;user-select:none;-webkit-user-select:none;-ms-user-select:none}.mobile-prompt-text-container{background-color:var(--game-prompt-bg, var(--container-bg));border:2px solid var(--game-prompt-border, var(--cramzly-teal));color:var(--game-prompt-text, var(--container-text));padding:12px;border-radius:6px;width:90%;max-width:450px;min-height:70px;max-height:220px;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:var(--container-shadow, 0 2px 4px rgba(0,0,0,.1));overflow:hidden;line-height:1.35}.spatial-key-hint.mobile{font-size:.8em;margin-top:8px;color:var(--app-text-hint, #7f8c8d);padding-bottom:5px}.spatial-choice-container.mobile-view .spatial-game-area:not(.mobile){display:none}.spatial-choice-container.mobile-view .spatial-key-hint:not(.mobile){display:none}}.crossword-container{width:100%;box-sizing:border-box;padding:15px;background-color:var(--container-bg, #f9f9f9);border-radius:8px;box-shadow:var(--container-shadow, 0 0 10px rgba(0, 0, 0, .1));display:flex;flex-direction:column;align-items:center;margin-bottom:0;flex-grow:1;min-height:0;overflow:hidden}.crossword-container h2{text-align:center;color:var(--container-heading-text, #333);font-size:1.8em;margin-top:0;margin-bottom:15px;line-height:1.3}.crossword-layout{display:flex;flex-direction:column;align-items:center;gap:15px;width:100%;flex-grow:1;min-height:0;overflow:hidden}.crossword-grid-area{display:flex;justify-content:center;align-items:flex-start;width:100%;flex-shrink:0}.crossword-container.mobile-view .crossword-grid-area{flex-grow:1;min-height:0;overflow:auto}.crossword-grid{border-collapse:collapse;border:3px solid var(--crossword-grid-border, #333);box-shadow:var(--crossword-grid-shadow, 0 1px 3px rgba(0,0,0,.08))}.crossword-container .grid-cell{display:table-cell!important;box-sizing:border-box!important;width:var(--crossword-cell-size);height:var(--crossword-cell-size);min-height:0!important;padding:0!important;border:1px solid transparent;border-radius:4px;text-align:center;vertical-align:middle;position:relative}.grid-cell.blocked{background-color:var(--crossword-cell-blocked-bg, #Faf4e6);border-color:var(--crossword-cell-blocked-border, hsl(0, 0%, 98%))}.grid-cell.playable{background-color:var(--crossword-cell-playable-bg, #FFFFFF);border:2.7px solid var(--crossword-cell-playable-border, #555251)}.cell-input{width:100%;height:100%;border:none;text-align:center;font-size:var(--crossword-cell-font-size);font-weight:600;text-transform:uppercase;padding:0;background-color:transparent;outline:none;color:var(--crossword-cell-input-text, #1F2937)}.grid-cell.active{background-color:var(--crossword-cell-active-bg, #ffc2ac)}.grid-cell.highlighted-word{background-color:var(--crossword-cell-highlight-bg, #ffe7de)}.grid-cell.active.highlighted-word{background-color:var(--crossword-cell-active-bg)}.crossword-container .grid-cell .clue-number{position:absolute;top:1px;left:2px;font-size:.65em;color:var(--crossword-clue-number-text, #4B5563)!important;pointer-events:none;font-weight:400}.grid-cell.correct .cell-input{color:var(--text-success, #059669)}.grid-cell.incorrect .cell-input{color:var(--text-error, #DC2626)}.unified-clue-list-container{flex-basis:40%;max-height:700px;overflow-y:auto;padding:10px;background-color:var(--crossword-clue-list-bg, var(--container-bg));border-radius:4px;box-shadow:var(--container-shadow-soft, 0 0 5px rgba(0,0,0,.1))}.clue-list{list-style-type:none;padding:0;margin:0;font-size:1em;color:var(--crossword-clue-list-text, var(--app-text))}.clue-list li{padding:5px 2px;cursor:pointer;border-radius:3px;line-height:1.4;text-align:left;transition:background-color .1s ease}.clue-list li:hover{background-color:var(--crossword-clue-list-item-hover-bg, #f9f9f9)}.clue-list li.active-clue{background-color:var(--crossword-mobile-clue-bg, #ffe7de);color:var(--crossword-clue-list-item-active-text, #1F2937);font-weight:700}.clue-divider-li{padding:5px 0;text-align:center;cursor:default;line-height:0}.clue-divider-li:hover{background-color:transparent}.clue-divider{border:none;border-top:1px solid var(--border-divider, #ddd);margin:8px auto;width:80%}.results-screen{text-align:center}.results-screen h2{color:var(--link-color, #007bff)}.results-screen p{font-size:1.1em;margin-bottom:15px;color:var(--app-text)}.results-screen .button-style{margin:10px 5px}.crossword-actions-footer{display:flex;justify-content:space-between;align-items:center;width:100%;padding-top:0;padding-bottom:5px;margin-top:0;flex-shrink:0;gap:10px}.footer-left-actions{display:flex;gap:10px}.crossword-actions-footer .button-style{margin:0}.crossword-actions-footer .button-style.back-button{background-color:var(--button-secondary-bg, #6c757d)!important;color:var(--button-secondary-text, white)!important}.crossword-actions-footer .button-style.back-button:hover{background-color:var(--button-secondary-hover-bg, #5a6268)!important;color:var(--button-secondary-text, white)!important}.crossword-container.mobile-view{padding:10px 10px 5px;gap:4px}.crossword-container.mobile-view h2{font-size:1.3em;margin-bottom:8px;line-height:1.2}.crossword-container.mobile-view .crossword-layout{gap:2px}.single-clue-area-mobile{display:flex;align-items:center;justify-content:space-between;padding:0;background-color:var(--crossword-mobile-clue-bg, #ffe7de);color:var(--crossword-mobile-clue-text, var(--app-text));border-radius:4px;width:100%;box-sizing:border-box;flex-shrink:0;min-height:44px;margin-top:5px}.single-clue-area-mobile.placeholder span{width:100%;text-align:center;font-style:italic;color:var(--crossword-mobile-clue-placeholder-text, var(--crossword-mobile-clue-bg))}.single-clue-text{flex-grow:1;text-align:center;font-size:.9em;padding:5px;line-height:1.3;overflow-wrap:break-word;word-break:break-word}.single-clue-text strong{margin-right:4px}.clue-cycle-button{background:var(--crossword-mobile-cycle-btn-bg, none);border:none;color:var(--crossword-mobile-cycle-btn-text, #343a40);font-size:1.6em;font-weight:700;padding:0 8px;border-radius:4px;cursor:pointer;line-height:1;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:background-color .1s ease,border-color .1s ease,color .1s ease}.clue-cycle-button:disabled{opacity:.5;cursor:not-allowed}.clue-cycle-button:active{background-color:var(--crossword-mobile-cycle-btn-active-bg, #ced4da)}@media (min-width: 769px){.crossword-layout{flex-direction:row;align-items:flex-start;gap:20px;margin-top:5px}.crossword-container{max-width:1000px;width:95%;margin:20px auto;flex-grow:0;min-height:initial;overflow:visible;padding-bottom:50px}.crossword-grid-area{flex-grow:0;flex-basis:55%;overflow:visible}.unified-clue-list-container{flex-grow:1;flex-basis:40%}.crossword-actions-footer{flex-direction:row;justify-content:space-between;gap:10px}.footer-left-actions{flex-direction:row;width:auto;gap:10px}.crossword-actions-footer .button-style{width:auto;padding:6px 12px;font-size:1em}}.game-header{display:flex;justify-content:center;align-items:center;width:100%;margin-top:5px}.game-header h2{margin:0;padding:0 80px;text-align:center}.game-header .hint-button-wrapper{position:absolute;right:0}.game-header .hint-button{background-color:var(--button-info-bg, #17a2b8);color:var(--button-info-text, white);border-color:var(--button-info-border, #17a2b8)}.game-header .hint-button:hover{background-color:var(--button-info-hover-bg, #138496);border-color:var(--button-info-hover-border, #117a8b)}.mobile-game-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:5px 8px;box-sizing:border-box;flex-shrink:0;background-color:var(--container-bg);border-bottom:1px solid var(--border-soft)}.header-accessory-container{flex-shrink:0}.mobile-header-button.back-button{flex:0 0 40px;height:30px;background:none;border:none;padding:0;color:var(--app-text, #333);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:var(--button-secondary-bg, #6c757d)}.mobile-game-title{flex:1 1 auto;text-align:center;margin:0;font-size:1.1em;font-weight:600;color:var(--container-heading-text, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:auto}.mobile-header-actions{flex:0 0 auto;display:flex;align-items:center}.mobile-header-action-button{padding:6px 12px!important;font-size:.9em!important;margin:0!important;white-space:nowrap}.hint-button:disabled{background-color:var(--button-disabled-bg, #9E9E9E)!important;border-color:var(--button-disabled-bg, #9E9E9E)!important;cursor:not-allowed;opacity:.65}.results-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;animation:fadeIn .2s ease-out}.results-modal-content{background-color:var(--container-bg, #f9f9f9);padding:25px 30px;border-radius:8px;box-shadow:var(--container-shadow, 0 4px 15px rgba(0, 0, 0, .2));text-align:center;min-width:300px;max-width:500px;width:90%;animation:popIn .25s ease-out}.results-modal-content h2{color:var(--link-color, #007bff);margin-top:0}.results-modal-content p{font-size:1.1em;margin-bottom:15px;color:var(--app-text)}.results-modal-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px}.results-modal-actions .button-style{width:100%;max-width:250px;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.hint-button-wrapper{position:relative;display:inline-block}.hint-count-badge{position:absolute;top:-6px;right:-12px;width:28px;height:28px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;pointer-events:none;z-index:1;animation:popIn .2s ease-out;box-sizing:border-box;padding-bottom:7px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f59e0b' d='M12 2C8.13 2 5 5.13 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74C19 5.13 15.87 2 12 2zM9 19v1h6v-1H9z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain}.mobile-view .hint-count-badge{width:36px;height:36px;font-size:16px;padding-bottom:6px;top:-18px;right:-18px}.title-and-stats-group{display:flex;flex-direction:column;align-items:center;flex-grow:1;min-width:0}.mobile-game-title{flex:none;width:100%;text-align:center;margin:0;font-size:1.1em;font-weight:600;color:var(--container-heading-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-stats-container{display:flex;gap:1rem;font-size:.8em;color:var(--app-text-subtle)}.mobile-header-actions{flex-shrink:0;display:flex;align-items:center}.custom-keyboard{width:100%;background-color:var(--keyboard-bg, #D1D5DB);padding:6px 6px 10px;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--keyboard-border-top, #B0B3B8);flex-shrink:0}.keyboard-row{display:flex;justify-content:center;gap:4px;width:100%}.keyboard-key{background-color:var(--keyboard-key-bg, #FFFFFF);border:none;border-radius:5px;padding:0;font-size:1.05em;color:var(--keyboard-key-text, #000000);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;flex-grow:1;flex-basis:0;height:38px;min-width:26px;box-shadow:var(--keyboard-key-shadow, 0 1px 1px rgba(0, 0, 0, .15));transition:background-color .1s ease-in-out,transform .05s ease-in-out,box-shadow .1s ease-in-out}.keyboard-key:active{background-color:var(--keyboard-key-active-bg, #E5E7EB);transform:translateY(1px);box-shadow:var(--keyboard-key-active-shadow, none)}.utility-key{background-color:var(--keyboard-utility-key-bg, #A9AEB8);color:var(--keyboard-utility-key-text, #000000)}.utility-key:active{background-color:var(--keyboard-utility-key-active-bg, #98A0AA)}.toggle-key{flex-grow:1.4;max-width:55px;font-size:.9em}.backspace-key{flex-grow:1.4;max-width:55px;font-size:1.2em}.backspace-key svg{width:1.2em;height:1.2em;fill:var(--keyboard-utility-key-text, #000000)}.keyboard-row-indent{padding-left:calc((100% / 22));padding-right:calc((100% / 22));box-sizing:border-box}.number-middle-row-spacer{height:42px}.keyboard-spacer-fill{flex-grow:8;height:1px}@media (max-width: 360px){.custom-keyboard{padding:4px 2px;gap:3px}.keyboard-row{gap:3px}.keyboard-key{height:38px;font-size:.95em;min-width:22px}.toggle-key,.backspace-key{max-width:48px}.backspace-key{font-size:1.1em}.number-middle-row-spacer,.keyboard-row-indent{height:38px}.keyboard-row-indent{padding-left:calc((100% / 24));padding-right:calc((100% / 24))}}.app-footer{padding:1rem 0;font-size:.9em;background-color:var(--header-bg);color:var(--header-text);transition:background-color .3s ease,color .3s ease}.footer-content{max-width:1100px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-left{display:flex;align-items:center;gap:15px}.footer-logo-image{height:30px;width:auto;opacity:.9}.copyright-text{margin:0;color:var(--header-text)}.footer-nav{display:flex;gap:25px}.footer-nav a{color:inherit;text-decoration:none;transition:color .2s ease}.footer-nav a:hover{color:var(--cramzly-gold)}@media (prefers-color-scheme: dark){.app-footer{background-color:var(--header-bg);color:var(--app-text-subtle)}.copyright-text{color:var(--header-text)}}@media (max-width: 768px){.footer-content{flex-direction:column;gap:25px}.app-footer{display:none}.footer-left{flex-direction:column;gap:10px;text-align:center}.footer-nav{display:none}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:#555}.spinner{border:4px solid rgba(0,0,0,.1);border-left-color:#007bff;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-container.small .spinner{width:24px;height:24px;border-width:3px}.loading-spinner-container.medium .spinner{width:40px;height:40px;border-width:4px}.loading-spinner-container.large .spinner{width:60px;height:60px;border-width:5px}.loading-message{margin-top:10px;font-size:.9em}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-display-container{background-color:#ffebee;color:#c62828;border:1px solid #ef9a9a;border-radius:4px;padding:10px 15px;margin:10px 0;display:flex;justify-content:space-between;align-items:center}.error-display-container.page-error-display{padding:15px 20px;margin:20px auto;max-width:600px}.error-message-text{margin:0;flex-grow:1}.retry-button{margin-left:15px}.button-style{padding:8px 15px;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:.9em;text-decoration:none;display:inline-block;text-align:center}.button-style.secondary{background-color:#6c757d;color:#fff;border-color:#6c757d}.button-style.secondary:hover{background-color:#5a6268;border-color:#545b62}.button-style.small{padding:5px 10px;font-size:.8em}:root{--cramzly-cream: #faf4e6;--cramzly-teal: #069494;--cramzly-gold: #f2ab3f;--cramzly-burnt-orange: #FF8559;--cramzly-base-dark-text: #282c34;--cramzly-base-light-text: #faf4e6;--cramzly-teal-darker: color-mix(in srgb, var(--cramzly-teal) 85%, black);--cramzly-gold-darker: color-mix(in srgb, var(--cramzly-gold) 85%, black);--cramzly-burnt-orange-darker: color-mix(in srgb, var(--cramzly-burnt-orange) 85%, black);--app-bg: var(--cramzly-cream);--app-text: var(--cramzly-base-dark-text);--app-text-subtle: #555555;--header-base-height: 60px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--header-bg: white;--header-text: var(--cramzly-teal);--header-logo-text: var(--cramzly-teal);--header-icon-color: var(--cramzly-teal);--header-user-menu-button-hover-bg: color-mix(in srgb, var(--cramzly-teal) 90%, var(--cramzly-base-dark-text) 10%);--menu-bg: var(--cramzly-teal-darker);--menu-dropdown-bg: var(--cramzly-teal);--menu-text: var(--cramzly-base-light-text);--menu-item-hover-bg: var(--cramzly-teal);--menu-item-dropdown-hover-bg: var(--cramzly-teal-darker);--menu-border-color: var(--cramzly-gold);--menu-logout-text: var(--cramzly-base-light-text);--menu-logout-hover-bg: var(--cramzly-burnt-orange-darker);--button-primary-bg: var(--cramzly-teal);--button-primary-text: var(--cramzly-base-dark-text);--button-primary-hover-bg: var(--cramzly-teal-darker);--button-accent-bg: var(--cramzly-gold);--button-accent-text: var(--cramzly-base-dark-text);--button-accent-hover-bg: var(--cramzly-gold-darker);--button-accent-hover-text: var(--cramzly-base-light-text);--button-danger-bg: var(--cramzly-burnt-orange);--button-danger-text: var(--cramzly-base-light-text);--button-danger-hover-bg: var(--cramzly-burnt-orange-darker);--button-generic-bg: #007bff;--button-generic-text: white;--button-generic-hover-bg: #0056b3;--button-generic-disabled-bg: #cccccc;--button-generic-disabled-text: #666666;--button-secondary-bg: #6c757d;--button-secondary-text: white;--button-secondary-hover-bg: #545b62;--container-bg: white;--container-text: var(--cramzly-base-dark-text);--container-heading-text: #333333;--container-shadow: 0 2px 10px rgba(0,0,0,.1);--form-label-text: var(--app-text-subtle);--form-input-bg: white;--form-input-text: var(--cramzly-base-dark-text);--form-input-border: #dddddd;--form-error-text: #e74c3c;--form-link-color: #007bff;--form-link-hover-color: #0056b3;--dropdown-bg: var(--container-bg);--dropdown-text: var(--app-text);--dropdown-border-color: var(--border-soft);--dropdown-outline-color: var(--cramzly-teal);--dropdown-shadow: 0 4px 12px rgba(0, 0, 0, .1);--dropdown-item-text: var(--app-text);--dropdown-item-hover-bg: color-mix(in srgb, var(--app-bg) 90%, var(--app-text) 10%);--dropdown-item-border-soft: var(--border-soft);--dropdown-item-danger-text: var(--button-danger-bg);--dropdown-item-danger-hover-bg: color-mix(in srgb, var(--button-danger-bg) 15%, var(--dropdown-bg));--dropdown-item-danger-hover-text: var(--button-danger-hover-bg);--game-button-bg: var(--container-bg);--game-button-text: var(--container-text);--game-button-border: var(--border-soft);--game-button-hover-bg: color-mix(in srgb, var(--container-bg) 92%, var(--app-text) 8%);--game-button-hover-border: var(--cramzly-teal);--game-button-title-text: var(--container-heading-text);--game-button-desc-text: var(--app-text-subtle);--button-choice-bg: var(--container-bg);--button-choice-border: #d1d5db;--button-choice-text: var(--app-text);--button-choice-hover-bg: color-mix(in srgb, var(--container-bg) 92%, var(--app-text) 8%);--button-choice-hover-border: var(--cramzly-teal);--button-choice-selected-bg: color-mix(in srgb, var(--cramzly-teal) 15%, white);--button-choice-selected-border: var(--cramzly-teal);--button-choice-selected-text: var(--cramzly-base-dark-text);--feedback-correct-bg: #d1fae5;--feedback-correct-border: #6ee7b7;--feedback-correct-text: #065f46;--feedback-incorrect-bg: #fee2e2;--feedback-incorrect-border: #fca5a5;--feedback-incorrect-text: #991b1b;--progress-bar-bg: #e5e7eb;--progress-bar-fill-bg: var(--cramzly-teal);--container-bg-alt: #f9f9f9;--streak-color: var(--cramzly-gold);--crossword-cell-highlight-bg: #ffe7de;--crossword-cell-active-bg: #ffaa8a;--link-color: #007bff;--link-hover-color: #0056b3;--modal-backdrop-bg: rgba(0, 0, 0, .5);--modal-content-bg: var(--container-bg);--modal-shadow: 0 5px 15px rgba(0, 0, 0, .2);--modal-text: var(--container-text);--modal-heading-text: var(--container-heading-text);--session-tile-bg: var(--container-bg-subtle);--session-tile-border: var(--border-soft);--session-tile-text: var(--app-text);--session-tile-hover-bg: color-mix(in srgb, var(--container-bg-subtle) 90%, var(--cramzly-teal) 10%);--session-tile-hover-border: var(--cramzly-teal);--session-tile-selected-bg: color-mix(in srgb, var(--cramzly-teal) 15%, var(--container-bg));--session-tile-selected-border: var(--cramzly-teal);--session-tile-selected-text: var(--cramzly-teal-darker);--session-tile-disabled-bg: var(--button-disabled-bg);--session-tile-disabled-text: var(--button-disabled-text);--session-tile-disabled-border: var(--button-disabled-border);--session-input-bg: var(--form-input-bg);--session-input-text: var(--form-input-text);--session-input-border: var(--form-input-border);--session-input-focus-border: var(--cramzly-teal);--session-start-button-bg: var(--button-primary-bg);--session-start-button-text: white;--session-start-button-hover-bg: var(--button-primary-hover-bg);--border-soft: #e0e0e0;--container-bg-subtle: #f9fafc;--card-item-bg: white;--card-item-border: var(--border-soft);--card-item-shadow: 0 2px 6px rgba(0, 0, 0, .04);--card-item-shadow-hover: 0 4px 12px rgba(0, 0, 0, .08);--card-item-text: var(--app-text);--card-item-text-strong: var(--container-heading-text);--button-disabled-bg: #f0f0f0;--button-disabled-text: #999999;--button-disabled-border: #e0e0e0;--pacing-ahead-color: #2f855a;--pacing-on-track-color: #2b6cb0;--pacing-behind-color: #c05621;--pacing-cramming-color: #c53030;--chart-grid-color: rgba(0, 0, 0, .1);--chart-tick-color: var(--app-text-subtle);--chart-line-color: var(--cramzly-teal);--chart-line-bg-start: rgba(6, 148, 148, .5);--chart-line-bg-end: rgba(6, 148, 148, 0);--chart-point-border-color: var(--container-bg);--button-outline-bg: transparent;--button-outline-text: var(--app-text-subtle);--button-outline-border: var(--border-soft);--button-outline-hover-bg: color-mix(in srgb, var(--app-bg) 90%, var(--app-text) 10%);--button-outline-hover-text: var(--app-text-subtle);--button-outline-hover-border: var(--cramzly-teal)}@media (prefers-color-scheme: dark){:root{--app-bg: #1e2022;--app-text: var(--cramzly-base-light-text);--app-text-subtle: #bbbbbb;--header-bg: #2a2d2f;--header-text: var(--cramzly-teal);--header-logo-text: var(--cramzly-teal);--header-icon-color: var(--cramzly-teal);--header-user-menu-button-hover-bg: color-mix(in srgb, var(--cramzly-teal) 80%, var(--cramzly-base-light-text) 10%);--menu-bg: #222527;--menu-dropdown-bg: #303438;--menu-text: var(--cramzly-base-light-text);--menu-item-hover-bg: var(--cramzly-teal);--menu-item-dropdown-hover-bg: color-mix(in srgb, var(--cramzly-teal) 85%, var(--cramzly-base-light-text) 5%);--menu-border-color: var(--cramzly-gold);--menu-logout-text: var(--cramzly-base-light-text);--menu-logout-hover-bg: color-mix(in srgb, var(--cramzly-burnt-orange) 80%, var(--cramzly-base-light-text) 10%);--button-primary-bg: var(--cramzly-teal);--button-primary-text: var(--cramzly-base-light-text);--button-primary-hover-bg: color-mix(in srgb, var(--cramzly-teal) 80%, white 10%);--button-accent-bg: var(--cramzly-gold);--button-accent-text: var(--cramzly-base-dark-text);--button-accent-hover-bg: color-mix(in srgb, var(--cramzly-gold) 80%, white 10%);--button-accent-hover-text: var(--cramzly-base-dark-text);--button-danger-bg: color-mix(in srgb, var(--cramzly-burnt-orange) 70%, var(--app-bg) 30%);--button-danger-text: var(--cramzly-base-light-text);--button-danger-hover-bg: color-mix(in srgb, var(--cramzly-burnt-orange) 60%, var(--app-bg) 40%);--button-generic-bg: #2997ff;--button-generic-text: white;--button-generic-hover-bg: #53acff;--button-generic-disabled-bg: #444444;--button-generic-disabled-text: #888888;--button-secondary-bg: #5a6268;--button-secondary-text: white;--button-secondary-hover-bg: #707880;--button-choice-hover-bg: #4e5358;--button-choice-selected-bg: #4e5358;--crossword-grid-border: #7f858a;--crossword-cell-blocked-bg: #2c2c2c;--crossword-cell-blocked-border: #3a3a3a;--crossword-cell-playable-bg: #6d6f70;--crossword-cell-playable-border: box-shadow: inset 0 0 0 1px #2c2c2c;border:1px solid transparent;--crossword-cell-input-text: var(--app-text);--crossword-cell-active-bg: var(--cramzly-teal-darker);--crossword-cell-highlight-bg: #4f5357;--crossword-cell-active-highlight-bg: var(--crossword-cell-active-bg);--crossword-clue-number-text: #a0a7af;--crossword-clue-list-bg: var(--container-bg);--crossword-clue-list-text: var(--app-text);--crossword-clue-list-item-hover-bg: color-mix(in srgb, var(--container-bg) 85%, var(--app-text) 15%);--crossword-clue-list-item-active-bg: #694d41;--crossword-clue-list-item-active-text: var(--app-text);--border-divider: #495057;--crossword-mobile-clue-bg: #b44923;--crossword-mobile-clue-text: var(--app-text);--crossword-mobile-clue-placeholder-text: color-mix(in srgb, var(--crossword-mobile-clue-bg) 70%, var(--app-text) 30%);--crossword-mobile-cycle-btn-bg: transparent;--crossword-mobile-cycle-btn-border: none;--crossword-mobile-cycle-btn-text: var(--app-text-subtle);--crossword-mobile-cycle-btn-active-bg: #495057;--keyboard-bg: #222527;--keyboard-border-top: #3a3f42;--keyboard-key-bg: #404548;--keyboard-key-text: var(--app-text);--keyboard-key-shadow: 0 1px 0px rgba(0,0,0,.2), inset 0 1px 0px rgba(255,255,255,.05);--keyboard-key-active-bg: #303438;--keyboard-key-active-shadow: inset 0 1px 1px rgba(0,0,0,.2);--keyboard-utility-key-bg: #55595c;--keyboard-utility-key-text: var(--app-text);--keyboard-utility-key-active-bg: #454a4d;--text-success: #34d399;--text-error: #f87171;--container-bg-alt: none;--game-bg: var(--app-bg);--game-header-title-text: var(--app-text);--game-header-stats-text: var(--app-text-subtle);--game-terms-zone-bg: #2c3136;--game-definitions-zone-bg: #272b2f;--game-term-cell-bg: #383c40;--game-term-cell-border: #4e5358;--game-definition-cell-bg: #383c40;--game-definition-cell-border: #4e5358;--game-item-text: var(--app-text);--game-placeholder-border: #495057;--game-cell-shadow: 0 1px 2px rgba(0,0,0,.2);--game-drag-preview-bg: #404548;--game-drag-preview-border: var(--cramzly-teal);--game-drag-preview-shadow: 0 5px 12px rgba(0,0,0,.3);--game-drag-preview-text: var(--app-text);--game-drop-target-highlight-bg: color-mix(in srgb, var(--cramzly-teal) 20%, var(--app-bg) 80%);--game-drop-target-highlight-border: var(--cramzly-teal);--game-correct-match-bg: #27ae60;--game-correct-match-border: #1e8449;--game-matched-final-bg: #33373a !important;--game-matched-final-border: #495057 !important;--game-incorrect-match-bg: #c0392b;--game-incorrect-match-border: #a93226;--game-over-title-text: var(--app-text);--game-over-score-text: #2ecc71;--container-bg: #2a2d2f;--container-text: var(--cramzly-base-light-text);--container-heading-text: var(--cramzly-base-light-text);--container-shadow: 0 2px 10px rgba(0,0,0,.3);--form-label-text: var(--app-text-subtle);--form-input-bg: #33373a;--form-input-text: var(--cramzly-base-light-text);--form-input-border: #495057;--form-link-color: #53acff;--form-link-hover-color: #8ec9ff;--dropdown-bg: #303438;--dropdown-text: var(--app-text);--dropdown-border-color: #45494d;--dropdown-outline-color: var(--cramzly-base-light-text);--dropdown-shadow: 0 4px 12px rgba(0, 0, 0, .3);--dropdown-item-text: var(--app-text);--dropdown-item-hover-bg: color-mix(in srgb, var(--dropdown-bg) 85%, var(--app-text) 15%);--dropdown-item-border-soft: #45494d;--dropdown-item-danger-text: var(--button-danger-bg);--dropdown-item-danger-hover-bg: color-mix(in srgb, var(--button-danger-bg) 25%, var(--dropdown-bg));--dropdown-item-danger-hover-text: color-mix(in srgb, var(--button-danger-bg) 80%, var(--cramzly-base-light-text) 20%);--button-choice-bg: #383c40;--button-choice-border: #4e5358;--button-choice-text: var(--app-text);--button-choice-hover-bg: #4a4f53;--button-choice-hover-border: #676c71;--button-choice-selected-bg: color-mix(in srgb, var(--cramzly-teal) 20%, var(--button-choice-bg) 80%);--button-choice-selected-border: var(--cramzly-teal);--button-choice-selected-text: var(--app-text);--feedback-correct-bg: #28a745;--feedback-correct-border: #1e7e34;--feedback-correct-text: var(--cramzly-base-light-text);--feedback-incorrect-bg: #dc3545;--feedback-incorrect-border: #b21f2d;--feedback-incorrect-text: var(--cramzly-base-light-text);--progress-bar-bg: #4b5563;--progress-bar-fill-bg: var(--cramzly-teal);--streak-color: var(--cramzly-gold);--link-color: #53acff;--link-hover-color: #8ec9ff;--modal-backdrop-bg: rgba(0, 0, 0, .65);--modal-content-bg: var(--container-bg);--modal-shadow: 0 5px 15px rgba(0, 0, 0, .35);--modal-text: var(--container-text);--modal-heading-text: var(--container-heading-text);--session-tile-bg: #383c40;--session-tile-border: #495057;--session-tile-text: var(--app-text);--session-tile-hover-bg: #4a4f53;--session-tile-hover-border: var(--cramzly-teal);--session-tile-selected-bg: color-mix(in srgb, var(--cramzly-teal) 20%, var(--session-tile-bg) 80%);--session-tile-selected-border: var(--cramzly-teal);--session-tile-selected-text: var(--cramzly-teal);--session-tile-disabled-bg: var(--button-disabled-bg);--session-tile-disabled-text: var(--button-disabled-text);--session-tile-disabled-border: var(--button-disabled-border);--session-input-bg: #33373a;--session-input-text: var(--form-input-text);--session-input-border: #495057;--session-input-focus-border: var(--cramzly-teal);--session-start-button-bg: var(--button-primary-bg);--session-start-button-text: var(--button-primary-text);--session-start-button-hover-bg: var(--button-primary-hover-bg);--border-soft: #495057;--container-bg-subtle: var(--app-bg);--card-item-bg: var(--container-bg);--card-item-border: var(--border-soft);--card-item-shadow: none;--card-item-shadow-hover: 0 0 0 1px var(--cramzly-teal);--card-item-text: var(--app-text);--card-item-text-strong: var(--app-text);--button-disabled-bg: #444444;--button-disabled-text: #888888;--button-disabled-border: #555555;--pacing-ahead-color: #48bb78;--pacing-on-track-color: #4299e1;--pacing-behind-color: #ed8936;--pacing-cramming-color: #f56565;--chart-grid-color: rgba(255, 255, 255, .1);--chart-tick-color: var(--app-text-subtle);--chart-line-color: var(--cramzly-teal);--chart-line-bg-start: rgba(6, 148, 148, .5);--chart-line-bg-end: rgba(6, 148, 148, 0);--chart-point-border-color: var(--container-bg);--button-outline-bg: transparent;--button-outline-text: var(--app-text-subtle);--button-outline-border: var(--border-soft);--button-outline-hover-bg: color-mix(in srgb, var(--app-bg) 85%, var(--app-text) 15%);--button-outline-hover-text: var(--app-text-subtle);--button-outline-hover-border: var(--cramzly-teal)}}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--app-bg);color:var(--app-text);width:100%}html.no-scroll-page{position:relative;height:100%;overflow:hidden}body.no-scroll-page{position:fixed;width:100%;overflow:hidden;overscroll-behavior-y:contain}.App{display:flex;flex-direction:column;width:100%;height:100dvh;overflow:hidden;background-color:var(--app-bg)}.App-header{position:relative;background-color:var(--header-bg);color:var(--header-text);box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--header-border-color);width:100%;height:calc(var(--header-base-height) + var(--safe-area-top));padding-top:var(--safe-area-top);padding-left:calc(20px + var(--safe-area-left));padding-right:calc(20px + var(--safe-area-right));padding-bottom:0;z-index:1000;flex-shrink:0}.back-to-selection-button{position:absolute;top:50%;right:20px;transform:translateY(-50%);padding:8px 15px;background-color:var(--button-primary-bg);color:var(--button-primary-text);border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:700}.back-to-selection-button:hover{background-color:var(--button-primary-hover-bg)}.mobile-menu-toggle{display:none;background:transparent;border:none;color:var(--header-icon-color);cursor:pointer;padding:10px;z-index:1100}.mobile-menu-toggle svg{display:block}.header-actions{display:flex;align-items:center;gap:15px;position:relative}.user-actions-container{display:contents}.user-menu-desktop-trigger{position:relative;display:none}.user-menu-button{background:transparent;border:none;color:var(--header-icon-color);cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;transition:background-color .2s ease}.user-menu-button:hover{background-color:none}.user-menu-button span{font-size:1.1em}.user-menu-button .chevron-icon{transition:transform .2s ease-in-out}.user-menu-button .chevron-icon.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 5px);right:0;background-color:var(--cramzly-teal);border-radius:4px;box-shadow:var(--container-shadow);padding:8px 0;min-width:200px;z-index:1200;display:flex;flex-direction:column;gap:4px}.menu-item-button{display:flex;align-items:center;gap:10px;padding:10px 15px;text-align:left;background:transparent;border:none;color:#fff;cursor:pointer;width:100%;font-size:1.1em;transition:background-color .2s ease}.user-menu-dropdown .menu-item-button:hover{background-color:var(--menu-item-dropdown-hover-bg)}.header-actions.mobile-menu-active .menu-item-button:hover{background-color:var(--menu-item-hover-bg)}.menu-item-button svg{font-size:1.1em}.menu-item-button.logout-button{color:#fff}.menu-item-button.logout-button:hover{background-color:var(--menu-logout-hover-bg)}.user-menu-mobile-items{display:none}.user-menu-mobile-items .mobile-welcome-message{color:var(--app-text);font-size:.95em;padding:10px 15px;text-align:center;border-bottom:1px solid var(--menu-border-color);margin-bottom:8px}@media (max-width: 768px){.mobile-menu-toggle{display:block}.header-actions{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--cramzly-teal);padding:15px 0;border-top:1px solid var(--menu-border-color);box-shadow:var(--container-shadow);z-index:1000}.header-actions.mobile-menu-active{display:flex;flex-direction:column;align-items:stretch;gap:0}.header-actions.mobile-menu-active .user-menu-mobile-items{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:4px}.header-actions.mobile-menu-active .menu-item-button{padding:12px 20px;border-radius:0}.header-actions.mobile-menu-active .auth-links{flex-direction:column;align-items:stretch;width:100%;gap:0;padding:5px 0}.header-actions.mobile-menu-active .auth-links .header-button{width:auto;margin:5px 20px;justify-content:center;padding:12px 15px}.header-actions .user-info-logout{flex-direction:column;align-items:stretch;width:100%;gap:10px}.header-actions .user-info-logout span{text-align:center;margin-bottom:10px;padding:10px 0;border-bottom:1px solid var(--menu-border-color);color:var(--menu-text)}.header-actions .header-button{width:100%;justify-content:center;padding:12px 15px}}@media (min-width: 768px){.mobile-menu-toggle{display:none}.user-menu-desktop-trigger{display:flex}.user-menu-mobile-items{display:none}.header-actions{display:flex;flex-direction:row;position:static;background-color:transparent;padding:0;box-shadow:none;border-top:none}.header-actions .auth-links,.header-actions .user-info-logout{flex-direction:row;align-items:center;width:auto}.header-actions .header-button{width:auto}}main{width:100%;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;min-height:0;overflow:hidden;padding-bottom:var(--safe-area-bottom)}main.main-scrollable-content{overflow-y:auto;max-width:900px;margin:0 auto;padding-left:calc(10px + var(--safe-area-left));padding-right:calc(10px + var(--safe-area-right))}.game-selection-container{background-color:var(--container-bg);padding:30px;border-radius:8px;box-shadow:var(--container-shadow);margin-top:20px}.game-selection-container h2{margin-top:0;margin-bottom:25px;color:var(--container-heading-text)}.game-select-button{background-color:var(--button-generic-bg);color:var(--button-generic-text);border:none;padding:12px 25px;margin:10px;border-radius:5px;font-size:1.05em;cursor:pointer;transition:background-color .2s ease-in-out,transform .1s ease;min-width:220px}.game-select-button:hover{background-color:var(--button-generic-hover-bg);transform:translateY(-2px)}.header-logo-link{text-decoration:none;color:var(--header-logo-text);display:flex;align-items:center}.header-logo-image{height:45px;width:auto}.user-info-logout{display:flex;align-items:center;gap:15px}.user-info-logout span{font-size:.9em;color:var(--header-text)}.auth-links{display:flex;gap:10px}.header-button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:700;text-decoration:none;transition:background-color .2s ease,color .2s ease;display:inline-flex;align-items:center;gap:8px}.header-button.header-signup-button{background-color:var(--button-accent-bg);color:var(--button-accent-text)}.header-button.header-signup-button:hover{background-color:var(--button-accent-hover-bg);color:var(--button-accent-hover-text)}.header-button.header-login-button{background-color:var(--button-primary-bg);color:#fff}.header-button.header-login-button:hover{background-color:var(--button-primary-hover-bg)}.auth-page-container{max-width:400px;margin:40px auto;padding:30px;background-color:var(--container-bg);border-radius:8px;box-shadow:var(--container-shadow);text-align:center}.auth-page-container h2{margin-top:0;margin-bottom:25px;color:var(--container-heading-text)}.auth-form .form-group{margin-bottom:20px;text-align:left}.auth-form label{display:block;margin-bottom:5px;font-weight:700;color:var(--form-label-text)}.auth-form input[type=email],.auth-form input[type=password]{width:100%;padding:10px;border:1px solid var(--form-input-border);background-color:var(--form-input-bg);color:var(--form-input-text);border-radius:4px;box-sizing:border-box;font-size:1em}.auth-form .error-message{color:var(--form-error-text);margin-bottom:15px;font-size:.9em}.auth-button{width:100%;padding:5px 12px;background-color:var(--button-generic-bg);color:var(--button-generic-text);border:none;border-radius:4px;font-size:1.1em;cursor:pointer;transition:background-color .2s ease}.auth-button:hover{background-color:var(--button-generic-hover-bg)}.auth-button:disabled{background-color:var(--button-generic-disabled-bg);color:var(--button-generic-disabled-text);cursor:not-allowed}.auth-switch-link{margin-top:20px;font-size:.9em}.auth-switch-link a{color:var(--form-link-color);text-decoration:none;font-weight:700}.auth-switch-link a:hover{text-decoration:underline;color:var(--form-link-hover-color)}.dashboard-container{text-align:center;padding:20px}.dashboard-container h2{margin-bottom:10px;color:var(--app-text)}.dashboard-container p{margin-bottom:30px;color:var(--app-text-subtle)}.game-selection-grid{display:flex;flex-direction:column;gap:15px;align-items:center}@media (min-width: 600px){.game-selection-grid{flex-direction:row;justify-content:center}}.play-game-screen{width:100%;box-sizing:border-box;padding:15px;position:relative;display:flex;flex-direction:column;flex-grow:1;min-height:0;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.play-game-screen input,.play-game-screen textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.back-to-dashboard-button{display:inline-block;margin-bottom:20px;padding:10px 18px;background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:none;border-radius:4px;font-size:.95em;cursor:pointer;transition:background-color .2s ease}.back-to-dashboard-button:hover{background-color:var(--button-secondary-hover-bg)}@media (max-width: 768px){.App{height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);box-sizing:border-box}main{padding-left:0;padding-right:0;width:100%;max-width:none}.play-game-screen{padding:2px}.menu-divider{height:1px;background-color:var(--menu-border-color);margin:10px 20px;opacity:.5}.mobile-footer-links{display:flex;flex-direction:column;align-items:stretch;padding:5px 0}.mobile-footer-links a{color:var(--menu-text);text-decoration:none;font-size:1em;padding:10px 20px;transition:background-color .2s ease}.mobile-footer-links a:hover{background-color:var(--menu-item-hover-bg)}.mobile-copyright-notice{font-size:.9em;text-align:center;padding:15px 20px 10px;margin-top:10px;color:var(--menu-text);opacity:.7}.header-actions.mobile-menu-active .auth-links .mobile-footer-links{align-items:stretch;text-align:left}}@media (min-width: 769px){html,body,#root,.App{height:auto;overflow:visible}.App{min-height:100dvh}main,main.main-scrollable-content{overflow:visible}}.legal-content{background-color:var(--container-bg);border-radius:8px;box-shadow:var(--container-shadow);padding:2rem;margin:20px 0 40px;text-align:left}.legal-content h1{font-size:2.2em;color:var(--container-heading-text);border-bottom:1px solid var(--form-input-border);padding-bottom:.5em;margin-bottom:1em}.legal-content h2{font-size:1.6em;color:var(--container-heading-text);margin-top:2.5em;margin-bottom:1em}.legal-content h3{font-size:1.2em;font-style:italic;color:var(--app-text-subtle);margin-bottom:1em;font-weight:500}.legal-content p,.legal-content li{line-height:1.7;color:var(--app-text);margin-bottom:1em}.legal-content ul,.legal-content ol{padding-left:25px}.legal-content a{color:var(--link-color);text-decoration:underline;font-weight:500;transition:color .2s ease}.legal-content a:hover{color:var(--link-hover-color)}.legal-content .short-version-box{background-color:var(--app-bg);padding:1.5rem;border-radius:6px;border-left:4px solid var(--cramzly-gold);margin:2em 0}.legal-content .short-version-box ul{list-style-type:none;padding-left:0}.legal-content .short-version-box li{margin-bottom:.5em}@media (max-width: 768px){.legal-content{padding:1.5rem 1rem}.legal-content h1{font-size:1.8em}.legal-content h2{font-size:1.4em}}.new-home-page{background-color:var(--cramzly-cream);color:var(--cramzly-base-dark-text);line-height:1.6;padding:10px 10px 85px}.new-home-page.logged-in-fallback{padding:40px;text-align:center;min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.new-home-page.logged-in-fallback h2{color:var(--cramzly-teal)}.content-width{max-width:1100px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.new-home-page section{padding:30px 0}.new-home-page section:nth-child(2n){background-color:#fff}.pain-points-section{background-color:#fff;border-radius:8px}.persona-benefits-section{background-color:var(--cramzly-teal);color:var(--cramzly-base-light-text)}.why-cramzly-section{background-color:#fff;border-radius:8px;margin-bottom:10px}.final-cta-section{color:var(--cramzly-base-dark-text)}.final-cta-section .content-width{text-align:center}h1,h2,h3,h4{color:var(--cramzly-base-dark-text);margin-top:0}h1{font-size:3em;margin-bottom:.5em;line-height:1.2}h2{font-size:2.2em;margin-bottom:.75em;text-align:center}.section-subtitle{font-size:1.1em;color:var(--app-text-subtle);text-align:center;max-width:600px;margin:0 auto 40px}.btn{display:inline-block;padding:12px 28px;border-radius:6px;text-decoration:none;font-weight:700;transition:background-color .2s ease,transform .1s ease;cursor:pointer;border:none;font-size:1em}.btn-primary{background-color:var(--cramzly-teal);color:#fff}.btn-primary:hover{background-color:var(--cramzly-teal-darker);color:#fff;transform:translateY(-2px)}.btn-large{padding:15px 35px;font-size:1.1em}.btn-secondary{background-color:var(--cramzly-gold);color:var(--cramzly-base-dark-text)}.btn-secondary:hover{background-color:var(--cramzly-gold-darker);color:var(--cramzly-base-light-text);transform:translateY(-2px)}.hero-section{background-color:var(--cramzly-cream);padding:10px 0;min-height:50vh;display:flex;align-items:center}.hero-content{display:flex;align-items:center;justify-content:space-between;gap:40px}.hero-text{flex-basis:55%}.hero-text .subtitle{font-size:1.2em;color:var(--app-text-subtle);margin-bottom:10px;margin-top:2px}.hero-cta-btn{margin-top:10px}.hero-visual{flex-basis:40%;display:flex;justify-content:center;align-items:center}.visual-placeholder-hero{width:300px;height:300px;border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative}.icon-placeholder.hero-icon{position:absolute;color:var(--cramzly-teal-darker)}.icon-placeholder.brain-icon{color:var(--cramzly-gold);top:50%;left:50%;transform:translate(-50%,-50%)}.icon-placeholder.accent-icon-1{color:var(--cramzly-teal);top:20%;left:15%}.pain-points-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin-top:40px}.pain-point-card{background-color:var(--cramzly-cream);padding:25px;border-radius:8px;text-align:center;box-shadow:0 4px 15px #0000000d}.pain-point-card .icon-placeholder{font-size:2em;color:var(--cramzly-teal);margin-bottom:10px;display:inline-block}.pain-point-card h3{font-size:1.3em;color:var(--cramzly-base-dark-text);margin-bottom:10px}.features-showcase-section{background-color:var(--cramzly-cream);overflow:hidden}.cycle-graphic-container{position:relative;width:100%;max-width:550px;height:400px;margin:40px auto 50px}.cycle-node{position:absolute;background-color:#fff;width:200px;height:200px;padding:20px;border-radius:16px;box-shadow:0 8px 30px #00000014;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}.cycle-node .icon-placeholder.feature-icon{font-size:2em;color:var(--cramzly-gold);margin-bottom:7px}.cycle-node h3{font-size:1.15em;color:var(--cramzly-base-dark-text);margin-bottom:4px;line-height:1.3}.cycle-node p{font-size:.85em;color:var(--app-text-subtle);line-height:1.4}.node-import{top:0;left:50%;transform:translate(-50%)}.node-modes{top:240px;left:10px}.node-track{top:240px;right:10px}.cycle-arrow{position:absolute;font-size:2.8em;color:var(--cramzly-teal);font-weight:700;-webkit-user-select:none;user-select:none;transform-origin:center center}.arrow-import-to-track{top:140px;left:calc(50% + 140px);transform:rotate(50deg)}.arrow-track-to-modes{top:310px;left:50%;transform:translate(-50%) rotate(180deg)}.arrow-modes-to-import{top:140px;left:calc(50% - 190px);transform:rotate(-50deg)}@media (max-width: 768px){.cycle-graphic-container{position:static;height:auto;display:flex;flex-direction:column;align-items:center;gap:20px;margin-top:40px;margin-bottom:40px}.cycle-node{position:static;transform:none!important;width:80%;max-width:280px;height:auto;min-height:150px;margin-bottom:0;padding:25px}.cycle-node h3{font-size:1.25em}.cycle-node p{font-size:.9em}.cycle-arrow{display:none}}.feature-card{padding:30px;border-radius:8px;background-color:#fff;box-shadow:0 5px 20px #00000012;text-align:center}.feature-card .icon-placeholder.feature-icon{font-size:2.5em;color:var(--cramzly-gold);margin-bottom:15px;display:inline-block}.feature-card h3{font-size:1.4em;margin-bottom:10px}.persona-benefits-section h2{color:var(--cramzly-base-light-text)}.persona-benefits-section .section-subtitle{color:#faf4e6cc}.personas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:40px}.persona-card{background-color:var(--cramzly-teal-darker);padding:25px;border-radius:8px;color:var(--cramzly-base-light-text)}.persona-card h4{color:var(--cramzly-gold);font-size:1.2em;margin-bottom:10px}.differentiation-list{list-style:none;padding:0;max-width:700px;margin:10px auto 0}.differentiation-list li{display:flex;align-items:flex-start;gap:10px;padding-bottom:10px;margin-bottom:10px;position:relative}.differentiation-list li:not(:last-child){border-bottom:1px solid #e0e0e0}.differentiation-list li:last-child{margin-bottom:0;padding-bottom:0}.differentiation-list li .icon-placeholder{color:var(--cramzly-teal);font-size:inherit;margin-top:.2em;flex-shrink:0}.differentiation-list li .list-item-text-content{flex-grow:1}.differentiation-list li .list-item-text-content strong{display:block;font-size:1.25rem;font-weight:600;color:var(--cramzly-base-dark-text);line-height:1.4;margin-bottom:.4em}.differentiation-list li .list-item-text-content span{display:block;font-size:1rem;color:var(--app-text-subtle);line-height:1.6}.final-cta-section h2{color:var(--cramzly-base-dark-text)}.final-cta-section .section-subtitle{color:#282c34cc}.final-cta-btn{margin-top:20px}.cta-subtext{margin-top:15px;font-size:.9em}.home-footer{background-color:var(--cramzly-base-dark-text);color:var(--cramzly-cream);padding:30px 0;font-size:.9em}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.footer-logo img{opacity:.8}.footer-links a{color:var(--cramzly-cream);text-decoration:none;margin-left:15px;transition:color .2s ease}.footer-links a:hover{color:var(--cramzly-gold)}@media (max-width: 768px){h1{font-size:2.5em}h2{font-size:1.8em}.hero-content{flex-direction:column;text-align:center}.hero-text{flex-basis:auto;margin-bottom:40px}.hero-visual{display:none}.visual-placeholder-hero{width:250px;height:250px}.footer-content{flex-direction:column;text-align:center}.footer-links{margin-top:10px}.footer-links a{margin:0 8px}}@media (prefers-color-scheme: dark){.new-home-page{background-color:var(--app-bg);color:var(--app-text)}.new-home-page h1,.new-home-page h2,.new-home-page h3,.new-home-page h4{color:var(--app-text)}.hero-section,.features-showcase-section{background-color:var(--app-bg)}.pain-points-section,.why-cramzly-section{background-color:var(--container-bg)}.new-home-page>section:nth-child(2n){background-color:var(--container-bg)}.pain-point-card{background-color:var(--app-bg);box-shadow:var(--container-shadow)}.cycle-node{background-color:var(--container-bg);box-shadow:var(--container-shadow)}.differentiation-list li:not(:last-child){border-bottom-color:var(--border-divider)}.differentiation-list li .list-item-text-content strong{color:var(--app-text)}.final-cta-section .section-subtitle,.final-cta-section{color:#fff}.final-cta-section .content-width{text-align:center}}.import-preview-container{padding:10px}.import-preview-container h4{margin-top:20px;margin-bottom:10px;color:var(--primary-color-dark);border-bottom:1px solid var(--border-color-light);padding-bottom:5px}.import-preview-container h4:first-child{margin-top:0}.import-summary-section,.error-summary-section{background-color:var(--background-color);padding:15px;border-radius:var(--border-radius-small);margin-bottom:20px;border:1px solid var(--border-color-x-light)}.deck-creation-list{list-style-type:disc;padding-left:20px}.deck-creation-list li{margin-bottom:5px}.deck-description-preview{font-size:.9em;color:var(--text-color-secondary-dark)}.summary-issues{color:var(--warning-color-dark);font-weight:700}.summary-success{color:var(--success-color-dark);font-weight:700}.issues-preview-list{font-size:.9rem;margin-top:10px;border-left:3px solid var(--warning-color);background-color:var(--warning-color-x-light);padding:10px;border-radius:var(--border-radius-small)}.issues-preview-list ul{list-style-type:none;padding-left:0}.issues-preview-list li{margin-bottom:5px;color:var(--warning-color-darker)}.cards-preview-table-wrapper{max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-small)}.cards-preview-table{width:100%;border-collapse:collapse;font-size:.9rem}.cards-preview-table th,.cards-preview-table td{border:1px solid var(--border-color-light);padding:8px 10px;text-align:left;vertical-align:top}.cards-preview-table th{background-color:var(--header-bg);position:sticky;top:0;z-index:1}.cards-preview-table tr.has-errors td{background-color:var(--warning-color-x-light);color:var(--warning-color-darker)}.cards-preview-table tr.has-errors .status-error{color:var(--error-color-dark)}.term-cell,.definition-cell{max-width:100%;word-wrap:break-word;white-space:pre-wrap}.status-error{color:var(--warning-color-dark);font-weight:700;cursor:help}.status-ok{color:var(--success-color-dark)}.no-preview-cards{text-align:center;padding:20px;color:var(--text-color-secondary-dark);font-style:italic}.preview-actions{margin-top:25px;border-top:1px solid var(--border-color);padding-top:20px}.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}.modal-content{background:var(--background-color-light);color:var(--text-color-dark);padding:25px;border-radius:8px;box-shadow:0 5px 15px #0000004d;position:relative;width:90%;max-width:700px;max-height:90vh;overflow-y:auto}.import-modal-content h2{margin-top:0;color:var(--primary-color);border-bottom:1px solid var(--border-color);padding-bottom:10px;margin-bottom:20px;padding-right:2rem}.modal-close-button{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;font-size:1.5rem;color:var(--text-color-secondary-dark);cursor:pointer;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:50%;transition:background-color .2s ease;z-index:10}.modal-close-button:hover{background-color:var(--header-bg)}.import-type-options{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.import-type-options button{padding:12px 18px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color-dark);cursor:pointer;border-radius:var(--border-radius-medium);transition:background-color .2s,border-color .2s;font-size:1rem;text-align:left}.import-type-options button:hover{background-color:var(--header-bg);border-color:var(--primary-color-light)}.import-type-options button.active{background-color:var(--primary-color-x-light);border-color:var(--primary-color);color:var(--primary-color-dark);font-weight:700}.import-modal-content form{display:flex;flex-direction:column;gap:15px}.import-modal-content label{font-weight:700;margin-bottom:5px;display:block}.import-modal-content input[type=text],.import-modal-content input[type=file],.import-modal-content textarea,.import-modal-content select{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:var(--border-radius-small);box-sizing:border-box;background-color:var(--input-background-color);color:var(--input-text-color)}.import-modal-content textarea{min-height:150px;resize:vertical}.import-modal-content .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.import-modal-content .form-actions button{padding:10px 20px}.modal-error-display{margin-top:15px;padding:10px}.import-sub-form{border:1px solid var(--border-color-light);padding:20px;border-radius:var(--border-radius-medium);margin-top:20px;background-color:var(--background-color)}.import-sub-form h4{margin-top:0;color:var(--primary-color-dark)}.form-description{font-size:.9rem;color:var(--text-color-secondary-dark);margin-bottom:15px}.form-group{margin-bottom:15px}.file-selected-info{font-size:.85rem;color:var(--text-color-secondary-dark);margin-top:5px}.delimiter-options{border:1px solid var(--border-color-light);padding:15px;margin-top:10px;margin-bottom:15px;border-radius:var(--border-radius-small)}.delimiter-options legend{font-weight:700;padding:0 5px;color:var(--text-color-secondary-dark)}.delimiter-group{margin-bottom:15px;display:flex;flex-direction:column;gap:8px}.delimiter-group:last-child{margin-bottom:0}.delimiter-group label{font-weight:400;font-size:.95rem;margin-bottom:0}.custom-delimiter-input{margin-top:5px;width:calc(100% - 22px)}.deck-library-container{padding:20px;max-width:1200px;margin:0 auto}.deck-library-header{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px;padding-bottom:15px;border-bottom:1px solid var(--border-soft, #e0e0e0)}.deck-library-header h2{font-size:2rem;color:var(--app-text);margin:0}.deck-library-actions{display:flex;gap:15px}.cta-button,.button-style{padding:10px 15px;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease-in-out,transform .1s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;line-height:1.2}.button-style:active{transform:scale(.98)}.cta-button svg,.button-style svg{stroke-width:2.5;flex-shrink:0}.cta-button{background-color:var(--button-cta-primary-bg, var(--cramzly-teal));color:var(--button-cta-primary-text, white)}.cta-button:hover{background-color:var(--button-cta-primary-hover-bg, var(--cramzly-teal-darker))}.cta-button.import-button{background-color:var(--button-cta-accent-bg, var(--cramzly-gold));color:var(--button-cta-accent-text, var(--cramzly-base-dark-text))}.cta-button.import-button:hover{background-color:var(--button-cta-accent-hover-bg, var(--cramzly-gold-darker))}.button-style.secondary{background-color:var(--button-subtle-bg, #f8f9fa);color:var(--button-subtle-text, #333);border:none}.button-style.secondary:hover{background-color:var(--button-subtle-hover-bg, #e2e6ea)}.decks-list{display:flex;flex-direction:column;gap:15px}.deck-row-item{position:relative;z-index:1;background-color:var(--container-bg, #ffffff);padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--border-soft, #555555);border-radius:8px;box-shadow:var(--container-shadow, 0 1px 2px rgba(0,0,0,.04));transition:background-color .2s ease-in-out,box-shadow .2s ease-in-out,transform .2s ease-in-out,border-color .2s ease-in-out}.deck-row-item.has-active-menu{z-index:5}.deck-row-item:hover{background-color:color-mix(in srgb,var(--container-bg) 92%,var(--app-text) 8%);border-color:var(--border-interactive, var(--cramzly-teal));box-shadow:var(--container-shadow-hover, 0 4px 8px rgba(0,0,0,.06));transform:translateY(-2px)}.deck-row-main-info{flex-grow:1;display:flex;flex-direction:column;gap:5px;min-width:0}.deck-name-link{text-decoration:none;color:inherit;display:block}.deck-name-link:hover .deck-row-name,.deck-name-link:focus .deck-row-name{color:var(--link-hover-color, var(--cramzly-teal))}.deck-row-name{font-size:1.25rem;color:var(--container-text, var(--cramzly-dark-text));margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .2s ease-in-out}.deck-row-meta{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:.8rem;color:var(--app-text-subtle, #555)}.deck-meta-item{display:inline-flex;align-items:center;gap:5px}.deck-meta-item svg{color:var(--icon-color-subtle, #777);flex-shrink:0}.deck-meta-item.due-cards{color:var(--cramzly-teal);font-weight:600}.deck-meta-item.due-cards svg{color:var(--cramzly-teal)}.deck-row-actions-container{display:flex;align-items:center;gap:10px;flex-shrink:0}.kebab-menu-wrapper{position:relative}.deck-row-item .kebab-menu-wrapper>button.button-style.kebab-menu-button{background-color:var(--button-kebab-bg, transparent)!important;color:var(--button-kebab-text, var(--app-text-subtle))!important;padding:8px!important;border:none}.deck-row-item .kebab-menu-wrapper>button.button-style.kebab-menu-button:hover{color:var(--button-kebab-hover-text, var(--app-text))!important}.kebab-options-dropdown{position:absolute;top:calc(100% + 4px);right:0;background-color:var(--dropdown-bg);border:1px solid var(--dropdown-border-color);box-shadow:0 0 0 1px var(--dropdown-outline-color),var(--dropdown-shadow);border-radius:6px;z-index:20;min-width:180px;max-height:200px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.kebab-option-item{padding:10px 15px;text-align:left;background-color:transparent;border:none;cursor:pointer;font-size:.9rem;color:var(--dropdown-item-text);width:100%;display:flex;align-items:center;gap:10px;text-decoration:none}.kebab-option-item:not(:last-child){border-bottom:1px solid var(--dropdown-item-border-soft)}.kebab-option-item:hover{background-color:var(--dropdown-item-hover-bg)}.kebab-option-item.danger{color:var(--dropdown-item-danger-text)}.kebab-option-item.danger:hover{background-color:var(--dropdown-item-danger-hover-bg);color:var(--dropdown-item-danger-hover-text)}.kebab-option-item svg{flex-shrink:0}@media (min-width: 769px){.deck-library-actions .cta-button{padding:8px 12px;font-size:.9rem}.deck-library-actions .cta-button svg{display:none}.deck-library-actions .cta-button span{display:inline}}@media (max-width: 768px){.deck-library-header{flex-direction:row;align-items:center;gap:10px}.deck-library-header h2{font-size:1.6rem;margin:0}.deck-library-actions{width:auto;flex-direction:row;gap:8px}.deck-library-actions .cta-button{padding:8px;line-height:1;gap:0;min-width:auto;flex-grow:0}.deck-library-actions .cta-button span{display:none}.deck-library-actions .cta-button svg{display:inline-block;margin-right:0}.deck-row-item{flex-direction:row;align-items:center;padding:10px 12px;gap:8px}.deck-row-main-info{margin-bottom:0;flex-grow:1;min-width:0;gap:3px}.deck-row-name{font-size:1.05rem}.deck-row-meta{font-size:.7rem;gap:3px 8px}.deck-meta-item svg{width:12px;height:12px}.deck-row-actions-container{flex-direction:row;justify-content:flex-end;width:auto;flex-shrink:0;gap:6px}.deck-row-item .kebab-menu-wrapper>button.button-style.kebab-menu-button{padding:6px!important}.deck-row-item .kebab-menu-wrapper>button.button-style.kebab-menu-button svg{width:18px!important;height:18px!important}.kebab-options-dropdown{min-width:180px}}@media (max-width: 480px){.deck-library-header h2{font-size:1.6rem}.deck-library-actions .cta-button{padding:6px 20px}.deck-library-actions .cta-button svg{width:20px;height:20px}.deck-row-item{padding:8px 10px;gap:6px}.deck-row-name{font-size:1.2rem}.deck-row-meta{font-size:.9rem;gap:2px 6px}.deck-meta-item svg{width:11px;height:11px}.deck-row-actions-container{gap:4px}.deck-row-item .kebab-menu-wrapper>button.button-style.kebab-menu-button{padding:5px!important}.deck-row-item .kebab-menu-wrapper>button.button-style.kebab-menu-button svg{width:16px!important;height:16px!important}}@media (prefers-color-scheme: dark){.deck-row-item:hover{background-color:color-mix(in srgb,var(--container-bg) 85%,var(--app-text) 15%)}}.deck-search-bar-container{margin-bottom:25px;max-width:700px;margin-left:auto;margin-right:auto}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input{width:100%;padding:12px 15px 12px 40px;font-size:1rem;color:var(--form-input-text, var(--app-text));background-color:var(--form-input-bg, white);border:1px solid var(--form-input-border, #ccc);border-radius:8px;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{border-color:var(--form-input-focus-border, var(--cramzly-teal));outline:none;box-shadow:0 0 0 3px var(--form-input-focus-shadow, rgba(0, 123, 255, .25))}.search-input::placeholder{color:var(--app-text-subtle, #888);opacity:1}.search-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--icon-color-subtle, #777);pointer-events:none}.no-decks-message{text-align:center;font-size:1.2rem;color:var(--no-content-text, var(--app-text-subtle));padding:50px 20px;background-color:var(--no-content-bg, var(--container-bg));border:1px dashed var(--no-content-border-dashed, var(--border-soft));border-radius:8px;margin:20px 0}.no-decks-message p{margin:.5em 0}@media (max-width: 768px){.deck-search-bar-container{max-width:100%;margin-bottom:20px}.search-input{padding:10px 12px 10px 36px;font-size:16px}.search-input-icon{left:10px;width:16px;height:16px}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.session-setup-modal{background-color:var(--modal-content-bg);color:var(--modal-text);padding:2rem;border-radius:12px;box-shadow:var(--modal-shadow);width:100%;max-width:600px;position:relative;animation:fadeIn .3s ease-out}.modal-backdrop.mobile-full .session-setup-modal{max-width:100%;height:100%;border-radius:0;display:flex;flex-direction:column}.session-setup-modal h2{text-align:center;margin-top:0;margin-bottom:2rem;font-size:1.8rem;color:var(--modal-heading-text)}.session-setup-modal .close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--app-text-subtle);padding:.5rem;transition:color .2s ease}.session-setup-modal .close-button:hover{color:var(--app-text)}.setup-step{margin-bottom:2rem}.step-title{font-size:1.1rem;font-weight:600;color:var(--modal-heading-text);margin-bottom:1rem;border-bottom:1px solid var(--border-soft);padding-bottom:.5rem}.game-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.game-tile{padding:1rem;border:2px solid var(--session-tile-border);border-radius:8px;background-color:var(--session-tile-bg);color:var(--session-tile-text);cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:500;text-align:center}.game-tile:hover:not(.selected):not(:disabled){border-color:var(--session-tile-hover-border);background-color:var(--session-tile-hover-bg);transform:translateY(-2px)}.game-tile.selected{border-color:var(--session-tile-selected-border);background-color:var(--session-tile-selected-bg);color:var(--session-tile-selected-text);font-weight:700;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.modal-main-content .game-selection-grid .game-tile:not(.selected):not(:disabled){background-color:var(--session-tile-bg);border-color:var(--session-tile-border);color:var(--session-tile-text);font-weight:500;transform:none;box-shadow:none}.game-tile:disabled{background-color:var(--session-tile-disabled-bg);color:var(--session-tile-disabled-text);border-color:var(--session-tile-disabled-border);cursor:not-allowed;opacity:.7}.game-tile small{display:block;font-size:.75rem;margin-top:.25rem}.goal-selection{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.goal-option{border:2px solid var(--session-tile-border);border-radius:8px;padding:1rem;text-align:center;cursor:pointer;transition:all .2s ease;background-color:var(--session-tile-bg);display:flex;flex-direction:column}.goal-option:hover:not(.selected){border-color:var(--session-tile-hover-border);background-color:var(--session-tile-hover-bg)}.goal-option.selected{border-color:var(--session-tile-selected-border);background-color:var(--session-tile-selected-bg)}.goal-option.selected h4,.goal-option.selected svg{color:var(--session-tile-selected-text)}.goal-option svg{width:24px;height:24px;margin-bottom:.5rem;color:var(--cramzly-teal);transition:color .2s ease;align-self:center}.goal-option h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--session-tile-text);transition:color .2s ease}.goal-option p{margin:0;font-size:.85rem;color:var(--app-text-subtle);flex-grow:1}.goal-option input{width:80%;margin:.75rem auto .25rem;padding:.75rem;border:1px solid var(--session-input-border);border-radius:6px;background-color:var(--session-input-bg);text-align:center;font-size:1.1rem;font-weight:600;color:var(--session-input-text);transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.goal-option input:focus{border-color:var(--session-input-focus-border);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--cramzly-teal) 15%,transparent)}.goal-option.selected input{border-color:var(--session-tile-selected-border)}.goal-option span{font-size:.8rem;color:var(--app-text-subtle)}.start-session-button{width:100%;padding:1rem;font-size:1.2rem;font-weight:600;background-color:var(--session-start-button-bg);color:var(--session-start-button-text);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease;margin-top:1rem}.start-session-button:hover:not(:disabled){background-color:var(--session-start-button-hover-bg)}.start-session-button:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed}@media (max-width: 640px){.session-setup-modal{padding:2rem 1rem}.session-setup-modal .game-selection-grid{display:grid;grid-template-columns:repeat(2,1fr)}.goal-selection{grid-template-columns:1fr 1fr}.goal-selection .goal-option:first-child{grid-column:1 / -1}}.session-setup-modal .modal-main-content{flex:1;overflow-y:auto;min-height:0}.dashboard-container{background-color:var(--container-bg-subtle, #f7fafc);border:1px solid var(--border-soft, #e2e8f0);border-radius:8px;padding:1rem 1.5rem;margin-top:1.5rem}.dashboard-container.loading,.dashboard-container.error{display:flex;justify-content:center;align-items:center;min-height:150px}.dashboard-container h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:var(--container-heading-text)}.learning-journey-dashboard .chart-wrapper{height:40px;width:100%;margin-bottom:1rem}.learning-journey-dashboard .legend-wrapper{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:center}.learning-journey-dashboard .legend-item{display:flex;align-items:center;font-size:.85rem;color:var(--app-text-subtle)}.learning-journey-dashboard .legend-color-box{width:12px;height:12px;border-radius:3px;margin-right:.5rem;display:inline-block}.pacing-meter{border-left-width:5px;border-left-style:solid}.pacing-meter.ahead{border-color:var(--pacing-ahead-color)}.pacing-meter.on-track{border-color:var(--pacing-on-track-color)}.pacing-meter.behind{border-color:var(--pacing-behind-color)}.pacing-meter.cramming,.pacing-meter.exam-today{border-color:var(--pacing-cramming-color)}.pacing-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.pacing-header svg{width:24px;height:24px}.pacing-meter.ahead .pacing-header{color:var(--pacing-ahead-color)}.pacing-meter.on-track .pacing-header{color:var(--pacing-on-track-color)}.pacing-meter.behind .pacing-header{color:var(--pacing-behind-color)}.pacing-meter.cramming .pacing-header,.pacing-meter.exam-today .pacing-header{color:var(--pacing-cramming-color)}.pacing-header h3{margin:0;font-size:1.2rem}.pacing-bars{display:flex;flex-direction:column;gap:.75rem}.pacing-bar-item{display:grid;grid-template-columns:120px 1fr 40px;align-items:center;gap:.75rem}.pacing-bar-item label{font-size:.9rem;color:var(--app-text-subtle);display:flex;align-items:center;gap:.4rem;white-space:nowrap}.pacing-bar-item .progress-bar-background{width:100%;height:10px;background-color:var(--border-soft);border-radius:5px;overflow:hidden}.pacing-bar-item .progress-bar-fill{height:100%;background-color:var(--cramzly-teal);border-radius:5px;transition:width .5s ease-in-out}.pacing-meter.ahead .progress-bar-fill{background-color:var(--pacing-ahead-color)}.pacing-meter.on-track .progress-bar-fill{background-color:var(--pacing-on-track-color)}.pacing-meter.behind .progress-bar-fill{background-color:var(--pacing-behind-color)}.pacing-meter.cramming .progress-bar-fill,.pacing-meter.exam-today .progress-bar-fill{background-color:var(--pacing-cramming-color)}.pacing-bar-item span{font-size:.9rem;font-weight:500;color:var(--container-heading-text);text-align:right}@media (max-width: 480px){.pacing-bar-item{grid-template-columns:100px 1fr 35px;gap:.5rem}.pacing-bar-item label{font-size:.8rem}}.pacing-bar-item .tooltip-label{text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:3px;cursor:help}.study-history-chart .chart-container{height:250px;position:relative}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding-bottom:1rem}.pagination-controls .page-info{font-size:.95rem;color:var(--app-text-subtle);font-weight:500;-webkit-user-select:none;user-select:none}.pagination-controls button:disabled{background-color:var(--button-disabled-bg, #f0f0f0);color:var(--button-disabled-text, #999);border-color:var(--button-disabled-border, #e0e0e0);cursor:not-allowed;transform:none;box-shadow:none;opacity:.7}.deck-detail-container{max-width:900px;margin:2rem auto;padding:2rem;background-color:var(--container-bg, #f9f9f9);border-radius:8px;box-shadow:var(--container-shadow, 0 4px 12px rgba(0, 0, 0, .05));color:var(--container-text)}.deck-detail-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-soft, #e0e0e0);padding-bottom:1.5rem;margin-bottom:2rem}.deck-detail-header h2{font-size:2.5rem;color:var(--container-heading-text, #333);margin:0 0 .5rem}.deck-meta{font-size:.9rem;color:var(--app-text-subtle, #777);margin-bottom:.5rem}.deck-description-detail{font-size:1rem;color:var(--app-text-subtle, #555);margin-top:.5rem;max-width:60ch}.deck-detail-actions{display:flex;gap:.75rem;margin-left:1rem}.deck-detail-container .button-style{padding:.6rem 1.2rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .1s ease,color .2s ease;text-decoration:none;display:inline-block;text-align:center}.deck-detail-container .button-style:hover{transform:translateY(-1px)}.deck-detail-container .button-style.cta-button,.deck-detail-container .button-style:not(.secondary):not(.danger):not(.small){background-color:var(--cramzly-teal);color:#fff}.deck-detail-container .button-style.cta-button:hover,.deck-detail-container .button-style:not(.secondary):not(.danger):not(.small):hover{background-color:var(--button-primary-hover-bg, #0056b3)}.deck-detail-container .button-style.secondary{background-color:var(--button-secondary-bg, #6c757d);color:var(--button-secondary-text, white)}.deck-detail-container .button-style.secondary:hover{background-color:var(--button-secondary-hover-bg, #545b62)}.deck-detail-container .button-style.danger{background-color:var(--button-danger-bg, #FF8559);color:var(--button-danger-text, white)}.deck-detail-container .button-style.danger:hover{background-color:var(--button-danger-hover-bg, var(--cramzly-burnt-orange-darker))}.deck-detail-container .button-style.small{padding:.4rem .8rem;font-size:.85rem}.deck-detail-container .button-style.small:hover{background-color:var(--button-edit-card-hover-bg, var(--button-secondary-hover-bg))}.forecast-item{display:flex;flex-direction:row;align-items:center;gap:.75rem}.forecast-item .forecast-icon{color:var(--app-text-subtle)}.forecast-text-group{display:flex;flex-direction:column}.forecast-item .forecast-value{font-size:1.5rem;font-weight:600;color:var(--container-heading-text);line-height:1.2}.forecast-item .forecast-label{font-size:.8rem;color:var(--app-text-subtle)}.forecast-item.ready-now .forecast-icon,.forecast-item.ready-now .forecast-value{color:var(--cramzly-teal)}.all-caught-up-message{font-size:1rem;color:var(--app-text-subtle);font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.25rem 0}.all-caught-up-message svg{color:var(--cramzly-teal)}.flashcards-section{margin-top:2rem;padding:5px 0}.flashcards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.flashcards-header h3{font-size:1.5rem;color:var(--container-heading-text, #444);margin:0}.flashcards-list{list-style:none;padding:0;margin:0}.card-list-item{background-color:var(--card-item-bg, var(--app-bg));border:1px solid var(--card-item-border, var(--border-soft));border-radius:8px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--card-item-shadow, 0 2px 6px rgba(0, 0, 0, .04));display:flex;justify-content:space-between;align-items:flex-start;transition:box-shadow .2s ease-in-out}.card-list-item:hover{box-shadow:var(--card-item-shadow-hover, 0 4px 12px rgba(0, 0, 0, .08))}.card-content p{margin:0 0 .5rem;color:var(--card-item-text, var(--container-text));line-height:1.6}.card-content p strong{color:var(--card-item-text-strong, var(--container-heading-text));margin-right:.5em}.card-actions{display:flex;flex-direction:column;gap:.5rem;margin-left:1rem;align-items:flex-end}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--modal-backdrop-bg, rgba(0, 0, 0, .5));display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--modal-content-bg, var(--container-bg));padding:2rem;border-radius:8px;box-shadow:var(--modal-shadow, 0 5px 15px rgba(0, 0, 0, .2));width:100%;max-width:500px;color:var(--modal-text, var(--container-text))}.modal-content h3{margin-top:0;margin-bottom:1.5rem;color:var(--modal-heading-text, var(--container-heading-text));font-size:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--form-label-text, #454545)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--form-input-border, #ccc);background-color:var(--form-input-bg, white);color:var(--form-input-text, var(--app-text));border-radius:6px;font-size:1rem;box-sizing:border-box;transition:border-color .2s ease}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:var(--form-input-focus-border, var(--cramzly-teal));outline:none;box-shadow:0 0 0 2px var(--form-input-focus-shadow, rgba(0, 123, 255, .2))}.form-group textarea{min-height:100px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.page-error-display{background-color:var(--error-bg, #f8d7da);color:var(--error-text, #721c24);border:1px solid var(--error-border, #f5c6cb);padding:1rem;border-radius:6px;margin-bottom:1.5rem}.deck-dashboard-grid{display:flex;justify-content:space-between;align-items:stretch;gap:1.5rem;flex-wrap:wrap}.dashboard-column-left{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;flex-shrink:0}.review-forecast-widget{display:flex;flex-direction:column;justify-content:center;flex-grow:0;flex-shrink:0;padding-top:.5rem;padding-bottom:.5rem}.dashboard-column-right{display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0}.streak-stats-widget{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.streak-stat-item{display:flex;align-items:center;gap:.75rem}.streak-label{font-size:.875rem;color:var(--color-text-secondary);line-height:1.2;white-space:nowrap}@media (max-width: 768px){.deck-detail-header{flex-direction:column;align-items:stretch;gap:1rem}.deck-detail-actions{display:flex;flex-direction:row;gap:.75rem;width:100%;margin-left:0}.deck-detail-actions>*{flex:1}.deck-dashboard-grid{display:grid;grid-template-columns:1fr;gap:1.5rem 1rem;align-items:start}.dashboard-column-left,.dashboard-column-right{display:contents}.dashboard-column-left>.dashboard-main-action,.exam-date-widget-wrapper>*{width:100%;box-sizing:border-box}.dashboard-main-action,.exam-date-widget-wrapper{grid-column:1 / -1}.review-forecast-widget{grid-column:1 / 2;min-width:150px}.streak-stats-widget{grid-column:2 / 3;display:flex;flex-direction:column;justify-content:center;height:100%;align-items:flex-end;gap:.75rem}.review-forecast-widget{width:100%;min-width:150px}.streak-stats-widget{align-items:flex-start}.exam-date-display{justify-content:space-between;width:100%}.exam-date-display{padding:.6rem .8rem}.exam-date-value{font-size:.9rem}.streak-label{display:none}.streak-stat-item{position:relative}.mobile-tooltip{position:absolute;bottom:120%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:.3rem .6rem;border-radius:4px;font-size:.8rem;white-space:nowrap;z-index:10;box-shadow:0 2px 5px #0003}.card-list-item{flex-direction:column;align-items:stretch}.card-actions{flex-direction:row;justify-content:flex-start;margin-left:0;margin-top:1rem;width:100%}.flashcards-header{flex-direction:column;align-items:flex-start;gap:.75rem}}@media (max-width: 480px){.deck-detail-container{padding:1rem;margin:1rem}.deck-detail-header h2{font-size:2rem;text-align:left}.modal-content{margin:1rem;padding:1.5rem}}.game-selection-section{margin-top:2rem;margin-bottom:2.5rem;padding:10px 0;margin:1px 0}.game-selection-section h3{font-size:1.5rem;color:var(--container-heading-text, #333);margin-top:0;margin-bottom:1rem}.game-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.85rem}.button-style.game-option-button{background-color:var(--card-item-bg, var(--app-bg))!important;color:var(--card-item-text, var(--container-text));border:1px solid var(--card-item-border, var(--border-soft));border-radius:6px;padding:.8rem;text-align:left;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--card-item-shadow, 0 1px 3px rgba(0, 0, 0, .04));transition:background-color .2s ease,transform .1s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.button-style.game-option-button:hover:not(:disabled){background-color:var(--card-item-hover-bg, color-mix(in srgb, var(--card-item-bg, var(--app-bg)) 95%, var(--cramzly-teal) 5%));border-color:var(--game-button-hover-border, var(--cramzly-teal));transform:translateY(-2px);box-shadow:var(--card-item-shadow-hover, 0 3px 8px rgba(0, 0, 0, .07))}.button-style.game-option-button:disabled{background-color:var(--button-disabled-bg, #f0f0f0);color:var(--button-disabled-text, #999);border-color:var(--button-disabled-border, #e0e0e0);cursor:not-allowed;opacity:1;transform:none;box-shadow:none}.game-option-button .game-icon{margin-bottom:.5rem;color:var(--cramzly-teal);align-self:flex-start}.game-option-button h4{font-size:1.2rem;font-weight:600;color:var(--card-item-text-strong, var(--container-heading-text));margin-top:0;margin-bottom:.25rem;line-height:1.3}.game-option-button p{font-size:.9rem;color:var(--app-text-subtle, #555);margin-bottom:.4rem;line-height:1.4;flex-grow:1}.game-option-button .card-requirement-notice{font-size:.8rem;color:var(--button-disabled-text, #888);margin-top:auto;padding-top:.2rem}.button-style.game-option-button:disabled .card-requirement-notice{color:var(--button-disabled-text, #999)}@media (max-width: 768px){.game-options-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.button-style.game-option-button{padding:.7rem}.game-selection-section h3{font-size:1.5rem}.game-option-button h4{font-size:.9rem}.game-option-button p{font-size:.8rem}}@media (max-width: 480px){.game-options-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.game-selection-section h3{font-size:1.5rem}.button-style.game-option-button{padding:1.2rem}.game-option-button h4{font-size:.9rem}.game-option-button p{font-size:.8rem}.game-option-button .game-icon{margin-bottom:.3rem}}.card-search-bar-container{margin-bottom:1.5rem}.flashcards-section>p{text-align:center;font-size:1rem;color:var(--app-text-subtle);padding:20px;background-color:var(--container-bg-subtle, var(--app-bg));border:1px dashed var(--border-soft);border-radius:6px;margin-top:1rem}@media (max-width: 768px){.flashcards-header{margin-bottom:.75rem}.card-search-bar-container{margin-bottom:1rem}}.deck-actions-and-dashboards{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.button-style.large{padding:.6rem 1rem;font-size:1rem}.button-style.with-icon{display:inline-flex;align-items:center;gap:.5rem}.exam-date-widget{flex-grow:1;display:flex;justify-content:flex-start}.exam-date-display{display:flex;align-items:center;gap:1rem;background-color:var(--container-bg-subtle, var(--app-bg));padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border-soft)}.exam-date-icon{color:var(--app-text-subtle)}.exam-date-display div:not(.exam-date-actions){display:flex;flex-direction:column}.exam-date-label{font-size:.8rem;color:var(--app-text-subtle)}.exam-date-value{font-size:.95rem;font-weight:500;color:var(--container-text)}.exam-date-actions{display:flex;gap:.5rem;margin-left:auto}.exam-date-editor{display:flex;align-items:center;gap:.5rem}.exam-date-editor-actions{display:flex;gap:.25rem}.exam-date-input{width:100%;padding:.6rem 1rem;border:1px solid var(--form-input-border, #ccc);background-color:var(--form-input-bg, white);color:var(--form-input-text, var(--app-text));border-radius:6px;font-size:.95rem;box-sizing:border-box;transition:border-color .2s ease;min-width:180px}.exam-date-input:focus{border-color:var(--form-input-focus-border, var(--cramzly-teal));outline:none;box-shadow:0 0 0 2px var(--form-input-focus-shadow, rgba(0, 123, 255, .2))}.cramzly-datepicker{font-family:inherit;border:1px solid var(--border-soft);background-color:var(--container-bg);border-radius:8px;box-shadow:var(--container-shadow)}.cramzly-datepicker .react-datepicker__header{background-color:var(--container-bg-subtle, #f0f0f0);border-bottom:1px solid var(--border-soft);padding-top:12px}.cramzly-datepicker .react-datepicker__current-month,.cramzly-datepicker .react-datepicker__day-name{color:var(--container-heading-text);font-weight:500}.cramzly-datepicker .react-datepicker__navigation-icon:before{border-color:var(--container-text)}.cramzly-datepicker .react-datepicker__day{color:var(--container-text);transition:background-color .2s ease,color .2s ease}.cramzly-datepicker .react-datepicker__day:hover{background-color:var(--container-bg-subtle, #f0f0f0);border-radius:50%}.cramzly-datepicker .react-datepicker__day--selected,.cramzly-datepicker .react-datepicker__day--keyboard-selected{background-color:var(--cramzly-teal);color:#fff;border-radius:50%}.cramzly-datepicker .react-datepicker__day--disabled{color:var(--app-text-subtle);opacity:.5}.cramzly-datepicker .react-datepicker__day--outside-month{opacity:.4}.search-input-wrapper{position:relative}.search-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--app-text-subtle);pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--form-input-border);background-color:var(--form-input-bg);color:var(--form-input-text);border-radius:6px;font-size:1rem;box-sizing:border-box}.search-input:focus{border-color:var(--cramzly-teal);outline:none}.review-forecast-widget{background-color:var(--container-bg);border:1px solid var(--border-soft);border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:center}.review-forecast-content{display:flex;width:100%;gap:20px;align-items:center}.forecast-ready-now{text-align:center;padding-right:20px;border-right:1px solid var(--border-soft);display:flex;flex-direction:column;align-items:center;gap:4px}.forecast-ready-now .value{font-size:2.5rem;font-weight:600;color:var(--cramzly-teal);line-height:1}.forecast-ready-now .label{font-size:.9rem;color:var(--app-text-subtle);white-space:nowrap}.forecast-ready-now svg{color:var(--cramzly-teal);margin-bottom:8px}.forecast-upcoming-stack{display:flex;flex-direction:column;gap:12px;flex-grow:1}.upcoming-item{display:flex;align-items:baseline;gap:8px;font-size:1rem}.upcoming-item .value{font-weight:700;font-size:1.25rem;color:var(--app-text);min-width:2ch;text-align:right}.upcoming-item .label{font-size:.9rem;color:var(--app-text-subtle)}.review-forecast-widget .all-caught-up-message{display:flex;align-items:center;gap:8px;color:var(--pacing-ahead-color);font-weight:500;width:100%;justify-content:center}.streak-icon{flex-shrink:0}.streak-icon.current{color:#f59e0b}.streak-icon.best{color:#8b5cf6}.streak-value{font-size:2rem;font-weight:700;line-height:1;color:var(--color-text-primary)}.streak-label{font-size:.875rem;color:var(--color-text-secondary);line-height:1.2}.feedback-page-container{background-color:var(--container-bg);color:var(--container-text);padding:30px 40px;border-radius:8px;box-shadow:var(--container-shadow);margin:20px auto;max-width:750px;width:100%;text-align:left;line-height:1.7}.feedback-page-container h2{text-align:center;color:var(--container-heading-text);margin-bottom:20px}.feedback-page-container h3{color:var(--container-heading-text);margin-top:30px;margin-bottom:15px;border-bottom:1px solid var(--border-divider, #e0e0e0);padding-bottom:8px}.feedback-examples-list{list-style:none;padding-left:0}.feedback-examples-list li{margin-bottom:15px;padding-left:25px;position:relative}.feedback-examples-list li:before{content:"✓";position:absolute;left:0;top:2px;color:var(--cramzly-teal);font-weight:700}.feedback-examples-list li strong{display:block;margin-bottom:3px;color:var(--app-text)}.feedback-action-wrapper{text-align:center;margin:30px 0}.feedback-email-button{display:inline-block;padding:12px 28px;border-radius:6px;text-decoration:none;font-weight:700;transition:background-color .2s ease,transform .1s ease;cursor:pointer;border:none;font-size:1.1em;background-color:var(--button-primary-bg);color:#fff}.feedback-email-button:hover{background-color:var(--button-primary-hover-bg);transform:translateY(-2px)}.feedback-subtext{font-size:.9em;color:var(--app-text-subtle);text-align:center;margin-top:25px;background-color:color-mix(in srgb,var(--container-bg) 90%,var(--app-text) 5%);padding:10px;border-radius:4px}.session-complete-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;animation:fadeIn .5s ease-out}.session-complete-card{background-color:var(--container-bg);color:var(--container-text);border-radius:12px;padding:2rem 2.5rem;width:100%;max-width:450px;text-align:center;box-shadow:var(--container-shadow);display:flex;flex-direction:column;align-items:center}.award-icon{color:#ecc94b;width:60px;height:60px;margin-bottom:1rem}.session-complete-card h2{font-size:2.2rem;margin:0;color:var(--container-heading-text)}.congrats-message{font-size:1.1rem;color:var(--app-text-subtle);margin:.5rem 0 2rem}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;width:100%;margin-bottom:1rem}.stat-item{padding:.5rem}.stat-item h4{font-size:2rem;margin:0;color:var(--cramzly-teal)}.stat-item p{margin:.25rem 0 0;font-size:.9rem;color:var(--app-text-subtle)}.action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border:1px solid var(--border-soft);border-radius:8px;background-color:transparent;cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:500;color:var(--app-text)}.action-button:hover{border-color:var(--cramzly-teal);background-color:color-mix(in srgb,var(--container-bg) 90%,var(--cramzly-teal-light) 10%);color:var(--cramzly-teal-darker)}.action-button.restart{color:var(--cramzly-teal)}.action-button svg{width:24px;height:24px}.incorrect-review-section{width:100%;border-top:1px solid var(--border-soft)}.review-toggle-button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:500;text-align:left;background-color:var(--container-bg-subtle);border:1px solid var(--border-soft);border-radius:8px;cursor:pointer;transition:background-color .2s ease;color:var(--app-text)}.review-toggle-button:hover{background-color:var(--container-bg-hover)}.review-toggle-button svg{width:20px;height:20px;color:var(--app-text-subtle);transition:transform .3s cubic-bezier(.25,1,.5,1)}.review-toggle-button[aria-expanded=true] svg{transform:rotate(180deg)}.incorrect-card-list{margin-top:1rem;padding:.25rem .5rem;max-height:240px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:8px;background-color:var(--app-bg);text-align:left;animation:slideDown .3s ease-out}.incorrect-card-item{padding:1rem}.incorrect-card-item:not(:last-child){border-bottom:1px solid var(--border-soft)}.incorrect-term{font-weight:600;color:var(--container-heading-text);margin:0 0 .3rem}.incorrect-definition{font-size:.95rem;color:var(--app-text-subtle);margin:0;line-height:1.4}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:240px}}.study-session-page{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--app-bg)}.session-header{padding:.75rem 1.5rem;background-color:var(--app-bg, #fff);border-bottom:1px solid var(--border-soft, #dde1e6);flex-shrink:0;display:flex;align-items:center;z-index:10}.back-to-deck-button{background-color:var(--button-outline-bg);border:1px solid var(--button-outline-border);color:var(--button-outline-text);padding:.5rem 1rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.back-to-deck-button:hover{background-color:var(--button-outline-hover-bg);border-color:var(--button-outline-hover-border);color:var(--button-outline-hover-text)}.session-content-area{flex-grow:1;display:flex;justify-content:center;align-items:center;overflow-y:auto;padding:2rem;box-sizing:border-box;position:relative}.session-content-area.playing{justify-content:flex-start;align-items:stretch;padding:0;overflow:hidden}.resume-prompt{background-color:var(--app-bg, #fff);padding:2rem;border-radius:8px;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05));text-align:center;max-width:400px}.resume-prompt h3{margin-top:0;font-size:1.5rem}.resume-prompt .modal-actions{margin-top:1.5rem;display:flex;justify-content:center;gap:1rem}@media (max-width: 768px){.session-header{display:none}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content.confirmation-modal{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 15px #0003;width:90%;max-width:400px;text-align:center}.confirmation-modal h3{margin-top:0;font-size:1.5rem;color:#333}.confirmation-modal p{margin-bottom:1.5rem;color:#666;font-size:1rem;line-height:1.5}.modal-actions{display:flex;justify-content:center;gap:1rem}.button-style{padding:10px 20px;border-radius:5px;border:none;cursor:pointer;font-weight:700;transition:background-color .2s}.button-style.secondary{background-color:var(--button-secondary-bg, #6c757d);color:var(--button-secondary-text, white);border:1px solid #ccc}.button-style.secondary:hover{background-color:#e0e0e0}.button-style.danger{background-color:#e53e3e;color:#fff}.button-style.danger:hover{background-color:#c53030}.button-style:disabled{opacity:.5;cursor:not-allowed}
