:root{--bg: #FFFBF5;--bg-raised: #FFFFFF;--bg-sunken: #F5F0E8;--bg-overlay: rgba(45, 40, 36, .5);--card: var(--bg-raised);--sand-50: #FDF9F3;--sand-100: #F5EFE6;--sand-200: #E8DFD3;--sand-300: #D4C8B8;--sand-400: #A89B8C;--sand-500: #7D7165;--sand-600: #5C5048;--sand-700: #3D3530;--sand-800: #2D2824;--text-1: #2D2824;--text-2: #6B6055;--text-3: #A89B8C;--text: var(--text-1);--accent: #E8634A;--accent-soft: #FEF0ED;--accent-hover: #D4572E;--coral: var(--accent);--coral-bg: var(--accent-soft);--success: #2F9E44;--success-soft: #EEFBF0;--warning: #D4930D;--warning-soft: #FFF8E7;--error: #E03131;--error-soft: #FFF0F0;--easy: #6C5CE7;--easy-soft: #F0EDFF;--violet: #7C5CBF;--violet-bg: #F5F0FF;--teal: #1D9A8C;--teal-bg: #E6FAF7;--amber: var(--warning);--amber-bg: var(--warning-soft);--rose: #D64580;--rose-bg: #FFF0F6;--c-fra: #7C5CBF;--c-fra-soft: #F5F0FF;--c-ia: #2B6CB0;--c-ia-soft: #EBF4FF;--c-de: #2F855A;--c-de-soft: #F0FFF4;--c-ges: #C05621;--c-ges-soft: #FFFAF0;--font-body: "Outfit", system-ui, -apple-system, sans-serif;--font-display: "Fraunces", Georgia, serif;--font: var(--font-body);--display: var(--font-display);--fs-xs: .6875rem;--fs-sm: .8125rem;--fs-base: .9375rem;--fs-md: 1.0625rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 1.875rem;--lh-tight: 1.2;--lh-normal: 1.5;--lh-relaxed: 1.65;--fw-normal: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--fw-heavy: 800;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--page-px: 20px;--card-px: 16px;--page-bottom: 100px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--r: var(--radius-xl);--r-s: var(--radius-lg);--r-xs: var(--radius-sm);--shadow-xs: 0 1px 2px rgba(45, 40, 36, .04);--shadow-sm: 0 1px 3px rgba(45, 40, 36, .06), 0 1px 2px rgba(45, 40, 36, .04);--shadow-md: 0 4px 12px rgba(45, 40, 36, .06), 0 1px 3px rgba(45, 40, 36, .04);--shadow-lg: 0 8px 24px rgba(45, 40, 36, .08), 0 2px 6px rgba(45, 40, 36, .04);--shadow-xl: 0 16px 48px rgba(45, 40, 36, .12);--sh: var(--shadow-sm);--sh-m: var(--shadow-md);--sh-l: var(--shadow-lg);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.45, 0, .55, 1);--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .4s;--dur-dramatic: .6s;--safe-b: env(safe-area-inset-bottom, 0px)}html.dark{--bg: #1C1916;--bg-raised: #242018;--bg-sunken: #141210;--bg-overlay: rgba(0, 0, 0, .6);--card: var(--bg-raised);--sand-50: #211e1a;--sand-100: #2d2924;--sand-200: #3d3830;--sand-300: #56504a;--sand-400: #7a7068;--sand-500: #9e9288;--sand-600: #b8ada3;--sand-700: #d4c9be;--sand-800: #ece4d8;--text-1: #f0ece6;--text-2: #b8ada3;--text-3: #7a7068;--accent: #F0745A;--accent-soft: #2d1e1a;--accent-hover: #FF8B70;--success: #51CF66;--success-soft: #14281E;--warning: #FAC916;--warning-soft: #2A2510;--error: #FF6B6B;--error-soft: #2D1515;--easy: #A78BFA;--easy-soft: #1E1630;--violet-bg: #1e1828;--teal-bg: #141f1d;--amber-bg: #221c0e;--rose-bg: #251428;--c-fra: #A78BFA;--c-fra-soft: #1e1630;--c-ia: #63B3ED;--c-ia-soft: #0C1E2E;--c-de: #68D391;--c-de-soft: #0C2018;--c-ges: #F6AD55;--c-ges-soft: #2A1A0C;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25), 0 1px 3px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .15);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-normal);background:var(--bg);color:var(--text-1);min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:var(--sand-200);border-radius:3px}button{cursor:pointer;border:none;background:none;font-family:var(--font-body);font-size:inherit;color:inherit;-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-decoration:none}input,textarea,select{font-family:var(--font-body);font-size:var(--fs-base)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spin{width:22px;height:22px;border:2.5px solid var(--sand-200);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}.skeleton{background:linear-gradient(90deg,var(--sand-100) 25%,var(--sand-200) 50%,var(--sand-100) 75%);background-size:200% 100%;animation:shimmer 1.5s var(--ease-in-out) infinite;border-radius:var(--radius-md)}.skeleton-text{height:14px;margin-bottom:8px;border-radius:var(--radius-sm)}.skeleton-text:last-child{width:60%}.skeleton-card{height:80px;margin-bottom:var(--sp-3);border-radius:var(--radius-lg)}.app-shell{max-width:520px;margin:0 auto;min-height:100dvh}@media(min-width:620px){body{background:var(--sand-200)}html.dark body{background:linear-gradient(180deg,#1c1916,#181512)}.app-shell{box-shadow:var(--shadow-xl);background:var(--bg);min-height:100dvh}}@media(min-width:640px){.app-shell{max-width:680px}}.page{padding:var(--page-px) 18px var(--page-bottom)}.loader{display:flex;justify-content:center;padding:60px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:44px;padding:var(--sp-3) var(--sp-5);border:none;border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-semi);line-height:var(--lh-normal);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 16px #e8634a4d}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-xs)}.btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-secondary{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}.btn-secondary:hover:not(:disabled){background:var(--accent-soft)}.btn-secondary:active:not(:disabled){background:var(--accent-soft)}.btn-secondary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--sand-100);color:var(--text-1)}.btn-ghost:active:not(:disabled){background:var(--sand-200)}.btn-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-icon{width:44px;height:44px;min-height:44px;padding:0;border-radius:var(--radius-md);background:var(--sand-100);color:var(--text-2);font-size:var(--fs-md)}.btn-icon:hover:not(:disabled){background:var(--sand-200);color:var(--text-1)}.btn-icon:active:not(:disabled){background:var(--sand-300)}.btn-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--sm{min-height:36px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-radius:var(--radius-sm)}.btn--lg{min-height:52px;padding:var(--sp-4) var(--sp-6);font-size:var(--fs-md);border-radius:var(--radius-xl)}.btn--full{width:100%}.btn-primary[style*=--c]{background:var(--c)}html.dark .btn-primary{box-shadow:0 0 24px #f0745a33}html.dark .btn-primary:hover:not(:disabled){box-shadow:0 0 32px #f0745a4d}html.dark .btn-secondary{border-color:var(--accent);color:var(--accent)}html.dark .btn-secondary:hover:not(:disabled){background:var(--accent-soft)}html.dark .btn-ghost{color:var(--text-2)}html.dark .btn-ghost:hover:not(:disabled){background:var(--sand-200);color:var(--text-1)}html.dark .btn-icon{background:var(--sand-200);color:var(--text-2)}html.dark .btn-icon:hover:not(:disabled){background:var(--sand-300);color:var(--text-1)}.card{background:var(--bg-raised);border:1.5px solid var(--sand-100);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.card-header,.card-body{padding:var(--sp-4)}.card-footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--sand-100)}.card--course{position:relative}.card--course:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--c, var(--accent))}.card--interactive{cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.card--interactive:hover{box-shadow:var(--shadow-md);border-color:var(--sand-200)}.card--interactive:active{transform:scale(.985);box-shadow:var(--shadow-xs)}.card--elevated{box-shadow:var(--shadow-md)}.card--flat{box-shadow:none}html.dark .card{background:var(--bg-raised);border-color:var(--sand-200);box-shadow:var(--shadow-sm)}html.dark .card-footer{border-color:var(--sand-200)}html.dark .card--interactive:hover{border-color:var(--sand-300);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px var(--sp-2);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:var(--lh-normal);white-space:nowrap;background:var(--sand-100);color:var(--text-2)}.badge--due{background:var(--accent);color:#fff}.badge--success{background:var(--success-soft);color:var(--success)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--error{background:var(--error-soft);color:var(--error)}.badge--count{min-width:20px;height:20px;padding:0 var(--sp-1);border-radius:var(--radius-full);background:var(--accent);color:#fff;font-size:10px;font-weight:var(--fw-heavy);display:inline-flex;align-items:center;justify-content:center}.badge--course{background:var(--c-soft, var(--sand-100));color:var(--c, var(--text-2))}.badge--piege{background:var(--error-soft);color:var(--error)}.badge--distinction{background:var(--c-ia-soft);color:var(--c-ia)}.badge--application{background:var(--success-soft);color:var(--success)}.badge--definition{background:var(--sand-100);color:var(--text-2)}.badge--lg{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm)}html.dark .badge{background:var(--sand-200);color:var(--text-2)}html.dark .badge--due{background:var(--accent);color:#fff}html.dark .badge--success{background:var(--success-soft);color:var(--success)}html.dark .badge--warning{background:var(--warning-soft);color:var(--warning)}html.dark .badge--error{background:var(--error-soft);color:var(--error)}html.dark .badge--count{background:var(--accent);color:#fff}html.dark .badge--course{background:var(--c-soft, var(--sand-200));color:var(--c, var(--text-2))}html.dark .badge--piege{background:var(--error-soft);color:var(--error)}html.dark .badge--distinction{background:var(--c-ia-soft);color:var(--c-ia)}html.dark .badge--application{background:var(--success-soft);color:var(--success)}html.dark .badge--definition{background:var(--sand-200);color:var(--text-3)}.input{width:100%;min-height:44px;padding:var(--sp-3) var(--sp-4);border:1.5px solid var(--sand-200);border-radius:var(--radius-lg);background:var(--bg-sunken);color:var(--text-1);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-normal);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);-webkit-appearance:none}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg-raised)}.input:disabled{opacity:.5;cursor:not-allowed}.input--search{padding-left:var(--sp-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A89B8C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:var(--sp-3) center;background-size:18px}.input--textarea{min-height:100px;resize:vertical;line-height:var(--lh-relaxed)}.input.is-error{border-color:var(--error)}.input.is-error:focus{box-shadow:0 0 0 3px var(--error-soft)}.input-label{display:block;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:var(--sp-2)}.input-helper{font-size:var(--fs-xs);color:var(--text-3);margin-top:var(--sp-1)}.input-helper.is-error{color:var(--error)}html.dark .input{background:var(--bg-sunken);border-color:var(--sand-300);color:var(--text-1)}html.dark .input::placeholder{color:var(--text-3)}html.dark .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg-raised)}html.dark .input-label{color:var(--text-3)}.progress-bar{width:100%;height:4px;background:var(--sand-100);border-radius:var(--radius-full);overflow:hidden}.progress-bar--md{height:6px}.progress-bar--lg{height:8px}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width var(--dur-normal) var(--ease-out)}.progress-fill[style*=--c]{background:var(--c)}.progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-track{fill:none;stroke:var(--sand-100)}.progress-ring-fill{fill:none;stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.progress-ring-fill[style*=--c]{stroke:var(--c)}.progress-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:var(--fw-heavy);color:var(--text-1)}.progress-label{display:flex;align-items:center;gap:var(--sp-2)}.progress-label-text{font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--text-3);white-space:nowrap;min-width:28px;text-align:right}html.dark .progress-bar{background:var(--sand-200)}html.dark .progress-ring-track{stroke:var(--sand-200)}html.dark .progress-ring-label{color:var(--text-1)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--bg-overlay);animation:sheet-fade-in var(--dur-normal) var(--ease-out) both}.sheet-overlay.is-exiting{animation:sheet-fade-out var(--dur-fast) var(--ease-out) both}.sheet{position:fixed;bottom:0;left:0;right:0;z-index:510;max-height:85dvh;background:var(--bg-raised);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:sheet-slide-up var(--dur-normal) var(--ease-out) both}.sheet.is-exiting{animation:sheet-slide-down var(--dur-fast) var(--ease-out) both}@media(min-width:641px){.sheet{left:50%;transform:translate(-50%);max-width:520px;border-radius:var(--radius-xl);bottom:auto;top:10dvh;max-height:80dvh;animation:sheet-scale-in var(--dur-normal) var(--ease-out) both}.sheet.is-exiting{animation:sheet-scale-out var(--dur-fast) var(--ease-out) both}}.sheet-handle{display:flex;justify-content:center;padding:var(--sp-3) 0 var(--sp-1);flex-shrink:0}.sheet-handle:before{content:"";width:36px;height:4px;border-radius:var(--radius-full);background:var(--sand-300)}@media(min-width:641px){.sheet-handle{display:none}}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4);border-bottom:1px solid var(--sand-100);flex-shrink:0}.sheet-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text-1)}.sheet-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp-4)}.sheet-footer{padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + var(--safe-b));border-top:1px solid var(--sand-100);flex-shrink:0}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-fade-out{0%{opacity:1}to{opacity:0}}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes sheet-scale-in{0%{opacity:0;transform:translate(-50%) scale(.95)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes sheet-scale-out{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.95)}}html.dark .sheet{background:var(--bg-raised);box-shadow:var(--shadow-xl)}html.dark .sheet-handle:before{background:var(--sand-400)}html.dark .sheet-header,html.dark .sheet-footer{border-color:var(--sand-200)}.tabs{display:flex;gap:var(--sp-2);overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:40px;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);border:1.5px solid var(--sand-200);background:transparent;color:var(--text-3);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-semi);white-space:nowrap;flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.tab:hover:not(.tab--active){background:var(--sand-100);color:var(--text-2)}.tab--active{background:var(--c, var(--accent));color:#fff;border-color:var(--c, var(--accent))}.tab-icon{font-size:var(--fs-sm);line-height:1}.tab-count{font-size:var(--fs-xs);opacity:.7}.tab-badge{position:relative}.tab-badge:after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:var(--radius-full);background:var(--accent)}.tab--active.tab-badge:after{background:#fff}.tabs-wrap{overflow-x:auto;margin:0 calc(-1 * var(--page-px));padding:0 var(--page-px) var(--sp-4);scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs-wrap::-webkit-scrollbar{display:none}html.dark .tab{border-color:var(--sand-300);color:var(--text-3)}html.dark .tab:hover:not(.tab--active){background:var(--sand-200);color:var(--text-2)}html.dark .tab--active{background:var(--c, var(--accent));color:#fff;border-color:var(--c, var(--accent))}html.dark .tab-badge:after{background:var(--accent)}html.dark .tab--active.tab-badge:after{background:#fff}.skeleton-circle{width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--sand-100) 25%,var(--sand-200) 50%,var(--sand-100) 75%);background-size:200% 100%;animation:shimmer 1.5s var(--ease-in-out) infinite}.skeleton-circle--sm{width:28px;height:28px}.skeleton-circle--lg{width:56px;height:56px}.skeleton-badge{width:48px;height:20px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--sand-100) 25%,var(--sand-200) 50%,var(--sand-100) 75%);background-size:200% 100%;animation:shimmer 1.5s var(--ease-in-out) infinite}.skeleton-button{height:44px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--sand-100) 25%,var(--sand-200) 50%,var(--sand-100) 75%);background-size:200% 100%;animation:shimmer 1.5s var(--ease-in-out) infinite}.skeleton-progress{height:4px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--sand-100) 25%,var(--sand-200) 50%,var(--sand-100) 75%);background-size:200% 100%;animation:shimmer 1.5s var(--ease-in-out) infinite}html.dark .skeleton-circle,html.dark .skeleton-badge,html.dark .skeleton-button,html.dark .skeleton-progress{background:linear-gradient(90deg,var(--sand-200) 25%,var(--sand-300) 50%,var(--sand-200) 75%);background-size:200% 100%}.sn-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--bg);display:flex;flex-direction:column}@media(min-width:540px){.sn-overlay{max-width:520px;margin:0 auto;box-shadow:var(--shadow-xl)}}.sn-progress-top{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--page-px)}.sn-close{width:36px;height:36px;min-height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--sand-100);color:var(--text-2);flex-shrink:0;transition:background var(--dur-fast) var(--ease-out)}.sn-close:hover{background:var(--sand-200)}.sn-count{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-2);flex:1}.sn-progress-badges{display:flex;gap:4px;align-items:center}.sn-progress-badge{min-width:20px;height:20px;padding:0 var(--sp-1);border-radius:var(--radius-full);font-size:10px;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;color:#fff}.sn-progress-badge--again{background:var(--error)}.sn-progress-badge--hard{background:var(--warning)}.sn-progress-badge--good{background:var(--success)}.sn-progress-badge--easy{background:var(--easy)}.sn-bar{height:3px;background:var(--sand-100)}.sn-bar-fill{height:100%;background:var(--accent);border-radius:0 2px 2px 0}.sn-subtype{font-size:10px;font-weight:var(--fw-bold);padding:3px var(--sp-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.sn-body{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--sp-5) var(--page-px);overflow:visible}.sn-card-wrap{width:100%;max-width:480px}.sn-swipe-scene{position:relative;display:flex;flex-direction:column;align-items:center;width:100%}.sn-swipe-label{position:absolute;font-size:var(--fs-base);font-weight:var(--fw-bold);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-xl);pointer-events:none;z-index:10;display:flex;align-items:center;gap:var(--sp-1);white-space:nowrap;-webkit-user-select:none;user-select:none}.sn-swipe-again{left:var(--sp-3);top:50%;transform:translateY(-50%);background:var(--error-soft);color:var(--error);border:2px solid var(--error)}.sn-swipe-easy{right:var(--sp-3);top:50%;transform:translateY(-50%);background:var(--easy-soft);color:var(--easy);border:2px solid var(--easy)}.sn-swipe-good{top:var(--sp-3);left:50%;transform:translate(-50%);background:var(--success-soft);color:var(--success);border:2px solid var(--success)}@media(max-width:360px){.sn-swipe-label{font-size:var(--fs-sm);padding:var(--sp-1) var(--sp-2)}}.sn-swipe-flash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-xl);pointer-events:none;z-index:5}.sn-swipe-hint{margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--text-3);text-align:center;padding:var(--sp-1) var(--sp-3);background:var(--sand-100);border-radius:var(--radius-full);letter-spacing:.02em}.sn-fc{perspective:1200px;min-height:280px;cursor:pointer;width:100%;transform-style:preserve-3d;user-select:none;-webkit-user-select:none}.sn-fc-3d{width:100%;min-height:280px;position:relative;transform-style:preserve-3d}.sn-fc-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--bg-raised);border:none;border-radius:var(--radius-xl);padding:36px 28px;display:flex;flex-direction:column;box-shadow:0 4px 24px #2d282414,0 12px 48px #2d28240a;overflow-y:auto;border-top:6px solid var(--fc-color, var(--sand-200))}.sn-fc-back{transform:rotateY(180deg)}.sn-fc-q{font-size:var(--fs-lg);font-weight:var(--fw-semi);line-height:1.75;flex:1;color:var(--text-1)}.sn-fc-a{font-size:var(--fs-base);line-height:1.75;color:var(--text-2);flex:1}.sn-fc-hint{font-size:var(--fs-xs);color:var(--text-3);text-align:center;margin-top:auto;padding-top:var(--sp-3)}.sn-fc-src{font-size:10px;color:var(--text-3);margin-top:auto;padding-top:var(--sp-2)}.sn-fc-section-tag{font-size:10px;color:var(--text-3);background:var(--sand-100);padding:2px var(--sp-2);border-radius:var(--radius-sm);margin-bottom:var(--sp-2);display:inline-block}.sn-fc-subtype{font-size:10px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.4px;margin-bottom:var(--sp-2);flex-shrink:0;color:var(--fc-color, var(--text-3));background:color-mix(in srgb,var(--fc-color, var(--sand-300)) 10%,transparent);padding:3px 10px;border-radius:var(--radius-sm)}.sn-fc-type-piege{--fc-color: var(--error)}.sn-fc-type-distinction{--fc-color: var(--c-ia)}.sn-fc-type-application{--fc-color: var(--success)}.sn-fc-type-definition{--fc-color: var(--sand-300)}.sn-fc-type-quiz{--fc-color: var(--accent)}.sn-fc-type-piege .sn-fc-q strong{color:var(--error)}.sn-fc-type-distinction .sn-fc-q strong{color:var(--c-ia)}.sn-fc-type-application .sn-fc-q strong{color:var(--success)}.sn-fc-q strong,.sn-fc-a strong{background:none}.sn-fc-callout{margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-size:var(--fs-sm);line-height:1.55;border-left:3px solid var(--sand-300);background:var(--sand-100)}.sn-fc-callout.bq-tip{border-left-color:var(--violet);background:var(--violet-bg)}.sn-fc-callout.bq-exam{border-left-color:var(--teal);background:var(--teal-bg)}.sn-fc-callout.bq-warn{border-left-color:var(--amber);background:var(--amber-bg)}.sn-fc-callout.bq-ref{border-left-color:var(--rose);background:var(--rose-bg);font-style:italic}.sn-rate-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);padding:var(--sp-3) 0;width:100%;max-width:480px;margin:0 auto}.sn-rate-btn{min-height:44px;padding:var(--sp-3) var(--sp-2);border-radius:var(--radius-lg);border:1.5px solid transparent;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.sn-rate-btn:active{transform:scale(.93)}.sn-rate-icon{font-size:var(--fs-lg);line-height:1}.sn-rate-label{font-size:var(--fs-sm);font-weight:var(--fw-semi)}.sn-rate-interval{font-size:var(--fs-xs);opacity:.6}.sn-rate-btn--good,.sn-rate-btn--easy{padding:var(--sp-4) var(--sp-3)}.sn-rate-btn--good .sn-rate-icon,.sn-rate-btn--easy .sn-rate-icon{font-size:var(--fs-xl)}.sn-rate-btn--good{background:var(--success-soft);color:var(--success);border-color:var(--success)}.sn-rate-btn--easy{background:var(--easy-soft);color:var(--easy);border-color:transparent}.sn-rate-btn--again{background:var(--error-soft);color:var(--error);border-color:transparent}.sn-rate-btn--hard{background:var(--warning-soft);color:var(--warning);border-color:transparent}@supports (padding-bottom: env(safe-area-inset-bottom)){.sn-rate-row{padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom))}}@media(min-width:520px){.sn-rate-btn{padding:var(--sp-4) var(--sp-3)}}.sn-end{text-align:center;padding:var(--sp-8) var(--sp-6) calc(var(--sp-8) + var(--safe-b));max-width:440px;margin:0 auto;width:100%;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}@media(min-width:540px){.sn-end{border-radius:var(--radius-xl)}}.sn-end-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;width:140px;height:140px;margin-bottom:var(--sp-5)}.sn-end-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.sn-end-ring-track{fill:none;stroke:var(--sand-100);stroke-width:10}.sn-end-ring-fill{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease-out)}.sn-end-ring-pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:var(--fw-heavy);color:var(--text-1)}.sn-end-emoji{font-size:40px;display:block;margin-bottom:var(--sp-2)}.sn-end-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-1);margin-bottom:var(--sp-1)}.sn-end-subtitle{font-size:var(--fs-sm);color:var(--text-3);margin-bottom:var(--sp-5)}.sn-end-bar{display:flex;height:var(--sp-2);border-radius:var(--radius-full);overflow:hidden;background:var(--sand-100);margin-bottom:var(--sp-4)}.sn-end-bar>div{height:100%}.sn-end-stats{display:flex;gap:var(--sp-4);justify-content:center;margin-bottom:var(--sp-6)}.sn-end-stat{text-align:center}.sn-end-stat strong{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-full);font-size:var(--fs-lg);font-weight:var(--fw-heavy);margin:0 auto var(--sp-1)}.sn-end-stat span{font-size:var(--fs-xs)}.sn-end-actions{display:flex;flex-direction:column;gap:var(--sp-2)}.sn-confetti-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.sn-confetti{position:absolute;width:var(--size);height:var(--size);border-radius:2px;background:var(--color);animation:sn-fall var(--duration) var(--delay) ease-in forwards;pointer-events:none;will-change:transform}@keyframes sn-fall{0%{transform:translateY(-10vh) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(110vh) rotate(360deg);opacity:0}}.sn-empty{text-align:center;padding:var(--sp-10) var(--sp-5);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.sn-empty-icon{font-size:48px}.sn-empty h2{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-1)}.sn-empty p{font-size:var(--fs-sm);color:var(--text-3)}.sn-loader{display:flex;justify-content:center;align-items:center;flex:1}html.dark .sn-overlay{background:var(--bg)}html.dark .sn-close{background:var(--sand-200);color:var(--text-2)}html.dark .sn-close:hover{background:var(--sand-300)}html.dark .sn-bar{background:var(--sand-200)}html.dark .sn-swipe-hint{background:var(--sand-200);color:var(--text-3)}html.dark .sn-fc-face{background:var(--bg-raised);border-color:var(--sand-300);box-shadow:inset 0 1px #ffffff0a,0 4px 24px #0003}html.dark .sn-fc-section-tag,html.dark .sn-fc-callout{background:var(--sand-200)}html.dark .sn-end-ring-track{stroke:var(--sand-200)}html.dark .sn-rate-btn--good{background:var(--success-soft);color:var(--success)}html.dark .sn-rate-btn--easy{background:var(--easy-soft);color:var(--easy)}html.dark .sn-rate-btn--again{background:var(--error-soft);color:var(--error)}html.dark .sn-rate-btn--hard{background:var(--warning-soft);color:var(--warning)}@media(min-width:540px){html.dark .sn-overlay{box-shadow:var(--shadow-xl)}}.sec-title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:0 0 var(--sp-1);word-break:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:var(--lh-tight);letter-spacing:-.5px;color:var(--text-1)}@media(min-width:400px){.sec-title{font-size:32px}}.sec-counts{font-size:var(--fs-sm);color:var(--text-3);margin:0 0 var(--sp-4);display:flex;gap:var(--sp-2)}.sec-counts-dot{opacity:.4}.sec-session-btn{width:100%;min-height:44px;padding:var(--sp-4);border-radius:var(--radius-lg);background:var(--c, var(--accent));color:#fff;font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin:0 0 var(--sp-5);border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--dur-fast) var(--ease-out);box-shadow:var(--shadow-sm)}.sec-session-btn:hover{box-shadow:var(--shadow-md)}.sec-empty{text-align:center;color:var(--text-3);padding:var(--sp-10) 0;font-size:var(--fs-sm)}.sec-fiche-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:var(--bg-raised);border:1.5px solid var(--sand-100);border-radius:var(--radius-lg);margin:0 0 var(--sp-2);cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.sec-fiche-card:hover{box-shadow:var(--shadow-sm)}.sec-fiche-card:active{transform:scale(.985)}.sec-fiche-ico{font-size:var(--fs-xl);flex-shrink:0}.sec-fiche-card strong{font-size:var(--fs-sm);font-weight:var(--fw-bold);display:block;color:var(--text-1)}.sec-fiche-meta{font-size:var(--fs-xs);color:var(--text-3)}.sec-train-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:var(--bg-raised);border:1.5px solid var(--sand-100);border-radius:var(--radius-lg);margin:0 0 var(--sp-2);cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.sec-train-card:hover{box-shadow:var(--shadow-sm)}.sec-train-card:active{transform:scale(.985)}.sec-train-ico{font-size:var(--fs-xl);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--sand-100);border-radius:var(--radius-md);flex-shrink:0}.sec-train-card strong{font-size:var(--fs-sm);font-weight:var(--fw-bold);display:block;color:var(--text-1)}.sec-train-card span{font-size:var(--fs-xs);color:var(--text-3)}.sec-lec-card{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);background:var(--bg-raised);border:1.5px solid var(--sand-100);border-radius:var(--radius-lg);margin:0 0 var(--sp-2)}.sec-lec-ico{font-size:22px;margin-top:2px;flex-shrink:0}.sec-lec-body{flex:1;min-width:0}.sec-lec-title{font-size:var(--fs-sm);font-weight:var(--fw-semi);line-height:var(--lh-normal);margin:0 0 var(--sp-1);color:var(--text-1)}.sec-lec-tags{display:flex;gap:var(--sp-1);flex-wrap:wrap}.sec-lec-type{font-size:10px;font-weight:var(--fw-bold);padding:2px var(--sp-2);border-radius:var(--radius-sm)}.sec-lec-obligatoire{background:var(--error-soft);color:var(--error)}.sec-lec-recommande{background:var(--warning-soft);color:var(--warning)}.sec-lec-reference{background:var(--sand-100);color:var(--text-3)}.sec-lec-fmt{font-size:10px;color:var(--text-3);padding:2px var(--sp-2);background:var(--sand-100);border-radius:var(--radius-sm)}.sec-lec-open{font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);flex-shrink:0;align-self:center;text-decoration:none}.sec-lec-open:hover{background:var(--accent);color:#fff}html.dark .sec-fiche-card,html.dark .sec-train-card,html.dark .sec-lec-card{background:var(--bg-raised);border-color:var(--sand-200)}html.dark .sec-train-ico{background:var(--sand-200)}html.dark .sec-lec-open{background:var(--accent-soft);color:var(--accent)}html.dark .sec-lec-open:hover{background:var(--accent);color:#fff}.hm-header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0 var(--sp-5)}.hm-wave{font-size:32px}.hm-title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.5px;color:var(--text-1)}.hm-subtitle{font-size:var(--fs-sm);color:var(--text-2)}.hm-streak{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);background:var(--accent-soft);margin:0 0 var(--sp-3)}.hm-streak-fire{font-size:18px;line-height:1}.hm-streak-num{font-size:var(--fs-md);font-weight:var(--fw-heavy);color:var(--accent)}.hm-streak-label{font-size:var(--fs-sm);color:var(--text-2)}.hm-motive{font-size:var(--fs-sm);color:var(--text-3);text-align:center;margin:var(--sp-2) 0 var(--sp-4);line-height:var(--lh-normal)}.hm-due-banner{display:flex;align-items:center;gap:var(--sp-4);background:var(--accent);border:none;border-radius:var(--sp-6);padding:var(--sp-5) var(--sp-6);box-shadow:0 8px 32px #e8634a40;margin:0 0 var(--sp-6);cursor:pointer;color:#fff;transition:box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);animation:hm-pulse 2s var(--ease-in-out) .5s 1}@keyframes hm-pulse{0%,to{box-shadow:0 8px 32px #e8634a40}50%{box-shadow:0 8px 32px #e8634a73}}.hm-due-banner:active{transform:scale(.98)}.hm-ring-wrap{position:relative;width:52px;height:52px;flex-shrink:0}.hm-ring-wrap svg{width:100%;height:100%}.hm-ring-n{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--hm-ring-fs, 28px);font-weight:var(--fw-heavy);color:#fff}.hm-due-text{flex:1}.hm-due-text strong{display:block;font-size:var(--fs-base);font-weight:var(--fw-bold);color:#fff}.hm-due-text span{font-size:var(--fs-xs);color:#ffffffbf}.hm-due-cta{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:#fff;white-space:nowrap;flex-shrink:0}.hm-widgets{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.hm-widget-charge{background:var(--sand-100);border:1.5px solid var(--sand-200);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4)}.hm-widget-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin:0 0 var(--sp-2)}.hm-widget-row{display:flex;align-items:center}.hm-wc-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.hm-wc-n{font-size:1.6rem;font-weight:var(--fw-heavy);line-height:1;color:var(--text-1);font-variant-numeric:tabular-nums}.hm-wc-label{font-size:var(--fs-xs);color:var(--text-3);text-align:center}.hm-wc-sep{width:1px;height:2rem;background:var(--sand-200);flex-shrink:0}.hm-wc-today{font-size:var(--fs-sm);color:var(--accent);text-align:center;margin-top:var(--sp-2);font-weight:var(--fw-semi)}.hm-widget-exam{display:flex;align-items:center;gap:var(--sp-3);background:var(--sand-100);border:1.5px solid var(--sand-200);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4)}.hm-widget-exam--soon{background:var(--warning-soft);border-color:var(--warning)}.hm-widget-exam--urgent{background:var(--error-soft);border-color:var(--error)}.hm-widget-exam-ico{font-size:1.25rem;flex-shrink:0}.hm-widget-exam-body{display:flex;flex-direction:column;gap:2px}.hm-widget-exam-body strong{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-1)}.hm-widget-exam-body span{font-size:var(--fs-xs);color:var(--text-3)}.hm-widget-exam--urgent .hm-widget-exam-body strong,.hm-widget-exam--urgent .hm-widget-exam-body span{color:var(--error)}.hm-widget-exam--soon .hm-widget-exam-body strong,.hm-widget-exam--soon .hm-widget-exam-body span{color:var(--warning)}.hm-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-1)}.hm-sec-label{font-size:var(--fs-sm);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.6px;color:var(--text-2)}.hm-overview-btn{display:flex;align-items:center;gap:var(--sp-1);background:none;border:1px solid var(--sand-200);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);color:var(--text-3);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.hm-overview-btn:hover{border-color:var(--sand-400);color:var(--text-2)}.hm-courses{display:flex;flex-direction:column;gap:var(--sp-3);padding-bottom:var(--page-bottom)}.hm-ccard{background:linear-gradient(145deg,var(--bg-raised) 70%,var(--cbg, var(--bg-raised)) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--sand-100);transition:background var(--dur-normal) var(--ease-out)}.hm-ccard:hover{background:linear-gradient(145deg,var(--bg-raised) 40%,var(--cbg, var(--bg-raised)) 100%)}.hm-ccard-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4);gap:var(--sp-3);cursor:pointer}.hm-ccard-left{display:flex;align-items:center;gap:var(--sp-3);flex:1;min-width:0}.hm-ccard-right{flex-shrink:0}.hm-ccard-emo{font-size:28px}.hm-ccard-name{font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:var(--lh-tight);margin:0 0 var(--sp-1);color:var(--text-1)}.hm-ccard-desc{font-size:var(--fs-xs);color:var(--text-3);line-height:var(--lh-normal);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.hm-ccard-badge{background:var(--c, var(--accent));color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-heavy);padding:3px var(--sp-2);border-radius:var(--radius-full)}.hm-ccard-foot{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-3);border-top:1px solid var(--sand-100);padding-top:var(--sp-2)}.hm-ccard-progress{flex:1;display:flex;align-items:center;gap:var(--sp-2)}.hm-cv-label{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap}.hm-cv-bar{flex:1;height:6px;background:var(--sand-100);border-radius:var(--radius-full);overflow:hidden}.hm-cv-fill{height:100%;border-radius:var(--radius-full)}.hm-ccard-expand{background:none;border:none;cursor:pointer;padding:var(--sp-1);border-radius:var(--radius-sm);display:flex;align-items:center;transition:background var(--dur-fast) var(--ease-out)}.hm-ccard-expand:hover{background:var(--sand-100)}.hm-sections-list{padding:0 var(--sp-3) var(--sp-3);display:flex;flex-direction:column;gap:2px}.hm-section-row{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);gap:var(--sp-2)}.hm-section-row:hover{background:var(--sand-100)}.hm-sr-left{display:flex;align-items:center;gap:var(--sp-2);flex:1;min-width:0}.hm-sr-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.hm-sr-name{font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hm-sr-right{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.hm-sr-due{font-size:var(--fs-xs);font-weight:var(--fw-semi)}.hm-sr-bar{width:48px;height:4px;background:var(--sand-100);border-radius:var(--radius-full);overflow:hidden}.hm-sr-fill{height:100%;border-radius:var(--radius-full)}.hm-sr-pct{font-size:var(--fs-xs);color:var(--text-3);width:28px;text-align:right}html.dark .hm-streak{background:var(--accent-soft)}html.dark .hm-streak-num{color:var(--accent)}html.dark .hm-due-banner{background:var(--accent);box-shadow:0 8px 32px #f0745a4d}html.dark .hm-ccard{background:linear-gradient(145deg,var(--bg-raised) 70%,var(--cbg, var(--bg-raised)) 100%);border-color:var(--sand-300);box-shadow:inset 0 1px #ffffff0a,var(--shadow-sm)}html.dark .hm-widget-charge,html.dark .hm-widget-exam{background:var(--sand-200);border-color:var(--sand-300)}html.dark .hm-widget-exam-body strong{color:var(--text-1)}html.dark .hm-ccard{background:var(--bg-raised);border-color:var(--sand-200)}html.dark .hm-ccard-foot{border-color:var(--sand-200)}html.dark .hm-section-row:hover,html.dark .hm-ccard-expand:hover{background:var(--sand-200)}@media(min-width:520px){.hm-courses{padding-bottom:60px}}.fr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg-overlay);display:flex;flex-direction:column;justify-content:flex-end}@media(min-width:540px){.fr-overlay{align-items:center;justify-content:center}}.fr-panel{background:var(--bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}@media(min-width:540px){.fr-panel{border-radius:var(--radius-xl);max-width:680px;width:100%;max-height:88dvh}}.fr-top{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--page-px) var(--sp-3);border-bottom:1px solid var(--sand-100);flex-shrink:0}.fr-close,.fr-print{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--sand-100);color:var(--text-2);flex-shrink:0;transition:background var(--dur-fast) var(--ease-out)}.fr-close:hover,.fr-print:hover{background:var(--sand-200)}.fr-label{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--text-2);flex:1;text-align:center;padding:0 var(--sp-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr-progress{height:2px;background:var(--sand-100);flex-shrink:0}.fr-progress-fill{height:100%;background:var(--accent);transition:width .15s linear}.fr-toc{border-bottom:1px solid var(--sand-100);flex-shrink:0}.fr-toc-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--page-px);background:transparent;border:none;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-3)}.fr-toc-toggle:hover{color:var(--text-2)}.fr-toc-chevron{font-size:var(--fs-xs);transition:transform var(--dur-fast) var(--ease-out)}.fr-toc-list{padding:0 var(--page-px) var(--sp-2);display:flex;flex-direction:column}.fr-toc-item{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);color:var(--text-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);border:none;background:none;text-align:left;font-family:var(--font-body);line-height:var(--lh-normal)}.fr-toc-item:hover{background:var(--sand-100)}.fr-toc-item--active{color:var(--accent);font-weight:var(--fw-semi)}.fr-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp-5) var(--page-px) var(--page-bottom);position:relative}@media(min-width:768px){.fr-scroll{padding:var(--sp-8) var(--sp-8) var(--page-bottom)}}.fr-back-top{position:absolute;bottom:calc(var(--sp-5) + var(--safe-b));left:var(--page-px);width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-raised);border:1.5px solid var(--sand-200);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;color:var(--text-2);cursor:pointer;z-index:5;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.fr-back-top:hover{background:var(--sand-100)}html.dark .fr-panel{background:var(--bg-raised)}html.dark .fr-top{border-color:var(--sand-200)}html.dark .fr-close,html.dark .fr-print{background:var(--sand-200);color:var(--text-2)}html.dark .fr-toc{border-color:var(--sand-200)}html.dark .fr-toc-item:hover,html.dark .fr-progress{background:var(--sand-200)}html.dark .fr-back-top{background:var(--bg-raised);border-color:var(--sand-300)}.splash{display:flex;align-items:center;justify-content:center;min-height:100dvh}.splash-logo{font-family:var(--display);font-size:32px;font-weight:800;color:var(--text)}.splash-logo span{color:var(--coral)}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:20px;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--bg) 0%,#FFF5EE 40%,var(--sand-50) 100%)}.login-orbs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.25}.orb-1{width:300px;height:300px;background:var(--coral);top:-80px;right:-60px;animation:float1 8s ease-in-out infinite}.orb-2{width:250px;height:250px;background:var(--violet);bottom:-60px;left:-80px;animation:float2 10s ease-in-out infinite}.orb-3{width:200px;height:200px;background:var(--teal);top:40%;left:50%;animation:float3 12s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(-20px,30px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(30px,-20px)}}@keyframes float3{0%,to{transform:translate(0)}50%{transform:translate(-15px,-25px)}}.login-card{background:#ffffffd9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:28px;padding:44px 32px;width:100%;max-width:380px;box-shadow:var(--sh-l);position:relative;z-index:1;border:1px solid rgba(255,255,255,.6)}.login-logo{font-family:var(--display);font-size:28px;font-weight:800}.login-logo span{color:var(--coral)}.login-sub{font-size:14px;color:var(--text-2);margin:4px 0 28px}.login-err{background:var(--coral-bg);color:var(--coral);font-size:13px;font-weight:500;padding:10px 14px;border-radius:var(--r-xs);margin:0 0 16px;overflow:hidden}.login-card label{display:block;font-size:11px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.8px;margin:0 0 6px}.login-card input{width:100%;padding:14px 16px;border:1.5px solid var(--sand-200);border-radius:var(--r-s);font-size:16px;margin:0 0 16px;outline:none;background:#ffffffb3;transition:.2s}.login-card input:focus{border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-bg);background:#fff}.login-btn{width:100%;padding:16px;border-radius:var(--r-s);background:var(--coral);color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.back-btn{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--coral);padding:8px 0 16px}.course-hero{display:flex;align-items:center;gap:16px;padding:4px 0 20px}.course-emo{font-size:40px}.course-title{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.3px}.course-desc{font-size:13px;color:var(--text-2);line-height:1.5}.quick-train{width:100%;display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--card);border:1.5px solid var(--sand-100);border-radius:var(--r);box-shadow:var(--sh);margin:0 0 24px;text-align:left}.qt-icon{font-size:24px}.qt-text{flex:1}.qt-text strong{display:block;font-size:15px}.qt-text span{font-size:12px;color:var(--text-3)}.qt-arrow{font-size:20px;color:var(--sand-300)}.sec-card{display:flex;align-items:center;gap:14px;padding:18px 16px;background:var(--card);border:1.5px solid var(--sand-100);border-radius:var(--r-s);margin:0 0 10px;cursor:pointer;transition:.2s}.sec-num{width:36px;height:36px;border-radius:10px;background:var(--sand-50);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:var(--text-2);flex-shrink:0}.sec-body{flex:1;min-width:0}.sec-name{font-size:14px;font-weight:700;margin:0 0 6px}.sec-tags{display:flex;gap:5px;flex-wrap:wrap}.stag{font-size:10px;font-weight:600;padding:3px 8px;border-radius:6px}.stag-fiche{background:var(--violet-bg);color:var(--violet)}.stag-lec{background:var(--amber-bg);color:var(--amber)}.stag-fc{background:var(--teal-bg);color:var(--teal)}.stag-qz{background:var(--coral-bg);color:var(--coral)}.sec-chevron{color:var(--sand-300);flex-shrink:0}.fc-progress{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;color:var(--text-3);font-weight:600}.fc-bar{flex:1;height:4px;background:var(--sand-100);border-radius:2px;overflow:hidden}.fc-fill{height:100%;background:var(--coral);border-radius:2px}.fc-scene{perspective:1200px;min-height:280px;cursor:pointer;width:100%;transform-style:preserve-3d}.fc-card-3d{width:100%;min-height:280px;position:relative;transform-style:preserve-3d}.fc-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--card);border:1.5px solid var(--sand-100);border-radius:var(--r);padding:28px 24px;display:flex;flex-direction:column;box-shadow:var(--sh-m);overflow-y:auto}.fc-back{transform:rotateY(180deg)}.fc-q{font-size:16px;font-weight:500;line-height:1.75;flex:1}.fc-a{font-size:14px;line-height:1.75;color:var(--text-2);flex:1}.fc-hint{font-size:11px;color:var(--sand-300);text-align:center;margin-top:auto;padding-top:12px}.fc-src{font-size:10px;color:var(--sand-300);margin-top:auto;padding-top:8px}.fc-nav{display:flex;gap:8px;justify-content:center;padding:16px 0}.fc-nav-btn{padding:10px 20px;border-radius:var(--r-s);border:1.5px solid var(--sand-200);font-size:13px;font-weight:600;color:var(--text-2)}.subtype-pill{font-size:10px;font-weight:700;padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px}.st-piege{background:#fff5f5;color:#e53e3e}.st-distinction{background:#ebf4ff;color:#2b6cb0}.st-application{background:#f0fff4;color:#38a169}.st-definition,.st-def{background:var(--sand-50);color:var(--text-2)}.st-didactique{background:var(--violet-bg);color:var(--violet)}.quiz-card{background:var(--card);border:1.5px solid var(--sand-100);border-radius:var(--r-s);padding:20px;margin:0 0 12px;box-shadow:var(--sh)}.quiz-q{font-size:14px;font-weight:500;line-height:1.7;margin:8px 0 14px}.reveal-btn{width:100%;padding:14px;border-radius:var(--r-xs);background:var(--sand-50);border:1.5px solid var(--sand-200);font-size:14px;font-weight:600;color:var(--text-2);transition:.15s}.quiz-answer{padding-top:14px;margin-top:14px;border-top:1.5px dashed var(--sand-200);font-size:13px;line-height:1.7;color:var(--text-2);overflow:hidden}.quiz-badge{background:var(--coral-bg);color:var(--coral);font-size:10px;font-weight:700;padding:3px 10px;border-radius:6px}.fiche-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0000004d}.fiche-panel{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}@media(min-width:768px){.fiche-panel{left:auto;width:680px;border-radius:var(--r) 0 0 var(--r);box-shadow:-8px 0 40px #0000001a}}.fiche-top{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--sand-100);flex-shrink:0;position:sticky;top:0;background:#fffbf5e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:2}.fiche-close{padding:4px}.fiche-label{flex:1;font-size:13px;font-weight:600;color:var(--text-2)}.fiche-print{font-size:18px;padding:4px}.fiche-scroll{flex:1;overflow-y:auto;padding:24px 20px 80px}.fiche-content{font-size:16px;line-height:1.8;color:var(--sand-800);max-width:68ch;margin:0 auto}.fiche-content h1{font-family:var(--display);font-size:22px;font-weight:800;color:var(--text);margin:0 0 4px;line-height:1.25}.fiche-content h2{font-size:18px;font-weight:700;color:var(--text);margin:44px 0 16px;padding:14px 18px;border-left:5px solid var(--coral);background:var(--coral-bg);border-radius:0 14px 14px 0;line-height:1.35}.fiche-content h3{font-size:15px;font-weight:700;color:var(--violet);margin:26px 0 8px;display:flex;align-items:center;gap:6px}.fiche-content h3:before{content:"";display:inline-block;width:4px;height:16px;background:var(--violet);border-radius:2px;flex-shrink:0}.fiche-content h4{font-size:13.5px;font-weight:700;color:var(--teal);margin:18px 0 6px;text-transform:uppercase;letter-spacing:.04em}.fiche-content p{margin:0 0 16px}.fiche-content hr{border:none;border-top:1.5px solid var(--sand-200);margin:28px 0}.fiche-content strong{font-weight:700;color:var(--sand-800);background:linear-gradient(to bottom,transparent 60%,rgba(232,99,74,.12) 60%);padding:0 1px}.fiche-content em{font-style:italic;color:var(--sand-600)}.fiche-content code{background:color-mix(in srgb,var(--violet) 8%,var(--bg-raised));color:var(--violet);padding:2px 7px;border-radius:5px;font-size:.88em;font-family:Menlo,Consolas,monospace}.fiche-content .md-list{padding-left:0;margin:8px 0 16px;list-style:none}.fiche-content .md-list li{position:relative;padding:3px 0 3px 20px;line-height:1.6;margin:0}.fiche-content .md-list li:before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;background:var(--coral);border-radius:50%}.fiche-content blockquote{margin:12px 0;padding:14px 18px;border-left:5px solid var(--sand-300);background:var(--sand-50);border-radius:0 14px 14px 0;font-size:14.5px;line-height:1.55;color:var(--sand-700)}.fiche-content blockquote p{margin:0}.fiche-content blockquote p+p{margin-top:6px}.fiche-content blockquote.bq-exam{border-left-color:var(--teal);background:var(--teal-bg);color:var(--sand-800)}.fiche-content blockquote.bq-warn{border-left-color:var(--amber);background:var(--amber-bg);color:var(--sand-800)}.fiche-content blockquote.bq-tip{border-left-color:var(--violet);background:var(--violet-bg);color:var(--sand-800)}.fiche-content blockquote.bq-ref{border-left-color:var(--rose);background:var(--rose-bg);color:var(--sand-700);font-style:italic}.fiche-content blockquote strong{color:inherit;font-weight:700;background:none}.fiche-content table{display:block;margin:14px 0;font-size:14px}.fiche-content table thead{display:none}.fiche-content table tbody{display:flex;flex-direction:column;gap:10px}.fiche-content table tr{display:flex;flex-direction:column;background:var(--card);border:1.5px solid var(--sand-200);border-radius:12px;overflow:hidden}.fiche-content table td{display:flex;flex-direction:column;padding:8px 12px;border-bottom:1px solid var(--sand-100);line-height:1.55;font-size:14px;vertical-align:top}.fiche-content table tr td:last-child{border-bottom:none}.fiche-content table td:before{content:attr(data-label);display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:3px}.fiche-content table td[data-label=""]:before{display:none}@media(min-width:600px){.fiche-content table{border-collapse:collapse;width:100%;border:1.5px solid var(--sand-200);border-radius:12px;overflow:hidden}.fiche-content table thead{display:table-header-group}.fiche-content table tbody{display:table-row-group;gap:0}.fiche-content table tr{display:table-row;background:transparent;border:none;border-radius:0}.fiche-content table th{display:table-cell;background:var(--sand-100);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);padding:9px 12px;text-align:left}.fiche-content table td{display:table-cell;padding:9px 12px;border-bottom:1px solid var(--sand-100);border-left:none}.fiche-content table td:before{display:none}.fiche-content table tr:last-child td{border-bottom:none}.fiche-content table tr:nth-child(2n) td{background:var(--sand-50)}}.check-item{display:flex;align-items:flex-start;gap:10px;padding:9px 14px;margin:4px 0;background:var(--amber-bg);border:1px solid rgba(212,147,13,.2);border-radius:10px;font-size:14px;line-height:1.5;cursor:default}.check-box{width:16px;height:16px;border:2px solid var(--amber);border-radius:4px;flex-shrink:0;margin-top:2px;display:block}.spacer{height:10px}.tutor-sheet{position:absolute;bottom:0;left:0;right:0;max-height:55vh;background:var(--card);border-radius:var(--r) var(--r) 0 0;box-shadow:0 -4px 30px #0000001a;display:flex;flex-direction:column;z-index:420}@media(min-width:768px){.tutor-sheet{left:auto;width:400px;right:0;bottom:0;max-height:65vh}}.tutor-head{padding:14px 18px;border-bottom:1px solid var(--sand-100);display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:15px;flex-shrink:0}.tutor-x{font-size:18px;color:var(--text-3);padding:4px}.tutor-msgs{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:10px;min-height:100px}.tutor-welcome{text-align:center;color:var(--text-3);padding:20px 0;font-size:13px;line-height:1.6}.tutor-hint{font-size:11px;color:var(--sand-300);margin-top:6px}.tmsg{padding:10px 14px;border-radius:var(--r-s);font-size:13px;line-height:1.65;max-width:88%;word-wrap:break-word}.tmsg-user{background:var(--coral);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.tmsg-assistant{background:var(--sand-50);align-self:flex-start;border-bottom-left-radius:4px}.tmsg-assistant strong{color:var(--coral)}.tutor-input{padding:12px 18px calc(12px + var(--safe-b));border-top:1px solid var(--sand-100);display:flex;gap:8px;flex-shrink:0}.tutor-input input{flex:1;padding:12px 14px;border:1.5px solid var(--sand-200);border-radius:var(--r-s);font-size:14px;outline:none;background:var(--sand-50)}.tutor-input input:focus{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-bg);background:#fff}.tutor-send{width:44px;height:44px;border-radius:50%;background:var(--coral);color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center}@media print{.session-overlay,.tutor-fab,.tutor-sheet,.fiche-top,.fiche-overlay{display:none!important}.fiche-panel{position:static!important;width:100%!important}.fiche-scroll{padding:0!important}.fiche-content{font-size:11pt;line-height:1.6;color:#000}.fiche-content h2{border-left-color:#666}.fiche-content h3{color:#333}@page{margin:2cm}}.logout-btn{margin-left:auto;padding:10px;border-radius:12px;background:var(--sand-50);color:var(--text-3);transition:.2s;flex-shrink:0;display:flex}.logout-btn:hover{background:var(--coral-bg);color:var(--coral)}.settings-btn{padding:10px;border-radius:12px;background:var(--sand-50);color:var(--text-3);transition:.2s;flex-shrink:0;display:flex}.settings-btn:hover{background:var(--violet-bg);color:var(--violet)}.gt-head{padding:16px 18px;border-bottom:1px solid var(--sand-100);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.gt-title span{font-size:20px}.gt-close{font-size:18px;color:var(--text-3);padding:4px}.gt-msgs{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:10px;min-height:120px}.gt-welcome{text-align:center;color:var(--text-3);padding:16px 0;font-size:13px;line-height:1.6}.gt-hint{font-size:11px;color:var(--sand-300);margin-top:4px}.gt-suggestions{display:flex;flex-direction:column;gap:6px;margin-top:14px}.gt-sug{padding:10px 14px;border-radius:12px;background:var(--sand-50);border:1px solid var(--sand-100);font-size:12px;color:var(--text-2);text-align:left;transition:.15s}.gt-sug:hover{background:var(--coral-bg);color:var(--coral);border-color:var(--coral-bg)}.gt-msg{padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.65;max-width:88%;word-wrap:break-word}.gt-user{background:var(--coral);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.gt-assistant{background:var(--sand-50);align-self:flex-start;border-bottom-left-radius:4px}.gt-assistant strong{color:var(--coral)}.gt-input{padding:12px 18px calc(12px + var(--safe-b));border-top:1px solid var(--sand-100);display:flex;gap:8px;flex-shrink:0}.gt-input input{flex:1;padding:12px 14px;border:1.5px solid var(--sand-200);border-radius:14px;font-size:14px;outline:none;background:var(--sand-50)}.gt-input input:focus{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-bg);background:#fff}.gt-send{width:44px;height:44px;border-radius:50%;background:var(--coral);color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center}.gt-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:139}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#0000004d}.settings-panel{position:absolute;bottom:0;left:0;right:0;max-height:80vh;background:var(--bg);border-radius:20px 20px 0 0;box-shadow:0 -4px 30px #0000001a;overflow-y:auto}@media(min-width:768px){.settings-panel{left:50%;transform:translate(-50%);max-width:440px;border-radius:20px;bottom:auto;top:15vh}}.settings-top{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0}.settings-top h2{font-family:var(--display);font-size:20px;font-weight:700}.settings-close{padding:4px}.settings-body{padding:20px}.settings-body h3{font-size:15px;font-weight:700;margin:0 0 16px}.settings-body label{display:block;font-size:11px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.8px;margin:0 0 6px}.settings-body input{width:100%;padding:14px 16px;border:1.5px solid var(--sand-200);border-radius:14px;font-size:15px;margin:0 0 14px;outline:none;background:var(--sand-50)}.settings-body input:focus{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-bg);background:#fff}.settings-save{width:100%;padding:16px;border-radius:14px;background:var(--coral);color:#fff;font-size:15px;font-weight:700;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px}.settings-err{background:var(--coral-bg);color:var(--coral);font-size:13px;font-weight:500;padding:10px 14px;border-radius:10px;margin:0 0 14px;overflow:hidden}.settings-ok{background:#f0fff4;color:#38a169;font-size:13px;font-weight:500;padding:10px 14px;border-radius:10px;margin:0 0 14px;overflow:hidden}.quiz-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.quiz-result-badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px}.qr-ok{background:#f0fff4;color:#276749}.qr-ko{background:#fff5f5;color:#c53030}.quiz-self-eval{margin-top:12px}.quiz-self-label{font-size:13px;color:var(--sand-400);margin-bottom:8px}.quiz-eval-btns{display:flex;gap:8px}.qeval-btn{flex:1;padding:10px;border-radius:10px;border:none;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .15s}.qeval-ok{background:#f0fff4;color:#276749}.qeval-ko{background:#fff5f5;color:#c53030}.quiz-answer-block{margin-top:12px;border-radius:12px;padding:14px;overflow:hidden}.qa-ok{background:#f0fff4;border-left:3px solid #48BB78}.qa-ko{background:#fff5f5;border-left:3px solid #FC8181}.qa-label{font-size:12px;font-weight:700;margin-bottom:6px}.qa-ok .qa-label{color:#276749}.qa-ko .qa-label{color:#c53030}.qa-text{font-size:14px;color:var(--sand-700);line-height:1.6}.quiz-flip-btn{margin-top:10px;background:none;border:1px solid var(--sand-200);border-radius:8px;padding:6px 12px;font-size:12px;color:var(--sand-400);cursor:pointer;transition:all .15s}.quiz-flip-btn:hover{border-color:var(--sand-400);color:var(--sand-600)}.ov-title{font-size:22px;font-weight:700;color:var(--sand-800);margin:0 0 16px}.ov-global-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px;background:#fff;border-radius:14px;padding:14px;border:1px solid var(--sand-200);box-shadow:0 2px 8px #0000000a}.ov-global-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.ov-global-stat strong{font-size:20px;font-weight:700;color:var(--sand-800)}.ov-global-stat span{font-size:10px;color:var(--sand-400);text-align:center}.ov-courses-list{display:flex;flex-direction:column;gap:16px;padding-bottom:100px}.ov-course-block{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--sand-200);box-shadow:0 2px 12px #0000000d}.ov-course-head{display:flex;align-items:flex-start;gap:12px;padding:16px;flex-wrap:nowrap}@media(max-width:380px){.ov-course-actions{flex-direction:column;gap:4px}.ov-exam-btn{font-size:10px;padding:4px 8px}}.ov-course-ring{position:relative;flex-shrink:0}.ov-ring-pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--sand-700)}.ov-course-info{flex:1;min-width:0}.ov-course-title-row{display:flex;align-items:center;gap:8px;margin-bottom:3px}.ov-course-emo{font-size:18px}.ov-course-name{font-size:15px;font-weight:700;color:var(--sand-800);margin:0}.ov-course-due{font-size:11px;font-weight:700;color:#fff;padding:2px 7px;border-radius:10px}.ov-course-desc{font-size:12px;color:var(--sand-400);margin:0}.ov-course-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ov-exam-btn{font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;border:1.5px solid;background:none;cursor:pointer;white-space:nowrap;transition:all .15s}.ov-exam-btn:hover{opacity:.7}.ov-collapse-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.ov-collapse-btn:hover{background:var(--sand-100)}.ov-course-bar-wrap{padding:0 16px 12px}.ov-course-bar{height:4px;background:var(--sand-100);border-radius:2px;overflow:hidden}.ov-course-fill{height:100%;border-radius:2px}.ov-sections{padding:0 12px 12px;display:flex;flex-direction:column;gap:2px}.ov-empty{font-size:13px;color:var(--sand-400);padding:8px 10px}.ov-section-row{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:10px;cursor:pointer;transition:background .15s}.ov-section-row:hover{background:var(--sand-50, #fafaf8)}.ov-sec-status{flex-shrink:0;width:20px;display:flex;align-items:center;justify-content:center;padding-top:2px}.ov-check{font-size:14px;font-weight:700}.ov-due-dot{width:8px;height:8px;border-radius:50%;display:block}.ov-idle-dot{width:8px;height:8px;border-radius:50%;background:var(--sand-200);display:block}.ov-sec-body{flex:1;min-width:0}.ov-sec-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.ov-sec-name{font-size:13px;color:var(--sand-700);font-weight:500;flex:1;min-width:0}.ov-sec-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.ov-due-chip{font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px}.ov-score{font-size:11px;font-weight:700}.ov-sec-bar-wrap{display:flex;align-items:center;gap:6px;margin-bottom:4px}.ov-sec-bar{flex:1;height:4px;background:var(--sand-100);border-radius:2px;overflow:hidden}.ov-sec-fill{height:100%;border-radius:2px}.ov-sec-pct{font-size:10px;color:var(--sand-400);width:28px;text-align:right;flex-shrink:0}.ov-sec-counts{font-size:11px;color:var(--sand-400);display:flex;gap:4px}.ov-dot{color:var(--sand-300)}.fc-section-tag{font-size:10px;color:var(--sand-400);background:var(--sand-100);padding:2px 8px;border-radius:8px;margin-bottom:8px;display:inline-block}.fc-scene{cursor:pointer;user-select:none;-webkit-user-select:none}@media(max-width:400px){.page{padding:16px 14px}.home-head{gap:10px}.home-hi{font-size:20px}.ccard-name{font-size:14px}.ov-global-stat strong{font-size:18px}.ov-global-stats{padding:12px 10px}.ov-exam-btn{font-size:11px;padding:5px 9px}}.fiche-overlay{max-width:520px;margin:0 auto}@media(min-width:520px){.quiz-card{padding:18px 20px}}.due-banner:active{opacity:.9;transform:scale(.99)}.sec-name{font-size:15px;font-weight:700;margin:0 0 6px;word-break:break-word;line-height:1.3}.ov-sec-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}@media(min-width:400px){.ov-sec-name{max-width:220px}}@media(min-width:480px){.ov-sec-name{max-width:300px}}@media(min-width:520px){.page,.ov-courses-list,.cgrid-v2{padding-bottom:60px}}@media(min-width:520px){.fiche-content{font-size:15px}.fiche-content h2{font-size:18px}.fiche-content h3{font-size:16px}}.login-card input{font-size:16px}:root{--sand-600: #5C5048;--sand-700: #3D3530;--sand-800: #2D2824;--sand-50: #FDF9F3}@media(min-width:540px){body{background:#ede8e2}.app-shell{background:var(--bg);box-shadow:0 0 0 1px #0000000f,0 8px 48px #0000001f}.page{padding-bottom:80px}}.tutor-fab{position:absolute;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:var(--violet);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-m);z-index:10}.tutor-sheet{position:absolute;bottom:0;left:0;right:0;height:55%;background:var(--bg);border-top:1px solid var(--sand-200);display:flex;flex-direction:column;z-index:20}.tutor-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--sand-100);flex-shrink:0;font-weight:700;font-size:14px}.tutor-x{width:28px;height:28px;border-radius:50%;background:var(--sand-100);display:flex;align-items:center;justify-content:center;font-size:12px}.tutor-msgs{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.tutor-welcome p{font-size:13px;color:var(--text-2);margin-bottom:6px}.tutor-hint{color:var(--text-3)!important;font-size:12px!important}.tmsg{font-size:13px;line-height:1.6;padding:10px 14px;border-radius:14px;max-width:90%}.tmsg-user{background:var(--violet);color:#fff;align-self:flex-end;border-radius:14px 14px 4px}.tmsg-assistant{background:var(--sand-100);color:var(--text);align-self:flex-start;border-radius:14px 14px 14px 4px}.tmsg-err{background:var(--coral-bg);color:var(--coral)}.tutor-input{display:flex;gap:8px;padding:10px 14px calc(10px + var(--safe-b));border-top:1px solid var(--sand-100);flex-shrink:0}.tutor-input input{flex:1;padding:10px 14px;border:1.5px solid var(--sand-200);border-radius:20px;font-size:14px;outline:none}.tutor-input input:focus{border-color:var(--violet)}.tutor-send{width:38px;height:38px;border-radius:50%;background:var(--violet);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tutor-send:disabled{opacity:.4}.global-tutor-fab{position:fixed;bottom:calc(24px + var(--safe-b));right:max(16px,calc((100vw - 680px)/2 + 16px));width:52px;height:52px;border-radius:50%;background:var(--violet);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-l);z-index:150}.global-tutor-sheet{position:fixed;bottom:0;left:16px;right:16px;width:auto;max-width:520px;margin:0 auto;height:50dvh;max-height:480px;background:var(--bg);border-radius:20px 20px 0 0;box-shadow:var(--sh-l);z-index:140;display:flex;flex-direction:column;overflow:hidden}@media(min-width:540px){.global-tutor-sheet{left:auto;right:max(16px,calc((100vw - 680px)/2 + 16px));width:380px;max-width:none;margin:0;bottom:84px;border-radius:20px;height:60dvh;max-height:560px}}.gt-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--sand-100);flex-shrink:0}.gt-title{display:flex;align-items:center;gap:10px}.gt-title strong{font-size:15px;display:block}.gt-model{font-size:11px;color:var(--text-3)}.gt-close{width:30px;height:30px;border-radius:50%;background:var(--sand-100);display:flex;align-items:center;justify-content:center}.gt-msgs{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.gt-welcome p{font-size:13px;color:var(--text-2);margin-bottom:8px}.gt-hint{color:var(--text-3)!important;font-size:12px!important}.gt-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.gt-sug{font-size:12px;padding:6px 12px;border-radius:20px;border:1.5px solid var(--violet);color:var(--violet);background:var(--violet-bg);white-space:nowrap}.gt-msg{font-size:13px;line-height:1.6;padding:10px 14px;border-radius:14px;max-width:90%}.gt-user{background:var(--violet);color:#fff;align-self:flex-end;border-radius:14px 14px 4px}.gt-assistant{background:var(--sand-100);color:var(--text);align-self:flex-start;border-radius:14px 14px 14px 4px}.gt-err{background:var(--coral-bg);color:var(--coral)}.gt-input{display:flex;gap:8px;padding:10px 14px calc(10px + var(--safe-b));border-top:1px solid var(--sand-100);flex-shrink:0}.gt-input input{flex:1;padding:10px 14px;border:1.5px solid var(--sand-200);border-radius:20px;font-size:14px;outline:none}.gt-input input:focus{border-color:var(--violet)}.gt-send{width:38px;height:38px;border-radius:50%;background:var(--violet);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gt-send:disabled{opacity:.4}.fiche-content .check-item{display:flex;align-items:flex-start;gap:8px;padding:4px 0;font-size:13.5px;color:var(--text-2)}.fiche-content .check-item:before{content:"☐";font-size:16px;flex-shrink:0;line-height:1.3;color:var(--sand-400)}.fiche-content .spacer{height:8px}.fiche-content code{background:var(--sand-100);padding:2px 6px;border-radius:5px;font-family:monospace;font-size:12px;color:var(--violet)}.fiche-content li{margin-left:20px;padding:2px 0;font-size:13.5px;line-height:1.6}.fiche-content h2{font-size:17px;font-weight:700;margin:20px 0 10px;color:var(--text);border-bottom:1px solid var(--sand-100);padding-bottom:6px}.fiche-content h3{font-size:15px;font-weight:700;margin:16px 0 8px;color:var(--text)}.fiche-content h4{font-size:13px;font-weight:700;margin:12px 0 6px;color:var(--text-2);text-transform:uppercase;letter-spacing:.4px}.fiche-content hr{border:none;border-top:1px solid var(--sand-200);margin:16px 0}.fiche-content p{font-size:13.5px;line-height:1.65;margin-bottom:6px}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px}.welcome-card{background:var(--card, #fff);border-radius:20px;padding:32px 28px 24px;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 60px #0003}.welcome-title{font-size:22px;font-weight:800;margin-bottom:24px;color:var(--text, #2D2A26)}.welcome-steps{display:flex;flex-direction:column;gap:16px;margin-bottom:28px;text-align:left}.welcome-step{display:flex;align-items:center;gap:12px;font-size:.92rem;color:var(--text, #2D2A26);line-height:1.4}.welcome-ico{font-size:28px;flex-shrink:0;width:36px;text-align:center}.welcome-cta{display:block;width:100%;padding:14px;border:none;border-radius:12px;background:var(--coral, #E8634A);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;margin-bottom:10px}.welcome-cta:active{opacity:.85}.welcome-secondary{display:block;width:100%;padding:10px;border:none;background:transparent;color:var(--sand-500, #8B7E6E);font-size:.88rem;cursor:pointer;text-decoration:underline}.fiche-content strong{color:var(--text)}.md-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0;border-radius:8px}.md-table{width:100%;border-collapse:collapse;font-size:13px}.md-table th{background:var(--sand-100);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-2);padding:8px 10px;text-align:left}.md-table td{padding:8px 10px;border-bottom:1px solid var(--sand-100);vertical-align:top}.md-table tr:last-child td{border-bottom:none}.fiche-content ul{padding-left:20px;margin:6px 0}.fiche-content ul li{padding:2px 0;font-size:13.5px;line-height:1.6;list-style:disc}.update-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:var(--violet);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;box-shadow:0 2px 12px #0003}.ub-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.ub-icon{font-size:18px;flex-shrink:0}.ub-text{display:flex;flex-direction:column;min-width:0}.ub-text strong{font-size:13px;font-weight:700}.ub-changes{font-size:11px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ub-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ub-update{background:#fff;color:var(--violet);border:none;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer}.ub-dismiss{background:transparent;border:none;color:#ffffffb3;font-size:14px;cursor:pointer;padding:4px;line-height:1}@media(min-width:540px){.update-banner{left:50%;transform:translate(-50%);width:100%;max-width:520px;border-radius:0 0 12px 12px}}.fc-face{border-top:4px solid var(--fc-color, var(--sand-200))}.fc-type-piege{--fc-color: #E53E3E}.fc-type-distinction{--fc-color: #2B6CB0}.fc-type-application{--fc-color: #38A169}.fc-type-definition{--fc-color: var(--sand-300)}.fc-type-quiz{--fc-color: var(--coral)}.fc-q strong,.fc-a strong{background:none}.fc-type-piege .fc-q strong{color:#e53e3e}.fc-type-distinction .fc-q strong{color:#2b6cb0}.fc-type-application .fc-q strong{color:#38a169}.fc-subtype-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;flex-shrink:0;opacity:.7}.exam-sim-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#0006}.exam-sim-panel{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}@media(min-width:540px){.exam-sim-panel{inset:auto;left:50%;bottom:0;top:0;transform:translate(-50%);width:100%;max-width:600px;box-shadow:0 0 40px #0003}}.es-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--sand-100);flex-shrink:0}.es-close{padding:4px}.es-title{font-size:15px;font-weight:700;display:block}.es-subtitle{font-size:12px;color:var(--text-3)}.es-task-picker{display:flex;gap:6px;padding:12px 16px;overflow-x:auto;flex-shrink:0;border-bottom:1px solid var(--sand-100);scrollbar-width:none}.es-task-picker::-webkit-scrollbar{display:none}.es-task-btn{flex-shrink:0;display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:var(--r-s);border:1.5px solid var(--sand-200);background:var(--card);text-align:left;cursor:pointer}.es-task-active{border-color:var(--violet);background:var(--violet-bg)}.es-task-part{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--text-3)}.es-task-name{font-size:12px;font-weight:600;color:var(--text);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.es-task-active .es-task-part,.es-task-active .es-task-name{color:var(--violet)}.es-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.es-task-card{background:var(--card);border:1.5px solid var(--sand-100);border-radius:var(--r);padding:16px}.es-task-meta{display:flex;gap:8px;margin-bottom:10px}.es-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--sand-100);color:var(--text-2)}.es-badge-niveau{background:var(--violet-bg);color:var(--violet)}.es-situation{font-size:13px;line-height:1.6;margin-bottom:10px}.es-aufgabe{font-size:13px;line-height:1.6}.es-points{padding-left:18px;margin:6px 0 0}.es-points li{padding:3px 0}.es-hint{font-size:12px;color:var(--text-3);margin-top:10px;padding-top:8px;border-top:1px dashed var(--sand-100)}.es-criteria{display:flex;flex-direction:column;gap:6px}.es-criterion{display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;background:var(--sand-50);border-radius:var(--r-s)}.es-criterion strong{font-size:12px;font-weight:700;flex-shrink:0}.es-criterion span{font-size:11px;color:var(--text-3)}.es-textarea{width:100%;padding:14px;border:1.5px solid var(--sand-200);border-radius:var(--r-s);font-size:14px;line-height:1.6;resize:vertical;background:var(--card);color:var(--text);font-family:inherit}.es-textarea:focus{border-color:var(--violet);outline:none}.es-submit{width:100%;padding:16px;background:var(--violet);color:#fff;border:none;border-radius:var(--r-s);font-size:15px;font-weight:700;cursor:pointer;margin-top:8px}.es-submit:disabled{opacity:.4}.es-retry{width:100%;padding:12px;background:var(--sand-100);color:var(--text);border:none;border-radius:var(--r-s);font-size:14px;font-weight:600;cursor:pointer;margin-top:8px}.es-cloze{display:flex;flex-direction:column;gap:8px}.es-cloze-intro{font-size:13px;color:var(--text-2);margin-bottom:4px}.es-cloze-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--card);border:1.5px solid var(--sand-100);border-radius:var(--r-s)}.es-cloze-row.cloze-ok{border-color:#38a169;background:#f0fff4}.es-cloze-row.cloze-ko{border-color:#e53e3e;background:#fff5f5}.es-cloze-item{font-size:13px;flex:1;min-width:0}.es-cloze-input{width:120px;flex-shrink:0;padding:6px 10px;border:1.5px solid var(--sand-200);border-radius:8px;font-size:13px}.es-cloze-badge{font-size:12px;font-weight:700;flex-shrink:0}.cloze-badge-ok{color:#38a169}.cloze-badge-ko{color:#e53e3e}.es-cloze-score{text-align:center;font-size:16px;font-weight:700;padding:12px}.es-feedback{display:flex;flex-direction:column;gap:10px}.es-fb-criterion{padding:12px 14px;border-radius:var(--r-s);border-left:4px solid}.es-fb-ok{background:#f0fff4;border-color:#38a169}.es-fb-warn{background:ivory;border-color:#d69e2e}.es-fb-ko{background:#fff5f5;border-color:#e53e3e}.es-fb-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.es-fb-note{font-size:18px}.es-fb-head strong{font-size:13px}.es-fb-expl{font-size:13px;line-height:1.6;color:var(--text)}.es-fb-sug{font-size:12px;color:var(--text-2);margin-top:4px;font-style:italic}.es-fb-global{font-size:13px;font-weight:600;padding:10px 14px;background:var(--violet-bg);color:var(--violet);border-radius:var(--r-s)}.es-feedback-raw{font-size:13px;line-height:1.7;padding:14px;background:var(--sand-50);border-radius:var(--r-s)}.course-exam-sim-btn{width:100%;padding:16px 20px;margin-bottom:12px;background:var(--violet);color:#fff;border:none;border-radius:var(--r);font-size:15px;font-weight:700;cursor:pointer;text-align:left;display:flex;align-items:center;gap:10px}.es-situation-text{font-size:13px;line-height:1.7;white-space:pre-wrap;margin:0;font-family:inherit;color:var(--text)}.es-variable-btn{width:100%;margin-top:12px;padding:10px 14px;border:1.5px dashed var(--sand-300);border-radius:var(--r-s);background:transparent;font-size:12px;font-weight:600;color:var(--text-2);cursor:pointer;text-align:left;transition:.2s}.es-variable-on{font-weight:700}.es-criteria-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3);margin-bottom:4px}.es-textarea-label{font-size:12px;color:var(--text-3);margin-bottom:8px}.uebung-tab{padding-bottom:2rem}.uebung-score{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem;background:var(--sand-50);border-radius:12px}.uebung-score-num{font-size:.85rem;font-weight:700;color:#2d7d46;min-width:2.5rem}.uebung-score-bar{flex:1;height:6px;background:var(--sand-200);border-radius:3px;overflow:hidden}.uebung-score-fill{height:100%;border-radius:3px}.uebung-counter{font-size:.8rem;color:var(--sand-400);min-width:2.5rem;text-align:right}.uebung-card{background:var(--sand-50);border:1.5px solid var(--sand-200);border-radius:18px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.uebung-meta{display:flex;align-items:center;gap:.5rem}.uebung-format-badge{font-size:.75rem;font-weight:600;padding:.25rem .65rem;border-radius:20px;background:#e8f5e9;color:#2d7d46}.uebung-niveau{font-size:.72rem;color:var(--sand-400);border:1px solid var(--sand-200);padding:.15rem .5rem;border-radius:10px}.uebung-consigne{font-size:.82rem;color:var(--sand-500);font-style:italic;margin:0}.uebung-enonce{background:#fff;border-left:3px solid #2d7d46;border-radius:0 12px 12px 0;padding:.9rem 1rem}.uebung-enonce p{margin:0;font-size:1rem;font-weight:500;line-height:1.5;color:var(--sand-800)}.uebung-input-zone{display:flex;flex-direction:column;gap:.75rem}.uebung-input{width:100%;padding:.85rem 1rem;border:2px solid var(--sand-200);border-radius:12px;font-size:.95rem;font-family:inherit;background:#fff;color:var(--sand-800);resize:none;outline:none;transition:border-color .2s;box-sizing:border-box}.uebung-input:focus{border-color:#2d7d46}.uebung-actions{display:flex;gap:.75rem;justify-content:flex-end}.uebung-skip-btn{padding:.65rem 1.1rem;border-radius:10px;border:1.5px solid var(--sand-200);background:#fff;color:var(--sand-500);font-size:.87rem;cursor:pointer}.uebung-check-btn{padding:.65rem 1.4rem;border-radius:10px;border:none;background:#2d7d46;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.uebung-check-btn:not([disabled]):hover{background:#245f38}.uebung-result{border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.8rem;border:1.5px solid transparent}.uebung-correct{background:#e8f5e9;border-color:#a5d6a7}.uebung-close{background:#fff8e1;border-color:#ffe082}.uebung-wrong{background:#ffebee;border-color:#ef9a9a}.uebung-result-header{font-size:1rem;font-weight:700}.uebung-verdict{display:inline-flex;align-items:center;gap:.4rem}.uebung-v-correct{color:#2d7d46}.uebung-v-close{color:#f57f17}.uebung-v-wrong{color:#c62828}.uebung-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--sand-400);display:block;margin-bottom:.2rem}.uebung-user-answer,.uebung-correct-answer,.uebung-explication{background:#ffffffb3;border-radius:10px;padding:.7rem .9rem}.uebung-user-text{margin:0;font-size:.9rem;color:var(--sand-600);font-style:italic}.uebung-correct-text{margin:0;font-size:.95rem;font-weight:600;color:var(--sand-800)}.uebung-explication p{margin:0;font-size:.85rem;color:var(--sand-600);line-height:1.5}.uebung-next-btn{width:100%;padding:.85rem;border:none;border-radius:12px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:.25rem}.ar-reveal-btn{width:100%;padding:.9rem;border:2px dashed var(--c, var(--coral-400));background:transparent;color:var(--c, var(--coral-400));border-radius:14px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;margin-top:.5rem}.ar-reveal-btn:active{background:color-mix(in srgb,var(--c, var(--coral-400)) 10%,white)}.qa-revealed{background:var(--sand-100);border-radius:12px;padding:.9rem 1rem;border-left:3px solid var(--sand-300)}.qa-revealed .qa-text{margin:0;font-size:.93rem;line-height:1.6;color:var(--sand-800)}.ar-rate-zone{margin-top:.85rem}.ar-rate-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--sand-400);margin:0 0 .55rem}.ar-rate-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.ar-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .3rem;border-radius:12px;border:1.5px solid transparent;cursor:pointer;transition:transform .1s,opacity .15s}.ar-btn-label{font-size:.8rem;font-weight:700}.ar-btn-interval{font-size:.68rem;opacity:.7}.ar-again{background:#fff5f5;border-color:#feb2b2;color:#c53030}.ar-hard{background:ivory;border-color:#faf089;color:#b7791f}.ar-good{background:#f0fff4;border-color:#9ae6b4;color:#276749}.ar-easy{background:#f5f3ff;border-color:#c4b5fd;color:#553c9a}.ar-again:active{background:#fed7d7}.ar-hard:active{background:#fefcbf}.ar-good:active{background:#c6f6d5}.ar-easy:active{background:#e9d8fd}.ar-rating-badge{font-size:.72rem;font-weight:700;padding:.18rem .55rem;border-radius:20px;border:1.5px solid;background:transparent}.note-editor{margin-top:.85rem;border-radius:12px;overflow:hidden;border:1.5px solid var(--sand-200);background:var(--sand-50)}.note-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.65rem .9rem;background:transparent;border:none;cursor:pointer;font-size:.83rem;color:var(--sand-500);text-align:left}.note-toggle-active{color:var(--sand-700)}.note-toggle-ico{font-size:.9rem;flex-shrink:0}.note-preview{flex:1;font-style:italic;font-size:.78rem;color:var(--sand-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-toggle-chevron{font-size:.75rem;transition:transform .2s;flex-shrink:0}.note-body{overflow:hidden;border-top:1px solid var(--sand-200)}.note-textarea{width:100%;padding:.75rem .9rem;border:none;background:#fff;font-size:.88rem;font-family:inherit;line-height:1.55;color:var(--sand-800);resize:vertical;outline:none;box-sizing:border-box;min-height:80px}.note-textarea::placeholder{color:var(--sand-300)}.note-status{padding:.3rem .9rem .4rem;font-size:.72rem;min-height:1.4rem}.note-saving{color:var(--sand-400)}.note-saved{color:#38a169}.note-error{color:#e53e3e}.note-idle{color:var(--sand-300)}.offline-banner{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.2rem;background:#fff8e1;border:1.5px solid #ffe082;border-radius:16px;margin:1rem 0 .5rem}.offline-ico{font-size:1.5rem;flex-shrink:0;line-height:1}.offline-body{flex:1}.offline-body strong{display:block;font-size:.95rem;color:#5d4037;margin-bottom:.25rem}.offline-body p{margin:0;font-size:.82rem;color:#795548;line-height:1.5}.offline-retry{flex-shrink:0;padding:.5rem .9rem;border-radius:10px;border:1.5px solid #ffca28;background:#fff;color:#f57f17;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;align-self:center}.offline-retry:active{background:#fffde7}.uebung-special-chars{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.4rem}.uebung-char-btn{padding:.4rem .65rem;border-radius:8px;border:1.5px solid var(--sand-200);background:#fff;color:var(--sand-700);font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;line-height:1;transition:background .1s,border-color .1s;min-width:2.4rem;min-height:2.4rem;display:flex;align-items:center;justify-content:center}.uebung-char-btn:active{background:#e8f5e9;border-color:#2d7d46;color:#2d7d46}@media(min-width:540px){.fiche-content{font-size:16px}.fiche-content h2{font-size:18px}.fiche-content h3{font-size:15.5px}}@media(min-width:768px){.fiche-scroll{padding:28px 32px 100px}}@media print{.fiche-content{font-size:11pt;line-height:1.6;color:#000;max-width:none}.fiche-content h2{background:none;border-left-color:#666}.fiche-content h3{color:#333}.fiche-content h3:before{background:#666}.fiche-content blockquote{background:#f5f5f5;border-left-color:#999}.fiche-content strong{background:none}}.fc-callout{margin:8px 0 0;padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.55;border-left:3px solid var(--sand-300);background:var(--sand-50)}.fc-callout.bq-tip{border-left-color:var(--violet);background:var(--violet-bg)}.fc-callout.bq-exam{border-left-color:var(--teal);background:var(--teal-bg)}.fc-callout.bq-warn{border-left-color:var(--amber);background:var(--amber-bg)}.fc-callout.bq-ref{border-left-color:var(--rose);background:var(--rose-bg);font-style:italic}.fiche-content table.md-table-comparative{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;border-collapse:collapse;border:1.5px solid var(--sand-200);border-radius:12px;font-size:13.5px}.fiche-content table.md-table-comparative thead{display:table-header-group}.fiche-content table.md-table-comparative tbody{display:table-row-group}.fiche-content table.md-table-comparative tr{display:table-row;background:transparent;border:none;border-radius:0}.fiche-content table.md-table-comparative th{display:table-cell;background:var(--sand-100);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);padding:8px 10px;text-align:left;white-space:nowrap}.fiche-content table.md-table-comparative td{display:table-cell;padding:8px 10px;border-bottom:1px solid var(--sand-100);vertical-align:top;line-height:1.5;font-size:13px}.fiche-content table.md-table-comparative td:before{display:none}.fiche-content table.md-table-comparative tr:last-child td{border-bottom:none}.fiche-content table.md-table-comparative tr:nth-child(2n) td{background:var(--sand-50)}.fiche-content table.md-table-comparative td:first-child{font-weight:600;color:var(--sand-700);white-space:nowrap;min-width:80px}html.dark .sec-card,html.dark .settings-panel,html.dark .tutor-sheet,html.dark .gt-panel,html.dark .uebung-input-zone,html.dark .qa-card{background:var(--card);border-color:var(--sand-200)}html.dark input,html.dark textarea,html.dark .uebung-input{background:var(--sand-100);color:var(--text);border-color:var(--sand-300)}html.dark input::placeholder,html.dark textarea::placeholder{color:var(--text-3)}html.dark .fiche-content{color:var(--sand-700)}html.dark .fiche-content h2{background:var(--coral-bg)}html.dark .fiche-content h3{color:#a68fd8}html.dark .fiche-content h3:before{background:#a68fd8}html.dark .fiche-content strong{background:none;color:var(--sand-800)}html.dark .fiche-content table{border-color:var(--sand-200)}html.dark .fiche-content table th{background:var(--sand-100);color:var(--text-3)}html.dark .fiche-content table td{border-color:var(--sand-200)}html.dark .fiche-content table tr:nth-child(2n) td{background:var(--sand-50)}html.dark .fiche-content .md-list li:before{background:var(--coral)}html.dark .fiche-content blockquote{background:var(--sand-100);border-left-color:var(--sand-300)}html.dark .fiche-content blockquote.bq-tip{background:var(--violet-bg);border-left-color:#7c5cbf}html.dark .fiche-content blockquote.bq-exam{background:var(--teal-bg);border-left-color:#1d9a8c}html.dark .fiche-content blockquote.bq-warn{background:var(--amber-bg);border-left-color:#d4930d}html.dark .fiche-content blockquote.bq-ref{background:#1e1020;border-left-color:#d64580}html.dark .fc-face{background:var(--card);border-color:var(--sand-200)}html.dark .fiche-overlay,html.dark .settings-overlay{background:#0009}html.dark .login-screen{background:linear-gradient(160deg,#1a1714,#1f1b17 40%,#1c1916)}html.dark .login-card{background:#242018d9;border-color:#ffffff14}html.dark .login-card input{background:#ffffff0f;border-color:var(--sand-300);color:var(--text)}html.dark ::-webkit-scrollbar-thumb{background:var(--sand-400)}.settings-dark-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0 .9rem}.settings-dark-info{display:flex;flex-direction:column;gap:.15rem}.settings-dark-label{font-size:.95rem;font-weight:600;color:var(--text)}.settings-dark-sub{font-size:.78rem;color:var(--text-3)}.settings-divider{height:1px;background:var(--sand-200);margin:.5rem 0 1.2rem}.dark-toggle-btn{position:relative;width:48px;height:27px;border-radius:99px;background:var(--sand-200);border:none;cursor:pointer;transition:background .25s;flex-shrink:0}.dark-toggle-btn.dark-on{background:var(--violet)}.dark-knob{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .25s;display:block}.dark-toggle-btn.dark-on .dark-knob{transform:translate(21px)}.sec-card-global{background:linear-gradient(135deg,var(--sand-50) 0%,var(--card) 100%);border:1.5px dashed var(--sand-300)!important;margin-bottom:4px}.sec-card-global .sec-name{color:var(--text-2);font-style:italic}.sec-num-all{background:var(--sand-200)!important;color:var(--text-3);display:flex;align-items:center;justify-content:center}html.dark .sec-card-global{background:linear-gradient(135deg,var(--sand-100) 0%,var(--card) 100%)}html.dark .settings-panel,html.dark .settings-overlay{background:var(--card)}html.dark .settings-panel h2,html.dark .settings-panel h3,html.dark .settings-panel label,html.dark .settings-panel .settings-dark-label{color:var(--text)}html.dark .settings-panel .settings-dark-sub{color:var(--text-3)}html.dark .settings-panel input{background:var(--sand-100);border-color:var(--sand-300);color:var(--text)}html.dark .settings-divider{background:var(--sand-200)}html.dark .settings-close{background:var(--sand-100);color:var(--text-2)}html.dark .gt-panel,html.dark .tutor-sheet{background:var(--card);border-color:var(--sand-200)}html.dark .gt-msg.gt-msg-assistant,html.dark .tmsg.tmsg-assistant,html.dark .gt-input input{background:var(--sand-100);color:var(--text)}html.dark .quick-train,html.dark .sec-card{background:var(--card);border-color:var(--sand-200)}html.dark .sec-num{background:var(--sand-100);color:var(--text-2)}html.dark .sec-name{color:var(--text)}html.dark .sec-card-global{background:linear-gradient(135deg,var(--sand-100) 0%,var(--card) 100%);border-color:var(--sand-300)!important}html.dark .note-editor textarea{background:var(--sand-100);color:var(--text);border-color:var(--sand-300)}html.dark .course-hero{background:var(--sand-100)}html.dark .course-title{color:var(--text)}html.dark .course-desc{color:var(--text-3)}html.dark .wc-today-done{color:var(--coral)}html.dark .welcome-card{background:var(--card, #2D2A26);box-shadow:0 20px 60px #00000080}html.dark .welcome-title,html.dark .welcome-step{color:var(--text)}html.dark .welcome-secondary{color:var(--text-3)}
