@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@700;800&family=Source+Serif+4:ital,opsz,wght@0,8..30,400;0,8..30,600;1,8..30,400&display=swap);@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-color-light:#f1f3f7;--card-bg-light:#fff;--text-color-light:#0d1c2e;--text-muted-light:#525d73;--border-color-light:#b4bfcc;--hover-bg-light:#eceae4;--bg-color-dark:#0d1c2e;--card-bg-dark:#1f2e40;--text-color-dark:#f7f6f1;--text-muted-dark:#8c9bb3;--border-color-dark:#404f63;--hover-bg-dark:#2a3c52;--accent-color-primary:#2e5175;--accent-color-secondary:#7b9ec7;--accent-text-color:#fff;--learn-color:#c2ac6f;--refine-color:#53ac8a;--challenge-color:#674ea7;--flagged-color:#e59148;--success-color:#28a745;--error-color:#bb2f2e;--highlight-color:#c2ac6f;--font-heading:"Manrope",sans-serif;--font-body:"Source Serif 4",serif}body{background-color:#f1f3f7;background-color:var(--bg-color-light);color:#0d1c2e;color:var(--text-color-light);font-family:"Source Serif 4",serif;font-family:var(--font-body);line-height:1.6;margin:0;transition:background-color .3s,color .3s}body.dark-mode,body[data-theme=dark]{background-color:#0d1c2e;background-color:var(--bg-color-dark);color:#f7f6f1;color:var(--text-color-dark)}.theme-aware{--bg-color:var(--bg-color-light);--card-bg:var(--card-bg-light);--text-color:var(--text-color-light);--text-muted:var(--text-muted-light);--border-color:var(--border-color-light);--hover-bg:var(--hover-bg-light)}.dark-mode,.dark-mode .theme-aware,body[data-theme=dark] .theme-aware{--bg-color:var(--bg-color-dark);--card-bg:var(--card-bg-dark);--text-color:var(--text-color-dark);--text-muted:var(--text-muted-dark);--border-color:var(--border-color-dark);--hover-bg:var(--hover-bg-dark)}.material-symbols-outlined{word-wrap:normal;-webkit-font-smoothing:antialiased;direction:ltr;display:inline-block;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-weight:400;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap}.section-title,h1,h2,h3,h4,h5,h6{color:var(--text-color);font-family:Manrope,sans-serif;font-family:var(--font-heading);font-weight:800;letter-spacing:.5px;text-transform:uppercase}.card-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;padding:25px}.btn{background-color:#2e5175;background-color:var(--accent-color-primary);border:2px solid var(--text-color);border-radius:0;box-shadow:3px 3px 0 0 var(--text-color);color:#fff;color:var(--accent-text-color);cursor:pointer;font-family:Manrope,sans-serif;font-family:var(--font-heading);font-weight:700;padding:10px 20px;text-decoration:none;transition:transform .1s ease-out,box-shadow .1s ease-out}.btn:focus,.btn:hover{box-shadow:2px 2px 0 0 var(--text-color);transform:translate(1px,1px)}.btn:active{box-shadow:0 0 0 0 var(--text-color);transform:translate(3px,3px)}.app-container{margin:0 auto;max-width:90%;padding:2.5%}.app-header{border-bottom:none;margin-bottom:0;padding-bottom:0}.fixed-header-element{position:fixed;transition:.4s ease-in-out;z-index:1000}.app-title-container{align-items:center;display:flex;gap:15px;margin-left:10%;margin-top:20px;opacity:1;pointer-events:auto;position:relative;transition:opacity .3s ease,transform .3s ease;white-space:nowrap}.app-title-container.scrolled{opacity:0;pointer-events:none;transform:translateY(-20px)}.app-icon{height:50px;width:50px}.app-title-container h1{color:#7b9ec7;color:var(--accent-color-secondary);font-size:2.5em;margin:0;text-transform:none}.dark-mode-toggle{align-items:center;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:15px;box-shadow:2px 2px 0 0 var(--text-color);cursor:pointer;display:flex;height:30px;overflow:hidden;right:5%;top:20px;width:80px}.dark-mode-toggle:hover{box-shadow:1px 1px 0 0 var(--text-color);transform:translate(1px,1px)}.toggle-sphere{align-items:center;border-radius:50%;box-shadow:0 2px 5px #0003;display:flex;height:22px;justify-content:center;left:4px;position:absolute;transition:transform .3s ease-in-out,background-color .3s;width:22px}.toggle-icon{font-size:1rem}.dark-mode-toggle:not(.dark-mode) .toggle-sphere{background-color:#0d1c2e;background-color:var(--text-color-light)}.dark-mode-toggle:not(.dark-mode) .toggle-icon{color:#2e5175;color:var(--accent-color-primary)}body.dark-mode .dark-mode-toggle .toggle-sphere{background-color:#444;transform:translateX(50px)}body.dark-mode .dark-mode-toggle .toggle-icon{color:#f7f6f1;color:var(--text-color-dark)}.dark-mode-toggle.scrolled{opacity:0;pointer-events:none;transform:translateY(-20px)}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.glass-pill-nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffbf;border:1px solid #ffffff80;border-radius:50px;box-shadow:0 4px 10px #0000000d;display:flex;gap:5px;left:50%;max-width:-webkit-fit-content;max-width:fit-content;overflow:hidden;padding:6px;position:fixed;top:20px;transform:translateX(-50%);transition:all .4s cubic-bezier(.25,1,.5,1);z-index:1000}.dark-mode .glass-pill-nav{background:#1f2e40bf;border-color:#ffffff1a}.glass-pill-nav button{align-items:center;background:#0000;border:none;border-radius:40px;color:var(--text-muted);cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-family:var(--font-heading);font-size:.95rem;font-weight:700;gap:8px;padding:8px 24px;transition:all .2s;white-space:nowrap}.glass-pill-nav button:hover{background:#0000000d;color:var(--text-color)}.glass-pill-nav button.active{background:#2e5175;background:var(--accent-color-primary);box-shadow:0 2px 5px #0000001a;color:#fff;color:var(--accent-text-color)}.glass-pill-nav button .nav-icon{display:none;font-size:1.2rem}.glass-pill-nav.scrolled{gap:0;max-width:68px;padding:5px}.glass-pill-nav.scrolled button{opacity:0;overflow:hidden;padding:0;pointer-events:none;width:0}.glass-pill-nav.scrolled button.active{display:flex;height:44px;justify-content:center;opacity:1;padding:0;width:58px}.glass-pill-nav.scrolled button.active span:not(.nav-icon){display:none}.glass-pill-nav.scrolled button.active .nav-icon{display:block}.glass-pill-nav.scrolled:hover{gap:5px;max-width:600px}.glass-pill-nav.scrolled:hover button{opacity:1;padding:8px 24px;pointer-events:auto;width:auto}.glass-pill-nav.scrolled:hover button.active span:not(.nav-icon){display:block}.glass-pill-nav.scrolled:hover button.active .nav-icon{display:none}.view-switcher-dropdown{font-family:Manrope,sans-serif;font-family:var(--font-heading);left:50%;position:fixed;top:20px;transform:translateX(-50%);transition:transform .3s,opacity .3s;width:auto;z-index:1001}.view-switcher-dropdown.scrolled{opacity:0;pointer-events:none;transform:translate(-50%,-20px)}.dropdown-trigger{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:30px;box-shadow:0 4px 10px #0000001a;color:var(--text-color);cursor:pointer;display:flex;font-size:.95rem;font-weight:800;gap:8px;justify-content:space-between;min-width:140px;padding:8px 20px;transition:all .2s ease}.dropdown-trigger:focus,.dropdown-trigger:hover{border-color:#2e5175;border-color:var(--accent-color-primary);color:#2e5175;color:var(--accent-color-primary)}.dropdown-menu{animation:dropIn .2s ease-out forwards;background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:4px 4px 0 0 #0003;left:50%;list-style:none;margin:0;max-height:60vh;opacity:0;overflow-y:auto;padding:0;position:absolute;top:calc(100% + 10px);transform:translateX(-50%);width:200px}@keyframes dropIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.dropdown-menu li{border-bottom:1px solid var(--border-color)}.dropdown-menu li:last-child{border-bottom:none}.dropdown-menu button{background:#0000;border:none;color:var(--text-muted);cursor:pointer;font-family:Manrope,sans-serif;font-family:var(--font-heading);font-weight:600;padding:12px 20px;text-align:left;transition:background .1s;width:100%}.dropdown-menu button:hover{background-color:var(--hover-bg);color:var(--text-color)}.dropdown-menu button.active{background-color:var(--bg-color);border-left:4px solid #2e5175;border-left:4px solid var(--accent-color-primary);color:#2e5175;color:var(--accent-color-primary)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0d1c2ecc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;max-height:90vh;max-width:850px;overflow-y:auto;padding:20px;position:relative;width:90%}.modal-close-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:2.5em;line-height:1;position:absolute;right:20px;top:15px}.modal-close-button:hover{color:#bb2f2e;color:var(--error-color)}.modal-title{border-bottom:1px solid var(--border-color);color:#2e5175;color:var(--accent-color-primary);font-family:Manrope,sans-serif;font-family:var(--font-heading);font-size:1.8em;margin-bottom:25px;margin-top:0;padding-bottom:15px}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .2s ease;z-index:2}.fade-exit{opacity:.5}.fade-exit-active{opacity:0;transition:opacity .2s ease;z-index:1}.keynote-title{font-family:Manrope,sans-serif}textarea.keynote-input{font-family:"Source Serif 4",serif}.keynote-hint{border-top:1px dashed var(--border-color);margin-top:15px;padding-top:15px}.keynote-hint h4{color:var(--text-muted);font-family:"Source Serif 4",serif;font-family:var(--font-body);font-size:1em;font-weight:500;margin:0 0 10px}.keynote-hint .blurred-text{font-size:1.1em;line-height:1.6}.app-footer{background-color:var(--card-bg);border-top:1px solid var(--border-color);font-family:Manrope,sans-serif;font-family:var(--font-heading);margin-top:auto;padding:30px 5%}.footer-content{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1200px}.footer-top{align-items:center;flex-wrap:wrap;justify-content:space-between}.footer-nav,.footer-top{display:flex;gap:20px}.footer-link{color:var(--text-muted);font-size:.9em;font-weight:600;text-decoration:none;transition:color .2s}.footer-link:hover{color:#2e5175;color:var(--accent-color-primary)}.footer-bottom{align-items:center;border-top:1px solid var(--border-color);color:var(--text-muted);display:flex;font-size:.85em;justify-content:space-between;padding-top:20px}.footer-logo-text{color:var(--text-color);font-weight:800;margin-right:5px}.app-version{background:var(--hover-bg);border-radius:4px;font-family:monospace;font-size:.9em;padding:2px 6px}@media (max-width:768px){.footer-bottom,.footer-top{align-items:flex-start;flex-direction:column;gap:15px}}.velocity-strip{align-items:center;background:var(--card-bg);border-left:4px solid #2e5175;border:1px solid var(--border-color);border-left:4px solid var(--accent-color-primary);border-radius:0;display:flex;height:80px;justify-content:space-between;margin-bottom:25px;padding:0 30px}.v-metric{align-items:baseline;display:flex;gap:12px}.v-value{color:#2e5175;color:var(--accent-color-primary);font-size:1.8rem;font-weight:800;line-height:1}.v-label,.v-value{font-family:Manrope,sans-serif;font-family:var(--font-heading)}.v-label{color:var(--text-muted);font-size:.8rem;font-weight:700;text-transform:uppercase}.v-divider{background:var(--border-color);height:30px;width:1px}.gantt-block{align-items:center;background:#2e5175;background:var(--accent-color-primary);border:1px solid #0000001a;border-radius:4px;box-shadow:0 2px 4px #00000026;color:#fff;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-family:var(--font-heading);font-size:.8rem;font-weight:700;height:36px;justify-content:center;overflow:hidden;padding:0 10px;position:relative;transition:transform .1s;white-space:nowrap}.gantt-block:hover{transform:translateY(-2px);z-index:5}.gantt-progress-overlay{background-color:#ffffff40;bottom:0;left:0;position:absolute;top:0;transition:width .5s ease;z-index:1}.gantt-content{position:relative;text-shadow:0 1px 2px #0000004d;z-index:2}.exam-layout{background:var(--card-bg);border:1px solid var(--border-color);display:grid;grid-template-columns:350px 1fr;height:calc(100vh - 120px)}.exam-facts{background:var(--bg-color);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.sticky-issue{background:var(--card-bg);flex-shrink:0;z-index:2}.facts-content{font-size:1rem}.highlighted{background-color:#c2ac6f}.dark-mode .highlighted{background-color:#665c00;color:#fff}.exam-editor{background:var(--card-bg);display:flex;flex-direction:column;position:relative}.editor-textarea{flex:1 1;font-family:Arial,Helvetica,sans-serif;font-size:1.1rem;line-height:1.6;padding:40px}.highlight-toolbar{background:var(--card-bg);padding:10px 20px}@media (max-width:900px){.app-container{margin:0;max-width:100%;padding:80px 10px 10px}h1{font-size:1.8rem!important}h2{font-size:1.5rem!important}.app-title-container{margin-left:20px;z-index:1000}@media (max-width:380px){.app-title-container h1{display:none}}.dark-mode-toggle{right:20px}.view-switcher-dropdown{max-width:160px;width:auto}.dropdown-trigger{font-size:.9rem;min-width:120px;padding:8px 15px}.setup-step-content{padding:20px}.radio-group{align-items:center;flex-direction:column}.radio-group label{flex-direction:row;gap:20px;height:120px;width:100%}.radio-group span .material-symbols-outlined{font-size:2.5em}.calendar-day{font-size:.9rem;height:40px}.velocity-strip{flex-direction:row;flex-wrap:wrap;gap:15px;height:auto;justify-content:space-around;padding:15px}.v-divider{display:none}.v-metric{align-items:center;flex-direction:column;min-width:100px;text-align:center}.dashboard-grid,.dashboard-quick-actions,.variant-skills-grid{grid-template-columns:1fr}.variant-skills-grid{gap:5px}.subject-name-container{border-bottom:1px dashed var(--border-color);margin-bottom:10px;padding-bottom:5px;text-align:left}.subject-grid-header{font-size:1.1em;text-align:left}.corpus-layout-container{flex-direction:column}.corpus-sidebar{border-bottom:2px solid var(--border-color);height:auto;margin-bottom:20px;max-height:250px;padding-bottom:20px;position:relative;top:0;width:100%}.dossier-grid{grid-template-columns:1fr}.rule-dossier{max-width:100%}.zen-card{min-height:350px;padding:20px}.zen-scroll-area{font-size:1.1rem;line-height:1.6}.rating-group{gap:5px}.zen-btn{font-size:.9rem;padding:15px 5px}.test-mode-container{height:auto;min-height:100vh;overflow-y:auto}.resizable-grid{display:flex;flex-direction:column;height:auto}.resizer-handle{display:none!important}.exam-facts{border-bottom:4px solid var(--border-color);border-right:none;height:300px;overflow:auto;resize:vertical}.exam-editor{min-height:500px}.editor-textarea{padding:15px}.modal-content{max-height:95vh;padding:15px;width:95%}.history-table td:nth-child(4),.history-table th:nth-child(4){display:none}.cal-layout{padding:5px}.cal-main-panel{padding:10px}.cal-day{min-height:60px}.cal-task-pill{justify-content:center;padding:2px}.cal-task-pill span:not(.material-symbols-outlined){display:none}}.day-complete-modal{max-width:450px;padding:40px 30px;text-align:center;width:90%}.celebration-emoji{animation:bounce 1s ease-in-out;color:var(--learn-color);display:block;font-size:4rem;margin-bottom:10px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}.day-complete-modal .modal-title{color:var(--accent-color-primary);font-size:2.2em;margin:0}.day-complete-modal .modal-subtitle{color:var(--text-muted);font-size:1.1em;margin:5px 0 30px}.stats-summary{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:0;display:flex;gap:20px;justify-content:space-around;margin-bottom:30px;padding:20px}.stats-summary .stat-item{display:flex;flex-direction:column}.stats-summary .stat-value{color:var(--text-color);font-family:var(--font-heading);font-size:2em;font-weight:700}.stats-summary .stat-label{color:var(--text-muted);font-size:.9em}.feedback-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:5px 5px 0 0 #0003;max-width:500px;padding:30px;width:90%}.feedback-modal .modal-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.feedback-modal h3{color:var(--accent-color-primary);font-family:var(--font-heading);letter-spacing:.5px;margin:0;text-transform:uppercase}.context-banner{align-items:center;background:var(--hover-bg);border:1px dashed var(--accent-color-primary);border-radius:0;color:var(--text-color);display:flex;gap:10px;margin-bottom:20px;padding:10px 15px}.context-banner,.feedback-modal form label{font-family:var(--font-heading);font-size:.85em}.feedback-modal form label{color:var(--text-muted);display:block;font-weight:700;margin-bottom:8px;text-transform:uppercase}.feedback-modal select,.feedback-modal textarea{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:0;box-sizing:border-box;color:var(--text-color);font-family:var(--font-body);font-size:1rem;padding:12px;transition:border-color .2s;width:100%}.feedback-modal select:focus,.feedback-modal textarea:focus{background-color:var(--card-bg);border-color:var(--accent-color-primary);outline:none}.feedback-modal textarea{min-height:120px;resize:vertical}.form-group{margin-bottom:20px}.modal-actions{border-top:1px solid var(--border-color);gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px}.upgrade-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:8px 8px 0 0 #0000004d;max-width:900px;overflow:hidden;padding:0;position:relative;width:90%}.upgrade-header{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);padding:40px 20px 30px;text-align:center}.upgrade-header h2{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:2.2em;letter-spacing:1px;margin-bottom:10px}.upgrade-header p{color:var(--text-muted);font-family:var(--font-body);font-size:1.1em;margin:0 auto;max-width:600px}.upgrade-header .close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:2rem;line-height:1;position:absolute;right:20px;top:15px;transition:color .2s}.upgrade-header .close-btn:hover{color:var(--error-color)}.pricing-grid{grid-gap:30px;background-color:var(--card-bg);display:grid;gap:30px;grid-template-columns:1fr 1fr;padding:40px}.pricing-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;display:flex;flex-direction:column;padding:30px;position:relative;text-align:center;transition:transform .2s}.pricing-card.featured{background-color:var(--bg-color);border:2px solid var(--accent-color-primary);box-shadow:4px 4px 0 0 var(--accent-color-primary);transform:scale(1.02);z-index:2}.pricing-card .badge{background:var(--accent-color-primary);border:2px solid var(--text-color);border-radius:0;color:var(--accent-text-color);font-family:var(--font-heading);font-size:.75em;font-weight:800;left:50%;padding:6px 16px;position:absolute;text-transform:uppercase;top:-14px;transform:translateX(-50%)}.card-header h3{font-size:1.4em;margin-bottom:5px}.price{color:var(--text-color);font-family:var(--font-heading);font-size:3em;font-weight:800;margin:15px 0}.duration{border-bottom:1px solid var(--border-color);color:var(--text-muted);display:block;font-family:var(--font-body);font-size:.9em;font-style:italic;margin-bottom:25px;padding-bottom:15px}.features-list{flex-grow:1;list-style:none;margin:0 0 30px;padding:0;text-align:left}.features-list li{align-items:center;color:var(--text-color);display:flex;font-family:var(--font-body);gap:10px;margin-bottom:12px}.features-list li:before{content:""}.pricing-card .btn{box-sizing:border-box;width:100%}.footer-note{background-color:var(--bg-color);border-top:1px solid var(--border-color);color:var(--text-muted);font-family:var(--font-body);font-size:.85em;margin:0;padding:20px;text-align:center}@media (max-width:768px){.pricing-grid{grid-template-columns:1fr;padding:20px}.pricing-card.featured{margin-top:10px;transform:none}.upgrade-header h2{font-size:1.8em}}.denovo-setup-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:10px 10px 0 0 #0003;display:flex;flex-direction:column;max-height:90vh;max-width:650px;padding:0;width:90%}.modal-header-pane{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 25px}.modal-header-pane h2{color:var(--accent-color-primary);font-family:var(--font-heading);margin:0}.modal-scroll-content{flex-grow:1;overflow-y:auto;padding:25px}.setup-section{margin-bottom:30px}.section-label{font-size:.85em}.mode-selector-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.mode-card{align-items:center;background:var(--bg-color);border:1px solid var(--border-color);cursor:pointer;display:flex;gap:12px;padding:15px;transition:all .2s}.mode-card input{display:none}.mode-card:hover{border-color:var(--text-color)}.mode-card.active{background:var(--card-bg);border-color:var(--accent-color-primary);box-shadow:4px 4px 0 0 var(--accent-color-primary);transform:translate(-2px,-2px)}.mode-icon{color:var(--text-muted);font-size:1.8em}.mode-card.active .mode-icon{color:var(--accent-color-primary)}.mode-info strong{color:var(--text-color);display:block;font-family:var(--font-heading);font-size:.95em}.mode-info p{color:var(--text-muted);font-size:.8em;margin:2px 0 0}.limit-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.limit-number-input{border:1px solid var(--border-color);color:var(--accent-color-primary);font-family:var(--font-heading);font-size:1em;font-weight:800;padding:5px;text-align:center;width:80px}.styled-slider{cursor:pointer;width:100%}.subject-full-row{margin-bottom:10px}.subject-chip.full-width{box-sizing:border-box;width:100%}.subject-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.subject-chip{align-items:center;background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;display:flex;font-size:.85em;font-weight:600;justify-content:center;padding:10px 5px;text-align:center;transition:all .15s;-webkit-user-select:none;user-select:none}.subject-chip input{display:none}.subject-chip:hover{background:var(--hover-bg);color:var(--text-color)}.subject-chip.active{background:var(--accent-color-primary);border-color:var(--accent-color-primary);box-shadow:2px 2px 0 0 var(--text-color);color:#fff}.modal-footer-pane{background:var(--bg-color);border-top:1px solid var(--border-color);display:flex;gap:15px;justify-content:flex-end;padding:20px 25px}@media (max-width:600px){.mode-selector-grid,.subject-grid{grid-template-columns:1fr}}.login-screen-container{align-items:center;background-color:var(--bg-color);color:var(--text-color);display:flex;flex-direction:column;font-family:var(--font-body);justify-content:center;min-height:100vh;transition:background-color .3s ease,color .3s ease;width:100vw}.login-header{animation:fadeInDown .5s ease-out;margin-bottom:30px;text-align:center}.login-logo{filter:drop-shadow(4px 4px 0 rgba(0,0,0,.2));height:80px;margin-bottom:15px;width:80px}.login-header h1{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:2.5rem;font-weight:800;letter-spacing:1px;margin:0;text-transform:uppercase}.login-subtitle{color:var(--text-muted);font-family:var(--font-body);font-size:1.1rem;font-style:italic;margin-top:5px}.login-card{animation:fadeInUp .5s ease-out;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:8px 8px 0 0 #0000001a;display:flex;flex-direction:column;gap:20px;max-width:400px;padding:40px;width:90%}.login-card h2{border-bottom:2px solid var(--border-color);color:var(--text-color);font-family:var(--font-heading);font-size:1.5rem;margin:0 0 10px;padding-bottom:15px;text-align:center}.login-form{gap:20px}.input-group,.login-form{display:flex;flex-direction:column}.input-group{gap:8px}.input-group label{color:var(--text-muted);font-family:var(--font-heading);font-size:.85rem;font-weight:700;text-transform:uppercase}.input-group input{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:0;color:var(--text-color);font-family:var(--font-body);font-size:1rem;padding:12px 15px;transition:all .2s ease}.input-group input:focus{background-color:var(--card-bg);border-color:var(--accent-color-primary);box-shadow:2px 2px 0 0 var(--border-color);outline:none}.error-banner{background-color:#bb2f2e1a;border-left:4px solid var(--error-color);color:var(--error-color)}.error-banner,.success-banner{font-family:var(--font-heading);font-size:.9rem;font-weight:600;padding:10px 15px}.success-banner{background-color:#28a7451a;border-left:4px solid var(--success-color);color:var(--success-color)}.login-btn{background-color:var(--accent-color-primary);border:2px solid var(--text-color);border-radius:0;box-shadow:4px 4px 0 0 var(--text-color);color:var(--accent-text-color);cursor:pointer;font-family:var(--font-heading);font-size:1rem;font-weight:800;letter-spacing:.5px;margin-top:10px;padding:12px;text-transform:uppercase;transition:transform .1s ease-out,box-shadow .1s ease-out}.login-btn:hover:not(:disabled){box-shadow:5px 5px 0 0 var(--text-color);transform:translate(-1px,-1px)}.login-btn:active:not(:disabled){box-shadow:1px 1px 0 0 var(--text-color);transform:translate(2px,2px)}.login-btn:disabled{background-color:var(--text-muted);border-color:var(--text-muted);box-shadow:none;cursor:not-allowed;transform:translate(2px,2px)}.login-links{display:flex;flex-direction:column;gap:10px;margin-top:10px;text-align:center}.link-btn{background:none;border:none;color:var(--accent-color-primary);cursor:pointer;font-family:var(--font-heading);font-size:.95rem;font-weight:700;text-decoration:underline}.link-btn.small{color:var(--text-muted);font-size:.85rem;text-decoration:none}.link-btn.small:hover{text-decoration:underline}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.login-card{border-left:none;border-right:none;box-shadow:none;padding:20px;width:100%}}.onb-overlay{--onb-bg:#fff;--onb-text:#1e293b;--onb-text-muted:#64748b;--onb-border:#e2e8f0;--onb-accent:#2e5175;--onb-visual-bg:#f8fafc;--onb-success:#22c55e;--onb-warning:#f59e0b;--onb-error:#ef4444;--onb-info:#3b82f6;align-items:center;background-color:#0f172af2;bottom:0;display:flex;font-family:"Source Serif 4",serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.onb-card{background-color:var(--onb-bg);border-radius:8px;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;height:700px;overflow:hidden;position:relative;width:1100px}.onb-track{display:flex;height:100%;transition:transform .5s cubic-bezier(.25,1,.5,1);width:100%}.onb-slide{display:grid;grid-template-columns:45% 55%;height:100%;min-width:100%}.onb-slide.final-slide{background-color:var(--onb-bg);grid-template-columns:1fr}.onb-text-panel{color:var(--onb-text);display:flex;flex-direction:column;justify-content:center;overflow-y:auto;padding:60px 50px 100px}.onb-text-panel.center-align{align-items:center;padding:60px 150px;text-align:center}.onb-badge{color:var(--onb-info);display:inline-block;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:800;letter-spacing:1.5px;margin-bottom:20px;text-transform:uppercase}.onb-badge.warning{color:var(--onb-warning)}.onb-text-panel h2{color:var(--onb-accent);font-family:Manrope,sans-serif;font-size:2.5rem;font-weight:800;line-height:1.1;margin:0 0 25px}.onb-text-panel p{color:var(--onb-text);font-size:1.1rem;line-height:1.6;margin-bottom:15px;margin-top:0}.onb-text-panel .big-text{color:var(--onb-text);font-size:1.3rem;margin-bottom:30px}.onb-text-panel .quote{color:var(--onb-text-muted);font-style:italic;margin-top:20px}.onb-highlight{background-color:#eff6ff;border-left:4px solid var(--onb-info);color:var(--onb-text);font-size:1rem;margin:25px 0;padding:20px}.onb-list{margin-bottom:20px;padding-left:20px}.onb-list li{color:var(--onb-text);margin-bottom:8px}.onb-list.spaced li{margin-bottom:12px}.color-error{color:var(--onb-error)}.color-warn{color:var(--onb-warning)}.color-success{color:var(--onb-success)}.color-accent{color:var(--onb-info)}.key-cap{background:#e2e8f0;border:1px solid #cbd5e1;border-radius:4px;box-shadow:0 2px 0 #94a3b8;font-family:monospace;font-size:.9em;font-weight:700;padding:2px 6px}.onb-visual-panel{align-items:center;background-color:var(--onb-visual-bg);border-left:1px solid var(--onb-border);display:flex;justify-content:center;padding:40px 40px 100px;position:relative}.visual-hero-logo{color:var(--onb-accent);font-family:Manrope,sans-serif;font-size:15rem;font-weight:800;opacity:.1;-webkit-user-select:none;user-select:none}.visual-card{background:#fff;border:1px solid var(--onb-border);border-radius:8px;box-shadow:0 4px 6px #0000000d;margin-bottom:20px;padding:25px;width:350px}.visual-card.bad{background:#fff5f5;border-left:5px solid var(--onb-error)}.visual-card.good{border-left:5px solid var(--onb-success);margin-left:40px}.label-bad{color:var(--onb-error)}.label-bad,.label-good{display:block;font-family:Manrope;font-size:.8rem;font-weight:700;margin-bottom:5px;text-transform:uppercase}.label-good{color:var(--onb-success)}.visual-interface{background:#fff;border:1px solid var(--onb-border);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;overflow:hidden;width:400px}.visual-interface.large{padding:30px;width:450px}.sim-header{background:#f8fafc;font-family:Manrope;font-weight:800}.sim-header,.sim-row{border-bottom:1px solid var(--onb-border);color:var(--onb-text);padding:15px 20px}.sim-row{align-items:center;display:flex;gap:15px}.sim-row.active{background:#f0f9ff;border-left:4px solid var(--onb-info)}.sim-icon{background:#e2e8f0;border-radius:50%;height:30px;width:30px}.sim-icon.sun{background:var(--onb-warning)}.sim-text{font-family:Manrope;font-size:.9rem;font-weight:600}.sim-subtitle{color:var(--onb-text-muted);font-size:.75rem;margin-bottom:10px;text-transform:uppercase}.sim-h3,.sim-subtitle{font-family:Manrope;text-align:center}.sim-h3{color:var(--onb-text);font-size:1.5rem;margin:0 0 20px}.sim-input-area{background:#f1f5f9;border:1px solid var(--onb-border);border-radius:4px;color:var(--onb-text);font-size:1.1rem;padding:20px}.sim-cloze{border-bottom:2px solid var(--onb-info);color:var(--onb-info);font-weight:700;padding:0 2px}.visual-stack{align-items:center;display:flex;flex-direction:column;gap:15px}.stack-block{background:#fff;border:2px solid var(--onb-accent);box-shadow:4px 4px 0 #cbd5e1;color:var(--onb-accent);font-family:Manrope;font-weight:800;padding:15px 30px}.stack-line{background:#cbd5e1;height:15px;width:2px}.sim-row-split{border-bottom:1px solid var(--onb-border);display:flex}.sim-col{border-right:1px solid var(--onb-border);color:var(--onb-text);flex:1 1;font-size:.9rem;line-height:1.4;padding:20px}.sim-col:last-child{background:#f0fdf4;border-right:none}.sim-col strong{display:block;font-family:Manrope;margin-bottom:8px}.diff-del{background:#fee2e2;color:#b91c1c;text-decoration:line-through}.diff-add{background:#dcfce7;color:#15803d;font-weight:700}.sim-alert{background:#fef2f2;color:#991b1b;font-family:Manrope;font-size:.85rem;font-weight:700;padding:15px;text-align:center}.onb-graph-svg{max-height:300px;max-width:400px;overflow:visible}.graph-label{fill:#64748b;font-weight:600}.graph-annotation,.graph-label{font-family:Manrope,sans-serif;font-size:14px}.graph-annotation{font-weight:800}.graph-annotation.small{font-size:12px}.sim-meta{border-bottom:1px solid var(--onb-border);color:var(--onb-text-muted);font-family:Manrope;font-size:.8rem;padding:15px;text-transform:uppercase}.sim-body-text{color:var(--onb-text);font-size:1.3rem;padding:30px}.sim-bold{border-bottom:2px solid var(--onb-info);color:var(--onb-info)}.sim-buttons{border-top:1px solid var(--onb-border);display:grid;grid-template-columns:repeat(4,1fr)}.s-btn{border-right:1px solid var(--onb-border);cursor:default;font-family:Manrope;font-size:.85rem;font-weight:700;padding:15px 0;text-align:center}.s-btn:last-child{border-right:none}.b1{color:var(--onb-error)}.b2{color:var(--onb-warning)}.b3{color:var(--onb-success)}.b4{color:var(--onb-info)}.split-v{display:grid;grid-template-columns:1fr 1fr;height:250px}.v-half{font-size:.9rem;padding:20px}.v-half.grey{background:#f8fafc;border-right:1px solid var(--onb-border);color:var(--onb-text)}.v-half.white{background:#fff;color:var(--onb-text)}.v-half strong{display:block;font-family:Manrope;margin-bottom:10px}.sim-grading{color:var(--onb-info);font-style:italic;margin-top:20px}.sim-row-header{border-bottom:1px solid var(--onb-border);color:var(--onb-text);font-family:Manrope;font-weight:800;padding:15px}.sim-list-item{border-bottom:1px solid #f1f5f9;color:var(--onb-text);padding:10px 15px}.indent-1{color:var(--onb-text-muted);padding-left:30px}.indent-1.active{background:#f0f9ff;color:var(--onb-accent);font-weight:700}.indent-2{font-size:.9rem;padding-left:50px}.gantt-view{padding:20px}.gantt-row{align-items:center;display:flex;margin-bottom:15px}.gantt-row span{color:var(--onb-text-muted);font-family:Manrope;font-size:.8rem;width:60px}.bar{border-radius:4px;height:24px;margin-right:5px}.b-blue{background:var(--onb-accent)}.b-light{background:#cbd5e1}.b-green{background:var(--onb-success)}.onb-footer{align-items:center;background-color:var(--onb-bg);border-top:1px solid var(--onb-border);bottom:0;display:flex;height:90px;justify-content:space-between;left:0;padding:0 50px;position:absolute;right:0;z-index:10}.onb-dots{display:flex;gap:8px}.dot{background:#cbd5e1;border-radius:50%;height:8px;transition:all .3s;width:8px}.dot.active{background:var(--onb-accent);transform:scale(1.3)}.dot.passed{background:#94a3b8}.onb-nav-group{display:flex;gap:15px}.onb-btn{background-color:var(--onb-accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:1rem;font-weight:700;padding:12px 30px;transition:background .2s}.onb-btn:hover{background-color:#1e3a5a}.onb-btn.secondary{background-color:initial;border:1px solid var(--onb-border);color:var(--onb-text-muted)}.onb-btn.secondary:hover{border-color:var(--onb-text-muted);color:var(--onb-text)}.onb-btn.large{box-shadow:0 4px 6px #2e51754d;font-size:1.2rem;padding:15px 50px}.onb-text-btn{background:none;border:none;color:var(--onb-text-muted);cursor:pointer;font-family:Manrope;font-weight:600}.onb-text-btn:hover{color:var(--onb-text);text-decoration:underline}@media (max-width:1200px){.onb-card{height:90vh;width:95%}.onb-slide{grid-template-columns:1fr}.onb-visual-panel{display:none}.onb-text-panel{padding:40px}}.learn-mode-container{box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh;padding:20px}.learn-mode-header{align-items:flex-start;position:absolute}.learn-mode-back-btn{background:#0000;border:#0000;color:var(--text-color);cursor:pointer;font-size:2em;height:50px;line-height:1;padding:0;width:50px}.learn-mode-back-btn:hover{background-color:var(--hover-bg);color:var(--accent-color-primary)}.learn-mode-header-right{align-items:flex-start;display:flex;gap:15px}.session-progress{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;color:var(--text-muted);font-size:.9em;font-weight:500;margin-bottom:10px;margin-top:5px;padding:6px 12px;white-space:nowrap}.learn-mode-content-area{align-items:center;display:flex;flex-direction:column;flex-grow:1;justify-content:flex-start;width:100%}.rule-breadcrumbs.centered-breadcrumbs{color:var(--text-muted);font-family:var(--font-heading);font-size:.9em;margin-bottom:10px;text-align:center;width:100%}.learn-content{display:flex;flex-direction:column;gap:25px;margin:0 auto;max-width:850px;width:100%}.step-instruction{color:var(--text-muted);font-size:1.1em;margin:0 0 10px;text-align:center}.step-instruction strong{color:var(--text-color);font-family:var(--font-heading)}.rule-display-text{background-color:var(--hover-bg);border:1px solid var(--border-color);cursor:default;font-size:1.1em;line-height:1.8;min-height:120px;padding:20px;-webkit-user-select:none;user-select:none}.dark-mode .rule-display-text{background-color:var(--bg-color)}.rule-display-text strong{color:var(--accent-color-primary)}.learn-input,textarea.learn-input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-sizing:border-box;color:var(--text-color);font-family:var(--font-body);font-size:1em;min-height:100px;padding:15px;transition:all .2s;width:100%!important}textarea.learn-input{resize:vertical}.learn-input:focus{border-color:var(--accent-color-primary);outline:none}.input-error{border-color:var(--error-color)}.learn-input.optional-input{background-color:var(--hover-bg);border-style:dashed}.learn-input.optional-input:focus{background-color:var(--card-bg);border-style:solid}.learn-input.optional-input::placeholder{font-style:italic;opacity:.7}.learn-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:15px;width:100%}.learn-actions.centered{justify-content:center}.learn-actions .hint-btn{margin-right:auto}.btn.btn-secondary{background:#0000;border:1px solid var(--border-color);box-shadow:none;color:var(--text-muted)}.btn.btn-secondary:hover{background:var(--hover-bg);color:var(--text-color)}.btn.btn-flagged-active{background:var(--flagged-color);border-color:var(--flagged-color);color:#fff}.cloze-active{background-color:var(--hover-bg);border-bottom:2px solid var(--accent-color-secondary)}.cloze-placeholder{font-family:monospace;opacity:.6;-webkit-user-select:none;user-select:none}.cloze-hidden,.cloze-placeholder{color:var(--text-muted)}.cloze-revealed{color:var(--accent-color-primary);font-weight:700}.cloze-word-count{align-items:center;background-color:var(--accent-color-secondary);border-radius:0;color:#fff;display:inline-flex;font-size:.8em;font-weight:700;height:20px;justify-content:center;line-height:1;margin-left:5px;-webkit-user-select:none;user-select:none;vertical-align:super;width:20px}.cloze-hidden .cloze-word-count{background-color:var(--text-muted);opacity:.7}.hint-overlay-container{background-color:var(--card-bg);border:1px dashed var(--accent-color-secondary);display:flex;flex-direction:column;gap:15px}.hint-header-row{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-muted);display:flex;font-size:.9em;font-weight:700;gap:8px;margin-bottom:5px;padding-bottom:10px;text-transform:uppercase}.hint-section{display:flex;flex-direction:column;gap:5px}.hint-label{color:var(--text-muted);font-size:.85em;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.blurred-text{background-color:#0000000d;border-radius:2px;color:#0000;cursor:help;padding:0 4px;text-shadow:0 0 10px var(--text-muted);transition:all .3s ease;-webkit-user-select:none;user-select:none}.blurred-text:hover{background-color:#00000005;color:var(--text-color);text-shadow:none}.final-review-step{text-align:center}.final-rule-text{text-align:left}.final-actions{flex-wrap:wrap;margin-top:20px!important}.final-actions .btn:first-child{margin-right:0}.feedback-container{display:flex;flex-direction:column;gap:20px}.feedback-view-learn .feedback-pane{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);padding:20px}.feedback-view-learn h4{border-bottom:1px solid var(--border-color);font-family:var(--font-heading);font-size:1.1em;margin:0 0 15px;padding-bottom:10px}.corrective-blurb{background-color:#53ac8a1a;border-left:4px solid var(--refine-color);margin-top:15px;padding:15px}.corrective-blurb p{margin:0}.keynote-editor-container{background-color:var(--hover-bg);border:1px solid var(--border-color);margin-top:25px;padding:20px}.keynote-title{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-heading);font-size:1em;font-weight:600;gap:8px;justify-content:center;margin:0 0 10px}.keynote-help-wrapper{align-items:center;cursor:help;display:inline-flex;position:relative}.keynote-help-icon{color:var(--text-muted);font-size:1.1em;opacity:.7;transition:all .2s ease}.keynote-help-wrapper:hover .keynote-help-icon{color:var(--accent-color-primary);opacity:1}.keynote-tooltip{background-color:var(--text-color);border-radius:4px;bottom:140%;box-shadow:0 4px 12px #0003;color:var(--bg-color);font-family:var(--font-body);font-size:.85rem;font-weight:400;left:50%;line-height:1.4;opacity:0;padding:12px;pointer-events:none;position:absolute;text-align:center;text-transform:none;transform:translateX(-50%) translateY(5px);transition:all .2s ease-out;width:260px;z-index:1000}.keynote-tooltip:after{border-color:var(--text-color) #0000 #0000 #0000;border-style:solid;border-width:6px;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.keynote-help-wrapper:hover .keynote-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}textarea.keynote-input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-sizing:border-box;color:var(--text-color);font-family:var(--font-body);font-size:.95em;min-height:60px;padding:10px;resize:vertical;width:100%}.completion-container{align-items:center;display:flex;justify-content:center;min-height:400px;text-align:center}.completion-content{color:var(--text-color)}.completion-checkmark{stroke-width:2;stroke:var(--success-color);stroke-miterlimit:10;border-radius:50%;box-shadow:inset 0 0 0 var(--success-color);display:block;height:100px;margin:0 auto;width:100px}.checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:var(--success-color);fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-check{stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards;transform-origin:50% 50%}@keyframes stroke{to{stroke-dashoffset:0}}.test-mode-container{background-color:var(--bg-color);display:flex;flex-direction:column;height:100vh;overflow:hidden}.test-mode-header{align-items:center;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;height:60px;justify-content:space-between;padding:0 20px;z-index:10}.quiz-title{color:var(--text-color);font-size:1.1em;font-weight:800}.grade-badge,.quiz-title{font-family:var(--font-heading)}.grade-badge{background-color:var(--accent-color-primary);border-radius:4px;color:#fff;font-weight:700;margin-right:15px;padding:4px 10px}.resizable-grid{display:grid;flex-grow:1;overflow:hidden}.resizer-handle{align-items:center;background-color:var(--bg-color);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:col-resize;display:flex;justify-content:center;transition:background-color .2s;z-index:20}.resizer-handle.active,.resizer-handle:hover{background-color:var(--accent-color-secondary)}.handle-grip{border-left:2px dotted var(--text-muted);height:30px;pointer-events:none;width:4px}.exam-facts,.feedback-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden}.model-panel{background-color:var(--bg-color)}.exam-editor,.sticky-issue,.user-panel{background-color:var(--card-bg)}.sticky-issue{border-bottom:1px solid var(--border-color);padding:20px}.issue-label{color:var(--text-muted);display:block;font-size:.75em;font-weight:700;margin-bottom:5px;text-transform:uppercase}.facts-content{color:var(--text-color);font-size:1.05em;line-height:1.6;overflow-y:auto;padding:25px}.editor-textarea{background:#0000;border:none;color:var(--text-color);flex-grow:1;font-family:"Source Serif 4",serif;font-size:1.1em;line-height:1.8;min-width:0;outline:none;padding:30px;resize:none;width:100%}.panel-toggle-header{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex}.toggle-btn{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-muted);cursor:pointer;flex:1 1;font-family:var(--font-heading);font-weight:700;padding:15px;transition:all .2s}.toggle-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.toggle-btn.active{background-color:#2e51750d;border-bottom-color:var(--accent-color-primary);color:var(--accent-color-primary)}.panel-title{background-color:var(--hover-bg);border-bottom:1px solid var(--border-color);color:var(--text-muted);font-family:var(--font-heading);font-size:1em;font-weight:700;margin:0;padding:15px 20px;text-transform:uppercase}.panel-title.right-aligned{background-color:var(--card-bg)}.scrollable-content{height:100%;overflow-y:auto;padding:25px}.annotated-text-view{color:var(--text-color);font-size:1.05em;line-height:1.8}.annotated-text-view sup,.demo-marker{align-items:center;background-color:var(--accent-color-secondary);border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:.75em;font-weight:700;height:22px;justify-content:center;margin:0 2px;transform:translateY(-2px);transition:transform .1s,background-color .1s;-webkit-user-select:none;user-select:none;width:22px}.annotated-text-view sup:hover{background-color:var(--accent-color-primary);transform:scale(1.2) translateY(-2px)}.tooltip-box{animation:fadeIn .2s forwards;background-color:var(--card-bg);border:2px solid var(--accent-color-primary);border-radius:0;box-shadow:0 10px 40px #0006;display:flex;flex-direction:column;left:50%;max-width:90vw;opacity:0;padding:25px;position:fixed;top:50%;transform:translate(-50%,-50%);width:400px;z-index:9999}.tooltip-close-btn{background:#0000;border:none;color:var(--text-muted);cursor:pointer;line-height:1;padding:5px;position:absolute;right:5px;top:5px;transition:color .2s}.tooltip-close-btn:hover{color:var(--error-color)}.tooltip-marker-ref{color:var(--accent-color-primary);display:block;font-family:var(--font-heading);font-size:.8em;font-weight:800;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.tooltip-content-text{color:var(--text-color);font-family:var(--font-body);font-size:1.1em;line-height:1.6}.tooltip-box.visible{opacity:1}.model-section{margin-bottom:25px}.model-section h4{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:.95em;margin:0 0 5px;text-transform:uppercase}.model-section p{color:var(--text-color);line-height:1.6;margin:0}.instruction-hint{background:var(--hover-bg);border-radius:4px;color:var(--text-muted);font-size:.9em;font-style:italic;margin-bottom:15px;padding:8px;text-align:center}.grading-loading{align-items:center;display:flex;flex-direction:column;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color-primary);height:50px;margin-bottom:20px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.highlight-toolbar{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;gap:10px;justify-content:flex-end;padding:8px 15px}.highlight-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;font-family:var(--font-heading);font-size:.8em;font-weight:700;gap:6px;padding:4px 10px;transition:all .2s}.highlight-btn:hover{background-color:var(--highlight-color);border-color:var(--highlight-color);color:#000}.highlight-btn .material-symbols-outlined{font-size:1.1em}.highlighted{background-color:var(--highlight-color);border-radius:2px;color:#000;cursor:pointer;transition:background-color .2s}.highlighted:hover{background-color:#e59148;color:#fff;text-decoration:line-through}.linked-rule-chip{align-items:center;background-color:var(--bg-color);border:1px solid var(--accent-color-primary);border-radius:4px;color:var(--accent-color-primary);cursor:pointer;display:inline-flex;font-family:var(--font-heading);font-size:.8em;font-weight:700;gap:5px;margin-left:10px;padding:4px 8px;text-transform:none;transition:all .2s}.linked-rule-chip:hover{background-color:var(--accent-color-primary);color:#fff}@media (max-width:900px){.exam-layout{display:block}.exam-facts{border-bottom:2px solid var(--accent-color-primary);max-height:30vh;overflow-y:auto}.exam-editor{height:60vh}}.history-modal{animation:slideIn .25s cubic-bezier(.18,.89,.32,1.28);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:12px 12px 0 0 #0003;color:var(--text-color);display:flex;flex-direction:column;max-height:90vh;max-width:850px;outline:4px solid #0000000d;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-toolbar-pane{align-items:center;background-color:var(--bg-color);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;min-height:50px;padding:15px 25px}.toolbar-context{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-heading);font-size:.8rem;font-weight:700;gap:10px;letter-spacing:.5px;text-transform:uppercase}.toolbar-context .material-symbols-outlined{font-size:1.2em;opacity:.7}.modal-actions{align-items:center;display:flex;gap:12px}.view-toggles{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;display:flex;gap:0;padding:2px}.view-toggles .icon-btn{background:#0000;border:none;box-shadow:none;color:var(--text-muted);height:32px;margin:0;width:36px}.view-toggles .icon-btn:hover{background-color:var(--hover-bg);color:var(--text-color);transform:none}.view-toggles .icon-btn.active-view{background-color:var(--accent-color-primary);color:var(--accent-text-color)}.separator-vertical{background-color:var(--border-color);height:24px;margin:0 5px;opacity:.5;width:1px}.icon-btn{box-shadow:2px 2px 0 0 var(--border-color);height:40px;transition:all .1s ease;width:40px}.icon-btn .material-symbols-outlined{font-size:1.3rem}.icon-btn:hover{border-color:var(--text-color);box-shadow:3px 3px 0 0 var(--border-color);color:var(--text-color);transform:translate(-1px,-1px)}.icon-btn:active{box-shadow:1px 1px 0 0 var(--border-color);transform:translate(1px,1px)}.icon-btn.close-btn:hover{background-color:var(--error-color);border-color:var(--error-color);box-shadow:3px 3px 0 0 #bb2f2e4d;color:#fff}.icon-btn.flag-btn.active{background-color:var(--flagged-color);border-color:var(--flagged-color);box-shadow:inset 1px 1px 3px #0003;color:#fff}.modal-content-pane{background-color:var(--card-bg);flex-grow:1;overflow-y:auto;padding:0;position:relative}.rule-detail-view{display:flex;flex-direction:column;gap:30px;padding:40px 60px}.document-header{border-bottom:4px solid var(--bg-color);margin-bottom:10px;padding-bottom:25px;text-align:center}.document-title{color:var(--text-color);font-family:var(--font-heading);font-size:2.2rem;font-weight:800;letter-spacing:-.5px;line-height:1.1;margin:0 0 15px}.document-meta-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.status-pill{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-muted);font-family:var(--font-heading);font-size:.7rem;font-weight:800;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-pill.mastered{background-color:#28a7451a;border-color:var(--success-color);color:var(--success-color)}.status-pill.in_progress{background-color:#53ac8a1a;border-color:var(--refine-color);color:var(--refine-color)}.status-pill.flagged{background-color:var(--flagged-color);border-color:var(--flagged-color);color:#fff}.status-pill.hfr{background-color:var(--accent-color-secondary);border-color:var(--accent-color-secondary);color:#fff}.section-label{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-heading);font-size:.8rem;font-weight:700;gap:8px;letter-spacing:1px;margin:0 0 15px;text-transform:uppercase}.paper-section{color:var(--text-color);font-family:var(--font-body);font-size:1.15rem;line-height:1.7;position:relative}.typography-content p{margin-bottom:1em;margin-top:0}.typography-content [data-cloze]{border-bottom:2px solid #2e517533;color:var(--accent-color-primary);font-weight:600}.keynote-section{margin-top:20px}.keynote-paper{background-color:#fefae0;border:1px solid #dcd6a5;box-shadow:4px 4px 0 #dcd6a580;color:#5c553a;padding:25px;position:relative}body.dark-mode .keynote-paper{background-color:#ffffff0d;border-color:var(--border-color);box-shadow:none;color:var(--text-color)}.keynote-label{border-bottom:1px dashed #dcd6a5;color:#bfa852;margin-bottom:12px;padding-bottom:8px}body.dark-mode .keynote-label{border-color:var(--border-color);color:var(--accent-color-secondary)}.keynote-text{font-family:var(--font-body);font-size:1.1rem;font-style:italic;line-height:1.5}.history-list-container{padding:0}.history-table{border-collapse:collapse;font-family:var(--font-body);width:100%}.history-table th{background-color:var(--bg-color);border-bottom:2px solid var(--border-color);color:var(--text-muted);font-family:var(--font-heading);font-size:.8em;padding:15px 20px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0}.history-table td{border-bottom:1px solid var(--border-color);padding:15px 20px;vertical-align:middle}.clickable-row:hover{background-color:var(--hover-bg);cursor:pointer}.score-badge{border-radius:4px;color:#fff;display:inline-block;font-family:var(--font-heading);font-size:.8em;font-weight:800;min-width:30px;padding:4px 8px;text-align:center}.ai-tag{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:.85em;font-weight:700;gap:5px}.ai-tag,.empty-history-state{align-items:center;display:flex}.empty-history-state{color:var(--text-muted);flex-direction:column;gap:15px;padding:60px 20px;text-align:center}.history-detail-view{background-color:var(--bg-color);display:flex;flex-direction:column;height:100%}.detail-header{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);justify-content:space-between;padding:15px 25px}.back-link,.detail-header{align-items:center;display:flex}.back-link{background:none;background:var(--bg-color);border:none;border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;font-family:var(--font-heading);font-size:.9em;font-weight:700;gap:8px;padding:8px 12px;transition:all .2s}.back-link:hover{border-color:var(--accent-color-primary);transform:translateX(-2px)}.detail-split-container{grid-gap:1px;background-color:var(--border-color);display:grid;flex-grow:1;gap:1px;grid-template-columns:1fr 1fr;overflow:hidden}.detail-panel{background-color:var(--card-bg);display:flex;flex-direction:column;overflow:hidden}.panel-label{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);color:var(--text-muted);font-family:var(--font-heading);font-size:.85em;font-weight:800;margin:0;padding:15px 20px;text-transform:uppercase}.scroll-area{color:var(--text-color);font-size:1rem;line-height:1.6;overflow-y:auto;padding:25px}@media (max-width:600px){.history-modal{border:none;height:100%;max-height:100%;width:100%}.rule-detail-view{padding:25px 20px}.document-title{font-size:1.6rem}.detail-split-container{background-color:var(--bg-color);gap:10px;grid-template-columns:1fr;overflow-y:auto}.detail-panel{border-bottom:1px solid var(--border-color);flex-grow:0;min-height:auto}}
/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.rule-edit-form{background-color:var(--card-bg);box-sizing:border-box;padding:30px}.form-group label{color:var(--text-muted);font-size:.85em;font-weight:700;margin-bottom:8px}.form-group input[type=text],.form-group textarea,.path-input-row input,.path-input-row select{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:0;box-sizing:border-box;color:var(--text-color);font-family:var(--font-body);font-size:1rem;padding:12px 15px;transition:all .2s;width:100%}.form-group input:focus,.path-input-row input:focus,.path-input-row select:focus{background-color:var(--card-bg);border-color:var(--accent-color-primary);box-shadow:2px 2px 0 0 var(--border-color);outline:none}.hierarchy-group{background-color:var(--bg-color);border:1px solid var(--border-color);margin-bottom:25px;padding:20px}.path-segment{margin-bottom:15px}.path-segment:last-child{margin-bottom:0}.path-input-row{align-items:center;display:flex;gap:10px}.path-input-row select{flex:1 1}.path-input-row input{border-color:var(--accent-color-secondary);flex:1 1}.form-actions{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:30px;padding-top:20px}.main-actions-group{display:flex;gap:15px}.delete-btn{background-color:initial;border:1px solid var(--error-color);color:var(--error-color);cursor:pointer;font-family:var(--font-heading);font-size:.9em;font-weight:700;padding:10px 20px;transition:all .2s}.delete-btn:hover{background-color:var(--error-color);color:#fff}.ql-toolbar.ql-snow{background-color:var(--bg-color)}.ql-container.ql-snow,.ql-toolbar.ql-snow{border:1px solid var(--border-color)!important;border-radius:0!important}.ql-container.ql-snow{background-color:var(--card-bg);border-top:none!important;font-family:var(--font-body)!important;font-size:1.1em}.ql-editor{color:var(--text-color);min-height:250px}.dark-mode .ql-stroke{stroke:var(--text-color)!important}.dark-mode .ql-fill{fill:var(--text-color)!important}.dark-mode .ql-picker{color:var(--text-color)!important}.dark-mode .ql-picker-options{background-color:var(--card-bg)!important;border-color:var(--border-color)!important}.todays-plan-widget{display:flex;flex-direction:column}.widget-header{border-bottom:1px solid var(--border-color);margin-bottom:20px;padding-bottom:15px}.widget-header-main{display:flex;flex-direction:column;gap:4px}.widget-title{border:none;font-size:1.75rem;padding:0}.widget-refresh-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.widget-refresh-btn:hover{background-color:var(--hover-bg);color:var(--accent-color-primary);transform:rotate(90deg)}.plan-empty-state{color:var(--text-muted);font-size:1.1rem;padding:40px 20px;text-align:center}.phases-container{grid-gap:1rem;display:grid;gap:1rem}.phase-card{border:1px solid var(--border-color-light);border-radius:var(--border-radius-med);overflow:hidden;padding:1.25rem;position:relative;transition:all .3s ease}.phase-card.locked{background-color:initial;filter:grayscale(50%);opacity:.5}.phase-card.active{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color-light);cursor:pointer}.phase-card.active:hover{box-shadow:0 4px 15px #00000014;transform:translateY(-2px)}.phase-card.completed{background-color:var(--bg-color-med);opacity:.8}.phase-card.completed .phase-title{color:var(--text-color-secondary);text-decoration:line-through}.phase-card-header{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.phase-card-header .icon{color:var(--text-color-secondary);font-size:1.75rem}.phase-card.active .icon{color:var(--accent-color)}.phase-card.completed .icon{color:var(--success-color)}.phase-title{color:var(--text-color-primary);flex-grow:1;font-size:1.2rem;font-weight:600;margin:0}.count-bubble{background-color:var(--border-color-med);border-radius:1rem;color:var(--text-color-secondary);font-size:.8rem;font-weight:700;padding:.15rem .5rem}.phase-card.active .count-bubble{background-color:var(--accent-color);color:#fff}.phase-description{color:var(--text-color-secondary);font-size:.9rem;margin:0 0 0 2.75rem}.start-button{background-color:var(--accent-color);border:none;border-radius:var(--border-radius-med);color:#fff;font-size:.9rem;font-weight:700;opacity:0;padding:.5rem 1rem;position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);transition:opacity .3s ease}.phase-card.active:hover .start-button{opacity:1}.skip-button{border-radius:var(--border-radius-small);color:var(--text-color-secondary);cursor:pointer;font-size:.9rem;font-style:italic;margin-top:.5rem;padding:.25rem;text-align:center;transition:background-color .2s}.skip-button:hover{background-color:var(--hover-bg)}.progress-bar-container{align-items:center;border-radius:8px;display:flex;gap:15px;padding-left:10px;transition:background-color .2s}.progress-bar-container.clickable{cursor:pointer}.progress-bar-container.active,.progress-bar-container.clickable:hover{background-color:var(--hover-bg)}.progress-bar-container.active{outline:2px solid var(--accent-color)}.progress-bar-title{color:var(--accent-color);font-weight:500;min-width:150px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:35%}.progress-bar{background-color:var(--border-color);border:1px solid #0000000d;border-radius:6px;display:flex;flex-grow:1;height:40px;overflow:hidden}.dark-mode .progress-bar{background-color:#ffffff1a}.progress-segment{align-items:center;color:#fff;display:flex;font-size:.8em;font-weight:700;justify-content:center;text-shadow:1px 1px 2px #0000004d;transition:width .5s ease-in-out}.dark-mode .progress-segment.mastered,.progress-segment.mastered{background:linear-gradient(45deg,var(--challenge-color),#271949)}.progress-segment.in-progress{background:linear-gradient(45deg,var(--refine-color),#114a34);text-shadow:none}.progress-segment.flagged{background:linear-gradient(45deg,var(--flagged-color),#b36b2f)}.progress-segment.not-started{background-color:initial}.denovo-dash-widget{background-color:var(--card-bg);border:1px solid var(--border-color);box-sizing:border-box;display:flex;flex-direction:column;height:auto;min-height:250px;padding:25px 30px}.widget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.widget-title{color:var(--text-color);font-family:var(--font-heading);font-size:1.5rem;font-weight:800;letter-spacing:.5px;margin:0;text-transform:uppercase}.widget-settings-btn{align-items:center;background:#0000;border:none;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:0;transition:color .2s}.widget-settings-btn:hover{color:var(--accent-color-primary)}.widget-settings-btn .material-symbols-outlined{font-size:1.5rem}.widget-content{display:flex;flex-direction:column;flex-grow:1;justify-content:space-between}.retention-section{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.health-row-main{align-items:center;display:flex;gap:20px;justify-content:space-between}.health-label{color:var(--text-color);font-family:var(--font-body);font-size:1.1rem;white-space:nowrap}.health-bar-wrapper{flex-grow:1;max-width:60%}.health-bar-wrapper .progress-bar-container{height:24px;padding:0}.health-bar-wrapper .progress-bar{background-color:#b4bfcc;border-radius:4px;height:30px}body.dark-mode .health-bar-wrapper .progress-bar{background-color:#404f63}.health-row-stats{display:flex;justify-content:space-between}.stat-text{color:var(--text-muted);font-family:var(--font-heading);font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.widget-divider{border:none;border-top:1px solid var(--border-color);margin:20px 0;width:100%}.action-area{align-items:flex-end;display:flex;justify-content:space-between;padding-bottom:10px}.due-count-container{display:flex;flex-direction:column;line-height:1}.due-number{color:var(--text-color);font-family:var(--font-heading);font-size:4.5rem;font-weight:800;letter-spacing:-2px;margin-bottom:5px}.due-label{color:var(--text-muted);font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:2px;margin-left:4px;text-transform:uppercase}.start-session-btn{align-items:center;background-color:var(--accent-color-primary);border:none;border-radius:0;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;display:flex;font-family:var(--font-heading);font-size:1.1rem;font-weight:600;gap:8px;padding:12px 24px;transition:transform .1s,box-shadow .1s}.start-session-btn:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.start-session-btn:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.start-session-btn:disabled{background-color:var(--border-color);box-shadow:none;color:var(--text-muted);cursor:not-allowed;transform:none}.start-session-btn .material-symbols-outlined{font-size:1.2rem}.config-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:10px 10px 0 0 #0003;display:flex;flex-direction:column;max-height:90vh;max-width:650px;width:90%}.config-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 25px}.config-header h2{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:1.4em;margin:0;text-transform:uppercase}.config-body{flex-grow:1;overflow-y:auto;padding:25px}.config-section{margin-bottom:35px}.config-section h3{color:var(--text-color);font-family:var(--font-heading);font-size:1.1em;margin:0 0 5px;text-transform:uppercase}.section-hint{color:var(--text-muted);font-size:.9em;margin-bottom:15px}.setting-group{background:var(--bg-color);border:1px solid var(--border-color);flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px;padding:15px}.setting-group,.setting-label{align-items:center;display:flex}.setting-label{color:var(--text-color);font-family:var(--font-heading);font-weight:800;gap:8px;width:100%}.setting-desc{color:var(--text-muted);flex-grow:1;font-size:.9em;margin:0;max-width:70%}.range-control{align-items:center;display:flex;gap:10px}.range-value{color:var(--accent-color-primary);font-weight:700;min-width:90px;text-align:right}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.slider{background-color:var(--border-color);bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:4px;content:"";height:16px;left:4px;width:16px}input:checked+.slider{background-color:var(--accent-color-primary)}input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.subject-list-header{border-bottom:2px solid var(--border-color);color:var(--text-muted);display:grid;font-size:.85em;font-weight:700;grid-template-columns:1fr 60px 80px;margin-bottom:10px;padding:0 10px 5px;text-transform:uppercase}.col-opt{text-align:center}.sortable-list{display:flex;flex-direction:column;gap:8px}.sortable-item{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);cursor:grab;display:grid;grid-template-columns:1fr auto;padding:10px;transition:background .2s,opacity .2s}.sortable-item:active{cursor:grabbing}.sortable-item.dragging{background:var(--hover-bg);opacity:.5}.sortable-item.inactive{background:var(--bg-color);opacity:.6}.sortable-item.inactive .subject-name{text-decoration:line-through}.drag-handle{align-items:center;display:flex;gap:10px}.drag-handle .material-symbols-outlined{color:var(--text-muted);cursor:grab}.subject-name{color:var(--text-color);font-weight:600}.item-controls{display:flex;gap:25px;padding-right:10px}.checkbox-control{cursor:pointer;display:block;font-size:22px;padding-left:25px;position:relative;-webkit-user-select:none;user-select:none;width:20px}.checkbox-control input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark{background-color:var(--bg-color);border:1px solid var(--border-color);height:20px;left:0;position:absolute;top:0;width:20px}.checkbox-control:hover input~.checkmark{background-color:var(--hover-bg)}.checkbox-control input:checked~.checkmark{background-color:var(--accent-color-primary);border-color:var(--accent-color-primary)}.checkmark:after{content:"";display:none;position:absolute}.checkbox-control input:checked~.checkmark:after{display:block}.checkbox-control .checkmark:after{border:solid #fff;border-width:0 3px 3px 0;height:10px;left:7px;top:3px;transform:rotate(45deg);width:5px}.toggle-pill{display:inline-block;position:relative}.toggle-pill input{display:none}.toggle-pill span{border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:.75em;font-weight:800;padding:4px 8px;transition:all .2s}.toggle-pill input:checked+span{background-color:var(--flagged-color);border-color:var(--flagged-color);color:#fff}.config-footer{background:var(--bg-color);border-top:1px solid var(--border-color);display:flex;gap:15px;justify-content:flex-end;padding:20px 25px}.dashboard-container{padding:0}.congrats-banner{font-size:1.2em;line-height:1.6;margin-bottom:25px;padding:20px;text-align:center}.congrats-banner p{margin:0}.de-novo-link{background-color:var(--accent-color);border:none;border-radius:20px;color:var(--accent-text);cursor:pointer;font-family:var(--font-body);font-size:1em;font-weight:700;margin-left:5px;padding:5px 15px;transition:all .2s ease}.de-novo-link:hover{filter:brightness(1.1);transform:translateY(-1px)}.dashboard-banner{align-items:stretch;display:flex;gap:25px;justify-content:space-between;margin-bottom:25px}.velocity-strip{flex-grow:1;margin-bottom:0!important}.view-calendar-btn{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:2px 2px 0 0 var(--border-color);color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-heading);font-size:.9em;font-weight:700;gap:5px;justify-content:center;min-width:120px;padding:0 25px;transition:all .2s}.view-calendar-btn:hover{border-color:var(--accent-color-primary);box-shadow:4px 4px 0 0 var(--border-color);color:var(--accent-color-primary);transform:translateY(-2px)}.view-calendar-btn:active{box-shadow:none;transform:translate(2px,2px)}.view-calendar-btn .material-symbols-outlined{font-size:1.8em}.dashboard-grid{grid-gap:25px;align-items:stretch;display:grid;gap:25px;grid-template-columns:repeat(2,1fr)}.dashboard-right-column{display:flex;flex-direction:column;gap:25px;height:100%}.dashboard-right-column>.denovo-dash-widget{flex:0 0 auto}.dashboard-quick-actions{grid-gap:25px;display:grid;flex-grow:1;gap:25px;grid-template-columns:1fr 1fr}.action-tile{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:4px 4px 0 0 #0000001a;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:30px 20px;text-align:center;transition:transform .1s ease,box-shadow .1s ease}.action-tile:hover{box-shadow:6px 6px 0 0 #00000026;transform:translateY(-2px)}.action-tile:active{box-shadow:1px 1px 0 0 #0000001a;transform:translate(2px,2px)}.action-tile .material-symbols-outlined{font-size:3em;margin-bottom:15px}.action-tile h3{font-family:var(--font-heading);font-size:1.1em;font-weight:800;line-height:1.3;margin:0;text-transform:uppercase}.action-tile.primary{background-color:var(--accent-color-primary);border-color:var(--text-color);box-shadow:4px 4px 0 0 var(--text-color);color:var(--accent-text-color)}.action-tile.primary:hover{box-shadow:6px 6px 0 0 var(--text-color)}.action-tile.primary:active{box-shadow:1px 1px 0 0 var(--text-color)}.action-tile.secondary{background-color:var(--highlight-color);border-color:var(--text-color);box-shadow:4px 4px 0 0 var(--text-color);color:var(--text-color)}.action-tile.secondary:hover{box-shadow:6px 6px 0 0 var(--text-color)}.action-tile.secondary:active{box-shadow:1px 1px 0 0 var(--text-color)}.dashboard-widget{display:flex;flex-direction:column;justify-content:flex-start;padding:25px;transition:all .1s ease}.dashboard-widget:hover{box-shadow:0 15px 45px #0000001a;transform:translateY(-5px)}.section-title{border-bottom:1px solid var(--border-color);flex-shrink:0;margin-bottom:20px;margin-top:0;padding-bottom:15px}.widget-stats .stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);text-align:center;width:100%}.stats-item{background-color:#00000005;border-radius:8px;padding:15px}.dark-mode .stats-item{background-color:#ffffff05}.stats-value{color:var(--accent-color);font-family:var(--font-heading);font-size:2em;font-weight:700;line-height:1.1}.stats-label{color:var(--text-muted);font-size:.9em;margin-top:5px}.target-header{margin-bottom:20px;text-align:center}.progress-details{display:flex;flex-direction:column;gap:8px;margin-top:15px;width:100%}.target-header+.progress-details{margin-top:0}.progress-label{align-items:center;display:flex;font-size:.9em;font-weight:500;justify-content:space-between}.progress-details progress{-webkit-appearance:none;appearance:none;border:1px solid var(--border-color);border-radius:6px;height:12px;overflow:hidden;width:100%}.progress-details progress::-webkit-progress-bar{background-color:#0000000d}.progress-details progress::-webkit-progress-value{background-color:var(--refine-color);border-radius:6px;-webkit-transition:width .5s ease;transition:width .5s ease}.docket-list{display:flex;flex-direction:column;flex-grow:1;gap:8px;margin-top:20px;max-height:300px;overflow-y:auto;width:100%}.docket-item{background:#00000008;border-radius:8px;cursor:pointer;font-weight:500;padding:12px;transition:background .2s}.docket-item:hover{background:#00000012}.no-data-message{color:var(--text-muted);font-style:italic;padding:20px;text-align:center}@media (max-width:992px){.dashboard-grid{grid-template-columns:1fr}.dashboard-banner{flex-direction:column;gap:15px}.view-calendar-btn{flex-direction:row;padding:15px}.dashboard-quick-actions{grid-template-columns:1fr}}@media (max-width:900px){.dashboard-banner{flex-direction:column;gap:15px}.velocity-strip{flex-wrap:wrap;gap:20px;height:auto;justify-content:center;padding:20px}.v-divider{display:none}.v-metric{justify-content:center;min-width:120px;text-align:center}.dashboard-grid,.dashboard-quick-actions{grid-template-columns:1fr}.view-calendar-btn{flex-direction:row;padding:15px;width:100%}}.library-view-container{padding:30px 40px}.library-title{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:2.2em;margin:0 0 10px;text-align:center}.library-subtitle{color:var(--text-muted);font-size:1.1em;line-height:1.6;margin:0 auto 30px;max-width:600px;text-align:center}.variant-skills-grid{grid-gap:15px 20px;align-items:center;border-top:1px solid var(--border-color);display:grid;gap:15px 20px;grid-template-columns:200px 1fr;padding-top:20px}.subject-name-container{cursor:pointer;padding-right:20px}.subject-grid-header{color:var(--text-color);font-family:var(--font-heading);font-size:1.3em;margin:0;text-align:right;transition:color .2s}.subject-name-container:hover .subject-grid-header{color:var(--accent-color-primary)}.subject-skills-wrapper{display:flex;flex-wrap:wrap;gap:4px;position:relative}.subject-skills-wrapper:has(.subunit-block:hover){z-index:10}.subunit-block{border-radius:0;height:24px;position:relative;transition:transform .1s ease-out}.subunit-block.mastered{background-color:var(--challenge-color)}.subunit-block.in_progress{background-color:var(--refine-color)}.subunit-block.not_started{background-color:var(--learn-color)}.dark-mode .subunit-block.not_started{background-color:#9c8a5c}.subunit-block-tooltip{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;bottom:calc(100% + 8px);box-shadow:3px 3px 0 0 var(--text-color);left:50%;opacity:0;padding:15px;pointer-events:none;position:absolute;transform:translateX(-50%);transform-origin:bottom center;transition:opacity .2s ease,transform .2s ease;width:220px;z-index:20}.subunit-block:hover .subunit-block-tooltip{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(-5px)}.tooltip-title{color:var(--text-color)!important;font-size:1em;margin-bottom:4px}.tooltip-subject{color:var(--text-muted);font-size:.85em;margin-bottom:8px}.subunit-block-tooltip hr{background-color:var(--border-color);border:none;height:1px;margin:8px 0}.library-legend{border-top:1px solid var(--border-color);color:var(--text-muted);display:flex;font-size:.9em;gap:20px;justify-content:center;margin-top:30px;padding-top:20px}.legend-swatch{border-radius:0;height:16px;width:16px}.legend-swatch.mastered{background-color:var(--challenge-color)}.legend-swatch.in_progress{background-color:var(--refine-color)}.legend-swatch.not_started{background-color:var(--learn-color)}.dark-mode .legend-swatch.not_started{background-color:#9c8a5c}.locked-subject{cursor:pointer;opacity:.7}.locked-subject:hover{opacity:1}.lock-icon{color:var(--accent-color-secondary);font-size:.9em;margin-left:8px}.blurred-content{filter:blur(2px) grayscale(100%);opacity:.5;pointer-events:none}.cal-layout{display:flex;justify-content:center;padding:30px}.cal-main-panel{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;flex-grow:1;max-width:900px;padding:25px}.cal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.cal-header h2{color:var(--text-color);font-family:var(--font-heading);font-size:1.5em;margin:0}.cal-header button{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.cal-header button:hover{background-color:var(--hover-bg);color:var(--accent-color-primary)}.cal-grid{display:flex;flex-direction:column}.cal-weekdays{margin-bottom:5px}.cal-days-grid,.cal-weekdays{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr)}.cal-day-name{color:var(--text-muted);font-family:var(--font-heading);font-weight:700;padding:10px 0;text-align:center}.cal-day{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;cursor:pointer;display:flex;flex-direction:column;min-height:110px;overflow:hidden;padding:8px;position:relative;transition:all .15s ease-out}.cal-day:not(.blank):hover{border-color:var(--accent-color-primary);box-shadow:0 5px 15px #00000012;transform:translateY(-2px);z-index:10}.cal-day.blank{background-color:initial;border-color:#0000;cursor:default}.cal-day-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:5px;min-height:24px}.cal-day-number{color:var(--text-color);font-family:var(--font-heading);font-weight:600}.cal-day-tasks{display:flex;flex-direction:column;flex-grow:1;gap:3px;overflow:hidden;padding-top:4px}.cal-task-pill{align-items:center;border-radius:4px;color:var(--text-color);display:flex;font-size:.8em;font-weight:600;gap:5px;overflow:hidden;padding:3px 6px;text-overflow:ellipsis;white-space:nowrap}.cal-task-pill .material-symbols-outlined{font-size:1.2em;vertical-align:middle}.cal-task-pill.new-material{background-color:var(--learn-color)}.cal-task-pill.practice{background-color:var(--refine-color)}.cal-task-pill.review{background-color:var(--challenge-color)}.cal-more-tasks-indicator{color:var(--text-muted);font-size:.75em;font-weight:700;margin-top:2px;padding-left:6px}.cal-bar-exam-day-summary,.cal-break-day-summary{align-items:center;color:var(--text-muted);display:flex;flex-grow:1;font-size:.9em;font-style:italic;gap:6px;justify-content:center}.cal-bar-exam-day-summary{color:var(--error-color);font-weight:600}.cal-consolidation-marker{align-items:center;color:var(--refine-color);display:flex;font-family:var(--font-heading);font-size:.7em;font-weight:800;gap:4px;letter-spacing:.5px;margin-top:auto;opacity:.9;padding-top:4px;text-transform:uppercase}.cal-day.is-today{border:2px solid var(--accent-color-primary);box-shadow:0 0 15px color-mix(in srgb,var(--accent-color-primary) 20%,#0000)}.cal-day.past-day{cursor:not-allowed;opacity:.7}.cal-day.past-day:hover{border-color:var(--border-color);box-shadow:none;transform:none}.cal-day.past-complete{background-color:color-mix(in srgb,var(--success-color) 8%,var(--card-bg))}.cal-day.past-incomplete{background-color:color-mix(in srgb,var(--flagged-color) 10%,var(--card-bg))}.cal-day.break-day{background-color:var(--hover-bg)}.cal-day.bar-exam{background-color:color-mix(in srgb,var(--error-color) 5%,var(--card-bg));cursor:not-allowed}.cal-day.bar-exam:hover{border-color:var(--border-color);box-shadow:none;transform:none}.cal-day.consolidation{background-color:color-mix(in srgb,var(--refine-color) 5%,var(--card-bg));border-style:solid}.cal-day.consolidation:hover{border-color:var(--refine-color)}.cal-event-marker-area{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.cal-event-marker{align-items:center;border-radius:0;display:flex;font-family:var(--font-heading);font-size:.75em;font-weight:700;gap:4px;padding:2px 6px;white-space:nowrap}.cal-event-marker .material-symbols-outlined{font-size:1.2em}.cal-event-marker.mastery-date{background-color:var(--challenge-color);border-radius:10px;color:var(--accent-text-color)}.cal-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0d1c2ecc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.cal-modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;display:flex;flex-direction:column;max-height:90vh;max-width:650px;overflow-y:auto;padding:0;position:relative;width:90%}.cal-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px}.cal-modal-title{color:var(--text-color);font-family:var(--font-heading);font-size:1.6em;margin:0}.cal-modal-close-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:2.5em;line-height:1;position:static}.cal-modal-close-button:hover{color:var(--error-color)}.cal-modal-consolidation-banner{align-items:center;background-color:color-mix(in srgb,var(--refine-color) 15%,var(--card-bg));border-bottom:1px solid var(--border-color);color:var(--refine-color);display:flex;font-family:var(--font-heading);font-size:.9em;font-weight:800;gap:8px;letter-spacing:.5px;padding:10px 20px;text-transform:uppercase}.cal-modal-body{flex-grow:1;overflow-y:auto;padding:25px}.cal-modal-footer{border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;padding:15px 25px}.cal-break-day-message,.cal-no-tasks-message,.cal-setup-message{color:var(--text-muted);font-size:1.1em;padding:40px;text-align:center}.cal-modal-btn{background-color:var(--accent-color-primary);border:2px solid var(--text-color);border-radius:0;box-shadow:3px 3px 0 0 var(--text-color);color:var(--accent-text-color);cursor:pointer;font-family:var(--font-heading);font-weight:700;padding:10px 20px;text-decoration:none;transition:transform .1s ease-out,box-shadow .1s ease-out}.cal-modal-btn:focus,.cal-modal-btn:hover{box-shadow:2px 2px 0 0 var(--text-color);transform:translate(1px,1px)}.cal-modal-btn:active{box-shadow:0 0 0 0 var(--text-color);transform:translate(3px,3px)}.cal-modal-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.cal-phase-start-btn,.cal-work-ahead-btn{font-family:var(--font-heading);font-weight:600}.cal-work-ahead-btn{background-color:var(--refine-color);border-color:var(--text-color)}.cal-phases-list{display:flex;flex-direction:column;gap:10px}.cal-phase-item-detailed{border:1px solid var(--border-color);border-radius:0;overflow:hidden}.cal-phase-item-detailed summary{align-items:center;background-color:var(--card-bg);cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:15px;transition:background-color .2s}.cal-phase-item-detailed summary::-webkit-details-marker{display:none}.cal-phase-item-detailed summary:hover{background-color:var(--hover-bg)}.cal-phase-item-detailed[open]>summary{border-bottom:1px solid var(--border-color)}.cal-phase-details{align-items:center;display:flex;gap:15px}.cal-phase-details .material-symbols-outlined{color:var(--accent-color-primary);font-size:1.8em}.cal-phase-item-detailed.completed summary .material-symbols-outlined,.cal-phase-item-detailed[open]>summary .material-symbols-outlined{color:var(--success-color)}.cal-phase-info h4{color:var(--text-color);font-size:1.1em;margin:0}.cal-phase-info span{color:var(--text-muted);font-size:.9em}.consolidation-text{color:var(--refine-color)!important}.cal-phase-item-details-content{animation:fadeIn .3s ease;background-color:var(--bg-color-light);padding:15px}.cal-rule-list-in-modal{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.cal-rule-list-item{background-color:var(--card-bg);border-left:3px solid var(--border-color);font-size:.9em;padding:8px 12px}.cal-no-items-in-phase{color:var(--text-muted);font-size:.9em;padding:10px 0;text-align:center}.dashboard-grid .cal-layout{height:100%;padding:0;width:100%}.dashboard-grid .cal-main-panel{display:flex;flex-direction:column;max-height:100%;max-width:100%;padding:15px}.dashboard-grid .cal-grid{flex-grow:1}.dashboard-grid .cal-days-grid{height:100%}.dashboard-grid .cal-day{min-height:80px;padding:5px}.dashboard-grid .cal-day-name{padding:5px 0}.dashboard-grid .cal-day-header{margin-bottom:2px;min-height:16px}.dashboard-grid .cal-task-pill{font-size:.7em;gap:3px;padding:2px 4px}.dashboard-grid .cal-task-pill .pill-label{display:none}.dashboard-grid .cal-event-marker-area{display:flex}.planner-view-container{display:flex;flex-direction:column;gap:25px;padding:25px 40px}.planner-header{align-items:flex-end;display:flex;flex-wrap:wrap;justify-content:space-between}.planner-title h1{color:var(--text-color);font-size:2.2em;margin:0}.planner-title p{color:var(--accent-color-secondary);font-size:1.1em;margin:5px 0 0}.planner-view-toggles{background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;display:flex;gap:5px;margin-right:20px;padding:4px}.toggle-tab{align-items:center;background:#0000;border:none;border-radius:2px;color:var(--text-muted);cursor:pointer;display:flex;font-family:var(--font-heading);font-size:.9em;font-weight:700;gap:6px;padding:8px 16px;transition:all .2s}.toggle-tab:hover{color:var(--text-color)}.toggle-tab.active{background-color:var(--card-bg);box-shadow:0 2px 4px #0000000d;color:var(--accent-color-primary)}.planner-calendar-wrapper{background:var(--card-bg);border:1px solid var(--border-color);margin-top:0;padding:0}.planner-calendar-wrapper .cal-layout{padding:0;width:100%}.planner-calendar-wrapper .cal-main-panel{border:none;box-shadow:none;max-width:none;padding:20px}.planner-controls-toolbar{background-color:var(--card-bg);border:1px solid var(--border-color);padding:20px 25px}.controls-toolbar-content{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.control-group label{color:var(--text-color);display:block;font-family:var(--font-heading);font-size:.9em;font-weight:700;margin-bottom:5px}.control-group input[type=date],.day-selector button{transition:opacity .3s}.planner-view-container.view-mode .control-group input[type=date],.planner-view-container.view-mode .day-selector button{opacity:.6;pointer-events:none}.control-group input[type=date]{color:var(--text-color);font-family:var(--font-body);font-size:1em;padding:8px}.control-group input[type=date],.day-selector button{background-color:var(--card-bg);border:1px solid var(--border-color)}.day-selector button{box-shadow:1px 1px 0 0 var(--text-color);color:var(--text-muted);cursor:pointer;font-family:var(--font-heading);font-weight:700;height:35px;transition:all .2s;width:35px}.day-selector button.active{background-color:var(--accent-color-primary);border-color:var(--accent-color-primary);color:var(--accent-text-color)}.recalculate-banner{align-items:center;background-color:var(--flagged-color);border:2px solid var(--text-color);box-shadow:4px 4px 0 0 var(--text-color);color:var(--accent-text-color);display:flex;gap:20px;justify-content:space-between;margin-top:25px;padding:15px;text-align:center}.recalculate-banner p{align-items:center;display:flex;font-family:var(--font-heading);gap:10px;margin:0}.banner-actions{display:flex;gap:10px}.banner-actions .btn.secondary{background-color:#fff3;border-color:var(--accent-text-color);box-shadow:3px 3px 0 0 var(--accent-text-color);color:var(--accent-text-color)}.banner-actions .btn.secondary:hover{box-shadow:2px 2px 0 0 var(--accent-text-color)}.banner-actions .btn.secondary:active{box-shadow:0 0 0 0 var(--accent-text-color)}.subject-priority-editor{background-image:repeating-linear-gradient(-45deg,#0000,#0000 10px,#7f7f7f0d 0,#7f7f7f0d 20px);border:2px dashed var(--text-color);padding:20px 25px}.editor-title{color:var(--text-muted);font-family:var(--font-heading);font-size:1.2em;margin:0 0 15px;text-align:center}.priority-list-container{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;min-height:50px}.priority-subject-item{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:2px 2px 0 0 var(--text-color);cursor:grab;display:flex;font-family:var(--font-heading);font-weight:700;gap:8px;padding:8px 15px;position:relative;transition:all .2s ease-out;-webkit-user-select:none;user-select:none}.priority-subject-item.dragging{background-color:var(--hover-bg);box-shadow:none;opacity:.4}.priority-subject-item:active{cursor:grabbing}.priority-subject-item.drop-target-after:after,.priority-subject-item.drop-target-before:before{background-color:var(--accent-color-primary);bottom:-5px;content:"";position:absolute;top:-5px;width:6px;z-index:20}.priority-subject-item.drop-target-before:before{left:-8px}.priority-subject-item.drop-target-after:after{right:-8px}.planner-grid-container{background-color:var(--card-bg);border:1px solid var(--border-color);padding:25px;position:relative}.planner-grid{display:flex;flex-direction:column;gap:15px}.week-row{align-items:stretch;display:flex;gap:15px;min-height:55px}.week-label{align-items:flex-end;border-right:2px solid var(--border-color);color:var(--text-muted);display:flex;flex-basis:120px;flex-direction:column;flex-shrink:0;font-family:var(--font-heading);font-weight:800;justify-content:center;padding-right:15px;text-align:right;-webkit-user-select:none;user-select:none}.week-date-range{color:var(--text-muted);font-size:.75em;font-weight:700}.week-timeline{display:flex;flex-grow:1;gap:5px;min-height:45px;padding:5px}.week-row.break-week .week-timeline,.week-row.buffer-week .week-timeline{background:repeating-linear-gradient(-45deg,#0000,#0000 5px,#7f7f7f1a 0,#7f7f7f1a 10px)}.subject-block{align-items:center;border:2px solid var(--accent-color-primary);box-shadow:2px 2px 0 0 var(--text-color);color:var(--accent-text-color);cursor:pointer;display:flex;font-family:var(--font-heading);font-size:.9em;font-weight:700;justify-content:center;overflow:hidden;padding:8px 12px;position:relative;text-transform:uppercase;transition:all .2s;-webkit-user-select:none;user-select:none}.subject-block:hover{box-shadow:1px 1px 0 0 var(--text-color);transform:translate(1px,1px);z-index:10}.subject-block .mastery-fill{background-color:#ffffff4d;bottom:0;left:0;position:absolute;top:0;transition:width .5s ease-in-out;z-index:1}.subject-block .block-content{position:relative;white-space:nowrap;z-index:2}#loading-state{color:var(--text-muted);font-size:1.2em;padding:50px;text-align:center}.planner-view-container.card-container{max-width:100%!important}.details-modal-header{border-bottom:1px solid var(--border-color);padding:20px 25px}.details-modal-title{color:var(--accent-color-primary);font-size:1.8em;margin:0}.details-modal-body{max-height:70vh;overflow-y:auto;padding:40px 60px}.details-unit{margin-bottom:30px}.details-unit-header{border-bottom:1px solid var(--border-color);font-family:var(--font-heading);font-size:1.3em;margin:0 0 15px;padding-bottom:8px}.details-subunits-wrapper{display:flex;flex-wrap:wrap;gap:10px;padding:10px 0}.details-subunit-block{background-color:var(--border-color);border:2px solid #0000;border-radius:0;cursor:pointer;height:24px;min-width:24px;position:relative;transition:all .2s}.details-subunit-block.active-this-week{background-color:var(--accent-color-primary);border-color:var(--text-color);box-shadow:2px 2px 0 0 var(--text-color);transform:scale(1.1);z-index:5}.subunit-tooltip{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;bottom:calc(100% + 8px);box-shadow:3px 3px 0 0 var(--text-color);left:50%;opacity:0;padding:15px;pointer-events:none;position:absolute;transform:translateX(-50%) translateY(5px);transition:all .2s ease;width:220px;z-index:100}.details-subunit-block:hover .subunit-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}.tooltip-title{font-weight:700}.tooltip-stat{font-size:.9em}.allocate-toggle.btn{position:relative;z-index:10}.cancel.btn.secondary{background-color:red!important}.details-modal-footer{background-color:var(--bg-color-light);border-top:1px solid var(--border-color);padding:15px 25px}.modal-legend{gap:25px;justify-content:center}.legend-item,.modal-legend{align-items:center;display:flex}.legend-item{color:var(--text-muted);font-size:.9em;gap:8px}.legend-swatch{border:2px solid var(--text-color);height:18px;width:18px}.legend-swatch.studied{background-color:var(--accent-color-primary)}.legend-swatch.not-studied{background-color:var(--border-color)}.settings-view-container{margin:0 auto;max-width:1000px;padding-bottom:50px}.settings-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.settings-header h2{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:2.2em;letter-spacing:1px;margin:0;text-transform:uppercase}.header-actions{align-items:center;display:flex;gap:15px}.save-badge{animation:fadeIn .3s ease-out;background:#28a7451a;border:1px solid var(--success-color);color:var(--success-color);font-family:var(--font-heading);font-size:.85em;font-weight:700;padding:4px 10px}.settings-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.settings-card{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:4px 4px 0 0 #0000001a;display:flex;flex-direction:column;transition:transform .2s ease}.settings-card:hover{box-shadow:6px 6px 0 0 #0000001a;transform:translateY(-2px)}.card-header{align-items:center;background:var(--bg-color);border-bottom:1px solid var(--border-color);display:flex;gap:12px;padding:15px 20px}.card-header h3{color:var(--text-color);font-family:var(--font-heading);font-size:1.1em;font-weight:800;margin:0;text-transform:uppercase}.card-header .icon{color:var(--accent-color-primary);font-size:1.4em}.card-body{display:flex;flex-direction:column;flex-grow:1;gap:20px;padding:25px}.membership-card{border:2px solid var(--accent-color-primary);grid-column:1/-1}.membership-card .card-header{background:#2e51750d}.plan-status{align-items:center;border-bottom:1px dashed var(--border-color);display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:15px}.plan-status .label{color:var(--text-muted);font-family:var(--font-heading);font-weight:700}.plan-status .value{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-color);font-family:var(--font-heading);font-size:.9em;font-weight:800;padding:6px 12px;text-transform:uppercase}.plan-desc{color:var(--text-muted);font-size:.95em;line-height:1.5;margin:0}.upgrade-btn-full{background:var(--accent-color-primary);border:2px solid var(--text-color);box-shadow:3px 3px 0 0 var(--text-color);color:var(--accent-text-color);cursor:pointer;font-family:var(--font-heading);font-weight:700;margin-top:15px;padding:12px;transition:all .1s;width:100%}.upgrade-btn-full:hover{box-shadow:4px 4px 0 0 var(--text-color);transform:translate(-1px,-1px)}.upgrade-btn-full:active{box-shadow:1px 1px 0 0 var(--text-color);transform:translate(1px,1px)}.setting-row{align-items:center;display:flex;gap:15px;justify-content:space-between}.setting-col{display:flex;flex-direction:column;gap:10px}label{color:var(--text-muted);font-family:var(--font-heading);font-size:.85em;font-weight:700;text-transform:uppercase}input[type=date],input[type=number],input[type=password],input[type=text],select{background:var(--bg-color);border:1px solid var(--border-color);border-radius:0;color:var(--text-color);font-family:var(--font-body);font-size:1rem;padding:10px;transition:border-color .2s}input:focus,select:focus{background:var(--card-bg);border-color:var(--accent-color-primary);outline:none}input[type=password]{box-sizing:border-box;width:100%}.setting-row input{text-align:right;width:160px}.day-toggles{display:flex;gap:4px}.day-toggles button{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;flex:1 1;font-family:var(--font-heading);font-size:.9em;font-weight:700;padding:10px 0;transition:all .15s}.day-toggles button:hover{background:var(--hover-bg);color:var(--text-color)}.day-toggles button.active{background:var(--accent-color-primary);border-color:var(--text-color);box-shadow:2px 2px 0 0 var(--text-color);color:var(--accent-text-color);transform:translateY(-2px);z-index:2}.danger-zone{border-color:var(--error-color);opacity:.9}.danger-zone .card-header{background:#bb2f2e0d}.danger-zone .icon{color:var(--error-color)}.text-btn{background:none;border:1px solid #0000;color:var(--text-color);cursor:pointer;font-family:var(--font-heading);font-weight:600;padding:12px;text-align:left;transition:all .2s}.text-btn:hover{background:var(--hover-bg);border-color:var(--border-color)}.text-btn.danger{border:1px solid var(--error-color);color:var(--error-color)}.text-btn.danger:hover{background:var(--error-color);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.settings-grid{grid-template-columns:1fr}.membership-card{grid-column:auto}}.zen-mode-layout{flex-direction:column;justify-content:center;margin:0 auto;max-width:900px;min-height:calc(100vh - 100px);padding:20px}.zen-mode-layout,.zen-top-bar{align-items:center;box-sizing:border-box;display:flex;width:100%}.zen-top-bar{justify-content:space-between;margin-bottom:20px;max-width:700px;padding:0 10px}.denovo-tracer-bar{display:flex;gap:2px}.tracer-item{align-items:baseline;display:flex;font-family:var(--font-heading);font-size:1.4em;font-weight:700;gap:4px;padding:0 8px}.tracer-item .label{font-size:.5em;font-weight:600;opacity:.7;text-transform:uppercase}.tracer-item.new{color:var(--accent-color-secondary)}.tracer-item.learning{color:var(--flagged-color)}.tracer-item.review{color:var(--success-color)}.zen-actions{display:flex;gap:10px}.icon-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:2px 2px 0 0 var(--text-color);color:var(--text-muted);cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .1s ease-out;width:44px}.icon-btn:hover:not(:disabled){box-shadow:3px 3px 0 0 var(--text-color);color:var(--text-color);transform:translate(-1px,-1px)}.icon-btn:active:not(:disabled){box-shadow:1px 1px 0 0 var(--text-color);transform:translate(1px,1px)}.icon-btn.active{background-color:var(--flagged-color);border-color:var(--text-color);color:#fff}.zen-card{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:8px 8px 0 0 #00000026;box-sizing:border-box;display:flex;flex-direction:column;margin-bottom:30px;max-width:700px;min-height:450px;padding:50px;position:relative;width:100%}.zen-card-header{border-bottom:2px solid var(--border-color);margin-bottom:30px;padding-bottom:15px;text-align:left}.zen-meta{color:var(--accent-color-secondary);font-family:var(--font-heading);font-size:.85rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.separator{color:var(--border-color);margin:0 10px}.zen-scroll-area{flex-grow:1;font-family:var(--font-body);font-size:1.25rem;line-height:2;overflow-y:auto;text-align:left}.zen-cloze,.zen-scroll-area{color:var(--text-color);cursor:pointer}.zen-cloze{border-bottom:2px solid var(--accent-color-secondary);display:inline;font-weight:600;padding:0 2px}.zen-cloze.hidden .cloze-placeholder{background-color:var(--hover-bg);border-radius:2px;color:var(--text-muted);letter-spacing:-2px;opacity:.5;padding:0 4px}.zen-cloze.revealed{border-bottom:none;color:var(--accent-color-primary);cursor:default}.zen-controls-container{display:flex;height:80px;justify-content:center;max-width:700px;width:100%}.rating-group{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr);width:100%}.zen-btn{align-items:center;background:var(--bg-color);border:1px solid var(--border-color);border-radius:0;box-shadow:3px 3px 0 var(--text-color);color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-heading);font-size:1.1rem;font-weight:800;justify-content:center;padding:10px 0;transition:all .1s}.btn-sub{font-size:.7em;font-weight:500;margin-bottom:2px;opacity:.8;text-transform:uppercase}.zen-btn:hover{box-shadow:4px 4px 0 var(--text-color);color:var(--text-color);transform:translate(-1px,-1px)}.zen-btn:active{box-shadow:1px 1px 0 var(--text-color);transform:translate(1px,1px)}.zen-btn.again{border-bottom:4px solid var(--error-color)}.zen-btn.hard{border-bottom:4px solid var(--flagged-color)}.zen-btn.good{border-bottom:4px solid var(--success-color)}.zen-btn.easy{border-bottom:4px solid var(--accent-color-secondary)}.zen-btn.show-answer{background-color:var(--accent-color-primary);border:2px solid var(--text-color);box-shadow:4px 4px 0 0 var(--text-color);color:var(--accent-text-color);width:100%}.zen-btn.show-answer:hover{box-shadow:5px 5px 0 0 var(--text-color);color:#fff;transform:translate(-1px,-1px)}.zen-btn.show-answer:active{box-shadow:2px 2px 0 0 var(--text-color);transform:translate(2px,2px)}.de-novo-home-wrapper{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.home-screen-content{max-width:800px;text-align:center;width:100%}.home-title{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:3em;letter-spacing:-1px;margin:0 0 10px;text-transform:uppercase}.home-subtitle{color:var(--text-muted);font-family:var(--font-body);font-size:1.1em;font-style:italic;margin-bottom:40px}.dashboard-card{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:6px 6px 0 0 #0000000d;margin-bottom:30px;margin-left:auto;margin-right:auto;max-width:600px;padding:30px}.big-start-btn{background:var(--accent-color-primary);border:2px solid var(--text-color);box-shadow:5px 5px 0 0 var(--text-color);color:#fff;cursor:pointer;font-family:var(--font-heading);font-size:1.1em;font-weight:800;letter-spacing:1px;padding:15px;text-transform:uppercase;transition:all .15s;width:100%}.big-start-btn:hover{box-shadow:7px 7px 0 0 var(--text-color);transform:translate(-2px,-2px)}.big-start-btn:active{box-shadow:1px 1px 0 0 var(--text-color);transform:translate(2px,2px)}.big-start-btn:disabled{background:var(--border-color);box-shadow:none;color:var(--text-muted);cursor:not-allowed;transform:none}.quick-actions{display:flex;gap:20px;justify-content:center}.text-link{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-heading);font-size:.9em;font-weight:700}.text-link:hover{color:var(--accent-color-primary);text-decoration:underline}.vitals-header{align-items:center;display:flex;gap:8px}.info-tooltip-container{align-items:center;cursor:pointer;display:flex;position:relative}.info-icon{color:var(--text-muted);font-size:1.1em;transition:color .2s}.info-icon:hover{color:var(--accent-color-primary)}.vitals-tooltip{background:var(--card-bg);border:1px solid var(--border-color);bottom:120%;box-shadow:3px 3px 0 0 var(--text-color);color:var(--text-color);font-family:var(--font-body);font-size:.9em;opacity:0;padding:15px;pointer-events:none;text-align:left;transition:opacity .2s;width:280px;z-index:100}.vitals-tooltip,.vitals-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.vitals-tooltip:after{border-color:var(--border-color) #0000 #0000 #0000;border-style:solid;border-width:6px;content:"";top:100%}.info-tooltip-container:hover .vitals-tooltip{opacity:1;pointer-events:auto}.vitals-tooltip strong{color:var(--accent-color-primary);display:block;font-family:var(--font-heading);margin-bottom:5px}.vitals-tooltip p{line-height:1.4;margin:0 0 10px}.vitals-tooltip ul{margin:0;padding-left:20px}.vitals-tooltip li{font-size:.9em;margin-bottom:4px}.stats-grid-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 auto;max-width:800px;width:100%}.stats-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;padding:20px;text-align:center}.stats-card-value{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:2.5em;font-weight:700}.stats-card-label{color:var(--text-muted);font-family:var(--font-heading);font-size:.9em;margin-top:5px}@media (max-width:768px){.zen-card{min-height:400px;padding:30px 20px}.rating-group{gap:8px}.zen-btn{font-size:.9rem}}.zen-keynote-container{animation:slideUpKeynote .3s ease-out forwards;background-color:#fefae0;border:1px solid var(--border-color);border-radius:0;box-shadow:4px 4px 0 #0000000d;margin-top:35px;padding:20px;position:relative}body.dark-mode .zen-keynote-container{background-color:#ffffff0d;border:1px dashed var(--accent-color-secondary)}.zen-keynote-label{align-items:center;border-bottom:1px dashed #0000001a;color:#bfa852;display:flex;font-family:var(--font-heading);font-size:.8rem;font-weight:800;gap:6px;letter-spacing:1px;margin-bottom:10px;padding-bottom:8px;text-transform:uppercase}body.dark-mode .zen-keynote-label{border-bottom-color:#ffffff1a;color:var(--accent-color-secondary)}.zen-keynote-text{color:var(--text-color);font-family:var(--font-body);font-size:1.1rem;font-style:italic;line-height:1.5}@keyframes slideUpKeynote{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.zen-mode-layout{justify-content:flex-start;min-height:calc(100vh - 60px);padding:10px}.zen-top-bar{margin-bottom:10px}.zen-card{min-height:50vh;padding:25px 20px}.zen-scroll-area{font-size:1.1rem;line-height:1.6}.zen-controls-container{height:auto;margin-top:10px}.rating-group{gap:8px}.zen-btn{font-size:.85rem;padding:15px 5px}.home-title{font-size:2.2rem}.stats-grid-container{grid-template-columns:1fr 1fr}}.rule-dossier{background-color:var(--card-bg);border-left:1px solid var(--border-color);border:1px solid var(--border-color);border-left-width:6px;border-radius:0;box-shadow:4px 4px 0 0 var(--text-muted);cursor:default;display:flex;flex-direction:column;justify-content:center;min-height:80px;overflow:hidden;position:relative;transition:all .2s cubic-bezier(.25,.8,.25,1)}.rule-dossier:hover{box-shadow:6px 6px 0 0 var(--text-color);transform:translate(-2px,-2px)}.rule-dossier.status-not_started{border-left-color:var(--learn-color);box-shadow:4px 4px 0 0 #c2ac6f66}.rule-dossier.status-not_started:hover{box-shadow:6px 6px 0 0 var(--learn-color)}.rule-dossier.status-not_started .status-icon{color:var(--learn-color)}.rule-dossier.status-in_progress{border-left-color:var(--refine-color);box-shadow:4px 4px 0 0 #53ac8a66}.rule-dossier.status-in_progress:hover{box-shadow:6px 6px 0 0 var(--refine-color)}.rule-dossier.status-in_progress .status-icon{color:var(--refine-color)}.rule-dossier.status-mastered{border-left-color:var(--challenge-color);box-shadow:4px 4px 0 0 #674ea766}.rule-dossier.status-mastered:hover{box-shadow:6px 6px 0 0 var(--challenge-color)}.rule-dossier.status-mastered .status-icon{color:var(--challenge-color)}.rule-dossier.is-flagged{border:2px solid var(--flagged-color)!important;border-left-width:8px!important;box-shadow:4px 4px 0 0 var(--flagged-color)!important}.rule-dossier.is-flagged .rule-name{color:var(--flagged-color)}.dossier-content-wrapper{box-sizing:border-box;padding:20px 25px;width:100%}.dossier-details{align-items:center;display:flex;gap:20px;width:100%}.status-icon{display:flex;flex-shrink:0;font-size:1.8rem;justify-content:center;opacity:.9;width:40px}.rule-dossier h3.rule-name{word-wrap:break-word;color:var(--text-color);flex-grow:1;font-family:var(--font-heading);font-size:1.15em;font-weight:800;-webkit-hyphens:auto;hyphens:auto;line-height:1.4;margin:0;overflow-wrap:break-word}.dossier-preview-text{display:none}.dossier-actions{align-items:center;background-color:var(--card-bg);background:linear-gradient(to right,var(--card-bg) 10%,var(--card-bg) 100%);display:flex;gap:25px;height:100%;justify-content:center;left:0;opacity:.96;opacity:0;position:absolute;top:0;transition:all .2s ease-in-out;visibility:hidden;width:100%;z-index:10}.rule-dossier:hover .dossier-actions{opacity:.98;visibility:visible}.action-icon-btn{align-items:center;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:50%;box-shadow:0 4px 6px #0000000d;color:var(--text-muted);cursor:pointer;display:flex;font-size:1.5em;height:50px;justify-content:center;transform:scale(.8);transition:all .2s cubic-bezier(.175,.885,.32,1.275);width:50px}.rule-dossier:hover .action-icon-btn{transform:scale(1)}.action-icon-btn:hover{background-color:var(--accent-color-primary);border-color:var(--accent-color-primary);box-shadow:0 6px 12px #0000001a;color:var(--accent-text-color);transform:scale(1.1)}.action-icon-btn.flag-btn:hover{background-color:var(--flagged-color);border-color:var(--flagged-color)}.action-icon-btn.flag-btn.active{background-color:var(--bg-color);border-color:var(--flagged-color);color:var(--flagged-color)}.action-icon-btn.flag-btn.active:hover{background-color:var(--flagged-color);color:#fff}.quiz-dossier{border-left-color:var(--accent-color-secondary)}.quiz-dossier .status-icon{color:var(--accent-color-secondary)}@media (max-width:900px){.rule-dossier{display:block;min-height:auto}.dossier-content-wrapper{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr;padding:15px 20px}.dossier-details{align-items:flex-start}.status-icon{margin-top:2px}.dossier-actions{background:#0000;border-top:1px solid var(--border-color);height:auto;justify-content:space-between;margin-top:5px;opacity:1;padding-top:15px;position:relative;visibility:visible}.action-icon-btn{background-color:initial;border:1px solid #0000;border-radius:4px;box-shadow:none;flex-grow:1;height:auto;padding:10px 20px;transform:none!important;width:auto}.action-icon-btn:hover{transform:none}.action-icon-btn{background-color:var(--bg-color);border:1px solid var(--border-color)}}.corpus-header-widgets{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.subject-dropdown{display:inline-block;position:relative}.subject-trigger{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;font-family:var(--font-heading);font-size:1rem;font-weight:700;padding:10px 18px}.subject-trigger:hover{color:var(--accent-color-primary)}.subject-menu{background:var(--card-bg);border:1px solid var(--border-color);display:none;left:0;list-style:none;margin:2px 0 0;min-width:200px;padding:8px;position:absolute;top:100%;z-index:10}.subject-dropdown:hover .subject-menu{display:block}.subject-menu li{margin:0}.subject-menu button{background:#0000;border:none;color:var(--text-muted);cursor:pointer;display:block;font-family:var(--font-heading);font-size:.95rem;padding:10px;text-align:left;transition:all .2s ease;width:100%}.subject-menu button:hover{background:var(--hover-bg);color:var(--accent-color-primary)}.corpus-progress-container{align-items:center;flex-grow:1;justify-content:center;margin:auto}.corpus-header{align-items:flex-end;display:flex}.main-actions{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.content-actions,.utility-actions{display:flex;flex-wrap:wrap;gap:10px}.search-bar{background-color:var(--card-bg);border:1px solid var(--border-color);box-sizing:border-box;color:var(--text-color);font-family:var(--font-body);font-size:.95em;padding:10px 15px;width:100%}.status-filter-group{grid-gap:8px;border:none;display:grid;gap:8px;grid-template-columns:1fr 1fr;height:auto;margin-top:15px;overflow:visible;width:100%}.status-filter-group button{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;font-family:var(--font-heading);font-size:.85em;font-weight:700;justify-content:center;padding:10px 8px;text-transform:uppercase;transition:all .2s ease}.status-filter-group button:first-child{border-left:1px solid var(--border-color);grid-column:1/-1}.status-filter-group button:hover{background-color:var(--hover-bg);box-shadow:2px 2px 0 #0000000d;color:var(--accent-color-primary);transform:translateY(-1px)}.status-filter-group button.active{background-color:var(--accent-color-primary);border-color:var(--accent-color-primary);box-shadow:2px 2px 0 #0000001a;color:var(--accent-text-color)}.add-rule-btn,.read-btn{font-size:.9em;padding:8px 15px}.chapter-actions-container{display:flex;gap:15px;justify-content:space-around;padding:10px 0}.chapter-btn{flex-grow:1;font-size:1.1em;padding:12px 25px}.chapter-btn.learn{background-color:var(--learn-color)}.chapter-btn.refine{background-color:var(--refine-color)}.chapter-btn.challenge{background-color:var(--challenge-color)}.chapter-btn.flagged{background-color:var(--flagged-color)}.chapter-btn:disabled{background-color:var(--border-color);border:1px solid var(--border-color);box-shadow:none;color:var(--text-muted);cursor:not-allowed;opacity:1}.sidebar-utilities{border-top:1px solid var(--border-color);display:flex;gap:10px;padding-top:20px}.sidebar-utilities .btn-secondary{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-muted);flex:1 1;font-size:.95em;padding:10px 15px;text-align:center}.sidebar-utilities .btn-secondary:hover{border-color:var(--accent-color-primary);color:var(--accent-color-primary)}.corpus-layout-container{border-top:1px solid var(--border-color);display:flex;gap:40px;margin-top:25px;padding-top:25px}.corpus-sidebar{align-self:flex-start;display:flex;flex:0 0 280px;flex-direction:column;height:calc(100vh - 150px);overflow-y:auto;padding-right:10px;position:-webkit-sticky;position:sticky;top:120px}.sidebar-section{margin-bottom:25px;padding-bottom:5px}.corpus-sidebar .scrollable-nav{flex-grow:1;margin-bottom:0}.corpus-sidebar nav ul{list-style:none;margin:0;padding:0}.corpus-sidebar nav li a{border-left:4px solid #0000;border-radius:4px;color:var(--text-muted);display:block;font-family:var(--font-heading);font-size:.95em;font-weight:600;margin-bottom:2px;padding:10px 15px;text-decoration:none;transition:all .2s ease}.corpus-sidebar nav li a:hover{background-color:var(--hover-bg);color:var(--text-color)}.corpus-sidebar nav li a.active{background-color:var(--hover-bg);border-left-color:var(--accent-color-primary);color:var(--accent-color-primary)}.corpus-main-content{flex-grow:1;min-width:0}.content-section{margin-bottom:30px}.content-section-header{border-bottom:1px solid var(--border-color);color:var(--text-color);font-family:var(--font-heading);font-weight:800;margin:0 0 25px;padding-bottom:15px;scroll-margin-top:120px}h2.content-section-header{font-size:1.8em}h3.content-section-header{font-size:1.5em;margin-top:20px}h4.content-section-header{border-bottom-style:dashed;font-size:1.2em;margin-top:15px}.dossier-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.nested-hierarchy{border-left:2px solid var(--border-color);margin-top:30px;padding-left:20px}.no-results-message{color:var(--text-muted);font-size:1.1em;font-style:italic;padding:40px;text-align:center}.locked-option{cursor:not-allowed!important;opacity:.5}@media (max-width:900px){.corpus-layout-container{border-top:none;flex-direction:column;margin-top:10px}.corpus-sidebar{border-bottom:4px solid var(--border-color);border-right:none;height:auto;margin-bottom:30px;max-height:none;overflow:visible;padding-bottom:20px;position:relative;top:0;width:100%}.corpus-sidebar nav ul{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px}.corpus-sidebar nav li a{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:8px 15px;white-space:nowrap}.chapter-actions-container{flex-direction:column;gap:10px}.dossier-grid{grid-template-columns:1fr}.rule-dossier{min-width:0;width:100%}.corpus-header{align-items:stretch;flex-direction:column;gap:15px}.corpus-progress-container{width:100%}.subject-trigger{text-align:center;width:100%}}.tutorial-overlay{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:9990}.highlight-box{border:3px solid var(--accent-color-secondary);border-radius:4px;box-shadow:0 0 0 9999px #0d1c2ed9;pointer-events:none;position:absolute;transition:all .4s cubic-bezier(.25,1,.5,1);z-index:9995}.tutorial-tooltip{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:0;box-shadow:0 10px 25px #00000080;color:var(--text-color);max-width:400px;opacity:0;padding:25px;pointer-events:auto;position:fixed;transform:scale(.95);transition:opacity .3s ease,transform .3s ease,top .4s ease,left .4s ease;z-index:10000}.tutorial-tooltip.visible{opacity:1;transform:scale(1) translate(var(--tw-translate-x),var(--tw-translate-y))}.tooltip-title{border-bottom:2px solid var(--accent-color-secondary);color:var(--accent-color-primary);display:inline-block;font-family:var(--font-heading);font-size:1.4em;font-weight:800;margin:0 0 10px;padding-bottom:8px}.tooltip-content{color:var(--text-color);font-family:var(--font-body);font-size:1.05em;line-height:1.6;margin-bottom:25px;white-space:pre-line}.tooltip-nav{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding-top:15px}.tooltip-progress{color:var(--text-muted);font-family:var(--font-heading);font-size:.85em;font-weight:700;letter-spacing:1px;text-transform:uppercase}.tooltip-actions{display:flex;gap:12px}.tooltip-btn{border-radius:0;cursor:pointer;font-family:var(--font-heading);font-size:.9em;font-weight:700;padding:8px 16px;transition:all .2s}.tooltip-btn.secondary{background:#0000;border:1px solid var(--text-muted);color:var(--text-muted)}.tooltip-btn.secondary:hover{border-color:var(--text-color);color:var(--text-color)}.tooltip-btn.btn{background-color:var(--accent-color-primary);border:1px solid var(--text-color);box-shadow:3px 3px 0 0 var(--text-color);color:var(--accent-text-color)}.tooltip-btn.btn:hover{box-shadow:4px 4px 0 0 var(--text-color);transform:translate(-1px,-1px)}.setup-container{align-items:center;background-color:var(--bg-color);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:20px;width:100%}.setup-panel{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:15px 15px 0 0 #0000001a;max-width:900px;width:100%}.setup-progress-bar{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);height:6px;width:100%}.progress-fill{background-color:var(--accent-color-primary);height:100%;transition:width .5s ease-in-out}.setup-step-content{justify-content:center;min-height:500px;padding:50px}.setup-step,.setup-step-content{align-items:center;display:flex;flex-direction:column}.setup-step{animation:fadeSlideUp .5s ease-out;max-width:700px;width:100%}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.step-title{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:2.5em;letter-spacing:2px;margin:0 0 10px;text-align:center;text-transform:uppercase}.step-subtitle{color:var(--text-muted);font-family:var(--font-body);font-size:1.25em;line-height:1.6;margin:0 0 50px;max-width:600px;text-align:center}.radio-group{gap:30px;width:100%}.radio-group,.radio-group label{display:flex;justify-content:center}.radio-group label{align-items:center;background:var(--bg-color);border:2px solid var(--border-color);cursor:pointer;flex-direction:column;height:200px;transition:all .2s ease;width:200px}.radio-group input[type=radio]{display:none}.radio-group label>span{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-family:var(--font-heading);font-size:1.1em;font-weight:700;gap:20px;text-transform:uppercase}.radio-group span .material-symbols-outlined{font-size:4em}.radio-group label:has(input:checked){background-color:var(--card-bg);border-color:var(--accent-color-primary);box-shadow:8px 8px 0 0 var(--accent-color-primary);transform:translate(-4px,-4px)}.radio-group label:has(input:checked) span{color:var(--accent-color-primary)}.radio-group label:hover{background-color:var(--hover-bg)}.form-group{align-items:center;display:flex;flex-direction:column;margin-bottom:25px;width:100%}.form-group label{color:var(--text-color);display:block;font-family:var(--font-heading);font-size:.9em;font-weight:800;margin-bottom:10px;text-transform:uppercase}.form-group input[type=text]{background:var(--bg-color);border:2px solid var(--border-color);border-radius:0;box-sizing:border-box;color:var(--text-color);font-family:var(--font-body);font-size:1.3em;padding:15px 20px;width:100%}.form-group input:focus{border-color:#0000;outline:2px solid var(--accent-color-primary)}.calendar-artifact-wrapper{max-width:600px;width:100%}.calendar-summary-bar{display:flex;gap:20px;justify-content:space-between;margin-bottom:25px;width:100%}.calendar-date-display{background:var(--bg-color);border:2px solid var(--border-color);flex:1 1;font-family:var(--font-heading);padding:15px;text-align:center}.calendar-date-display strong{color:var(--accent-color-primary);display:block;font-size:.85em;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.calendar-date-display span{font-size:1.1em;font-weight:700}.calendar-container{background:var(--card-bg);border:2px solid var(--border-color);box-shadow:10px 10px 0 0 #0000000d;box-sizing:border-box;padding:25px;width:100%}.calendar-header-wrapper{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.calendar-header{color:var(--text-color);font-family:var(--font-heading);font-size:1.4em;font-weight:800;margin:0}.calendar-nav-btn{align-items:center;background:#0000;border:2px solid var(--border-color);color:var(--text-muted);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .1s;width:40px}.calendar-nav-btn:hover{background-color:var(--accent-color-primary);border-color:var(--accent-color-primary);color:#fff}.calendar-weekdays{color:var(--text-muted);font-family:var(--font-heading);font-size:.9em;font-weight:700;margin-bottom:10px;text-align:center}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-grid{grid-gap:4px;gap:4px}.calendar-day{align-items:center;aspect-ratio:1;background:var(--bg-color);border:1px solid #0000;cursor:pointer;display:flex;font-family:var(--font-heading);font-size:1em;font-weight:600;justify-content:center;transition:all .1s}.calendar-day.blank{background:#0000;cursor:default}.calendar-day.is-past{cursor:default;opacity:.3}.calendar-day:hover:not(.blank):not(.is-past){background:var(--hover-bg);border-color:var(--accent-color-primary)}.calendar-day.selected-start{background:var(--accent-color-primary);border-color:var(--accent-color-primary)}.calendar-day.selected-end,.calendar-day.selected-start{box-shadow:2px 2px 0 0 var(--text-color);color:#fff;transform:translate(-1px,-1px);z-index:2}.calendar-day.selected-end{background:var(--error-color);border-color:var(--error-color)}.calendar-day.selected-range{background:var(--hover-bg);border:1px dashed var(--accent-color-secondary);color:var(--text-color)}.day-input{align-items:center;display:flex;gap:20px;margin-top:10px;width:75%}.hour-display{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:2em;font-weight:800;min-width:100px;text-align:right}.study-day-selector{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;width:-webkit-fit-content!important;width:fit-content!important}.study-day-btn{background:var(--bg-color);border:2px solid var(--border-color);color:var(--text-muted);cursor:pointer;font-family:var(--font-heading);font-size:1.1em;font-weight:700;height:60px;transition:all .1s;width:60px}.study-day-btn:hover{border-color:var(--accent-color-primary);color:var(--accent-color-primary)}.study-day-btn.active{background:var(--accent-color-primary);border-color:var(--text-color);box-shadow:4px 4px 0 0 var(--text-color);color:#fff;transform:translate(-2px,-2px)}.review-summary{background:var(--bg-color);border:2px solid var(--border-color);font-family:var(--font-body);padding:40px;width:100%}.review-summary ul{list-style:none;margin:0;padding:0}.review-summary li{border-bottom:1px dashed var(--border-color);display:flex;font-size:1.1em;justify-content:space-between;padding:20px 0}.review-summary li:last-child{border-bottom:none}.review-summary strong{color:var(--text-muted);font-family:var(--font-heading);font-size:.85em;letter-spacing:1px;text-transform:uppercase}.loading-container{align-items:center;animation:fadeIn 1s ease;display:flex;flex-direction:column;text-align:center}.loading-logo{animation:pulse 2s infinite;height:100px;margin-bottom:30px;width:100px}.loading-text{color:var(--accent-color-primary);font-family:var(--font-heading);font-size:2em;margin-bottom:10px}.loading-sub{color:var(--text-muted);font-family:var(--font-body);font-size:1.2em}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.setup-nav{align-items:center;background:var(--bg-color);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:25px 50px}.setup-nav-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-heading);font-size:.9em;font-weight:700;letter-spacing:1px;text-transform:uppercase}.setup-nav-btn:hover{color:var(--text-color)}.setup-next-btn{background-color:var(--accent-color-primary);border:2px solid var(--text-color);box-shadow:4px 4px 0 0 var(--text-color);color:#fff;cursor:pointer;font-family:var(--font-heading);font-size:1em;font-weight:700;padding:12px 30px;text-transform:uppercase;transition:all .1s}.setup-next-btn:hover{box-shadow:5px 5px 0 0 var(--text-color);transform:translate(-1px,-1px)}.setup-next-btn:active{box-shadow:1px 1px 0 0 var(--text-color);transform:translate(2px,2px)}.setup-next-btn:disabled{background-color:var(--border-color);border-color:var(--border-color);box-shadow:none;color:var(--text-muted);cursor:not-allowed;transform:none}.reality-check{text-align:center}@media (max-width:768px){.setup-step-content{padding:20px 15px}.step-title{font-size:1.8em}.radio-group{flex-direction:column;gap:15px}.radio-group label{flex-direction:row;gap:20px;height:80px;justify-content:flex-start;padding-left:30px;width:100%}.radio-group label>span{align-items:center;flex-direction:row;font-size:1rem;gap:15px}.radio-group span .material-symbols-outlined{font-size:2em}.calendar-container{padding:10px}.calendar-day{font-size:.9em;height:40px}.calendar-summary-bar{flex-direction:column;gap:10px}.study-day-selector{gap:8px}.study-day-btn{font-size:.9em;height:40px;width:40px}.day-input{align-items:stretch;flex-direction:column;width:100%}.hour-display{margin-top:10px;text-align:center}}.public-container{background-color:var(--bg-color);display:flex;flex-direction:column;min-height:100vh}.public-content{flex-grow:1;margin:0 auto;max-width:1200px;padding:60px 0;width:90%}.public-nav{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);justify-content:space-between;padding:20px 5%;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-brand,.public-nav{align-items:center;display:flex}.nav-brand{color:var(--accent-color-primary);cursor:pointer;font-family:var(--font-heading);font-size:1.5rem;font-weight:800;gap:10px;letter-spacing:1px;text-transform:uppercase}.nav-links{align-items:center;display:flex;gap:30px}.nav-link{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-heading);font-size:.95rem;font-weight:700;text-decoration:none;transition:color .2s}.nav-link.active,.nav-link:hover{color:var(--accent-color-primary)}.hero-section{margin:0 auto;max-width:800px;padding:80px 0;text-align:center}.hero-title{color:var(--text-color);font-size:4rem;line-height:1.1;margin-bottom:20px}.hero-subtitle{color:var(--text-muted);font-family:var(--font-body);font-size:1.4rem;line-height:1.6;margin-bottom:40px}.hero-cta-group{display:flex;gap:20px;justify-content:center}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:60px}.feature-card{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:4px 4px 0 0 #0000000d;padding:30px;transition:transform .2s}.feature-card:hover{box-shadow:6px 6px 0 0 #0000001a;transform:translateY(-5px)}.feature-icon{color:var(--accent-color-primary);font-size:2.5rem;margin-bottom:20px}.faq-item{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:3px 3px 0 0 #0000000d;margin-bottom:15px}.faq-question{align-items:center;background:none;border:none;color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-heading);font-size:1.1rem;font-weight:700;justify-content:space-between;padding:20px;text-align:left;width:100%}.faq-answer{border-top:1px dashed var(--border-color);color:var(--text-muted);display:none;font-family:var(--font-body);font-size:1.05rem;line-height:1.6;padding:0 20px 20px}.faq-item.open .faq-answer{display:block}.pricing-wrapper{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:40px}.pricing-plan{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:5px 5px 0 0 #0000001a;padding:40px;position:relative;text-align:center}.pricing-plan.featured{border:2px solid var(--accent-color-primary);box-shadow:8px 8px 0 0 #00000026;transform:scale(1.05);z-index:2}.plan-badge{background:var(--accent-color-primary);border:1px solid var(--text-color);color:#fff;font-size:.8rem;left:50%;padding:5px 15px;position:absolute;text-transform:uppercase;top:-12px;transform:translateX(-50%)}.plan-badge,.plan-price{font-family:var(--font-heading);font-weight:800}.plan-price{color:var(--text-color);font-size:3.5rem;margin:20px 0 5px}.plan-features{list-style:none;margin:30px 0;padding:0;text-align:left}.plan-features li{border-bottom:1px dashed var(--border-color);color:var(--text-muted);padding:10px 0}.contact-grid{grid-gap:50px;display:grid;gap:50px;grid-template-columns:1fr 1fr}.contact-info-box{background:var(--hover-bg);border:1px solid var(--border-color);padding:30px}@media (max-width:768px){.nav-links{display:none}.hero-title{font-size:2.5rem}.contact-grid{grid-template-columns:1fr}.pricing-plan.featured{margin-top:20px;transform:none}}.demo-container{margin:0 auto;max-width:800px}.demo-card-frame{justify-content:flex-start;min-height:450px;overflow:hidden;padding:0!important;position:relative}.demo-card-frame,.demo-content{display:flex;flex-direction:column}.demo-content{flex-grow:1;padding:40px}.demo-content.centered-flex{align-items:center;justify-content:center}.demo-cloze-active{background-color:var(--hover-bg);border-bottom:2px solid var(--accent-color-secondary);margin:0 2px;padding:0 4px;position:relative;white-space:nowrap}.demo-block{letter-spacing:-1px;opacity:.3}.demo-word-count{align-items:center;background-color:var(--accent-color-secondary);border-radius:50%;color:#fff;display:inline-flex;font-size:.7em;font-weight:700;height:18px;justify-content:center;line-height:1;margin-left:4px;vertical-align:super;width:18px}.cloze-filled,.demo-revealed-hint{color:var(--accent-color-primary);font-weight:700}.demo-input-area{display:flex;flex-direction:column;gap:15px;margin-top:30px}.demo-actions{align-items:center;display:flex;justify-content:space-between;margin-top:20px}.demo-actions.centered{justify-content:center}.hint-box{color:var(--accent-color-primary);font-style:italic;margin-bottom:15px}.placeholder-box{align-items:center;color:var(--text-muted);display:flex;font-style:italic;justify-content:center;min-height:80px;opacity:.5}.denovo-wrapper{background-color:var(--bg-color);height:100%}.denovo-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.denovo-label{color:var(--text-muted);font-family:var(--font-heading);font-size:.85em;font-weight:700;text-transform:uppercase}.denovo-tracer{align-items:center;color:var(--accent-color-secondary);display:flex;font-size:.8em;font-weight:700;gap:5px}.tracer-dot{background-color:var(--accent-color-secondary);border-radius:50%;height:8px;width:8px}.denovo-card{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:4px 4px 0 0 #0000000d;display:flex;justify-content:center;margin-bottom:30px;min-height:200px;padding:40px}.centered-text{text-align:center}.rating-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);width:100%}.rate-btn{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-heading);font-weight:700;padding:10px;transition:transform .1s}.rate-btn:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.rate-btn span{color:var(--text-color);font-size:.9em}.rate-btn small{color:var(--text-muted);font-size:.7em;margin-top:2px}.rate-btn.again{border-bottom:3px solid var(--error-color)}.rate-btn.hard{border-bottom:3px solid var(--flagged-color)}.rate-btn.good{border-bottom:3px solid var(--success-color)}.rate-btn.easy{border-bottom:3px solid var(--accent-color-secondary)}.text-btn.small{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85em;padding:5px 0}.text-btn.small:hover{color:var(--accent-color-primary);text-decoration:underline}.demo-block{color:var(--text-muted);font-weight:900;letter-spacing:-2px;opacity:.25}.demo-connector{color:var(--text-color);font-weight:700;opacity:.8}.obscured-cloze{background-color:#00000008;border-radius:4px;padding:0 4px}.denovo-cloze-hidden{border-bottom:2px solid var(--accent-color-secondary);cursor:pointer;display:inline-block;margin:0 2px;transition:background-color .2s}.denovo-cloze-hidden:hover{background-color:var(--hover-bg)}.rule-display-text{color:var(--text-color);font-family:var(--font-body)}.hero-textured{background-image:radial-gradient(var(--border-color) 1px,#0000 1px);background-size:30px 30px;padding:100px 20px;position:relative}.feature-card{border-top:5px solid #0000}.feature-card.accent-purple{border-top-color:#8e44ad}.feature-card.accent-green{border-top-color:#27ae60}.feature-card.accent-blue{border-top-color:#2980b9}.inverted-section{background-color:var(--accent-color-primary);border-radius:4px;box-shadow:0 10px 30px #2e51754d;color:#fff;margin-top:100px;overflow:hidden;padding:80px 40px;position:relative;text-align:center}.inverted-section:before{background:#ffffff0d;border-radius:50%;content:"";height:200px;left:-50px;position:absolute;top:-50px;width:200px}.section-title-inverted{border-bottom:none;color:var(--accent-color-secondary);font-family:var(--font-heading);font-size:2.2rem;font-weight:800;letter-spacing:1px;margin-bottom:30px;text-transform:uppercase}.inverted-content{color:#ffffffe6;font-size:1.15em;line-height:1.8;margin:0 auto;max-width:700px}.inverted-content strong{border-bottom:2px solid var(--accent-color-secondary);color:#fff;font-weight:700}
/*# sourceMappingURL=main.67922baa.css.map*/