@import url("https://api.fontshare.com/v2/css?f[]=satoshi@300,400,500,600,700,800&display=swap");@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap");:root{--font-body:"Satoshi",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",monospace;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease}[data-theme=dark]{--bg-primary:#090b11;--bg-surface:#10131c;--bg-elevated:#181c28;--bg-hover:#1f2433;--bg-overlay:rgba(0,0,0,.55);--text-primary:#eef0f4;--text-secondary:#9ca3b4;--text-muted:#525c6f;--text-inverse:#111827;--accent:#fff;--accent-hover:#fdfdfd;--accent-subtle:rgba(21,101,192,.12);--accent-gradient:linear-gradient(135deg,#1c1387,#599ede);--border:#1c2030;--border-strong:#2a2f42;--border-focus:#1565c0;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--shadow-sm:0 1px 3px rgba(0,0,0,.35);--shadow-md:0 4px 14px rgba(0,0,0,.3);--shadow-lg:0 14px 44px rgba(0,0,0,.38);--navbar-bg:rgba(16,19,28,.82);--navbar-border:rgba(28,32,48,.7);--card-bg:#10131c;--card-border:#1c2030;--input-bg:#141722;--input-border:#242838;--popup-bg:#12151f}[data-theme=light]{--bg-primary:#f5f6fa;--bg-surface:#fff;--bg-elevated:#f0f1f5;--bg-hover:#e6e8ee;--bg-overlay:rgba(0,0,0,.35);--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--text-inverse:#f1f3f7;--accent:#0c3777;--accent-hover:#d2d9e0;--accent-subtle:rgba(13,71,161,.08);--accent-gradient:linear-gradient(135deg,#1c1387,#599ede);--border:#e2e4ea;--border-strong:#d1d5db;--border-focus:#0d47a1;--success:#059669;--error:#dc2626;--warning:#d97706;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 14px rgba(0,0,0,.08);--shadow-lg:0 14px 44px rgba(0,0,0,.1);--navbar-bg:hsla(0,0%,100%,.82);--navbar-border:rgba(226,228,234,.7);--card-bg:#fff;--card-border:#e2e4ea;--input-bg:#f5f6fa;--input-border:#d1d5db;--popup-bg:#fff}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;transition:background var(--transition-base),color var(--transition-base)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:var(--font-body)}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1 1;padding-top:64px}.app-footer{display:none}.navbar{position:fixed;top:0;left:0;right:0;height:64px;z-index:1000;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 1.75rem;background:var(--navbar-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--navbar-border);transition:background var(--transition-base),border-color var(--transition-base)}.navbar-logo{display:flex;align-items:center;justify-content:center;gap:.5rem}.navbar-logo img{height:55px;width:auto}.navbar-logo-text{font-size:1.4rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.navbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.navbar-avatar-btn{width:34px;height:34px;border-radius:50%;background:var(--accent-gradient);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.03em;transition:opacity var(--transition-fast),transform var(--transition-fast);cursor:pointer}.navbar-avatar-btn:hover{opacity:.85;transform:scale(1.07)}.navbar-avatar-btn--sm{width:28px;height:28px;font-size:.72rem}.navbar-mobile-account-btn{display:flex;align-items:center;gap:.65rem;padding:.5rem 0;font-size:.9rem;font-weight:500;color:var(--text-primary);width:100%}.theme-toggle{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast)}.theme-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-toggle svg{width:20px;height:20px}@media (min-width:769px){.navbar-hamburger,.navbar-mobile-menu{display:none!important}}.navbar-hamburger{display:none;width:40px;height:40px;border-radius:var(--radius-md);align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0}.navbar-hamburger:hover{background:var(--bg-hover);color:var(--text-primary)}.navbar-hamburger svg{width:22px;height:22px}.navbar-mobile-menu{position:fixed;top:64px;left:0;right:0;z-index:999;background:var(--navbar-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--navbar-border);animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.navbar-mobile-menu-inner{display:flex;flex-direction:column;padding:.75rem 1rem 1rem;gap:.5rem}.navbar-mobile-nav-link{display:flex;align-items:center;gap:.5rem;padding:.6rem .25rem;font-size:.9rem;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-md);transition:color var(--transition-fast)}.navbar-mobile-nav-link.active,.navbar-mobile-nav-link:hover{color:var(--text-primary)}.navbar-mobile-theme{width:auto!important;height:auto!important;gap:.6rem;font-size:.9rem;font-weight:500;color:var(--text-secondary);padding:.5rem .25rem}.navbar-mobile-divider{height:1px;background:var(--border);margin:.25rem 0}.navbar-mobile-btn{width:100%;justify-content:center;padding:.65rem 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;font-size:.875rem;padding:.55rem 1.15rem;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 2px 8px rgba(13,71,161,.3)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(13,71,161,.4)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-muted)}.btn-ghost{color:var(--text-secondary);padding:.5rem .85rem}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{color:var(--error)}.btn-danger:hover{background:rgba(239,68,68,.08)}.btn-sm{font-size:.8125rem;padding:.4rem .85rem}.overlay{position:fixed;inset:0;z-index:2000;background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.popup{background:var(--popup-bg);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:min(460px,92vw);max-height:90vh;overflow-y:auto;animation:popIn .25s ease}.popup-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .75rem}.popup-header h2{font-size:1.15rem;font-weight:700}.popup-close{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all var(--transition-fast)}.popup-close:hover{background:var(--bg-hover);color:var(--text-primary)}.popup-body{padding:.75rem 1.5rem 1.5rem}.auth-tabs{display:flex;gap:0;margin-bottom:1.25rem;background:var(--bg-elevated);border-radius:var(--radius-md);padding:.25rem;position:relative}.auth-tabs-indicator{position:absolute;top:.25rem;left:.25rem;width:calc(50% - .25rem);height:calc(100% - .5rem);background:var(--accent-gradient);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:0}.auth-tabs-indicator.right{transform:translateX(100%)}.auth-tab{flex:1 1;padding:.6rem;font-size:.875rem;font-weight:600;text-align:center;border-radius:var(--radius-sm);color:var(--text-muted);transition:color var(--transition-fast);position:relative;z-index:1}.auth-tab:hover{color:var(--text-secondary)}.auth-tab.active{color:#fff}@keyframes slideFromRight{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes slideFromLeft{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}.auth-form-slide.slide-from-right{animation:slideFromRight .3s ease forwards}.auth-form-slide.slide-from-left{animation:slideFromLeft .3s ease forwards}.form-group{margin-bottom:1rem}.form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.form-label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem}.form-input,.form-select{width:100%;padding:.65rem .85rem;font-size:.875rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.form-input::placeholder{color:var(--text-muted)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239ca3b4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.5rem}.form-error{color:var(--error);font-size:.8125rem;margin-top:.5rem}.autocomplete-list{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--popup-bg);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto;z-index:10;list-style:none;padding:.25rem}.autocomplete-item{padding:.5rem .75rem;font-size:.875rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);transition:background var(--transition-fast)}.autocomplete-item:hover{background:var(--bg-hover)}.autocomplete-other{color:var(--text-muted);font-style:italic;border-top:1px solid var(--border);margin-top:.25rem;padding-top:.5rem}.form-submit{width:100%;margin-top:.5rem}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:.625rem;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.625rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);margin-top:.25rem}.btn-google:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-focus)}.btn-google:disabled{opacity:.5;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.75rem;margin:.875rem 0 .25rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.home{max-width:860px;margin:0 auto;padding:3.5rem 1.5rem 4rem}.home-hero{text-align:center;margin-bottom:3.5rem}.home-hero h1{font-size:2.5rem;font-weight:800;margin-bottom:2rem;letter-spacing:-.03em;line-height:1.15}.home-hero h1 span,.text-accent{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-accent{font-weight:700}.home-hero-text{font-size:1.05rem;line-height:1.8;color:var(--text-secondary);max-width:640px;margin:2rem auto 0}.home-hero-text p{margin-bottom:1rem}.home-hero-text p:last-child{margin-bottom:0}.home-hero-cta{font-weight:600;color:var(--accent)}.home-cards{display:flex;flex-wrap:nowrap;justify-content:center;gap:1.5rem}.home-cards .home-card{flex:1 1 260px;max-width:400px}.home-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:2rem 1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:1rem;transition:all var(--transition-base);position:relative;overflow:hidden;cursor:pointer}.home-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-base)}.home-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.home-card:hover:before{opacity:1}.home-card-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;color:var(--accent)}.home-card-icon svg{width:24px;height:24px}.home-card h3{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.home-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.home-card-arrow{margin-top:auto;color:var(--accent);font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:.35rem;opacity:0;transform:translateX(-8px);transition:all var(--transition-base)}.home-card:hover .home-card-arrow{opacity:1;transform:translateX(0)}.page-placeholder{max-width:860px;margin:0 auto;padding:3rem 1.5rem}.page-placeholder h1{font-size:2rem;font-weight:800;margin-bottom:.75rem;letter-spacing:-.02em}.page-placeholder p{color:var(--text-secondary);font-size:1rem}.page-coming-soon{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.6rem 1.2rem;background:var(--accent-subtle);color:var(--accent);border-radius:var(--radius-full);font-size:.875rem;font-weight:600}.account-popup{width:min(440px,92vw)}.account-body{display:flex;flex-direction:column;gap:1.1rem}.account-identity{display:flex;align-items:center;gap:1rem}.account-avatar{width:46px;height:46px;border-radius:50%;background:var(--accent-gradient);color:#fff;font-size:1.05rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.03em}.account-identity-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.account-fullname{font-size:.975rem;font-weight:700;color:var(--text-primary)}.account-email{font-size:.82rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-since{font-size:.75rem;color:var(--text-muted);margin-top:.1rem}.account-divider{height:1px;background:var(--border)}.account-section{display:flex;flex-direction:column;gap:.7rem}.account-section-header{display:flex;align-items:center;justify-content:space-between}.account-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.account-edit-btn{display:flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:var(--accent);padding:.2rem .55rem;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.account-edit-btn:hover{background:var(--accent-subtle)}.account-profile-view{display:flex;flex-direction:column;gap:.45rem}.account-profile-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.account-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.account-value{font-size:.875rem;color:var(--text-primary);font-weight:500;text-align:right}.account-edit-form{display:flex;flex-direction:column;gap:.75rem}.account-edit-error{font-size:.8rem;color:var(--error)}.account-edit-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.1rem}.account-theme-toggle{display:flex;background:var(--bg-elevated);border-radius:var(--radius-md);padding:.2rem;position:relative}.account-theme-pill{position:absolute;top:.2rem;bottom:.2rem;left:.2rem;width:calc(50% - .2rem);background:var(--bg-surface);box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.account-theme-btn,.account-theme-pill{border-radius:calc(var(--radius-md) - 2px)}.account-theme-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .75rem;font-size:.8rem;font-weight:600;color:var(--text-muted);transition:color var(--transition-fast);position:relative;z-index:1}.account-theme-btn.active{color:var(--text-primary)}.account-theme-btn:not(.active):hover{color:var(--text-secondary)}.account-logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;color:var(--error);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.account-logout-btn:hover{background:rgba(239,68,68,.07);border-color:var(--error)}.runner-layout{height:calc(100vh - 72px);display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;padding:1.5rem;max-width:1800px;width:100%;margin:0 auto;overflow:hidden}.runner-section{display:flex;flex-direction:column;gap:.75rem;min-height:0}.runner-section-header{display:flex;justify-content:space-between;align-items:center}.runner-section-header h2{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.runner-badge{font-size:.7rem;font-weight:600;padding:.2rem .6rem;background:var(--accent-subtle);color:var(--accent);border-radius:var(--radius-full)}.runner-editor-container{overflow:hidden;position:relative}.runner-console,.runner-editor-container{flex:1 1;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.runner-console{padding:1.25rem;overflow-y:auto;line-height:1.65;min-height:0}.runner-console,.runner-input-area textarea{font-family:var(--font-mono);font-size:.85rem}.runner-input-area textarea{width:100%;min-height:80px;padding:.85rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg);color:var(--text-primary);resize:vertical;transition:border-color var(--transition-fast)}.runner-input-area textarea:focus{outline:none;border-color:var(--border-focus)}.runner-actions{display:flex;gap:.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-heading{display:inline}.typing-cursor{display:inline;font-weight:300;color:var(--accent);animation:blink .75s step-end infinite;margin-left:1px}@keyframes popIn{0%{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .5s ease forwards}.animate-slide-up-delay{animation:slideUp .5s ease .15s forwards;opacity:0}.spinner{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes skeleton-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:1200px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.skeleton-line{height:13px;width:100%}.skeleton-badge-sm{height:22px;width:68px;border-radius:var(--radius-full)}.skeleton-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));grid-gap:1.25rem;gap:1.25rem}.skeleton-exercise-body{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;padding:1.5rem;flex:1 1;overflow:hidden}.skeleton-exercise-panel{display:flex;flex-direction:column;gap:.85rem;overflow:hidden}@media (max-width:640px){.skeleton-cards-grid,.skeleton-exercise-body{grid-template-columns:1fr}.skeleton-exercise-body{grid-template-rows:1fr 1fr}}.exercise-card{will-change:opacity,transform}.exercise-card.card-hidden{opacity:0;transform:translateY(28px)}.exercise-card.card-visible{opacity:1;transform:translateY(0);transition:opacity .38s ease,transform .38s cubic-bezier(.22,1,.36,1)}.exercise-card.card-visible:first-child{transition-delay:0s}.exercise-card.card-visible:nth-child(2){transition-delay:.04s}.exercise-card.card-visible:nth-child(3){transition-delay:.08s}.exercise-card.card-visible:nth-child(4){transition-delay:.12s}.exercise-card.card-visible:nth-child(5){transition-delay:.16s}.exercise-card.card-visible:nth-child(6){transition-delay:.2s}.exercise-card.card-visible:nth-child(7){transition-delay:.24s}.exercise-card.card-visible:nth-child(8){transition-delay:.28s}.exercise-card.card-visible:nth-child(9){transition-delay:.32s}.exercise-card.card-visible:nth-child(10){transition-delay:.36s}.exercise-card.card-visible:nth-child(11){transition-delay:.4s}.exercise-card.card-visible:nth-child(12){transition-delay:.44s}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-reveal{opacity:0}.page-reveal.page-revealed{animation:pageFadeIn .35s ease forwards}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.classiques-page{max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.classiques-header{margin-bottom:2rem}.classiques-header h1{font-size:2rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.02em}.classiques-header p{color:var(--text-secondary);font-size:1rem}.classiques-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.classiques-search{flex:1 1;min-width:200px;width:auto}.classiques-filter-select{width:190px;flex-shrink:0}.classiques-filter-input{width:160px;flex-shrink:0;padding:.65rem .85rem;font-size:.875rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.classiques-filter-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.classiques-filter-input::placeholder{color:var(--text-muted)}.btn-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;padding:.3rem .7rem;margin-bottom:.75rem;color:var(--text-muted);border-radius:var(--radius-md);transition:background var(--transition-fast),color var(--transition-fast)}.btn-back:hover{background:var(--bg-hover);color:var(--text-primary)}.classiques-empty,.classiques-error,.classiques-loading{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.classiques-error{color:var(--error)}.classiques-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));grid-gap:1.25rem;gap:1.25rem}.classiques-guest{pointer-events:auto}.exercise-card-disabled{cursor:pointer;opacity:.78}.exercise-card-locked{cursor:pointer}.exercise-card-locked:hover{border-color:var(--border-strong);transform:translateY(-2px)}.exercise-card-lock-overlay{position:absolute;inset:0;z-index:5;border-radius:var(--radius-xl);cursor:pointer;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);-webkit-mask-image:linear-gradient(180deg,transparent 0,transparent 28%,#000 62%);mask-image:linear-gradient(180deg,transparent 0,transparent 28%,#000 62%);background:linear-gradient(to bottom,transparent 28%,var(--bg-overlay) 62%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:1.4rem;gap:.45rem}.exercise-card-lock-overlay svg{width:22px;height:22px;color:var(--text-primary);opacity:.85}.exercise-card-lock-overlay span{font-size:.72rem;font-weight:700;color:var(--text-primary);letter-spacing:.07em;text-transform:uppercase;opacity:.85}.access-popup{width:min(360px,92vw);position:relative;overflow:hidden}.access-popup:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient)}.access-popup-close{position:absolute;top:.875rem;right:.875rem;width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all var(--transition-fast)}.access-popup-close:hover{background:var(--bg-hover);color:var(--text-primary)}.access-popup-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.25rem 2rem 2rem}.access-popup-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;line-height:1.3}.access-popup-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.75rem}.access-popup-actions{display:flex;flex-direction:column;gap:.5rem;width:100%}.access-popup-actions .btn{width:100%;justify-content:center}.exercise-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:1.5rem;display:flex;flex-direction:column;gap:.65rem;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.exercise-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-base)}.exercise-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.exercise-card:hover:before{opacity:1}.exercise-card-top{display:flex;justify-content:space-between;align-items:center}.exercise-difficulty{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.exercise-points{font-size:.8rem;font-weight:600;color:var(--accent)}.exercise-card-title{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.exercise-card-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.55}.exercise-card-footer{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.5rem}.exercise-tag{font-size:.7rem;font-weight:600;padding:.2rem .55rem;border-radius:var(--radius-full);background:var(--accent-subtle);color:var(--accent)}.exercise-tag-secondary{background:var(--bg-elevated);color:var(--text-muted)}.exercise-tag-concours,.exercise-tag-year{background:rgba(245,158,11,.12);color:var(--warning)}.exercise-tag-post{background:rgba(34,197,94,.12);color:var(--success)}.exercise-tag-filiere{background:rgba(59,130,246,.12);color:var(--accent)}.concours-logos-tag{display:flex;align-items:center;gap:.4rem}.concours-logo-img{height:18px;width:auto;object-fit:contain;display:block}.concours-logo-img--md{height:24px}.concours-logo-img--lg{height:34px}.concours-logo-topbar{height:16px;width:auto;object-fit:contain;display:block}.concours-logo-topbar--md{height:20px}.concours-logo-topbar--lg{height:24px}.exercise-card-top-left{display:flex;align-items:center;gap:.5rem}.exercise-type-badge{font-size:.65rem;font-weight:700;padding:.18rem .5rem;border-radius:var(--radius-full);letter-spacing:.02em}.exercise-type-badge.type-code{background:var(--accent-subtle);color:var(--accent)}.exercise-type-badge.type-fill{background:rgba(245,158,11,.12);color:var(--warning)}.exercise-type-badge.type-mystery{background:rgba(13,71,161,.12);color:#1976d2}[data-theme=light] .exercise-type-badge.type-mystery{color:#0d47a1}.exercise-card-code-preview{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.6rem .75rem;overflow:hidden;max-height:5.5rem}.exercise-card-code-preview code{font-family:var(--font-mono);font-size:.72rem;line-height:1.5;color:var(--text-secondary);white-space:pre;display:block}.exercise-card.type-mystery:before{background:linear-gradient(135deg,#0d47a1,#1976d2)}.exercise-card.type-fill:before{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.exercise-card-completed{border-color:var(--success)}.exercise-card-completed:before{background:var(--success)!important;opacity:1!important}.exercise-completed-badge{position:absolute;bottom:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:var(--success);color:#fff;z-index:2;box-shadow:0 2px 8px rgba(16,185,129,.35)}.exercise-completed-topbar-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:var(--radius-full);background:rgba(16,185,129,.15);color:var(--success);font-size:.78rem;font-weight:600;letter-spacing:.01em}.exercise-mystery-answer-section,.exercise-mystery-panel{display:flex;flex-direction:column;flex:1 1;min-height:0}.exercise-mystery-answer-section{padding:1.25rem}.exercise-mystery-label{display:block;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem;flex-shrink:0}.exercise-mystery-input{flex:1 1;resize:none;width:100%;min-height:0;padding:1rem 1.1rem;font-family:var(--font-sans);font-size:1rem;line-height:1.7;background:#fff;color:#111827;border:1px solid var(--input-border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.exercise-mystery-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.exercise-mystery-input::placeholder{color:#9ca3af}.exercise-page{display:flex;flex-direction:column;height:calc(100vh - 64px);overflow:hidden;padding-top:41px}.exercise-topbar{display:flex;align-items:center;gap:.9rem;padding:.4rem 1.1rem;border-bottom:1px solid var(--border);background:var(--bg-surface);position:fixed;top:64px;left:0;right:0;z-index:500;box-shadow:0 2px 8px rgba(0,0,0,.12)}.exercise-topbar-info{display:flex;align-items:center;gap:.68rem;flex:1 1;min-width:0}.exercise-topbar-info h1{font-size:.945rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exercise-difficulty-badge{font-size:.63rem;font-weight:700;text-transform:uppercase;padding:.18rem .54rem;border-radius:var(--radius-full);background:var(--accent-subtle);color:var(--accent);flex-shrink:0}.exercise-points-badge{font-size:.675rem;font-weight:600;color:var(--text-muted);flex-shrink:0}.exercise-topbar-actions{display:flex;gap:.45rem;flex-shrink:0}.exercise-layout{flex:1 1;display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;overflow:hidden}.exercise-statement{border-right:1px solid var(--border);overflow-y:auto}.exercise-statement-inner{padding:1.35rem}.exercise-statement-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1rem}.exercise-statement-header h2{margin-bottom:0}.exercise-source-tag{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:var(--radius-full);background:var(--accent-subtle);color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.02em;border:1px solid var(--border);white-space:nowrap}.exercise-statement h2{font-size:1rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.exercise-desc{font-size:.855rem;line-height:1.7;color:var(--text-primary);margin-bottom:1.35rem}.exercise-desc.markdown-body p{margin-bottom:.75rem}.exercise-desc.markdown-body p:last-child{margin-bottom:0}.exercise-desc.markdown-body code{font-family:var(--font-mono);font-size:.85rem;background:var(--bg-elevated);padding:.15rem .4rem;border-radius:var(--radius-sm);color:var(--accent)}.exercise-desc.markdown-body pre{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1rem;overflow-x:auto;margin:.75rem 0}.exercise-desc.markdown-body pre code{background:none;padding:0;color:var(--text-primary)}.exercise-desc.markdown-body ol,.exercise-desc.markdown-body ul{padding-left:1.5rem;margin-bottom:.75rem}.exercise-desc.markdown-body li{margin-bottom:.3rem}.exercise-desc.markdown-body strong{font-weight:700}.exercise-desc.markdown-body em{font-style:italic}.exercise-desc.markdown-body table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.875rem;border:1px solid var(--border-strong);border-radius:6px;overflow:hidden}.exercise-desc.markdown-body thead{background:var(--bg-elevated)}.exercise-desc.markdown-body th{padding:.55rem .9rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-strong);border-right:1px solid var(--border)}.exercise-desc.markdown-body th:last-child{border-right:none}.exercise-desc.markdown-body td{padding:.5rem .9rem;color:var(--text-primary);border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.exercise-desc.markdown-body td:last-child{border-right:none}.exercise-desc.markdown-body tr:last-child td{border-bottom:none}.exercise-desc.markdown-body tbody tr:nth-child(2n){background:var(--bg-elevated)}.exercise-desc .katex{font-size:1.05em;color:var(--text-primary)}.exercise-desc .katex-display{margin:1rem 0;overflow-x:auto;overflow-y:hidden;padding:.5rem 0}.exercise-examples h3{font-size:.85rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.exercise-example{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1rem;margin-bottom:.75rem}.exercise-example-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.exercise-example-row{display:flex;align-items:baseline;gap:.5rem;font-size:.85rem;margin-bottom:.25rem}.exercise-example-key{font-weight:600;color:var(--text-muted);white-space:nowrap}.exercise-example-row code{font-family:var(--font-mono);font-size:.82rem;color:var(--accent);background:var(--accent-subtle);padding:.1rem .4rem;border-radius:var(--radius-sm)}.exercise-tags-section{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}.exercise-workspace{display:flex;flex-direction:column;overflow:hidden}.exercise-editor-wrapper{flex:1 1;display:flex;flex-direction:column;min-height:0}.exercise-editor-header{display:flex;justify-content:space-between;align-items:center;padding:.45rem .9rem;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);flex-shrink:0}.exercise-editor{flex:1 1;min-height:0}.exercise-output-panel{flex-shrink:0;max-height:40%;display:flex;flex-direction:column;border-top:1px solid var(--border)}.exercise-output-header{padding:.45rem .9rem;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);flex-shrink:0}.exercise-output-body{padding:.675rem .9rem;overflow-y:auto;flex:1 1;min-height:72px}.exercise-output-empty{color:var(--text-muted);font-size:.765rem;font-style:italic}.exercise-run-result{display:flex;flex-direction:column;gap:.45rem}.exercise-stdout{color:var(--text-primary)}.exercise-stderr,.exercise-stdout{font-family:var(--font-mono);font-size:.765rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.exercise-stderr{color:var(--error)}.exercise-exec-time{font-size:.675rem;color:var(--text-muted)}.exercise-submit-result{border-radius:var(--radius-md);padding:.9rem}.exercise-submit-result.success{background:rgba(16,185,129,.08);border:1px solid var(--success)}.exercise-submit-result.fail{background:rgba(239,68,68,.08);border:1px solid var(--error)}.exercise-submit-header{font-size:.9rem;font-weight:700;margin-bottom:.45rem}.exercise-submit-result.success .exercise-submit-header{color:var(--success)}.exercise-submit-result.fail .exercise-submit-header{color:var(--error)}.exercise-submit-score{font-size:.81rem;color:var(--text-secondary);margin-bottom:.675rem}.exercise-test-list{display:flex;flex-direction:column;gap:.45rem}.exercise-test-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.45rem;font-size:.765rem;padding:.45rem .585rem;border-radius:var(--radius-sm)}.exercise-test-item.passed{color:var(--success)}.exercise-test-item.failed{color:var(--error)}.exercise-test-icon{font-weight:700;width:1.2em;flex-shrink:0}.exercise-test-desc{flex:1 1}.exercise-test-detail{width:100%;padding-left:1.53em;display:flex;flex-direction:column;gap:.18rem;font-size:.72rem;color:var(--text-secondary)}.exercise-test-detail code{font-family:var(--font-mono);font-size:.702rem;background:var(--bg-elevated);padding:.09rem .315rem;border-radius:var(--radius-sm)}.exercise-test-error{color:var(--error)}.exercise-solution-inline{margin-top:.9rem;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.exercise-solution-inline-header{padding:.45rem .675rem;font-size:.702rem;font-weight:700;color:var(--text-secondary);background:var(--bg-elevated);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em}.exercise-solution-inline-editor{overflow:hidden}.exercise-solution-empty{padding:.675rem .9rem;font-size:.7875rem;color:var(--text-secondary)}.exercise-solution-error{color:var(--error,#ef4444)!important}.btn-text-short,.exercise-mobile-tabs{display:none}.btn-solution{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-solution:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.btn-solution:disabled{opacity:.45;cursor:not-allowed}.btn-solution-locked{color:var(--text-muted);opacity:1!important;cursor:pointer!important}.btn-solution-locked:hover{opacity:1;background:var(--bg-hover);border-color:var(--text-muted)}.btn-solution-locked svg{display:inline;margin-right:.25rem}.exercise-error-state,.exercise-loading,.exercise-login-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;gap:1rem;flex:1 1}.exercise-login-prompt h2{font-size:1.3rem;font-weight:700}.exercise-error-state p,.exercise-login-prompt p{color:var(--text-secondary)}@media (max-width:768px){.navbar{grid-template-columns:1fr auto auto;padding:0 1rem}.navbar-actions,.navbar-left{display:none}.navbar-hamburger{display:flex}.home{padding:2rem 1rem 3rem}.home-hero h1{font-size:1.75rem}.home-hero-text{font-size:.95rem}.home-cards{flex-wrap:wrap}.home-cards .home-card{flex:1 1 100%;max-width:100%}.runner-layout{grid-template-columns:1fr;grid-template-rows:1fr 1fr;padding:1rem}.popup{width:95vw}.classiques-filters{flex-direction:column}.classiques-filter-input,.classiques-filter-select{width:100%}.classiques-grid{grid-template-columns:1fr}.exercise-page{height:auto;min-height:calc(100vh - 64px);overflow-x:hidden;overflow-y:visible;padding-top:86px}.exercise-statement-inner{padding:1rem}.exercise-topbar{flex-wrap:nowrap;padding:0 .75rem;height:44px;gap:.4rem;align-items:center}.exercise-topbar .concours-logos-tag,.exercise-topbar .exercise-completed-topbar-badge,.exercise-topbar .exercise-difficulty-badge,.exercise-topbar .exercise-source-tag,.exercise-topbar .exercise-tag,.exercise-topbar .exercise-tag-concours,.exercise-topbar .exercise-tag-year{display:none}.exercise-topbar-info{gap:.3rem}.exercise-topbar-info h1{font-size:.8rem;max-width:120px}.exercise-topbar-actions{gap:.25rem;flex-shrink:0}.exercise-topbar-actions .btn{font-size:.75rem;padding:.35rem .55rem}.btn-text-full,.exercise-run-btn{display:none}.btn-text-short{display:inline}.exercise-mobile-tabs{display:flex;position:fixed;top:calc(64px + 44px);left:0;right:0;height:42px;z-index:490;background:var(--bg-surface);border-bottom:2px solid var(--border);box-shadow:0 1px 4px rgba(0,0,0,.08)}.exercise-mobile-tab{flex:1 1;height:42px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-bottom-color .2s;letter-spacing:.02em}.exercise-mobile-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.exercise-layout{display:flex;flex-direction:row;flex-wrap:nowrap;width:200%;transform:translateX(var(--mobile-offset,0));transition:transform .35s cubic-bezier(.4,0,.2,1);overflow:visible}.exercise-statement,.exercise-workspace{width:50%;flex-shrink:0;border-right:none;border-bottom:none;max-height:none;overflow-y:visible;min-height:calc(100vh - 64px - 44px - 42px)}.exercise-example{overflow:hidden}.exercise-example-row{flex-wrap:wrap;gap:.3rem}.exercise-example-row code{max-width:100%;overflow-x:auto;word-break:break-all}.exercise-editor-wrapper{flex:none;height:auto;min-height:0}.exercise-editor{flex:none}.exercise-output-panel{max-height:none;flex-shrink:0}.exercise-mystery-panel{min-height:300px}.exercise-mystery-input{min-height:200px}}@media (max-width:480px){.home-hero h1{font-size:1.45rem}.navbar-logo-text{font-size:1.1rem}.exercise-topbar-info h1{max-width:90px;font-size:.75rem}.exercise-topbar-actions .btn{font-size:.7rem;padding:.3rem .45rem}.btn-timer-reset,.timer-display{display:none}}.learning-level-section{margin-top:2rem}.learning-level-section h3{margin:0 0 .25rem;font-size:1rem;font-weight:600}.helper-text{color:var(--text-muted);font-size:.85rem;margin:0 0 1rem}.level-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;margin-top:.75rem}.level-selection-card{padding:.85rem;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .3s ease}.level-selection-card.selected,.level-selection-card:hover{border-color:var(--border-focus)}.level-selection-card.selected{background:rgba(21,101,192,.1)}.level-selection-card h4{margin:.35rem 0 .25rem;font-size:.9rem}.level-selection-card p{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.35}.level-badge{display:inline-block;padding:.2rem .6rem;background:var(--accent-gradient);color:#fff;border-radius:12px;font-size:.7rem;font-weight:600}.learning-progress-compact{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--bg-surface);border-radius:8px}.level-indicator{font-weight:600;color:var(--accent);font-size:.85rem;white-space:nowrap}.mini-progress-bar{width:100px;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.mini-progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.progress-text{font-size:.8rem;font-weight:600;color:var(--text-muted)}.learning-progress-full{padding:1.5rem;background:var(--bg-surface);border-radius:12px;border:1px solid var(--border)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.progress-header h3{margin:0;font-size:1rem}.progress-percentage{font-size:1.5rem;font-weight:700;color:var(--accent)}.progress-bar-container{width:100%;height:12px;background:var(--border);border-radius:6px;overflow:hidden;margin-bottom:.75rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#8b5cf6);transition:width .5s ease}.solution-modal{max-width:700px;width:min(700px,92vw)}.solution-modal .popup-header{justify-content:center;position:relative}.solution-modal .popup-header h2{margin:0;display:flex;align-items:center;gap:.5rem}.solution-modal .popup-header h2:before{content:"✓";color:var(--success);font-weight:700;font-size:1.3rem}.solution-modal .popup-close{position:absolute;right:1.5rem;top:1.25rem}.solution-code{background:var(--bg-elevated);border:2px solid var(--success);border-radius:var(--radius-md);padding:1.25rem;overflow-x:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.7;color:var(--text-primary);margin:0;position:relative}.solution-code:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--success),transparent);border-radius:var(--radius-md) var(--radius-md) 0 0}.solution-code code{all:unset;display:block;font-family:var(--font-mono);font-size:.85rem;line-height:1.7;color:var(--text-primary);word-break:break-word}.solution-explanation{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--bg-elevated);border-left:3px solid var(--accent);border-radius:var(--radius-md)}.solution-explanation-title{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.solution-explanation-body{font-size:.9rem;line-height:1.65;color:var(--text-secondary)}.solution-explanation-body p:last-child{margin-bottom:0}.progress-details{margin:0;font-size:.85rem;color:var(--text-muted)}.navbar-learning{flex:1 1;display:flex;justify-content:center}.learning-path-page{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.learning-header{margin-bottom:2.5rem}.learning-header h1{margin:0 0 1.5rem;font-size:1.75rem;font-weight:700}.learning-levels-overview{margin-bottom:2.5rem}.learning-levels-overview h2{font-size:1.2rem;margin-bottom:1rem}.levels-timeline{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.level-timeline-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;min-width:160px;flex-shrink:0;transition:all .2s}.level-timeline-item.current{border-color:var(--accent);background:rgba(99,102,241,.08)}.level-timeline-item.locked{opacity:.5}.level-timeline-badge{font-size:1.2rem;width:32px;text-align:center}.level-timeline-info strong{display:block;font-size:.8rem}.level-timeline-difficulty{font-size:.7rem;color:var(--text-muted)}.learning-exercises{margin-top:2rem}.learning-exercises h2{font-size:1.2rem;margin-bottom:1rem}.no-exercises-msg{color:var(--text-muted);font-style:italic}.mini-cours-section{background:var(--bg-surface);border-left:4px solid var(--accent);padding:1.5rem;border-radius:8px;margin-bottom:2rem}.mini-cours-section h3{margin-top:0;color:var(--accent)}.mini-cours-content{line-height:1.6}.mini-cours-content p{margin:.5rem 0}.mini-cours-card{margin-top:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;background:var(--bg-elevated)}.mini-cours-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.7rem 1rem;background:transparent;border:none;cursor:pointer;color:var(--text-primary);font-size:.875rem;font-weight:600;text-align:left;transition:background var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.mini-cours-toggle:hover{background:var(--bg-hover)}.mini-cours-toggle.open{border-bottom:1px solid var(--border)}.mini-cours-icon{font-size:1rem;flex-shrink:0}.mini-cours-label{flex:1 1}.mini-cours-chevron{font-size:.7rem;opacity:.5;transition:transform var(--transition-fast);flex-shrink:0}.mini-cours-toggle.open .mini-cours-chevron{transform:rotate(180deg)}.mini-cours-body{padding:1rem 1.25rem;font-size:.875rem;line-height:1.7;color:var(--text-primary)}.mini-cours-body p{margin-bottom:.65rem}.mini-cours-body p:last-child{margin-bottom:0}.mini-cours-body code{font-family:var(--font-mono);font-size:.82em;background:var(--accent-subtle);color:var(--accent);padding:.15em .4em;border-radius:var(--radius-sm)}.mini-cours-body pre{background:var(--bg-surface);border:1px solid var(--border);padding:.75rem 1rem;border-radius:var(--radius-md);overflow-x:auto;margin:.65rem 0}.mini-cours-body pre code{background:none;padding:0;color:var(--text-primary)}.mini-cours-body ol,.mini-cours-body ul{padding-left:1.5rem;margin-bottom:.65rem}.mini-cours-body li{margin-bottom:.25rem}.mini-cours-body strong{font-weight:700}.mini-cours-body .katex{font-size:1em;color:var(--text-primary)}.mini-cours-body table{width:100%;border-collapse:collapse;margin-bottom:.75rem;font-size:.82rem}.mini-cours-body thead tr{background:var(--bg-elevated);border-bottom:2px solid var(--border-strong)}.mini-cours-body th{padding:.45rem .75rem;text-align:left;font-weight:600;color:var(--text-primary);white-space:nowrap}.mini-cours-body td{padding:.4rem .75rem;color:var(--text-secondary);border-bottom:1px solid var(--border)}.mini-cours-body tbody tr:last-child td{border-bottom:none}.mini-cours-body tbody tr:hover{background:var(--bg-hover)}.level-up-banner{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:1.5rem;border-radius:12px;text-align:center;margin-top:1.5rem;font-size:1.1rem;font-weight:600}.level-up-banner button{margin-top:1rem;background:#fff;color:#059669;border:none;padding:.75rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:opacity .2s}.level-up-banner button:hover{opacity:.9}.learning-exercise-wrapper{position:relative}.completion-badge{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;z-index:2}.learning-next-action{margin-top:1rem;text-align:center}.home-card.learning-card{border:2px solid var(--accent);background:rgba(99,102,241,.04)}@media (max-width:600px){.level-cards-grid{grid-template-columns:1fr}.levels-timeline{flex-direction:column}.level-timeline-item{min-width:auto}.navbar-learning{display:none}}[data-theme=dark] .logo-light,[data-theme=light] .logo-dark{display:none!important}.ab-page{max-width:760px;margin:0 auto;padding:4rem 2rem 7rem}.ab-kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem}.ab-title{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.1;letter-spacing:-.035em;color:var(--text-primary);margin:0 0 1.75rem}.ab-title em{font-style:normal;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ab-lead{font-size:1.2rem;line-height:1.7;color:var(--text-secondary);max-width:580px;border-left:3px solid var(--border-strong);padding-left:1.25rem;margin:0}.ab-body{margin-top:4.5rem;display:flex;flex-direction:column;gap:3.5rem}.ab-col-text h2{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;margin:0 0 1rem}.ab-col-text p{font-size:1rem;line-height:1.8;color:var(--text-secondary);margin:0 0 1rem}.ab-col-text p:last-child{margin-bottom:0}.ab-topics{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.ab-topics li{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);position:relative;padding-left:.85rem}.ab-topics li:before{content:"–";position:absolute;left:0;color:var(--text-muted);opacity:.4}.ab-fade{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}.ab-in{opacity:1;transform:none}.ab-founder{margin-top:5rem;padding-top:3rem;border-top:1px solid var(--border);display:grid;grid-template-columns:88px 1fr;grid-gap:2rem;gap:2rem;align-items:start}@media (max-width:520px){.ab-founder{grid-template-columns:1fr}}.ab-founder-photo-wrap{width:90px;height:90px;border-radius:10px;overflow:hidden;background:var(--bg-elevated);flex-shrink:0}.ab-founder-photo{width:100%;height:100%;object-fit:cover;display:block}.ab-founder-tag{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem}.ab-founder-name{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .3rem;color:var(--text-primary)}.ab-founder-name a{color:inherit;text-decoration:none;border-bottom:1.5px solid var(--border-strong);transition:border-color var(--transition-fast),color var(--transition-fast)}.ab-founder-name a:hover{color:var(--text-primary);border-bottom-color:var(--text-primary)}.ab-founder-role{font-size:.85rem;color:var(--text-muted);margin:0 0 1rem}.ab-founder-bio{font-size:.95rem;line-height:1.75;color:var(--text-secondary);white-space:pre-line;margin:0 0 1.25rem}.ab-founder-contacts{display:flex;gap:.6rem}.ab-founder-contacts a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:7px;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.ab-founder-contacts a:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-strong)}.ab-founder-contacts a.ab-contact-linkedin{color:#0077b5;border-color:rgba(0,119,181,.25);background:rgba(0,119,181,.07)}.ab-founder-contacts a.ab-contact-linkedin:hover{color:#0077b5;background:rgba(0,119,181,.15);border-color:rgba(0,119,181,.4)}.footer{border-top:1px solid var(--border);padding:.85rem 2rem;margin-top:auto;flex-shrink:0}.footer-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-brand-logo{font-family:var(--font-mono);font-size:.82rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none}.footer-links-row{display:flex;align-items:center;gap:1.5rem}.footer-links-row a{font-size:.78rem;color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast)}.footer-links-row a:hover{color:var(--text-primary)}.footer-copy{font-size:.75rem;color:var(--text-muted);opacity:.55}.footer-seo{display:none}@media (max-width:600px){.footer-inner{flex-direction:column;align-items:flex-start;gap:.4rem}.footer-links-row{gap:1rem}}body.exercise-active{overflow:hidden}body.exercise-active .footer{display:none}@media (max-width:768px){body.exercise-active{overflow:visible}}.navbar-nav{display:flex;align-items:center;gap:.25rem}.navbar-nav-link{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;color:var(--text-secondary);border:1.5px solid transparent;background-image:linear-gradient(var(--bg-surface),var(--bg-surface)),var(--accent-gradient);transition:color var(--transition-fast),background-image var(--transition-fast)}.navbar-nav-link,.navbar-nav-link:hover{background-clip:padding-box,border-box;background-origin:padding-box,border-box}.navbar-nav-link:hover{color:var(--text-primary);background-image:linear-gradient(var(--bg-hover),var(--bg-hover)),var(--accent-gradient)}.navbar-nav-link.active{color:var(--text-primary);background-image:linear-gradient(var(--bg-elevated),var(--bg-elevated)),var(--accent-gradient);background-clip:padding-box,border-box;background-origin:padding-box,border-box}.navbar-nav-link-icon{font-family:var(--font-mono);font-size:.78rem;font-weight:700}.editor-page{height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.editor-toolbar{justify-content:space-between;padding:.6rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.editor-toolbar,.editor-toolbar-left{display:flex;align-items:center;gap:.75rem}.editor-lang-badge{font-family:var(--font-mono);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .55rem;border-radius:var(--radius-full);background:var(--accent-subtle);color:var(--accent);border:1px solid var(--border-focus);opacity:.85}.editor-toolbar-title{font-size:.875rem;font-weight:500;color:var(--text-muted)}.editor-toolbar-right{display:flex;align-items:center;gap:.5rem}.editor-run-btn{gap:.4rem}.editor-back-btn{gap:.3rem}.editor-toolbar-divider{width:1px;height:18px;background:var(--border-strong);flex-shrink:0}.editor-layout{display:flex;flex:1 1;overflow:hidden}.editor-panel{display:flex;flex-direction:column;overflow:hidden}.editor-panel-code{flex:1 1;border-right:1px solid var(--border)}.editor-panel-console{width:38%;min-width:240px}.editor-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.45rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.editor-panel-label{font-family:var(--font-mono);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.editor-panel-hint,.editor-panel-label{font-size:.72rem;color:var(--text-muted)}.editor-panel-hint{opacity:.6}.editor-exec-time{font-family:var(--font-mono);font-size:.72rem;color:var(--success);opacity:.85}.editor-console{flex:1 1;padding:1rem 1.25rem;overflow-y:auto;background:var(--bg-primary);font-family:var(--font-mono)}.editor-console-placeholder{font-style:italic}.editor-console-placeholder,.editor-console-running{font-size:.8125rem;color:var(--text-muted);font-family:var(--font-mono)}.editor-console-running{display:flex;align-items:center;gap:.6rem}.editor-console-output{color:var(--text-primary)}.editor-console-error,.editor-console-output{font-family:var(--font-mono);font-size:.8125rem;white-space:pre-wrap;word-break:break-word;line-height:1.7;margin:0}.editor-console-error{color:var(--error)}.editor-monaco-wrapper{flex:1 1;overflow:hidden;display:flex;flex-direction:column}.spinner-dark{border:2px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;animation:spin .6s linear infinite}.spinner-dark,.spinner-sm{width:13px;height:13px}@media (max-width:768px){.editor-toolbar{padding:0 .75rem;height:44px;gap:.3rem}.editor-toolbar-left{gap:.4rem}.editor-toolbar-divider,.editor-toolbar-title{display:none}.editor-back-btn{padding:.3rem .45rem}.editor-clear-btn{display:none}.editor-toolbar-right{gap:.25rem}.editor-run-btn{padding:.35rem .75rem}.editor-layout{flex-direction:column}.editor-panel-code{height:62%;border-right:none;border-bottom:1px solid var(--border)}.editor-panel-console{width:100%;height:38%}}.access-popup-prices-btn{width:100%;margin-top:.85rem;justify-content:center}.popup-pricing{width:min(900px,94vw);max-height:92vh}.popup-pricing--col2{width:min(640px,94vw)}.popup-pricing--col1{width:min(400px,94vw)}.popup-pricing--col4{width:min(1100px,96vw)}.popup-pricing--col5{width:min(1320px,96vw)}.popup-pricing-header{padding:.7rem 1.75rem .6rem;border-bottom:1px solid var(--border);position:relative;justify-content:center}.popup-pricing-header .popup-close{position:absolute;right:1.25rem;top:50%;transform:translateY(-50%)}.popup-pricing-header-content{text-align:center}.popup-pricing-title{font-size:1.2rem;font-weight:700;margin-bottom:.2rem}.popup-pricing-subtitle{font-size:.8rem;color:var(--text-muted)}.popup-pricing-niveau{color:var(--text-secondary);font-weight:500}.popup-pricing-body{padding:1.25rem 1.75rem 1.75rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;align-items:stretch}.pricing-card{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:1.4rem 1.4rem 1.2rem;display:flex;flex-direction:column;align-items:center;gap:.9rem;position:relative;transition:transform .2s ease;text-align:center}.pricing-card:hover{transform:scale(1.025)}.pricing-card--featured{border-color:var(--border-strong);background:var(--popup-bg)}.pricing-card--subscribed{border-color:rgba(16,185,129,.45)}.pricing-badge{position:absolute;top:-.55rem;left:50%;transform:translateX(-50%);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.2rem .65rem;border-radius:var(--radius-full);background:var(--accent-gradient);color:#fff;white-space:nowrap;box-shadow:var(--shadow-sm)}.pricing-badge--pro{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.pricing-badge--elite{background:linear-gradient(135deg,#b45309,#f59e0b)}.pricing-card--elite{background:linear-gradient(160deg,rgba(245,158,11,.06) 0,var(--bg-surface) 60%);border-color:rgba(245,158,11,.4)}.pricing-card--elite:hover{border-color:rgba(245,158,11,.65)}.pricing-cta--elite{background:linear-gradient(135deg,#b45309,#f59e0b);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;box-shadow:0 2px 12px rgba(245,158,11,.35)}.pricing-cta--elite:hover{opacity:.92}.pricing-billing-toggle{display:flex;gap:0;background:var(--bg-elevated);border-radius:var(--radius-md);padding:.2rem;margin-top:0;position:relative;width:100%}.pricing-toggle-pill{position:absolute;top:.2rem;bottom:.2rem;left:.2rem;width:calc(50% - .2rem);background:var(--accent-gradient);box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.pricing-toggle-btn,.pricing-toggle-pill{border-radius:calc(var(--radius-md) - 2px)}.pricing-toggle-btn{flex:1 1;padding:.4rem .5rem;font-size:.75rem;font-weight:600;text-align:center;color:var(--text-muted);transition:color var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.3rem;white-space:nowrap;position:relative;z-index:1}.pricing-toggle-btn:hover{color:var(--text-secondary)}.pricing-toggle-btn.active{color:#fff}.pricing-toggle-saving{font-size:.65rem;font-weight:700;letter-spacing:.04em;background:hsla(0,0%,100%,.22);padding:.1rem .3rem;border-radius:var(--radius-full)}.pricing-toggle-btn:not(.active) .pricing-toggle-saving{background:var(--accent-subtle);color:var(--accent)}.pricing-card-top{display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%}.pricing-plan-name{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.pricing-price-block{display:flex;align-items:baseline;justify-content:center;gap:.2rem;margin-top:.35rem;width:100%}.pricing-price-main{font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);line-height:1}.pricing-price-period{font-size:.85rem;font-weight:500;color:var(--text-muted)}.pricing-price-sub{font-size:.73rem;color:var(--text-muted);margin-top:.1rem}.pricing-price-sub--highlight{color:var(--success);font-weight:600}.pricing-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;flex:1 1}.pricing-feature{display:flex;align-items:flex-start;gap:.55rem;font-size:.82rem;line-height:1.45}.pricing-feature--included{color:var(--text-primary)}.pricing-feature--excluded{color:var(--text-muted)}.pricing-feature-icon{flex-shrink:0;margin-top:1px}.pricing-feature-icon--check{color:var(--success)}.pricing-feature-icon--cross{color:var(--text-muted)}.pricing-cta{width:100%;justify-content:center;margin-top:auto;padding:.65rem 1rem;font-size:.875rem;font-weight:600}.pricing-cta--free{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted);cursor:default;border-radius:var(--radius-lg)}.pricing-cta--active{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);color:var(--success);cursor:default;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;gap:.4rem}.pricing-category-picker{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem 2rem 3rem}.pricing-category-label{font-size:1rem;font-weight:600;color:var(--text-primary);text-align:center}.pricing-category-options{display:flex;gap:1rem;width:100%;max-width:520px}.pricing-category-btn{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.4rem 1rem;border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:var(--bg-surface);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;text-align:center}.pricing-category-btn:hover{border-color:var(--accent,#6366f1);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}.pricing-category-btn-title{font-size:.95rem;font-weight:700;color:var(--text-primary)}.pricing-category-btn-sub{font-size:.75rem;color:var(--text-muted);line-height:1.4}.pricing-back-btn{background:none;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;padding:0 0 .75rem;display:block}.pricing-back-btn:hover{color:var(--text-primary)}.pricing-features{text-align:left;width:100%}.pricing-feature-content{display:flex;flex-direction:column;gap:.1rem}.pricing-feature-sub{font-size:.71rem;color:var(--success);font-weight:500;opacity:.85;line-height:1.4}.pricing-feature--excluded .pricing-feature-sub{color:var(--text-muted);opacity:.7}.pricing-feature-divider{display:flex;align-items:center;gap:.5rem;list-style:none;margin:.25rem 0 .05rem}.pricing-feature-divider:after,.pricing-feature-divider:before{content:"";flex:1 1;height:1px;background:var(--border-strong);opacity:.4}.pricing-feature-divider-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);white-space:nowrap}@media (max-width:640px){.popup-pricing,.popup-pricing--col2{width:96vw;max-height:95vh}.popup-pricing-body{padding:1rem}.pricing-grid{grid-template-columns:1fr;gap:.85rem}.pricing-price-main{font-size:1.7rem}}.popup-pricing--waitlist{width:min(480px,94vw)}.waitlist-screen{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1.5rem 2rem;gap:0}.waitlist-screen--success .waitlist-icon-wrap{background:rgba(16,185,129,.12);color:var(--success)}.waitlist-band{width:calc(100% + 3rem);height:4px;margin:0 -1.5rem 2rem;background:linear-gradient(90deg,#1c1387,#599ede);border-radius:2px;flex-shrink:0}.waitlist-icon-wrap{width:60px;height:60px;border-radius:50%;background:rgba(89,158,222,.12);color:#599ede;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;flex-shrink:0}.waitlist-pack-badge{display:inline-block;background:linear-gradient(135deg,rgba(28,19,135,.08),rgba(89,158,222,.12));border:1px solid rgba(89,158,222,.3);border-radius:20px;padding:4px 14px;font-size:.75rem;font-weight:600;color:#599ede;letter-spacing:.03em;text-transform:uppercase;margin-bottom:1rem}.waitlist-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0 0 1rem;line-height:1.3}.waitlist-body{font-size:.9rem;color:var(--text-secondary);line-height:1.7;margin:0 0 1.5rem;max-width:360px}.waitlist-body strong{color:var(--text-primary);font-weight:600}.waitlist-hint{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin:0 0 1.75rem}.waitlist-hint strong{color:var(--text-primary)}.waitlist-form{width:100%;display:flex;flex-direction:column;gap:.75rem}.waitlist-input{width:100%;padding:.7rem 1rem;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--input-bg,var(--surface-primary));color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:border-color var(--transition-base);box-sizing:border-box}.waitlist-input:focus{outline:none;border-color:#599ede;box-shadow:0 0 0 3px rgba(89,158,222,.15)}.waitlist-input::placeholder{color:var(--text-secondary);opacity:.6}.waitlist-logged-hint{font-size:.85rem;color:var(--text-secondary);margin:0;padding:.6rem 1rem;background:var(--surface-secondary,var(--surface-primary));border-radius:var(--radius-md);border:1px solid var(--border-primary)}.waitlist-logged-hint strong{color:var(--text-primary)}.waitlist-error{font-size:.82rem;color:var(--error);margin:0;text-align:left}.waitlist-cta{width:100%;justify-content:center;padding:.75rem 1.5rem;font-size:.95rem;margin-top:.25rem}.waitlist-back-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:.82rem;font-family:inherit;padding:.25rem;transition:color var(--transition-fast)}.waitlist-back-btn:hover{color:var(--text-primary)}@media (max-width:640px){.popup-pricing--waitlist{width:96vw}}.attente-page{height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-primary);background-image:radial-gradient(ellipse 80% 50% at 50% -5%,rgba(89,158,222,.07) 0,transparent 65%)}.attente-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 2rem;border-bottom:1px solid var(--border-primary);flex-shrink:0}.attente-logo-img{height:44px;width:auto}.attente-back-link{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.attente-back-link:hover{color:var(--text-primary)}.attente-main{flex:1 1;justify-content:center;padding:0 1.25rem;min-height:0}.attente-content,.attente-main{display:flex;align-items:center}.attente-content{width:100%;max-width:480px;flex-direction:column;text-align:center}.attente-icon{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;background:rgba(89,158,222,.1);color:#599ede;border:1px solid rgba(89,158,222,.2);flex-shrink:0}.attente-icon--success{background:rgba(16,185,129,.1);color:var(--success);border-color:rgba(16,185,129,.25)}.attente-badge{display:inline-block;background:linear-gradient(135deg,rgba(28,19,135,.08),rgba(89,158,222,.12));border:1px solid rgba(89,158,222,.3);border-radius:20px;padding:4px 16px;font-size:.75rem;font-weight:600;color:#599ede;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.9rem}.attente-title{font-size:1.45rem;font-weight:700;color:var(--text-primary);margin:0 0 1rem;line-height:1.3}.attente-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.65;margin:0 0 1.1rem;max-width:400px}.attente-desc strong{color:var(--text-primary);font-weight:600}.attente-desc--sm{font-size:.85rem;text-align:left;width:100%}.attente-pack-detail{color:var(--text-primary);font-weight:500}.attente-notice{width:100%;background:var(--surface-secondary,var(--bg-elevated,rgba(89,158,222,.04)));border:1px solid var(--border-primary);border-left:3px solid #599ede;border-radius:0 var(--radius-md) var(--radius-md) 0;padding:.8rem 1.1rem;margin-bottom:1.1rem;text-align:left}.attente-notice p{margin:0;font-size:.88rem;color:var(--text-secondary);line-height:1.7}.attente-notice p strong{color:var(--text-primary);font-weight:600}.attente-notice--success{border-left-color:var(--success);background:rgba(16,185,129,.04)}.attente-email-box{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.65rem 1rem;background:var(--surface-secondary,var(--bg-elevated));border:1px solid var(--border-primary);border-radius:var(--radius-md);margin-bottom:1rem;color:var(--text-secondary);font-size:.88rem}.attente-email-box span{color:var(--text-primary);font-weight:500}.attente-error{font-size:.82rem;color:var(--error);margin:0 0 .75rem;text-align:left;width:100%}.attente-cta{width:100%;justify-content:center;padding:.8rem 1.5rem;font-size:.95rem;margin-bottom:.75rem;text-align:center;text-decoration:none}.attente-reassurance{font-size:.75rem;color:var(--text-secondary);margin:0;opacity:.7}.attente-hint{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin:0 0 1.25rem;max-width:380px}.attente-hint strong{color:var(--text-primary)}.attente-footer{padding:1.25rem 2rem;text-align:center;border-top:1px solid var(--border-primary)}.attente-footer p{margin:0;font-size:.78rem;color:var(--text-secondary);opacity:.6}@media (max-width:600px){.attente-header{padding:.9rem 1.25rem}.attente-title{font-size:1.2rem}.attente-icon{width:56px;height:56px;margin-bottom:.9rem}.attente-content{padding:0 .25rem}}@keyframes repl-blink{0%,to{opacity:1}50%{opacity:0}}.repl-prompt-line{padding:.55rem .85rem;color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.repl-input-line{display:flex;align-items:center;padding:.55rem .85rem}.repl-input{flex:1 1;background:none;border:none;border-bottom:1px solid var(--border-strong);outline:none;font-family:var(--font-mono);font-size:.875rem;color:var(--text-primary);padding:0;transition:border-color .2s ease}.repl-input:focus{border-bottom-color:var(--border-focus)}.repl-cursor{color:var(--text-primary);animation:repl-blink 1s infinite;pointer-events:none;line-height:1;flex-shrink:0}.repl-input:focus~.repl-cursor,.repl-input:not(:placeholder-shown)~.repl-cursor{display:none}