@import"https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&family=Open+Sans:wght@300;400;500;600;700&family=Amiri:wght@400;700&display=swap";/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Open Sans", sans-serif;--font-serif:"EB Garamond", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:#f8f9fa;--color-foreground:#222;--color-card:#fff;--color-primary:#1a3150;--color-primary-foreground:#fff;--color-muted:#ececf0;--color-muted-foreground:#717182;--color-accent:#c5a253;--color-destructive:#d4183d;--color-border:#1a31501a;--font-arabic:"Amiri", serif;--progress-green:#228b22;--color-mastered:#4a7c59;--color-learning:#d4a574;--color-new:#e8dfd0}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.font-arabic{font-family:var(--font-arabic)}.font-serif{font-family:var(--font-serif)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*{border-color:var(--color-border)}body{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-serif)}.font-arabic{font-family:var(--font-arabic);font-feature-settings:"liga","dlig"}.app-layout{grid-template-columns:300px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--color-card);border-right:1px solid var(--color-border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#1a315026;border-radius:3px}.sidebar-header{text-align:center;border-bottom:1px solid var(--color-border);flex-shrink:0;padding:1.5rem 1.25rem 1.25rem}.sidebar-header-top{justify-content:flex-end;align-items:center;margin-bottom:.5rem;display:flex}.sidebar-collapse-btn{color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;transition:all .2s;display:flex}.sidebar-collapse-btn:hover{color:var(--color-primary);background:#1a31500f}.sidebar-close-btn{color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;padding:.25rem}.sidebar-brand{cursor:pointer;color:inherit;background:0 0;border:none;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:0;display:flex}.brand-icon{background:var(--color-primary);width:44px;height:44px;color:var(--color-primary-foreground);font-family:var(--font-arabic);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.sidebar-brand h1{color:var(--color-primary);letter-spacing:.02em;text-align:left;margin:0;font-size:1.35rem}.sidebar-brand .subtitle{color:var(--color-accent);font-size:.8rem;font-family:var(--font-arabic);text-align:left}.sidebar-stats{border-top:1px solid var(--color-border);justify-content:center;gap:2rem;margin-top:1rem;padding-top:.75rem;display:flex}.stat{text-align:center}.stat-value{color:var(--color-primary);font-size:1.25rem;font-weight:600;font-family:var(--font-serif)}.stat-label{color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-family:var(--font-sans)}.sidebar-search{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:.75rem 1rem}.search-wrapper{position:relative}.search-input-container{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .75rem;transition:border-color .2s;display:flex}.search-input-container:focus-within{border-color:var(--color-primary)}.search-icon{color:var(--color-muted-foreground);flex-shrink:0}.search-input{font-size:.8rem;font-family:var(--font-sans);color:var(--color-foreground);background:0 0;border:none;outline:none;flex:1;min-width:0}.search-input::placeholder{color:var(--color-muted-foreground);opacity:.6}.search-clear{cursor:pointer;color:var(--color-muted-foreground);background:0 0;border:none;align-items:center;padding:2px;display:flex}.search-clear:hover{color:var(--color-foreground)}.search-results{background:var(--color-card);border:1px solid var(--color-border);z-index:50;border-radius:8px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001a}.search-result-item{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;flex-direction:column;gap:2px;padding:.6rem .75rem;text-decoration:none;transition:background .15s;display:flex}.search-result-item:hover{background:#1a31500a}.search-result-item+.search-result-item{border-top:1px solid var(--color-border)}.search-result-title{color:var(--color-foreground);font-size:.82rem;font-weight:500}.search-result-ar{color:var(--color-accent);direction:rtl;font-size:.85rem}.search-result-category{color:var(--color-muted-foreground);font-size:.7rem}.search-empty{text-align:center;color:var(--color-muted-foreground);padding:1rem;font-size:.8rem}.sidebar-nav{flex:1;padding:.5rem 0;overflow-y:auto}.folder-group{margin-bottom:.125rem}.folder-header{cursor:pointer;font-family:var(--font-sans);text-align:left;width:100%;color:inherit;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s;display:flex}.folder-header:hover{background:#1a31500a;border-left-color:#c5a2534d}.folder-header.active{border-left-color:var(--color-accent);background:#1a31500f}.chevron-icon{color:var(--color-primary);flex-shrink:0;transition:transform .2s}.chevron-icon.expanded{transform:rotate(90deg)}.folder-name{color:var(--color-foreground);flex:1;font-size:.85rem;font-weight:600}.folder-count{color:var(--color-muted-foreground);flex-shrink:0;font-size:.7rem}.folder-children{background:#1a315005}.nav-item{cursor:pointer;font-size:.8rem;font-family:var(--font-sans);color:var(--color-muted-foreground);text-align:left;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:.5rem;width:100%;padding:.5rem 1.25rem .5rem 2.25rem;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:var(--color-foreground);background:#1a31500a}.nav-item.pinned{color:var(--color-primary);border-left-color:var(--color-accent);font-weight:500}.nav-dot{background:var(--color-muted-foreground);opacity:.2;border-radius:50%;flex-shrink:0;width:6px;height:6px}.nav-dot.pinned{background:var(--color-accent);opacity:1}.nav-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.nav-title-ar{font-family:var(--font-arabic);color:var(--color-muted-foreground);direction:rtl;flex-shrink:0;font-size:.8rem}.sidebar-footer{border-top:1px solid var(--color-border);color:var(--color-muted-foreground);font-size:.7rem;font-family:var(--font-sans);flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;display:flex}.sidebar-footer button{cursor:pointer;color:var(--color-muted-foreground);font-size:.7rem;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:.35rem;padding:0;transition:color .2s;display:flex}.sidebar-footer button:hover{color:var(--color-primary)}.main-content{box-sizing:border-box;width:100%;height:100vh;padding:2.5rem 3rem;overflow-y:auto}.main-content-center{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100%;display:flex}.main-content-center>*{width:100%;margin-left:auto;margin-right:auto}.hero{text-align:center;padding:2rem 0 3rem}.hero-title{color:var(--color-primary);margin:0;font-size:2.75rem;line-height:1.2}.hero-subtitle{color:var(--color-accent);margin:.25rem 0 1rem;font-size:2rem}.hero-description{color:var(--color-muted-foreground);max-width:560px;margin:0 auto;font-size:1.05rem;line-height:1.6}.nav-cards{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:3rem;display:grid}.nav-card{background:var(--color-card);border:1px solid var(--color-border);cursor:pointer;text-align:left;color:inherit;border-radius:12px;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;transition:all .2s;display:flex}.nav-card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 20px #1a315014}.nav-card-header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.nav-card-header h2{color:var(--color-primary);margin:0;font-size:1.15rem}.nav-card-header .font-arabic{color:var(--color-accent);flex-shrink:0;font-size:1rem}.nav-card-desc{color:var(--color-muted-foreground);margin:0;font-size:.82rem;line-height:1.5}.nav-card-tags{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:auto;display:flex}.tag{color:var(--color-primary);font-size:.7rem;font-family:var(--font-sans);background:#1a31500f;border-radius:4px;padding:.15rem .5rem}.card-actions{opacity:0;gap:2px;margin-left:auto;transition:opacity .2s;display:flex}.nav-card:hover .card-actions{opacity:1}.card-action-btn{cursor:pointer;color:var(--color-muted-foreground);background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:all .2s;display:flex}.card-action-btn:hover{color:var(--color-primary);background:#1a31500f}.decorative-hr{justify-content:center;align-items:center;gap:0;margin:2rem 0;display:flex}.decorative-hr:before,.decorative-hr:after{content:"";background:var(--color-border);flex:1;height:1px}.hr-diamond{background:var(--color-accent);flex-shrink:0;width:8px;height:8px;margin:0 .75rem;transform:rotate(45deg)}.hamburger-btn{z-index:90;background:var(--color-card);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:none;position:fixed;top:1rem;left:1rem;box-shadow:0 2px 8px #0000001a}.sidebar-overlay{z-index:98;background:#0006;display:none;position:fixed;top:0;right:0;bottom:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s both fadeIn}.animate-fade-in-up{animation:.4s both fadeInUp}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#1a315026;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#1a315040}.app-layout.sidebar-collapsed{grid-template-columns:1fr}.app-layout.sidebar-collapsed .sidebar{z-index:99;width:300px;max-width:85vw;box-shadow:none;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-layout.sidebar-collapsed .sidebar.open{transform:translate(0);box-shadow:4px 0 20px #0000001a}.app-layout.sidebar-collapsed .sidebar-header-top{justify-content:space-between;align-items:center;display:flex}.app-layout.sidebar-collapsed .sidebar-overlay.visible{animation:.2s fadeIn;display:block}.app-layout.sidebar-collapsed .hamburger-btn{display:flex}.app-layout.sidebar-collapsed .main-content{padding-top:4rem}@media(max-width:900px){.app-layout{grid-template-columns:1fr}.sidebar{z-index:99;width:300px;max-width:85vw;box-shadow:none;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:4px 0 20px #0000001a}.sidebar-header-top{justify-content:flex-end;margin-bottom:.5rem;display:flex}.sidebar-overlay.visible{animation:.2s fadeIn;display:block}.hamburger-btn{display:flex}.main-content{padding:4rem 1.5rem 1.5rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.5rem}.nav-cards{grid-template-columns:1fr}}@media(min-width:768px)and (max-width:1024px){button,select,input,.touch-target{min-height:48px}.nav-item{align-items:center;min-height:44px;display:flex}.folder-header{min-height:48px}}@media(max-width:640px){button,select,input,.touch-target{min-height:44px}.hero-description{font-size:.95rem}}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@supports (-webkit-touch-callout:none){button,[role=button]{-webkit-tap-highlight-color:transparent}.overflow-auto,.overflow-y-auto,.sidebar,.main-content{-webkit-overflow-scrolling:touch}}.view-tabs{border-bottom:1px solid var(--color-border);gap:0;margin-bottom:2rem;display:flex}.view-tab{font-size:.9rem;font-family:var(--font-sans);color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1.5rem;font-weight:500;transition:all .2s}.view-tab:hover{color:var(--color-foreground)}.view-tab--active{color:var(--color-primary);border-bottom-color:var(--color-accent)}.roadmap-view{flex-direction:column;gap:1rem;display:flex}.roadmap-cta{color:var(--color-primary);background:#c5a25314;border:1px solid #c5a25333;border-radius:12px;align-items:center;gap:1rem;margin-bottom:.5rem;padding:1rem 1.25rem;display:flex}.roadmap-cta-title{margin:0;font-size:.9rem;font-weight:600}.roadmap-cta-desc{color:var(--color-muted-foreground);margin:0;font-size:.8rem}.roadmap-cta-btn{background:var(--color-primary);color:var(--color-primary-foreground);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;margin-left:auto;padding:.4rem 1rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .2s}.roadmap-cta-btn:hover{opacity:.9}.roadmap-units{flex-direction:column;gap:.75rem;display:flex}.unit-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.unit-card-header{cursor:pointer;text-align:left;width:100%;color:inherit;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:.75rem;padding:1rem 1.25rem;transition:background .15s;display:flex}.unit-card-header:hover{background:#1a315008}.unit-card-chevron{color:var(--color-primary);flex-shrink:0;transition:transform .2s}.unit-card-chevron.expanded{transform:rotate(90deg)}.unit-card-titles{flex:1;align-items:baseline;gap:.75rem;min-width:0;display:flex}.unit-card-title{color:var(--color-primary);font-size:.95rem;font-weight:600;font-family:var(--font-serif);white-space:nowrap}.unit-card-title-ar{color:var(--color-accent);font-size:.9rem}.unit-card-progress-text{color:var(--color-muted-foreground);flex-shrink:0;font-size:.75rem;font-weight:500}.unit-card-progress-bar{background:var(--color-muted);border-radius:2px;flex-shrink:0;width:60px;height:4px;overflow:hidden}.unit-card-progress-fill{background:var(--color-accent);border-radius:2px;height:100%;transition:width .3s}.unit-card-body{border-top:1px solid var(--color-border);padding:0 1.25rem 1.25rem}.topic-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;padding-top:1rem;display:grid}.topic-node{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;text-align:left;font-family:var(--font-sans);color:inherit;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .2s;display:flex}.topic-node:hover{border-color:#1a315033;box-shadow:0 2px 8px #0000000a}.topic-node--selected{border-color:var(--color-accent);box-shadow:0 2px 8px #c5a25326}.topic-node--not-started{opacity:.6}.topic-node--in-progress{border-color:#c5a25366}.topic-node--mastered{background:#228b220a;border-color:#228b224d}.topic-node-indicator{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.55rem;font-weight:700;display:flex}.topic-node--not-started .topic-node-indicator{background:var(--color-muted);color:var(--color-muted-foreground)}.topic-node--in-progress .topic-node-indicator{color:var(--color-accent);background:#c5a25326}.topic-node--mastered .topic-node-indicator{color:#228b22;background:#228b2226}.topic-node-pct{font-size:.55rem;font-weight:700;line-height:1}.topic-node-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.78rem;font-weight:500;overflow:hidden}.topic-node-label-ar{color:var(--color-muted-foreground);flex-shrink:0;font-size:.75rem}.topic-detail{background:var(--color-background);border:1px solid var(--color-border);border-radius:10px;margin-top:1rem;padding:1.25rem}.topic-detail-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.topic-detail-title{font-size:1.1rem;font-family:var(--font-serif);color:var(--color-primary);margin:0}.topic-detail-title-ar{color:var(--color-accent);margin:.15rem 0 0;font-size:1rem}.topic-detail-status{white-space:nowrap;border-radius:6px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.topic-detail-status--not-started{background:var(--color-muted);color:var(--color-muted-foreground)}.topic-detail-status--in-progress{color:#8b6914;background:#c5a2531f}.topic-detail-status--mastered{color:#228b22;background:#228b221a}.topic-detail-section{margin-top:.75rem}.topic-detail-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground);font-size:.72rem;font-family:var(--font-sans);margin:0 0 .4rem}.topic-detail-chips{flex-wrap:wrap;gap:.35rem;display:flex}.topic-chip{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;font-size:.75rem;font-family:var(--font-sans);color:var(--color-foreground);border-radius:6px;padding:.2rem .6rem;transition:all .15s}.topic-chip:hover{border-color:var(--color-accent)}.topic-chip--mastered{background:#228b220a;border-color:#228b224d}.topic-chip--in-progress{background:#c5a2530a;border-color:#c5a2534d}.topic-detail-tools{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.topic-detail-tool{border:1px solid var(--color-border);background:var(--color-card);color:inherit;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;text-decoration:none;transition:all .2s;display:flex}.topic-detail-tool:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #0000000a}.topic-detail-tool-name{flex:1;font-size:.8rem;font-weight:500}.topic-detail-tool-name-ar{color:var(--color-accent);font-size:.78rem}.topic-detail-tool-icon{color:var(--color-muted-foreground);flex-shrink:0}@media(max-width:900px){.topic-grid{grid-template-columns:repeat(2,1fr)}.topic-detail-tools{grid-template-columns:1fr}.unit-card-titles{flex-direction:column;gap:0}}@media(max-width:640px){.topic-grid{grid-template-columns:1fr}.roadmap-cta{text-align:center;flex-direction:column}.roadmap-cta-btn{margin-left:0}.topic-detail-header{flex-direction:column;gap:.5rem}}.progress-view{flex-direction:column;gap:1.25rem;display:flex}.scorecard{background:#c5a25314;border:1px solid #c5a25333;border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.scorecard-top{align-items:center;gap:1.5rem;display:flex}.scorecard-info{flex:1}.scorecard-title{color:var(--color-primary);font-size:1.25rem;font-family:var(--font-serif);margin:0 0 .5rem}.scorecard-stats{flex-wrap:wrap;gap:1.25rem;display:flex}.scorecard-stat{color:var(--color-muted-foreground);align-items:center;gap:.35rem;font-size:.82rem;display:flex}.scorecard-milestones{border-top:1px solid #c5a25326;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;display:flex}.circular-progress{flex-shrink:0;position:relative}.circular-progress-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.circular-progress-value{color:var(--color-primary);font-size:1.5rem;font-weight:700;font-family:var(--font-serif);line-height:1}.circular-progress-text{color:var(--color-muted-foreground);margin-top:2px;font-size:.65rem}.milestone-chip{border:1px solid var(--color-border);background:var(--color-card);font-size:.72rem;font-family:var(--font-sans);white-space:nowrap;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .6rem;transition:all .2s;display:inline-flex}.milestone-chip--earned{color:#8b6914;background:#c5a25314;border-color:#c5a25380}.milestone-chip--locked{opacity:.4;color:var(--color-muted-foreground)}.progress-pillars{flex-direction:column;gap:.75rem;display:flex}.pillar-journey{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.pillar-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pillar-header-titles{align-items:baseline;gap:.75rem;display:flex}.pillar-header-name{color:var(--color-primary);font-size:1rem;font-weight:600;font-family:var(--font-serif);margin:0}.pillar-header-ar{color:var(--color-accent);font-size:.95rem}.pillar-header-pct{color:var(--color-primary);font-size:.85rem;font-weight:600;font-family:var(--font-serif);flex-shrink:0}.pillar-progress-bar{background:var(--color-muted);border-radius:3px;width:100%;height:6px;overflow:hidden}.pillar-progress-fill{border-radius:3px;height:100%;transition:width .6s}.milestone-track{align-items:center;gap:.75rem;padding:.5rem 0;display:flex;position:relative}.milestone-track-line{background:var(--color-muted);z-index:0;height:2px;position:absolute;top:50%;left:20px;right:20px;transform:translateY(-50%)}.tool-milestone{z-index:1;flex-direction:column;flex:1;align-items:center;gap:.3rem;display:flex;position:relative}.tool-milestone-icon{background:var(--color-card);border:2px solid var(--color-muted);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.tool-milestone--progress .tool-milestone-icon{border-color:var(--color-accent);color:var(--color-accent)}.tool-milestone--mastered .tool-milestone-icon{border-color:var(--progress-green);color:var(--progress-green);background:#228b220f}.tool-milestone--none .tool-milestone-icon{color:var(--color-muted-foreground);opacity:.6}.tool-milestone-label{color:var(--color-muted-foreground);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:60px;font-size:.65rem;overflow:hidden}.pillar-cta{color:var(--color-primary);border:1px solid var(--color-border);background:var(--color-card);border-radius:8px;align-self:flex-end;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.pillar-cta:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #0000000a}.progress-empty{text-align:center;color:var(--color-muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.progress-empty h3{color:var(--color-primary);margin:0;font-size:1.25rem}.progress-empty p{max-width:400px;margin:0;font-size:.9rem;line-height:1.6}@media(max-width:900px){.milestone-track{gap:.5rem}.tool-milestone-icon{width:32px;height:32px}.pillar-header-titles{flex-direction:column;gap:0}}@media(max-width:640px){.scorecard-top{text-align:center;flex-direction:column}.scorecard-stats,.scorecard-milestones{justify-content:center}.milestone-track{flex-wrap:wrap;justify-content:center;gap:.5rem}.milestone-track-line{display:none}.tool-milestone-label{max-width:50px;font-size:.6rem}.pillar-cta{justify-content:center;align-self:center;width:100%}}.gamification-header{background:linear-gradient(135deg,#1a31500f,#c5a25314);border:1px solid #c5a25333;border-radius:12px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.gamification-level{align-items:center;gap:1rem;display:flex}.gamification-level-badge{background:var(--color-primary);width:48px;height:48px;color:var(--color-primary-foreground);border:2px solid var(--color-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gamification-level-num{font-size:1.25rem;font-weight:700;font-family:var(--font-serif)}.gamification-level-info{flex-direction:column;gap:.15rem;display:flex}.gamification-level-title{color:var(--color-accent);font-size:1rem}.gamification-level-en{color:var(--color-muted-foreground);font-size:.75rem}.gamification-xp-bar{background:var(--color-muted);border-radius:2px;width:120px;height:4px;margin-top:.2rem;overflow:hidden}.gamification-xp-fill{background:var(--color-accent);border-radius:2px;height:100%;transition:width .6s}.gamification-xp-text{color:var(--color-muted-foreground);font-size:.7rem}.gamification-stats{gap:1.5rem;display:flex}.gamification-stat{color:var(--color-muted-foreground);align-items:center;gap:.35rem;display:flex}.gamification-stat--streak{color:#e67e22}.gamification-stat-value{color:var(--color-primary);font-size:1.1rem;font-weight:600;font-family:var(--font-serif)}.gamification-stat--streak .gamification-stat-value{color:#e67e22}.gamification-stat-label{font-size:.75rem}.gamification-multiplier{color:#e67e22;background:#e67e2226;border-radius:4px;padding:.1rem .4rem;font-size:.65rem;font-weight:700}@media(max-width:900px){.gamification-header{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.gamification-stats{flex-wrap:wrap;gap:1rem}}.journey-view{flex-direction:column;gap:1.5rem;display:flex}.journey-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.journey-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem}.journey-card--wide{grid-column:1/-1}.journey-card-title{color:var(--color-primary);font-size:.85rem;font-weight:600;font-family:var(--font-serif);margin:0 0 1rem}.journey-section{flex-direction:column;gap:.75rem;display:flex}.journey-section-title{color:var(--color-primary);font-size:1rem;font-weight:600;font-family:var(--font-serif);margin:0}@media(max-width:640px){.journey-grid{grid-template-columns:1fr}}.streak-calendar{flex-direction:column;gap:.5rem;display:flex}.streak-calendar-header{color:var(--color-muted-foreground);justify-content:space-between;font-size:.78rem;display:flex}.streak-calendar-grid{grid-template-columns:repeat(18,1fr);gap:3px;display:grid}.cal-cell{aspect-ratio:1;background:var(--color-muted);border-radius:3px;width:100%}.cal-cell--empty{background:#1a31500a}.cal-cell--low{background:#c5a2534d}.cal-cell--med{background:#c5a2538c}.cal-cell--high{background:#c5a253cc}.cal-cell--max{background:var(--color-accent)}.streak-calendar-legend{justify-content:flex-end;align-items:center;gap:4px;display:flex}.streak-calendar-legend .cal-cell{flex-shrink:0;width:12px;height:12px}.streak-calendar-legend-label{color:var(--color-muted-foreground);font-size:.65rem}.xp-chart{height:120px}.xp-chart-bars{align-items:flex-end;gap:4px;height:100%;display:flex}.xp-chart-col{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.xp-chart-bar-wrapper{flex:1;align-items:flex-end;width:100%;display:flex}.xp-chart-bar{background:var(--color-accent);border-radius:3px 3px 0 0;width:100%;min-height:0;transition:height .4s}.xp-chart-day{color:var(--color-muted-foreground);flex-shrink:0;font-size:.6rem}.memory-chart{flex-direction:column;gap:.5rem;display:flex}.memory-chart-bars{flex-direction:column;gap:.4rem;display:flex}.memory-chart-row{align-items:center;gap:.5rem;display:flex}.memory-chart-label{color:var(--color-muted-foreground);text-align:right;flex-shrink:0;width:50px;font-size:.7rem}.memory-chart-bar-track{background:#1a31500a;border-radius:4px;flex:1;height:16px;overflow:hidden}.memory-chart-bar-fill{border-radius:4px;height:100%;transition:width .6s}.memory-chart-count{color:var(--color-muted-foreground);flex-shrink:0;width:30px;font-size:.7rem}.mastery-dist{flex-direction:column;gap:.75rem;display:flex}.mastery-bar{border-radius:6px;height:24px;display:flex;overflow:hidden}.mastery-segment{min-width:2px;transition:width .6s}.mastery-legend{flex-wrap:wrap;gap:.75rem;display:flex}.mastery-legend-item{align-items:center;gap:.3rem;display:flex}.mastery-legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.mastery-legend-label{color:var(--color-muted-foreground);font-size:.72rem}.mastery-legend-count{color:var(--color-foreground);font-size:.72rem;font-weight:600}.review-forecast{height:120px}.forecast-bars{align-items:flex-end;gap:4px;height:100%;display:flex}.forecast-col{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.forecast-bar-wrapper{flex:1;align-items:flex-end;width:100%;display:flex}.forecast-bar{background:var(--color-primary);opacity:.3;border-radius:3px 3px 0 0;width:100%;transition:height .4s}.forecast-bar--today{opacity:1;background:var(--color-accent)}.forecast-day{color:var(--color-muted-foreground);white-space:nowrap;flex-shrink:0;font-size:.55rem}.forecast-day--today{color:var(--color-accent);font-weight:700}.mistake-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;display:grid}.mistake-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.mistake-card-header{align-items:center;gap:.5rem;display:flex}.mistake-severity-badge{text-transform:uppercase;letter-spacing:.05em;color:inherit;border:1px solid;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.65rem;font-weight:600;display:inline-flex}.mistake-category{color:var(--color-primary);flex:1;font-size:.82rem;font-weight:600}.mistake-advice{color:var(--color-muted-foreground);margin:0;font-size:.78rem;line-height:1.5}.mistake-examples{background:#1a315008;border-radius:6px;flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.mistake-example{align-items:center;gap:.5rem;font-size:.82rem;display:flex}.mistake-expected{color:var(--progress-green);font-family:var(--font-arabic)}.mistake-arrow{color:var(--color-muted-foreground);font-size:.7rem}.mistake-actual{color:var(--color-destructive);font-family:var(--font-arabic);opacity:.7;text-decoration:line-through}.mistake-freq{color:var(--color-muted-foreground);font-size:.7rem}.weekly-summary{gap:2rem;display:flex}.weekly-stat{align-items:baseline;gap:.35rem;display:flex}.weekly-stat-value{color:var(--color-primary);font-size:1.5rem;font-weight:700;font-family:var(--font-serif)}.weekly-stat-label{color:var(--color-muted-foreground);font-size:.8rem}.trend{font-size:.85rem;font-weight:700}.trend--up{color:var(--progress-green)}.trend--down{color:var(--color-destructive)}.daily-challenge{background:linear-gradient(135deg,#1a31500a,#c5a2530f);border:1px solid #c5a25340;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.daily-challenge--complete{background:#228b220a;border-color:#228b2233}.daily-challenge--active{background:var(--color-card)}.daily-challenge-header{color:var(--color-accent);align-items:center;gap:.5rem;display:flex}.daily-challenge--complete .daily-challenge-header{color:var(--progress-green)}.daily-challenge-title{color:var(--color-primary);font-size:.95rem;font-weight:600;font-family:var(--font-serif);margin:0}.daily-challenge-desc{color:var(--color-muted-foreground);margin:0;font-size:.82rem}.daily-challenge-score{color:var(--color-muted-foreground);margin:0;font-size:.85rem}.daily-challenge-btn{background:var(--color-primary);color:var(--color-primary-foreground);cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;transition:opacity .2s}.daily-challenge-btn:hover{opacity:.9}.daily-challenge-question{color:var(--color-foreground);margin:0;font-size:1.25rem;line-height:2}.daily-challenge-question-en{color:var(--color-muted-foreground);margin:0;font-size:.85rem}.daily-challenge-options{flex-direction:column;gap:.5rem;display:flex}.daily-option{background:var(--color-background);border:1px solid var(--color-border);cursor:pointer;color:var(--color-foreground);font-size:1rem;font-family:var(--font-arabic);border-radius:8px;justify-content:space-between;align-items:center;padding:.65rem 1rem;transition:all .2s;display:flex}.daily-option:hover:not(:disabled){border-color:var(--color-accent)}.daily-option--correct{border-color:var(--progress-green);color:var(--progress-green);background:#228b2214}.daily-option--wrong{border-color:var(--color-destructive);color:var(--color-destructive);background:#d4183d0f}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
