@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--bg:#e7ebf3;--bg-top:#eef1f8;--bg2:#fff;--bg3:#f4f6fb;--card:#fff;--border:#bac8de;--border-soft:#e8ecf4;--accent:#0071e3;--accent2:#005bc0;--accent-weak:#e9f2fe;--indigo:#5e5ce6;--success:#159d5b;--lime:#159d5b;--lime-weak:#e6f6ee;--orange:#ac6200;--red:#ff3b30;--star:#ffb23e;--text:#131a26;--text2:#5f6b7c;--text3:#98a1b2;--shadow-card:0 1px 2px #131a260d, 0 12px 26px -12px #131a2638;--shadow-float:0 2px 6px #131a2612, 0 22px 48px -16px #131a264d;--shadow-btn:0 1px 2px #005ac047, 0 8px 18px -6px #0071e373;--shadow:var(--shadow-card);--shadow-md:var(--shadow-float);--shadow-lg:0 30px 70px #131a2633;--shadow-accent:var(--shadow-btn);--radius:18px;--radius-sm:13px;--radius-pill:980px;--ring:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);--gradient:linear-gradient(135deg, #0071e3, #5e5ce6);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--font-inter:"Inter", system-ui, sans-serif;--font-space:var(--font-inter)}:root[data-theme=dark]{--bg:#0b0e15;--bg-top:#10141d;--bg2:#171c27;--bg3:#1e2431;--card:#171c27;--border:#3b4558;--border-soft:#212736;--accent:#3d92ff;--accent2:#6cabff;--accent-weak:#142238;--indigo:#6e6cf0;--success:#45c883;--lime:#45c883;--lime-weak:#112a1e;--orange:#e2a13a;--red:#ff453a;--star:#ffc760;--text:#f1f4fa;--text2:#9aa4b4;--text3:#667186;--shadow-card:0 1px 2px #00000080, 0 14px 30px -14px #000000a6;--shadow-float:0 2px 8px #0000008c, 0 26px 54px -18px #000000bf;--shadow-btn:0 2px 12px -2px #3d92ff8c;--shadow-lg:0 30px 80px #0009;--ring:0 0 0 3px #3d92ff52;--gradient:linear-gradient(135deg, #3d92ff, #6e6cf0)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{background:var(--bg-top)}body{font-family:var(--font-inter);background:linear-gradient(180deg, var(--bg-top), var(--bg));color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;min-height:100vh;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(720px 460px at 82% 3%, color-mix(in srgb, var(--indigo) 16%, transparent), transparent 62%), radial-gradient(760px 480px at 8% 0%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 62%), radial-gradient(640px 560px at 56% 105%, color-mix(in srgb, var(--indigo) 12%, transparent), transparent 62%);animation:28s ease-in-out infinite alternate eruvia-aurora;position:fixed;inset:-22%}:root[data-theme=dark] body:before{opacity:.5}@keyframes eruvia-aurora{0%{transform:translate(-1.4%,-1%)scale(1.03)}to{transform:translate(1.6%,1.6%)scale(1.07)}}@media (prefers-reduced-motion:reduce){body:before{animation:none}}h1,h2,h3,h4{font-family:var(--font-inter);letter-spacing:-.022em;font-weight:700}a{color:inherit;text-decoration:none}.app{min-height:100dvh;padding-top:var(--bandeau-h,0px);background:0 0;grid-template-columns:240px 1fr;display:grid}.sidebar{background:var(--bg2);border-right:1px solid var(--border);height:calc(100vh - var(--bandeau-h,0px));height:calc(100dvh - var(--bandeau-h,0px));flex-direction:column;gap:8px;padding:22px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.logo{align-items:center;gap:10px;margin-bottom:18px;padding:0 4px;display:flex}.logo-icon{background:var(--gradient);color:#fff;width:34px;height:34px;box-shadow:var(--shadow-accent);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-text{letter-spacing:-.02em;color:var(--text);font-size:19px;font-weight:700}.logo-text span{color:var(--accent)}.nav-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-top:10px;margin-bottom:4px;padding:0 8px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text2);border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;transition:all .18s;display:flex}.nav-item:hover{background:var(--bg3);color:var(--text)}.nav-item.active{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 26%, transparent)}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;font-size:16px;display:inline-flex}.nav-item.active .nav-icon{color:var(--accent)}.nav-badge{background:var(--accent);color:#fff;border-radius:99px;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:700}.nav-badge.red{background:var(--red)}.nav-badge.lime{background:var(--lime);color:#0f1624}.sidebar-bottom{border-top:1px solid var(--border);margin-top:auto;padding-top:12px}.main{flex-direction:column;gap:16px;padding:32px 36px;display:flex;overflow-y:auto}@keyframes eruvia-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.topbar{animation:.4s cubic-bezier(.22,.7,.25,1) backwards eruvia-fade-up}.card,.stat-card,.tile{animation:.46s cubic-bezier(.22,.7,.25,1) backwards eruvia-fade-up}.stat-card:nth-child(2){animation-delay:70ms}.stat-card:nth-child(3){animation-delay:.14s}.stat-card:nth-child(4){animation-delay:.21s}.stat-card:nth-child(5){animation-delay:.28s}.tile:nth-child(2){animation-delay:50ms}.tile:nth-child(3){animation-delay:.1s}.chat-bar{margin-top:auto}@media (prefers-reduced-motion:reduce){.topbar,.card,.stat-card,.tile{animation:none}}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;display:flex}.page-title{color:var(--text);letter-spacing:-.02em;font-size:24px;font-weight:700}.page-subtitle{color:var(--text2);max-width:52ch;margin-top:3px;font-size:13.5px}.topbar .btn{flex-shrink:0}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px;transition:transform .2s,box-shadow .25s,border-color .2s}a.card,.card.clickable{cursor:pointer}a.card:hover,.card.clickable:hover,.card[style*="cursor: pointer"]:hover,.card[style*=cursor\:pointer]:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--accent) 22%, var(--border));transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.card{transition:none}a.card:hover,.card.clickable:hover,.card[style*="cursor: pointer"]:hover,.card[style*=cursor\:pointer]:hover{transform:none}}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.countdown-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:32px;padding:28px;display:flex;position:relative;overflow:hidden}.countdown-card:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 8%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;right:-60px}.orbital-ring{flex-shrink:0;width:120px;height:120px;position:relative}.orbital-ring svg{transform:rotate(-90deg)}.orbital-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.orbital-days{font-family:var(--font-space);color:var(--accent);font-size:32px;font-weight:700;line-height:1}.orbital-label{color:var(--text2);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:500}.countdown-info h2{margin-bottom:6px;font-size:22px;font-weight:700}.countdown-info p{color:var(--text2);margin-bottom:14px;font-size:14px;line-height:1.5}.level-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:99px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.level-badge.l1{background:color-mix(in srgb, var(--lime) 15%, transparent);color:var(--lime);border:1px solid color-mix(in srgb, var(--lime) 30%, transparent)}.level-badge.l2{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent2);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent)}.level-badge.l3{background:color-mix(in srgb, var(--orange) 15%, transparent);color:var(--orange);border:1px solid color-mix(in srgb, var(--orange) 30%, transparent)}.level-badge.l4{background:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red);border:1px solid color-mix(in srgb, var(--red) 30%, transparent)}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.stat-label{color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:500}.stat-value{font-family:var(--font-space);color:var(--text);font-size:30px;font-weight:700;line-height:1}.stat-value span{color:var(--text2);font-size:16px;font-weight:400}.stat-sub{color:var(--text3);margin-top:5px;font-size:12px}.stat-indicator{align-items:center;gap:4px;margin-top:6px;font-size:12px;font-weight:600;display:inline-flex}.stat-indicator.up{color:var(--lime)}.stat-indicator.down{color:var(--red)}.prog-bar{background:var(--bg3);border-radius:99px;height:6px;margin-top:10px;overflow:hidden}.prog-fill{background:var(--gradient);border-radius:99px;height:100%;transition:width .6s}.prog-fill.lime{background:var(--lime)}.prog-fill.orange{background:var(--orange)}.prog-fill.red{background:var(--red)}.sec-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.sec-title{font-family:var(--font-space);letter-spacing:-.01em;color:var(--text);font-size:17px;font-weight:650}.sec-note{color:var(--text2);font-size:12.5px}.link{color:var(--accent);white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.btn{border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;font-size:14px;font-weight:600;line-height:1;font-family:var(--font-inter);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 20px;transition:transform .2s,box-shadow .25s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn-primary{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 92%, white), var(--accent));color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){filter:saturate(1.08);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:var(--bg3);color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--border);transform:translateY(-1px)}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:14px 26px;font-size:15.5px}.btn-lime{background:var(--lime);color:#0f1624}.seg-tabs{background:var(--bg3);border:1px solid var(--border);border-radius:11px;flex-wrap:wrap;gap:4px;max-width:100%;margin-bottom:18px;padding:4px;display:inline-flex}.seg-tab{color:var(--text2);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.seg-tab:hover{color:var(--text)}.seg-tab.active{background:var(--card);color:var(--text);box-shadow:0 1px 2px #131a2624,0 2px 6px -2px #131a262e}:root[data-theme=dark] .seg-tab.active{background:color-mix(in srgb, var(--bg3) 84%, #fff);box-shadow:inset 0 0 0 1px #ffffff29}.journey .prog{color:var(--text2);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:650}.journey .prog .done{color:var(--lime)}.journey .steps{margin-top:14px;position:relative}.step{color:inherit;border-radius:12px;gap:14px;padding:4px 0 18px;text-decoration:none;display:flex;position:relative}.step:last-child{padding-bottom:2px}.step:before{content:"";background:var(--border);width:2px;position:absolute;top:34px;bottom:-4px;left:15px}.step:last-child:before{display:none}.step.is-done:before{background:var(--lime)}.step .node{z-index:1;background:var(--card);border:2px solid var(--border);width:32px;height:32px;color:var(--text3);font-variant-numeric:tabular-nums;border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid;position:relative}.step.is-done .node{background:var(--lime);border-color:var(--lime);color:#0f1624}.step.is-now .node{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-weak)}.step .st-body{flex:1;min-width:0;padding-top:4px}.step .st-title{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:flex}.step.is-done .st-title{color:var(--text3)}.step .st-sub{color:var(--text2);margin-top:2px;font-size:12.5px}.st-pill{letter-spacing:.02em;white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:10.5px;font-weight:700}.st-pill.done{background:var(--lime-weak);color:var(--lime)}.st-pill.now{background:var(--accent-weak);color:var(--accent)}.step .st-go{color:var(--accent);opacity:0;align-self:center;font-size:20px;transition:opacity .15s,transform .15s}.step:hover .st-go{opacity:1;transform:translate(2px)}@media (hover:none){.step .st-go{opacity:.5}}.btn-lime:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.qcm-question-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px}.qcm-meta{align-items:center;gap:10px;margin-bottom:18px;display:flex}.qcm-num{color:var(--text3);font-size:12px;font-weight:500}.qcm-question{color:var(--text);margin-bottom:22px;font-size:18px;font-weight:600;line-height:1.5}.qcm-options{flex-direction:column;gap:10px;display:flex}.qcm-option{border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text2);text-align:left;width:100%;font-size:15px;font-family:var(--font-inter);background:0 0;align-items:center;gap:12px;padding:14px 18px;transition:all .18s;display:flex}.qcm-option:hover{border-color:var(--accent);color:var(--text);background:color-mix(in srgb, var(--accent) 5%, transparent)}.qcm-option.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text)}.qcm-option.correct{border-color:var(--success);background:color-mix(in srgb, var(--lime) 10%, transparent);color:var(--success)}.qcm-option.wrong{border-color:var(--red);background:color-mix(in srgb, var(--red) 10%, transparent);color:var(--red)}.qcm-option.probable{border-color:var(--orange);background:color-mix(in srgb, var(--orange) 10%, transparent);color:var(--orange)}.qcm-option:disabled{cursor:default}.option-letter{background:var(--bg3);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;transition:all .18s;display:flex}.qcm-option.selected .option-letter{background:var(--accent);color:#fff}.qcm-option.correct .option-letter{background:var(--success);color:#fff}.qcm-option.wrong .option-letter{background:var(--red);color:#fff}.qcm-option.probable .option-letter{background:var(--orange);color:#fff}.qcm-explanation{background:color-mix(in srgb, var(--accent) 8%, transparent);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text2);white-space:pre-wrap;margin-top:18px;padding:16px 20px;font-size:14.5px;line-height:1.75}.qcm-expl-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:7px;font-size:11px;font-weight:700}.qcm-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.qcm-nav{z-index:60;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 12px;position:sticky;bottom:12px}body:has(.qcm-nav) .floating-timer{bottom:112px}body:has(.chat-bar) .floating-timer{bottom:112px}.flashcard-scene{perspective:1200px;cursor:pointer;width:100%;max-width:600px;height:384px;margin:0 auto 24px}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,0,.2,1);position:relative}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;border-radius:var(--radius);text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;padding:24px 28px 42px;display:flex;position:absolute;inset:0;overflow:hidden}.flashcard-front{box-shadow:var(--shadow);background:linear-gradient(135deg,#eef4ff 0%,#e3edff 100%);border:1px solid #d6e3ff}.flashcard-back{box-shadow:var(--shadow);background:linear-gradient(135deg,#eafaf0 0%,#ddf5e6 100%);border:1px solid #c8edd6;transform:rotateY(180deg)}:root[data-theme=dark] .flashcard-front{background:linear-gradient(135deg,#1c3a6e 0%,#1a2e57 100%);border-color:#5b9bff59}:root[data-theme=dark] .flashcard-back{border-color:color-mix(in srgb, var(--lime) 30%, transparent);background:linear-gradient(135deg,#1a3a28 0%,#162e22 100%)}.fc-tag{text-transform:uppercase;letter-spacing:.1em;opacity:.6;flex-shrink:0;margin-bottom:14px;font-size:10px;font-weight:700}.flashcard-front .fc-tag{color:var(--accent2)}.flashcard-back .fc-tag{color:var(--lime)}.fc-text{font-family:var(--font-space);color:var(--text);overscroll-behavior:contain;word-break:break-word;flex:auto;width:100%;min-height:0;font-size:20px;font-weight:600;line-height:1.45;overflow-y:auto}.fc-text-inner{justify-content:center;align-items:center;min-height:100%;display:flex}.fc-hint{color:var(--text3);font-size:12px;position:absolute;bottom:14px}.flashcard-actions{justify-content:center;gap:12px;margin-bottom:20px;display:flex}.fc-btn{border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;font-family:var(--font-inter);text-transform:uppercase;letter-spacing:.05em;border:none;flex-direction:column;align-items:center;gap:5px;padding:12px 28px;transition:all .18s;display:flex}.fc-btn-no{background:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red);border:1px solid color-mix(in srgb, var(--red) 30%, transparent)}.fc-btn-no:hover{background:color-mix(in srgb, var(--red) 25%, transparent);transform:translateY(-1px)}.fc-btn-maybe{background:color-mix(in srgb, var(--orange) 15%, transparent);color:var(--orange);border:1px solid color-mix(in srgb, var(--orange) 30%, transparent)}.fc-btn-maybe:hover{background:color-mix(in srgb, var(--orange) 25%, transparent);transform:translateY(-1px)}.fc-btn-yes{background:color-mix(in srgb, var(--lime) 15%, transparent);color:var(--lime);border:1px solid color-mix(in srgb, var(--lime) 30%, transparent)}.fc-btn-yes:hover{background:color-mix(in srgb, var(--lime) 25%, transparent);transform:translateY(-1px)}.fc-counter{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.fc-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:background .2s}.fc-dot.done{background:var(--accent)}.fc-dot.current{background:var(--lime);border-radius:4px;width:20px}.fc-reprise{width:fit-content;color:var(--orange);background:color-mix(in srgb, var(--orange) 13%, transparent);border:1px solid color-mix(in srgb, var(--orange) 28%, transparent);border-radius:999px;justify-content:center;align-items:center;gap:8px;margin:0 auto 12px;padding:5px 14px;font-size:12px;font-weight:700;display:flex}.todo-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);align-items:flex-start;gap:14px;margin-bottom:8px;padding:14px 16px;transition:all .18s;display:flex}.todo-item:hover{border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.todo-item.done{opacity:.5}.todo-check{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;transition:all .18s;display:flex}.todo-check.checked{background:var(--lime);border-color:var(--lime);color:#0f1624;font-size:12px}.todo-text{flex:1}.todo-title{color:var(--text);margin-bottom:3px;font-size:14px;font-weight:500}.todo-item.done .todo-title{color:var(--text3);text-decoration:line-through}.todo-meta{color:var(--text3);align-items:center;gap:10px;font-size:12px;display:flex}.todo-tag{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent2);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.todo-tag.review{background:color-mix(in srgb, var(--orange) 12%, transparent);color:var(--orange)}.todo-tag.practice{background:color-mix(in srgb, var(--lime) 12%, transparent);color:var(--lime)}.todo-time{color:var(--text3);margin-left:auto;font-size:12px}.tiles{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);color:inherit;padding:15px 16px;text-decoration:none;transition:transform .2s,box-shadow .25s,border-color .2s;display:block;position:relative;overflow:hidden}a.tile:hover{box-shadow:var(--shadow-float);border-color:color-mix(in srgb, var(--accent) 22%, var(--border));transform:translateY(-2px)}.tile .lbl{color:var(--text3);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.tile .val{letter-spacing:-.03em;font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;margin-top:6px;font-size:27px;font-weight:700;display:flex}.tile .val .unit{color:var(--text2);font-size:16px;font-weight:600}.tile .hint{color:var(--text2);margin-top:3px;font-size:11.5px}.ring{background:conic-gradient(var(--accent) calc(var(--p) * 1%), var(--border) 0);border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:12px;right:12px}.ring:after{content:"";background:var(--card);border-radius:50%;width:26px;height:26px}.ring b{color:var(--accent);font-variant-numeric:tabular-nums;font-size:10px;font-weight:700;position:absolute}.timecard{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.timecard .t{font-size:14px;font-weight:600}.timecard .t .em{color:var(--text2);font-weight:500}.seg{background:var(--bg3);border:1px solid var(--border-soft);border-radius:11px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--text2);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s}.seg button:hover{color:var(--text)}.seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px #131a2624,0 2px 6px -2px #131a262e}:root[data-theme=dark] .seg button.on{background:color-mix(in srgb, var(--bg3) 84%, #fff);box-shadow:inset 0 0 0 1px #ffffff29}.journey .sec-title,.card-sec15 .sec-title{font-size:15px}.todo-flat{align-items:flex-start;gap:12px;padding:11px 0;display:flex}.todo-flat+.todo-flat{border-top:1px solid var(--border-soft)}.todo-flat .todo-check{border-radius:7px;width:22px;height:22px}.todo-flat .todo-title{margin-bottom:0;font-size:14px;font-weight:550}.todo-flat .todo-meta{color:var(--text2);gap:8px;margin-top:3px;font-size:11.5px}.todo-flat .todo-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.todo-flat.done .todo-title{color:var(--text3);text-decoration:line-through}.exam{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.exam .ico{background:var(--accent-weak);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.exam .j{letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:25px;font-weight:800}.exam.urgent .j{color:var(--orange)}.exam.urgent{border-color:color-mix(in srgb, var(--orange) 45%, var(--border))}.exam.urgent .ico{background:color-mix(in srgb, var(--orange) 14%, transparent)}@media (max-width:560px){.tiles{grid-template-columns:1fr 1fr}}.heatmap{grid-template-columns:repeat(14,1fr);gap:5px;margin-top:12px;display:grid}.heat-cell{aspect-ratio:1;background:var(--bg3);cursor:default;border-radius:4px;transition:all .18s;position:relative}.heat-cell.l1{background:color-mix(in srgb, var(--accent) 20%, transparent)}.heat-cell.l2{background:color-mix(in srgb, var(--accent) 45%, transparent)}.heat-cell.l3{background:color-mix(in srgb, var(--accent) 70%, transparent)}.heat-cell.l4{background:var(--gradient)}.heat-cell:hover:after{content:attr(data-tip);background:var(--card);border:1px solid var(--border);color:var(--text);white-space:nowrap;pointer-events:none;z-index:10;border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.chapter-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:12px 0;display:flex}.chapter-row:last-child{border-bottom:none}.chapter-icon{background:var(--bg3);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.chapter-name{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:500}.chapter-sub{color:var(--text3);font-size:12px}.chapter-prog-wrap{flex:1}.chapter-pct{color:var(--text2);white-space:nowrap;font-size:13px;font-weight:600}.upload-area{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;padding:48px 32px;transition:all .25s}.upload-area:hover,.upload-area.drag{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 4%, transparent)}.upload-icon{margin-bottom:12px;font-size:42px}.upload-title{color:var(--text);margin-bottom:6px;font-size:18px;font-weight:600}.upload-sub{color:var(--text2);margin-bottom:20px;font-size:14px}.score-bar{background:var(--bg3);border-radius:var(--radius-sm);justify-content:center;gap:24px;margin-top:16px;padding:20px;display:flex}.score-item{text-align:center}.score-num{font-family:var(--font-space);font-size:28px;font-weight:700}.score-num.g{color:var(--lime)}.score-num.r{color:var(--red)}.score-num.b{color:var(--accent)}.score-item-label{color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-top:3px;font-size:11px}.input-field{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-size:14px;font-family:var(--font-inter);outline:none;padding:12px 16px;transition:border-color .18s,box-shadow .18s}.input-field:focus{border-color:var(--accent);box-shadow:var(--ring)}textarea.input-field{resize:vertical}.champ-code{letter-spacing:.3em;text-indent:.3em;text-align:center;min-height:56px;padding:14px 12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:28px;font-weight:700}.icon-tile{border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.icon-tile-sm{border-radius:10px;width:36px;height:36px}.input-label{color:var(--text2);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.input-group{margin-bottom:16px}.loading-state{color:var(--text2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 32px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:var(--bg3);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--bg2) 70%, transparent), transparent);animation:1.4s ease-in-out infinite skel;position:absolute;inset:0;transform:translate(-100%)}@keyframes skel{to{transform:translate(100%)}}.sk-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.sk-line{border-radius:7px;height:12px}.sk-title{border-radius:8px;width:240px;max-width:60%;height:22px}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.chip-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip{background:var(--bg3);border:1px solid var(--border);color:var(--text2);cursor:pointer;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--text)}.chip.active{background:color-mix(in srgb, var(--accent) 15%, transparent);border-color:var(--accent);color:var(--accent)}.chip-lg{padding:10px 18px;font-size:14px;font-weight:600}.chat-msg{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;max-width:86%;margin-bottom:12px;padding:12px 16px;font-size:15px;line-height:1.55}.chat-msg.user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;margin-left:auto}.chat-msg.ai{color:#1d1d1f;background:#e9e9eb;border-bottom-left-radius:4px;margin-right:auto}:root[data-theme=dark] .chat-msg.ai{color:#f5f5f7;background:#3b3b3d}.chat-msg.rich{white-space:normal}.chat-msg.rich .rt-p{margin:0 0 7px}.chat-msg.rich .rt-p:last-child{margin-bottom:0}.chat-msg.rich .rt-h{margin:12px 0 6px;font-size:15.5px;font-weight:700}.chat-msg.rich .rt-list{margin:5px 0 9px;padding-left:22px}.chat-msg.rich .rt-list li{margin:2px 0}.chat-msg.rich .rt-table{border-collapse:collapse;max-width:100%;margin:12px 0 14px;font-size:14px;display:block;overflow-x:auto}.chat-msg.rich .rt-table th,.chat-msg.rich .rt-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 14px}.chat-msg.rich .rt-table th{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text);white-space:nowrap;font-weight:700}.chat-msg.rich .rt-table tr:nth-child(2n) td{background:#00000006}.chat-msg.rich .rt-details{background:#00000008;border:1px solid #00000029;border-radius:9px;margin:8px 0;padding:8px 12px}.chat-msg.rich .rt-details summary{cursor:pointer;color:var(--accent);list-style:revert;font-weight:700}.chat-msg.rich .rt-details-body{margin-top:7px}.chat-msg.rich code{background:#00000012;border-radius:5px;padding:1px 5px;font-size:.9em}:root[data-theme=dark] .chat-msg.rich .rt-table th,:root[data-theme=dark] .chat-msg.rich .rt-table td{border-color:#ffffff2e}:root[data-theme=dark] .chat-msg.rich .rt-table th{background:color-mix(in srgb, var(--accent) 22%, transparent)}:root[data-theme=dark] .chat-msg.rich .rt-details{background:#ffffff0d;border-color:#ffffff29}:root[data-theme=dark] .chat-msg.rich .rt-details summary{color:var(--accent2)}:root[data-theme=dark] .chat-msg.rich code{background:#ffffff1f}.rich strong{color:var(--text);font-weight:700}.rich em{font-style:italic}.rich code{font-size:.9em;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);background:#00000012;border-radius:5px;padding:1px 5px}:root[data-theme=dark] .rich code{background:#ffffff1f}.rich .rt-p{margin:0 0 7px}.rich .rt-p:last-child{margin-bottom:0}.rich .rt-h{margin:10px 0 5px;font-size:15px;font-weight:700}.rich .rt-list{margin:5px 0 8px;padding-left:20px}.rich .rt-list li{margin:2px 0}.rich .rt-table-wrap{max-width:100%;margin:11px 0 13px;overflow-x:auto}.rich .rt-table{border-collapse:collapse;width:auto;font-size:13.5px}.rich .rt-table th,.rich .rt-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 13px}.rich .rt-table th{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text);white-space:nowrap;font-weight:700}.rich .rt-table tr:nth-child(2n) td{background:#00000006}:root[data-theme=dark] .rich .rt-table th,:root[data-theme=dark] .rich .rt-table td{border-color:#ffffff2e}:root[data-theme=dark] .rich .rt-table th{background:color-mix(in srgb, var(--accent) 22%, transparent)}:root[data-theme=dark] .rich .rt-table tr:nth-child(2n) td{background:#ffffff0a}.chat-msg.rich .rt-table-wrap{max-width:100%;margin:12px 0 14px;overflow-x:auto}.note-wrap{position:relative}.note-draw{z-index:3;border-radius:12px;position:absolute;inset:0}.note-editor{border:1px solid var(--border);background:var(--bg3);width:100%;min-height:360px;color:var(--text);border-radius:12px;outline:none;padding:14px 16px;font-size:15px;line-height:1.65}.note-editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.note-editor:empty:before{content:attr(data-placeholder);color:var(--text3);pointer-events:none}.note-editor h1,.note-editor h2,.note-editor h3{margin:12px 0 6px;font-weight:700;line-height:1.3}.note-editor h1{font-size:21px}.note-editor h2{font-size:19px}.note-editor h3{font-size:17px}.note-editor strong,.note-editor b{color:var(--text);font-weight:700}.note-editor em,.note-editor i{font-style:italic}.note-editor ul,.note-editor ol{margin:6px 0;padding-left:24px}.note-editor li{margin:3px 0}.note-editor p{margin:7px 0}.note-editor table{border-collapse:collapse;max-width:100%;margin:12px 0}.note-editor td,.note-editor th{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 12px}.note-editor th{background:color-mix(in srgb, var(--accent) 8%, transparent);font-weight:700}:root[data-theme=dark] .note-editor td,:root[data-theme=dark] .note-editor th{border-color:#ffffff2e}:root[data-theme=dark] .note-editor th{background:color-mix(in srgb, var(--accent) 20%, transparent)}.chat-typing{align-items:center;gap:4px;display:inline-flex}.chat-typing span{background:var(--text3);border-radius:50%;width:7px;height:7px;animation:1.2s infinite both blink}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.chat-bar{background:var(--bg);padding:10px 0 4px;position:sticky;bottom:0}.coach-quick{flex-wrap:wrap;gap:8px;margin:2px 0 16px 2px;display:flex}.coach-quick-btn{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);cursor:pointer;font-size:13.5px;font-weight:600;font-family:var(--font-inter);border:none;border-radius:980px;padding:10px 17px;transition:background .18s,transform .12s}.coach-quick-btn:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}.coach-quick-btn:active{transform:scale(.97)}.coach-quick-btn:disabled{opacity:.45;cursor:default;transform:none}:root[data-theme=dark] .coach-quick-btn{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent2)}:root[data-theme=dark] .coach-quick-btn:hover{background:color-mix(in srgb, var(--accent) 32%, transparent)}.floating-timer{z-index:95;background:var(--card);border:1px solid var(--border);border-radius:980px;align-items:center;gap:6px;padding:6px 8px 6px 12px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 28px #0000002e}.floating-timer:has(.ft-rond){box-shadow:none;background:0 0;border:none;gap:0;padding:0}.ft-rond{border:1px solid var(--border);background:var(--card);width:44px;height:44px;color:var(--text2);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:color .15s,transform .12s;display:flex;position:relative;box-shadow:0 6px 20px #00000029}.ft-rond:hover{color:var(--text)}.ft-rond:active{transform:scale(.94)}.ft-mini-num{font-family:var(--font-space);color:var(--text);letter-spacing:.3px;font-size:15px;font-weight:700}.ft-mini-dot{border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.ft-plier{flex-shrink:0}.floating-timer .ft-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.floating-timer .ft-time{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;padding:0 2px;line-height:1.05;display:flex}.floating-timer .ft-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text3);font-size:9px;font-weight:700}.floating-timer .ft-num{font-family:var(--font-space);color:var(--text);letter-spacing:.5px;font-size:17px;font-weight:700}.floating-timer .ft-btn{background:var(--bg3);cursor:pointer;width:30px;height:30px;color:var(--text);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;transition:background .15s;display:flex}.floating-timer .ft-btn:hover{background:var(--border)}.floating-timer .ft-reset{font-size:15px}.ft-pop{background:var(--card);border:1px solid var(--border);border-radius:16px;width:250px;padding:14px;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 16px 44px #00000047}.ft-pop-head{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.ft-x{cursor:pointer;color:var(--text3);background:0 0;border:none;padding:2px 4px;font-size:13px}.ft-x:hover{color:var(--text)}.ft-mode{gap:6px;margin-bottom:14px;display:flex}.ft-mode .ft-preset{flex:1}.ft-pop-lbl{letter-spacing:.05em;text-transform:uppercase;color:var(--text3);margin-bottom:8px;font-size:11px;font-weight:700}.ft-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ft-preset{border:1px solid var(--border);background:var(--bg3);color:var(--text2);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-space);border-radius:10px;padding:9px 4px;transition:background .15s,color .15s,border-color .15s}.ft-preset:hover{color:var(--text)}.ft-preset.active{background:var(--accent);border-color:var(--accent);color:#fff}.ft-mini{padding:7px 12px;font-size:12.5px}.ft-perso{align-items:center;gap:7px;margin-top:10px;display:flex}.ft-perso-lbl{color:var(--text2);flex-shrink:0;font-size:12.5px}.ft-perso input{border:1px solid var(--border);background:var(--bg3);width:76px;color:var(--text);text-align:center;border-radius:8px;outline:none;padding:6px;font-size:13px}.ft-unit{color:var(--text3);font-size:12.5px}.ft-ok{background:var(--bg3);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;margin-left:auto;padding:6px 12px;font-size:12.5px;font-weight:600}.ft-ok:hover{background:var(--border)}.ft-break{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.ft-auto{color:var(--text2);cursor:pointer;align-items:center;gap:6px;margin-left:auto;font-size:12.5px;display:flex}.ft-auto input{flex-shrink:0;width:16px;height:16px}.toast-wrap{z-index:1000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:78px;right:24px}.toast{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);max-width:320px;padding:14px 20px;font-size:14px;animation:.3s toastIn;box-shadow:0 10px 34px #0f172a29}.toast.success{border-left:3px solid var(--lime)}.toast.error{border-left:3px solid var(--red)}.toast.info{border-left:3px solid var(--accent)}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.celebr-fond{z-index:1100;background:color-mix(in srgb, var(--text) 52%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;justify-content:center;align-items:center;padding:20px;animation:.2s both celebrVoile;display:flex;position:fixed;inset:0}:root[data-theme=dark] .celebr-fond{background:color-mix(in srgb, var(--bg) 74%, transparent)}.celebr-fond.is-sortie{animation:.2s both celebrSortie}.celebr-fond.is-sortie .celebr-carte{pointer-events:none}.celebr-carte{pointer-events:auto;cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow-float);text-align:center;color:var(--text);outline:none;padding:30px 26px 24px;animation:.34s cubic-bezier(.2,.9,.3,1) both celebrMontee;position:relative}.celebr-carte:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(320px 170px at 50% -12%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 72%);position:absolute;inset:0}.celebr-carte.est-badge:before{background:radial-gradient(320px 170px at 50% -12%, color-mix(in srgb, var(--lime) 15%, transparent), transparent 72%)}.celebr-carte:focus-visible{box-shadow:var(--shadow-float), var(--ring)}.celebr-rond{background:color-mix(in srgb, var(--accent) 13%, transparent);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;margin:0 auto 16px;font-size:46px;line-height:1;animation:.44s cubic-bezier(.2,1.25,.35,1) 50ms both celebrPop;display:flex;position:relative}.celebr-rond.est-badge{background:color-mix(in srgb, var(--lime) 14%, transparent);border-color:color-mix(in srgb, var(--lime) 30%, transparent)}.celebr-chapeau{letter-spacing:.09em;text-transform:uppercase;color:var(--accent2);font-size:11px;font-weight:700;position:relative}.celebr-carte.est-badge .celebr-chapeau{color:var(--lime)}.celebr-titre{letter-spacing:-.02em;margin:7px 0 9px;font-size:23px;font-weight:800;position:relative}.celebr-ligne{color:var(--text2);margin:0;font-size:14px;line-height:1.5;position:relative}.celebr-continuer{margin-top:18px;position:relative}@keyframes celebrVoile{0%{opacity:0}to{opacity:1}}@keyframes celebrSortie{0%{opacity:1}to{opacity:0}}@keyframes celebrMontee{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}@keyframes celebrPop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.celebr-fond,.celebr-fond.is-sortie,.celebr-carte,.celebr-rond{animation:none}}@media (max-width:480px){.celebr-carte{padding:26px 20px 20px}.celebr-rond{width:80px;height:80px;margin-bottom:14px;font-size:40px}.celebr-titre{font-size:20px}}.celebr-annonce{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.agenda-quand{grid-template-columns:1fr 1fr;gap:10px;display:grid}.agenda-quand .input-group{min-width:0}.agenda-quand .input-field{width:100%;min-width:0}.aq-date{grid-column:1/-1}@media (min-width:901px){.agenda-quand{grid-template-columns:2fr 1fr 1fr}.aq-date{grid-column:auto}}.compte-nu{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;padding:24px 16px 48px;display:flex}.compte-nu .empty-state{gap:12px;padding:30px 22px}.compte-nu .empty-icon{font-size:40px}@media (max-width:900px){.compte-nu .empty-state{padding:26px 18px}.compte-nu .empty-icon{font-size:36px}}.bouton-retour{align-self:flex-start;min-height:40px;margin-bottom:2px;display:inline-flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:56px 32px;display:flex}.empty-icon{font-size:48px}.empty-title{color:var(--text);font-size:20px;font-weight:700}.empty-sub{color:var(--text2);max-width:420px;font-size:14px;line-height:1.5}.readiness-card{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.gauge{flex-shrink:0;width:140px;height:140px;position:relative}.gauge svg{transform:rotate(-90deg)}.gauge-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gauge-pct{font-family:var(--font-space);font-size:34px;font-weight:700;line-height:1}.gauge-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text2);margin-top:4px;font-size:10px}.course-select{background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-inter);cursor:pointer;outline:none;padding:8px 12px;transition:border-color .18s,box-shadow .18s}.course-select:focus{border-color:var(--accent);box-shadow:var(--ring)}.mobile-topbar,.backdrop,.drawer-close{display:none}.hamburger{color:var(--text);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-family:inherit;font-size:26px;line-height:1}@media (max-width:900px){.app{grid-template-rows:auto 1fr;grid-template-columns:1fr}.main{padding:18px 16px calc(28px + env(safe-area-inset-bottom))}.grid-3,.grid-2{grid-template-columns:1fr}.countdown-card{flex-direction:column;align-items:flex-start}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.page-title{font-size:21px}.sec-title{font-size:15px}.qcm-question{font-size:16px}.qcm-option{font-size:14px}.fc-text{font-size:17px}.chat-msg{max-width:92%;font-size:14px}.fiche h1{font-size:21px!important}.fiche .sec-title{font-size:15px}input,textarea,select,.input-field,.course-select,.note-editor,[contenteditable=true]{font-size:16px!important}.champ-code{font-size:26px!important}.btn{min-height:40px;padding:12px 18px}.btn-sm{min-height:40px;padding:10px 15px;font-size:14px}.chip{align-items:center;min-height:40px;display:inline-flex}.seg-tab,.course-select{min-height:40px}.seg{flex-wrap:wrap;max-width:100%}.seg button{white-space:nowrap;min-height:40px;padding:10px}.todo-check{position:relative}.todo-check:before{content:"";position:absolute;inset:-10px}.floating-timer .ft-btn{min-width:40px;min-height:40px}.nav-item{min-height:44px}.floating-timer{bottom:76px;right:12px}.toast-wrap{bottom:134px}.floating-timer .ft-popout{display:none}.mobile-topbar{top:var(--bandeau-h,0px);z-index:60;background:color-mix(in srgb, var(--bg2) 72%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 14px;display:flex;position:sticky}.m-logo{font-family:var(--font-space);color:var(--text);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.m-logo .acc{color:var(--accent)}.sidebar{top:var(--bandeau-h,0px);z-index:80;width:256px;max-width:82vw;height:calc(100vh - var(--bandeau-h,0px));height:calc(100dvh - var(--bandeau-h,0px));transition:transform .25s;display:flex;position:fixed;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:4px 0 30px #00000080}.drawer-close{color:var(--text2);cursor:pointer;background:0 0;border:none;font-size:20px;display:block;position:absolute;top:16px;right:14px}.backdrop.open{inset:var(--bandeau-h,0px) 0 0 0;z-index:70;background:#0000008c;display:block;position:fixed}}@page{margin:20mm}@media print{.sidebar,.mobile-topbar,.backdrop,.toast-wrap,.celebr-fond,.no-print,.btn{display:none!important}html,body{background:#fff!important}.app{display:block!important}.main{gap:0!important;padding:0!important;overflow:visible!important}.fiche,.fiche *{color:#111!important}.fiche .card,.fiche-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #ccc!important}.fiche .sec-title{color:#1a3a6e!important}.fiche code{color:#1a3a6e!important;background:#f1f1f1!important;border:1px solid #ccc!important}}.legal{color:#2c2c30;max-width:720px;margin:0 auto;padding:102px 22px 96px;font-size:15.5px;line-height:1.7}.legal-back{color:#0071e3;align-items:center;min-height:40px;margin-bottom:10px;font-size:14px;text-decoration:none;display:inline-flex}.legal-back:hover{text-decoration:underline}.legal h1{letter-spacing:-.02em;color:#1d1d1f;margin:0 0 8px;font-size:clamp(26px,5vw,36px);line-height:1.15}.legal-updated{color:var(--lp-ink-3);margin:0 0 36px;font-size:13.5px}.legal h2{color:#1d1d1f;margin:36px 0 10px;font-size:20px}.legal p{margin:0 0 14px}.legal ul{margin:0 0 16px;padding-left:22px}.legal li{margin:0 0 8px}.legal a{color:#0071e3}.legal strong{color:#1d1d1f}.legal em{color:#515155;font-style:italic}.legal h3{color:#1d1d1f;margin:22px 0 8px;font-size:16.5px}.legal .todo{color:#7a5c00;background:#fff3cd;border:1px solid #ffe08a;border-radius:6px;padding:1px 6px;font-size:13px}.legal table{border-collapse:collapse;width:100%;min-width:430px;margin:0 0 18px;font-size:14px}.legal th,.legal td{text-align:left;vertical-align:top;border:1px solid #e0e0e4;padding:9px 12px;line-height:1.5}.legal thead th{color:#1d1d1f;background:#f5f5f7;font-weight:600}.legal table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:14px}.legal th,.legal td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e5ea;padding:10px 12px}.legal th{letter-spacing:.02em;text-transform:uppercase;color:var(--lp-ink-2);font-size:12px;font-weight:700}.legal tr:last-child td{border-bottom:none}@media (max-width:640px){.legal table,.legal thead,.legal tbody,.legal th,.legal td,.legal tr{display:block}.legal thead{display:none}.legal tr{border-bottom:1px solid #e5e5ea;padding:10px 0}.legal tr:last-child{border-bottom:none}.legal td{border-bottom:none;padding:3px 0}.legal td:before{content:attr(data-label);letter-spacing:.02em;text-transform:uppercase;color:var(--lp-ink-3);margin-bottom:2px;font-size:11px;font-weight:700;display:block}}.sync-alerte{z-index:1001;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--orange);border-radius:var(--radius-sm);width:min(520px,100vw - 24px);color:var(--text);align-items:center;gap:12px;padding:12px 16px;font-size:13.5px;line-height:1.45;display:flex;position:fixed;bottom:78px;left:50%;transform:translate(-50%);box-shadow:0 10px 34px #0f172a29}.sync-alerte .sync-texte{flex:1;min-width:0}.sync-alerte .sync-detail{color:var(--text2)}@media (max-width:900px){.sync-alerte{flex-wrap:wrap;bottom:134px}.sync-alerte .btn{justify-content:center;width:100%}}.floating-timer{transition:opacity .18s,transform .18s}.floating-timer.ft-efface{opacity:0;pointer-events:none;transform:translateY(8px)}@media (prefers-reduced-motion:reduce){.floating-timer{transition:opacity .18s}.floating-timer.ft-efface{transform:none}}
