:root{--color-bg:#e4e3dd;--color-card-bg:#fff;--color-panel:#efeee7;--color-ink:#17171a;--color-ink-soft:#6b6b66;--color-line:#0000001a;--color-heading:var(--color-ink);--color-heading-soft:var(--color-ink-soft);--color-on-olive:#fffffff0;--color-on-olive-soft:#ffffff8c;--color-selected:var(--color-accent);--color-selected-text:var(--color-card-bg);--color-cta:#4b5a3e;--color-cta-text:#fff;--color-accent:#4b5a3e;--color-correct:#4e8b63;--color-incorrect:#c1583b;--color-op-addition:#4a7bd9;--color-op-subtraction:#8b6fd9;--color-op-multiplication:#d98f4a;--color-op-division:#4e8b63;--color-op-fraction:#4aa3a0;--color-olive:#4b5a3e;--color-olive-soft:#7c8a69;--color-tone-a:#c9cabe;--color-tile-1:#5b7fdb;--color-tile-2:#6fa88a;--color-tile-3:#d98f5e;--color-tile-4:#9b84c4;--color-tile-5:#4fa8a0;--color-tile-6:#d9a441;--color-tile-7:#c77b93;--color-tile-8:#7c8fb0;--color-tile-9:#a3924f;--font-main:"Archivo", sans-serif;--radius:18px;--radius-sm:10px;--spacing-gap:16px}[data-theme=dark]{--color-bg:#090b10;--color-card-bg:#161923;--color-panel:#1d2231;--color-tone-a:#242b3f;--color-ink:#ede6d6;--color-ink-soft:#ede6d69e;--color-line:#ffffff1a;--color-olive:#f2c238;--color-olive-soft:#202840;--color-on-olive:#17171ae6;--color-on-olive-soft:#ede6d68c;--color-tile-1:#6e8fef;--color-tile-2:#6fbf94;--color-tile-3:#e8975f;--color-tile-4:#b08fe0;--color-tile-5:#4fc4bc;--color-tile-6:#f2c238;--color-tile-7:#e28faa;--color-tile-8:#8fa3d9;--color-tile-9:#c7b65c;--color-selected:#8c88a2;--color-selected-text:#17171a;--color-cta:#8c88a2;--color-cta-text:#17171a;--color-accent:#8c88a2}*{box-sizing:border-box}*,:before,:after{transition:background-color .25s,color .25s,border-color .25s,fill .25s,stroke .25s}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-main);-webkit-font-smoothing:antialiased}#root{min-height:100vh}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.splash-overlay{z-index:100;position:fixed;inset:0}.splash-overlay.hidden{pointer-events:none}.splash-half{background:var(--color-bg);transition:transform .65s cubic-bezier(.65,0,.35,1);position:fixed;inset:0}.splash-top{clip-path:inset(0 0 50%)}.splash-bottom{clip-path:inset(50% 0 0)}.splash-overlay.hidden .splash-top{transform:translateY(-100%)}.splash-overlay.hidden .splash-bottom{transform:translateY(100%)}.splash-content{flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:absolute;inset:0}.splash-title{letter-spacing:-.02em;color:var(--color-heading);font-size:clamp(40px,11vw,130px);font-weight:800;line-height:1}.splash-bar-track{background:var(--color-panel);border-radius:20px;width:200px;height:4px;overflow:hidden}.splash-bar-fill{background:var(--color-cta);border-radius:20px;width:0%;height:100%;animation:1.1s forwards splash-fill}@keyframes splash-fill{0%{width:0%}to{width:100%}}.card{margin:0 auto;padding:0 16px 16px}.home-grid{gap:var(--spacing-gap);grid-template-columns:1fr 1fr;min-height:calc(100vh - 127px);display:grid}.home-left{gap:var(--spacing-gap);flex-direction:column;display:flex}.hero-text{background:var(--color-panel);border-radius:var(--radius);flex-direction:column;justify-content:center;padding:44px 36px;display:flex}.hero-title{letter-spacing:-.01em;margin:0;font-size:clamp(34px,3.6vw,46px);font-weight:800;line-height:1.02}.hero-title .arrow{vertical-align:middle;align-items:center;margin-left:14px;display:inline-flex}.hero-subtitle{letter-spacing:.08em;color:var(--color-cta);margin:18px 0 0;font-size:13px;font-weight:700}.hero-desc{color:var(--color-ink-soft);max-width:40ch;margin:8px 0 0;font-size:14px;line-height:1.5}.hero-visual{background:var(--color-olive);border-radius:var(--radius);flex:1.6 1 0;justify-content:center;align-items:center;min-height:460px;text-decoration:none;display:flex;position:relative;overflow:hidden}.hero-visual-tag{color:#17171a;letter-spacing:.04em;background:#ffffffeb;border-radius:20px;padding:7px 14px;font-size:12px;font-weight:700;position:absolute;bottom:26px;left:26px}.eq-display{color:var(--color-on-olive);align-items:baseline;gap:18px;font-weight:800;display:flex}.eq-display .big{font-size:96px}.eq-display .op{color:var(--color-on-olive-soft);font-size:54px}.eq-visual-texture{background:repeating-linear-gradient(0deg,#ffffff0b 0 1px,#0000 1px 64px),repeating-linear-gradient(90deg,#ffffff0b 0 1px,#0000 1px 64px);position:absolute;inset:0}.shop-badge{color:#17171a;text-align:center;letter-spacing:.01em;background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;display:flex;position:absolute;top:26px;right:26px}.strip-cards{gap:var(--spacing-gap);flex:1 1 0;grid-template-columns:1fr 1fr;display:grid}.mini-card{border-radius:var(--radius);align-items:flex-end;height:100%;min-height:200px;padding:18px;text-decoration:none;display:flex;position:relative;overflow:hidden}.mini-card.tone-a{background:var(--color-tone-a)}.mini-card.tone-b{background:var(--color-olive-soft)}.mini-card .num{color:#ffffff8c;font-size:56px;font-weight:800;position:absolute;top:16px;left:18px}.mini-card-label{letter-spacing:.03em;font-size:13px;font-weight:800}.mini-card.tone-a .mini-card-label{color:var(--color-ink)}.mini-card.tone-b .mini-card-label{color:#fffffff0}.strip-cta{color:var(--color-heading);text-decoration:none}@media (width<=760px){.home-grid{grid-template-columns:1fr;min-height:0}.hero-visual{flex:none;min-height:260px}.strip-cards{flex:none;grid-template-columns:1fr 1fr}.mini-card{height:auto}.home-right{min-height:260px}}.themes-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.theme-card{background:var(--color-panel);border-radius:var(--radius);aspect-ratio:1;cursor:pointer;text-align:left;color:var(--color-ink);border:none;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:20px;font-family:inherit;text-decoration:none;transition:transform .12s,background-color .25s;display:flex}.theme-card-text{flex-direction:column;gap:6px;display:flex}.theme-card:hover{transform:translateY(-3px)}.theme-card .tag{background:var(--color-cta);color:var(--color-cta-text);white-space:nowrap;border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;width:60px;height:60px;font-size:20px;font-weight:700;display:flex}.theme-card h3{margin:0;font-size:17px;font-weight:700;line-height:1.15}.theme-desc{color:var(--color-ink-soft);margin:0;font-size:13px;line-height:1.4}@media (width<=860px){.themes-grid{grid-template-columns:repeat(2,1fr)}}.session-intro{z-index:30;cursor:pointer;position:fixed;inset:0}.session-intro.leaving{pointer-events:none}.session-intro-half{background:var(--color-bg);animation:.5s cubic-bezier(.16,1,.3,1) both session-intro-drop;position:fixed;inset:0}.session-intro-top{clip-path:inset(0 0 50%)}.session-intro-bottom{clip-path:inset(50% 0 0)}.session-intro.leaving .session-intro-top{animation:.35s ease-in forwards session-intro-split-top}.session-intro.leaving .session-intro-bottom{animation:.35s ease-in forwards session-intro-split-bottom}@keyframes session-intro-drop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes session-intro-split-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes session-intro-split-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}.session-intro-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:absolute;inset:0}.session-intro-word{letter-spacing:-.01em;color:var(--color-heading);font-size:clamp(48px,11vw,140px);font-weight:800;line-height:1}.session-intro-hint{text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-soft);font-size:13px}.session-page{flex-direction:column;min-height:100vh;padding:20px;display:flex;position:relative}.top-bar{align-items:center;gap:16px;margin-bottom:8px;display:flex}.quit-btn{background:var(--color-card-bg);border:1px solid var(--color-line);cursor:pointer;width:38px;height:38px;color:var(--color-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.progress-track{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:20px;flex:1;height:8px;overflow:hidden}.progress-fill{background:var(--color-accent);border-radius:20px;height:100%;transition:width .2s}.progress-label{color:var(--color-heading-soft);white-space:nowrap;font-size:13px;font-weight:700}.timer-wrap{justify-content:center;margin:6px 0 18px;display:flex}.timer-ring{border:4px solid var(--color-panel);border-top-color:var(--color-accent);width:46px;height:46px;color:var(--color-heading);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.chrono-badge{background:var(--color-card-bg);border:1px solid var(--color-line);font-variant-numeric:tabular-nums;width:fit-content;color:var(--color-heading);border-radius:30px;justify-content:center;align-items:center;gap:10px;margin:6px auto 18px;padding:10px 26px;font-size:26px;font-weight:800;transition:color .2s,border-color .2s;display:flex}.chrono-icon{font-size:18px}.chrono-badge.low{color:var(--color-incorrect);border-color:var(--color-incorrect)}.center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.question{letter-spacing:-.01em;text-align:center;color:var(--color-heading);flex-wrap:wrap;justify-content:center;align-items:center;gap:.15em;font-size:clamp(48px,11vw,140px);font-weight:800;line-height:1;display:flex}.question-hint{background:var(--color-panel);max-width:480px;color:var(--color-heading);text-align:left;border-radius:30px;align-items:center;gap:10px;padding:12px 20px;font-size:14px;line-height:1.5;display:flex}.question-hint-icon{flex-shrink:0;font-size:16px}.answer-inline-slot{text-align:center;width:1.6em;display:inline-block}.answer-inline-slot.neutral{color:var(--color-ink-soft)}.answer-inline-slot.correct{color:var(--color-correct)}.answer-inline-slot.incorrect{color:var(--color-incorrect)}.answer-inline{border:none;border-bottom:.06em solid var(--color-accent);text-align:center;width:1.6em;color:var(--color-accent);background:0 0;padding:0;font-family:inherit;font-size:1em;font-weight:800;line-height:1}.answer-inline:focus-visible{outline:none}.correction-banner{border-radius:var(--radius);align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:700;display:flex}.correction-banner.correct{color:var(--color-correct);background:#4e8b6326}.correction-banner.incorrect{color:var(--color-incorrect);background:#c1583b26}.correction-banner.neutral{background:var(--color-panel);color:var(--color-heading)}.mcq-choices{grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:420px;display:grid}.mcq-choice{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);cursor:pointer;color:var(--color-ink);padding:18px;font-family:inherit;font-size:20px;font-weight:700}.mcq-choice:hover{border-color:var(--color-accent)}.binary-choices{gap:16px;display:flex}.binary-choices .btn{flex:initial;min-width:140px}.keypad-utility{justify-content:center;gap:10px;width:100%;max-width:340px;margin:0 auto 10px;display:none}.keypad-utility .key{flex:1}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:340px;margin:0 auto;display:none}@media (width<=760px){.keypad-utility{display:flex}.keypad{display:grid}}.key{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);text-align:center;cursor:pointer;color:var(--color-ink);padding:18px 0;font-family:inherit;font-size:20px;font-weight:700}.key.action{background:var(--color-panel);font-size:16px}.key.validate{background:var(--color-ink);color:var(--color-card-bg)}.footer-hint{text-align:center;color:var(--color-heading-soft);margin-top:18px;font-size:12px}.btn{text-align:center;cursor:pointer;border:none;border-radius:30px;padding:14px 24px;font-family:inherit;font-size:14px;font-weight:700}.quit-confirm-overlay{z-index:20;background:#17171a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.quit-confirm-box{background:var(--color-card-bg);border-radius:var(--radius);text-align:center;max-width:340px;padding:28px}.quit-confirm-box p{color:var(--color-ink);margin:0 0 20px;font-size:14px}.quit-confirm-actions{gap:12px;display:flex}.quit-confirm-actions .btn{flex:1}.session-missing{text-align:center;min-height:100vh;color:var(--color-heading);background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.session-missing a{color:var(--color-accent)}.levels-grid{gap:var(--spacing-gap);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=860px){.levels-grid{grid-template-columns:repeat(2,1fr)}}.level-card{aspect-ratio:1;border-radius:var(--radius);cursor:pointer;text-align:left;color:#fffffff5;border:none;flex-direction:column;justify-content:space-between;gap:14px;padding:20px;font-family:inherit;text-decoration:none;transition:transform .12s,background-color .25s;display:flex;position:relative;overflow:hidden}.level-card:hover{transform:translateY(-3px)}.level-card-code{font-size:32px;font-weight:800;line-height:1}.level-card-desc{color:#ffffffd1;font-size:13px;line-height:1.45}.toggle-pill{background:var(--color-panel);cursor:pointer;border:none;border-radius:20px;flex-shrink:0;width:40px;height:22px;padding:0;position:relative}.toggle-pill.on{background:var(--color-correct)}.toggle-pill:after{content:"";background:var(--color-card-bg);border-radius:50%;width:18px;height:18px;position:absolute;top:2px;left:2px}.toggle-pill.on:after{left:20px}.config-inner{max-width:680px;margin:0 auto}.mode-toggle{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:30px;margin-bottom:12px;padding:4px;display:flex}.mode-toggle .opt{text-align:center;cursor:pointer;border-radius:24px;flex:1;padding:11px 0;font-size:14px;font-weight:700}.mode-toggle .opt.active{background:var(--color-selected);color:var(--color-selected-text)}.mode-toggle .opt:not(.active){color:var(--color-ink-soft)}.panel{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);margin-bottom:16px;padding:16px 20px}.panel>.config-row-title{margin-bottom:8px}.panel>.config-row-hint{margin-bottom:12px}.config-row{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:20px;padding:12px 0;display:flex}.config-row:last-child{border-bottom:none}.config-row.column{flex-direction:column;align-items:stretch;gap:12px}.config-row-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.config-row-hint{color:var(--color-ink-soft);margin-top:2px;font-size:13px}.config-row-locked{opacity:.5;pointer-events:none}.config-slider{width:100%;accent-color:var(--color-accent);cursor:pointer}.config-row-title{font-size:15px;font-weight:700}.field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-soft);margin-bottom:12px;font-size:12px;font-weight:700}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--color-line);cursor:pointer;color:var(--color-ink);background:0 0;border-radius:20px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600}.chip.selected{background:var(--color-accent);color:var(--color-card-bg);border-color:var(--color-accent)}.difficulty-row{gap:8px;display:flex}.diff-opt{text-align:center;border-radius:var(--radius);background:var(--color-panel);cursor:pointer;border:2px solid #0000;flex:1;padding:14px 0;font-size:13px;font-weight:700}.diff-opt.selected{border-color:var(--color-accent);background:var(--color-card-bg)}.qcount-row{gap:8px;display:flex}.qcount-opt{background:var(--color-panel);cursor:pointer;border-radius:20px;padding:10px 20px;font-size:13px;font-weight:700}.qcount-opt.selected{background:var(--color-selected);color:var(--color-selected-text)}.qcount-custom{border:1px solid var(--color-line);background:var(--color-panel);width:76px;color:var(--color-ink);text-align:center;border-radius:20px;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:700}.spaced{margin-top:16px}.acc-note{color:var(--color-ink-soft);background:var(--color-panel);border-radius:var(--radius-sm);margin:0 0 12px;padding:10px 12px;font-size:12px}.acc-item{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.acc-head{cursor:pointer;width:100%;color:var(--color-ink);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:18px 22px;font-family:inherit;font-size:15px;font-weight:700;display:flex}.acc-head .status{color:var(--color-ink-soft);font-size:12px;font-weight:500}.acc-body{color:var(--color-ink-soft);border-top:1px solid var(--color-line);padding:16px 22px 20px;font-size:13px;line-height:1.7}.acc-body .subrow{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.acc-body .subfields{background:var(--color-panel);border-radius:var(--radius-sm);flex-wrap:wrap;gap:12px;margin:0 0 16px;padding:12px;display:flex}.acc-body .subfields label{color:var(--color-ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.acc-body .subfields label.checkbox-label{flex-direction:row;align-items:center;gap:8px}.acc-body .subfields input[type=number],.acc-body .subfields input[type=text]{width:100px}.acc-body .field-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.acc-body input,.acc-body select{border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-card-bg);padding:6px 10px;font-family:inherit;font-size:13px}.actions-row{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.save-name-input{border:1px solid var(--color-line);border-radius:var(--radius);color:var(--color-ink);background:var(--color-card-bg);flex-basis:100%;padding:14px 18px;font-family:inherit;font-size:14px}.btn{text-align:center;cursor:pointer;border:none;border-radius:30px;flex:1;padding:15px 0;font-family:inherit;font-size:15px;font-weight:700}.save-confirmation{color:var(--color-correct);text-align:center;margin-top:12px;font-size:13px;font-weight:600}.results-wrap{flex-direction:column;justify-content:center;max-width:560px;min-height:100vh;margin:0 auto;padding:40px 16px;display:flex}.score-card{background:var(--color-ink);color:var(--color-card-bg);border-radius:var(--radius);text-align:center;margin-bottom:16px;padding:40px 30px}.score-card .label{text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin-bottom:10px;font-size:12px}.score-card .score{margin-bottom:6px;font-size:56px;font-weight:800}.score-card .sub{opacity:.7;font-size:13px}.stats-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.stats-row.single{grid-template-columns:1fr}.stat-box{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);padding:20px}.stat-box .num{font-size:26px;font-weight:800}.stat-box .label{color:var(--color-ink-soft);margin-top:4px;font-size:12px}.breakdown,.detail-list{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);margin-bottom:16px;padding:22px}.breakdown h3,.detail-list h3{margin:0 0 16px;font-size:14px}.op-row{align-items:center;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.op-row:last-child{margin-bottom:0}.op-name{width:140px;font-weight:600}.op-bar-track{background:var(--color-panel);border-radius:20px;flex:1;height:8px;overflow:hidden}.op-bar-fill{background:var(--color-correct);border-radius:20px;height:100%}.op-bar-fill.mid{background:#e8a63c}.op-score{text-align:right;width:40px;color:var(--color-ink-soft);font-weight:600}.detail-row{border-top:1px solid var(--color-line);flex-wrap:wrap;align-items:baseline;gap:8px;padding:10px 0;font-size:13px;display:flex}.detail-row:first-of-type{border-top:none}.detail-row.correct span:first-child{color:var(--color-correct)}.detail-row.incorrect span:first-child{color:var(--color-incorrect)}.detail-question{flex:1;font-weight:600}.detail-answer{color:var(--color-ink-soft)}.actions{gap:12px;display:flex}.btn{text-align:center;cursor:pointer;border:none;border-radius:30px;flex:1;padding:16px 0;font-family:inherit;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.btn.primary{background:var(--color-cta);color:var(--color-cta-text)}.btn.secondary{background:var(--color-card-bg);border:1px solid var(--color-line);color:var(--color-ink)}.results-missing{text-align:center;min-height:100vh;color:var(--color-heading);background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.results-missing a{color:var(--color-accent)}.manifesto{text-align:center;max-width:760px;margin:0 auto;padding:40px 4px 0}.manifesto-title{letter-spacing:-.01em;color:var(--color-heading);margin:0 0 24px;font-size:clamp(30px,5vw,52px);font-weight:800;line-height:1.08}.manifesto-lead{color:var(--color-heading-soft);max-width:560px;margin:0 auto 56px;font-size:17px;line-height:1.6}.manifesto-theses{text-align:left;flex-direction:column;gap:40px;display:flex}.manifesto-thesis{border-top:1px solid var(--color-line);padding-top:32px}.manifesto-thesis:first-child{border-top:none;padding-top:0}.thesis-number{letter-spacing:.1em;color:var(--color-accent);margin-bottom:10px;font-size:13px;font-weight:800;display:block}.manifesto-thesis h2{color:var(--color-heading);margin:0 0 14px;font-size:clamp(20px,2.4vw,26px);font-weight:800}.manifesto-thesis p{color:var(--color-ink-soft);margin:0 0 14px;font-size:15px;line-height:1.7}.manifesto-thesis p:last-child{margin-bottom:0}.thesis-emphasis{font-weight:600;color:var(--color-heading)!important}.thesis-list{color:var(--color-ink-soft);flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:15px;line-height:1.6;list-style:outside;display:flex}.thesis-steps{color:var(--color-ink-soft);flex-direction:column;gap:10px;margin:0 0 16px;padding-left:20px;font-size:15px;line-height:1.6;list-style:decimal;display:flex}.thesis-result{background:var(--color-panel);border-radius:var(--radius-sm);color:var(--color-heading);margin:0 0 16px;padding:14px 16px;font-size:16px}.thesis-result strong{color:var(--color-accent)}.thesis-mini-examples{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 16px;display:grid}.thesis-mini-example{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.mini-example-problem{color:var(--color-heading);font-size:17px;font-weight:800}.mini-example-trick{color:var(--color-ink-soft);font-size:12px;line-height:1.4}.mini-example-result{color:var(--color-accent);font-size:13px;font-weight:700}.thesis-cta{background:var(--color-panel);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:8px;padding:24px;display:flex}.thesis-cta-text{min-width:220px;color:var(--color-ink-soft);flex:1;margin:0;font-size:14px;line-height:1.6}.thesis-cta-btn{background:var(--color-cta);color:var(--color-cta-text);white-space:nowrap;border-radius:30px;flex-shrink:0;padding:14px 24px;font-size:14px;font-weight:700;text-decoration:none}.savoir-practice{border-top:1px solid var(--color-line);margin-top:64px;padding-top:40px}.practice-title{color:var(--color-heading);margin:0 4px 8px;font-size:clamp(24px,2.8vw,32px);font-weight:800}.savoir-sections{flex-direction:column;gap:36px;display:flex}.savoir-section-head{align-items:center;gap:14px;margin:0 4px 16px;display:flex}.savoir-section-head h2{color:var(--color-heading);margin:0;font-size:20px;font-weight:700}.method-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.method-card{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);color:inherit;padding:20px;text-decoration:none;transition:transform .15s,border-color .15s;display:block}.method-card:hover{border-color:var(--color-accent);transform:translateY(-3px)}.method-card h3{color:var(--color-heading);margin:0 0 8px;font-size:15px;font-weight:700}.method-tip{color:var(--color-ink-soft);margin:0 0 12px;font-size:13px;line-height:1.55}.method-example{background:var(--color-panel);border-radius:var(--radius-sm);color:var(--color-ink);margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:600}.method-more{color:var(--color-accent);font-size:12px;font-weight:700}.method-detail-head{align-items:center;gap:18px;margin:0 4px 20px;display:flex}.op-badge{width:48px;height:48px;color:var(--color-card-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.method-detail-op{text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-soft);margin-bottom:4px;font-size:12px;font-weight:700}.method-detail-title{color:var(--color-heading);margin:0;font-size:clamp(24px,3.2vw,34px);font-weight:800;line-height:1.1}.method-detail-intro{color:var(--color-ink-soft);max-width:640px;margin:0 4px 32px;font-size:15px;line-height:1.6}.method-detail-section{margin:0 0 32px}.method-detail-section h2{color:var(--color-heading);margin:0 4px 14px;font-size:16px;font-weight:700}.method-steps{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);flex-direction:column;gap:12px;margin:0;padding:20px 20px 20px 44px;font-size:14px;line-height:1.5;display:flex}.method-steps li{padding-left:6px}.method-examples{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.method-example-card{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);padding:20px}.method-example-problem{color:var(--color-heading);margin-bottom:14px;font-size:20px;font-weight:800}.method-example-steps{color:var(--color-ink-soft);flex-direction:column;gap:6px;margin:0 0 14px;padding-left:20px;font-size:13px;line-height:1.5;display:flex}.method-example-result{background:var(--color-panel);border-radius:var(--radius-sm);color:var(--color-ink);padding:10px 12px;font-size:14px}.method-tips{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);color:var(--color-ink-soft);flex-direction:column;gap:10px;margin:0;padding:20px 20px 20px 40px;font-size:14px;line-height:1.5;display:flex}.method-practice-cta{background:var(--color-panel);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 0 32px;padding:24px 28px;display:flex}.method-practice-cta p{color:var(--color-heading);margin:0;font-size:15px;font-weight:700}.method-practice-btn{background:var(--color-cta);color:var(--color-cta-text);white-space:nowrap;border-radius:30px;padding:14px 24px;font-size:14px;font-weight:700;text-decoration:none}.method-siblings{flex-wrap:wrap;gap:10px;display:flex}.method-sibling-card{background:var(--color-card-bg);border:1px solid var(--color-line);color:var(--color-ink);border-radius:20px;padding:12px 18px;font-size:13px;font-weight:600;text-decoration:none}.method-sibling-card:hover{border-color:var(--color-accent)}.page-intro{color:var(--color-heading-soft);max-width:520px;margin:8px 4px 32px;font-size:14px}.category-section{margin-bottom:32px}.section-title{color:var(--color-heading);margin:0 4px 14px;font-size:18px;font-weight:700}.category-grid{gap:var(--spacing-gap);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=860px){.category-grid{grid-template-columns:repeat(2,1fr)}}.category-card{aspect-ratio:1;border-radius:var(--radius);align-items:flex-end;padding:20px;text-decoration:none;transition:transform .12s,background-color .25s;display:flex;position:relative;overflow:hidden}.category-card:hover{transform:translateY(-3px)}.category-icon{color:#ffffff8c;font-size:44px;font-weight:800;line-height:1;position:absolute;top:18px;left:20px}.category-tag{background:var(--color-ink);color:var(--color-card-bg);letter-spacing:.01em;border-radius:20px;padding:8px 14px;font-size:12px;font-weight:700}.subsection-title{color:var(--color-heading);margin:48px 4px 14px;font-size:18px;font-weight:700}.content-note{color:var(--color-heading-soft);margin:0 4px 20px;font-size:14px}.op-table-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:24px 16px;display:grid}.op-summary-card{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);color:var(--color-ink);flex-direction:column;justify-content:center;gap:10px;padding:26px 22px;text-decoration:none;transition:transform .12s,background-color .25s;display:flex}.op-summary-card:hover{transform:translateY(-3px)}.op-summary-number{font-size:22px;font-weight:800}.op-summary-label{color:var(--color-ink-soft);font-size:13px}.grid-scroll{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);padding:20px;overflow-x:auto}.heatmap-grid{grid-template-columns:minmax(28px,.6fr) repeat(10,1fr);gap:4px;min-width:480px;display:grid}.heatmap-corner{min-width:0}.heatmap-header{color:var(--color-ink-soft);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.heatmap-cell{aspect-ratio:1;border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:clamp(18px,3.2vw,38px);font-weight:800;display:flex}.op-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 4px 20px;display:flex}.op-launch-series-btn{background:var(--color-cta);color:var(--color-cta-text);white-space:nowrap;border-radius:30px;padding:14px 24px;font-size:14px;font-weight:700;text-decoration:none}.op-settings-bar{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);flex-wrap:wrap;gap:24px;margin:0 0 24px;padding:16px 20px;display:flex}.op-settings-field{color:var(--color-ink-soft);align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.op-settings-field input[type=color]{border:1px solid var(--color-line);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:36px;height:36px;padding:0}.op-settings-field select{border:1px solid var(--color-line);background:var(--color-panel);color:var(--color-ink);cursor:pointer;border-radius:20px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:700}.op-detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.op-detail-row{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);text-align:center;padding:28px 24px;font-size:clamp(20px,2.6vw,34px);font-weight:800;transition:transform .12s,background-color .25s}.op-detail-row:hover{transform:translateY(-3px)}@media (width<=700px){.op-settings-bar{flex-direction:column;align-items:flex-start}}.series-setup-inner{max-width:620px;margin:0 auto}.back-link{color:var(--color-heading-soft);margin:8px 4px 6px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-heading)}.page-title{color:var(--color-heading);margin:0 4px 6px;font-size:clamp(28px,4vw,40px);font-weight:800}.page-intro{color:var(--color-heading-soft);margin:0 4px 24px;font-size:14px}.series-settings{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);margin-bottom:24px;padding:8px 20px}.series-row{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.series-row:last-child{border-bottom:none}.series-row.column{flex-direction:column;align-items:stretch}.series-row-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.series-row-title{font-size:15px;font-weight:700}.series-row-hint{color:var(--color-ink-soft);margin-top:2px;font-size:13px}.series-slider{width:100%;accent-color:var(--color-accent);cursor:pointer;margin-top:12px}.series-launch-btn{background:var(--color-cta);width:100%;color:var(--color-cta-text);cursor:pointer;border:none;border-radius:30px;padding:18px 0;font-family:inherit;font-size:15px;font-weight:700}.series-play{background:var(--color-bg);min-height:100vh;color:var(--color-ink);flex-direction:column;padding:20px;display:flex}.series-play-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.series-play-quit{background:var(--color-card-bg);border:1px solid var(--color-line);width:38px;height:38px;color:var(--color-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;text-decoration:none;display:flex}.series-play-progress{color:var(--color-ink-soft);font-size:14px;font-weight:700}.series-play-timer{text-align:center;background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:20px;min-width:38px;padding:8px 14px;font-size:14px;font-weight:700}.series-play-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;display:flex}.series-play-equation{letter-spacing:-.01em;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3em;font-size:clamp(72px,16vw,200px);font-weight:800;line-height:1;display:flex}.series-play-slot{text-align:center;width:2.2em;display:inline-block}.series-play-slot.neutral{color:var(--color-ink-soft)}.series-play-slot.correct{color:var(--color-correct)}.series-play-slot.incorrect{color:var(--color-incorrect)}.series-play-inline-input{border:none;border-bottom:.06em solid var(--color-accent);text-align:center;width:2.2em;color:var(--color-accent);background:0 0;padding:0;font-family:inherit;font-size:1em;font-weight:800;line-height:1}.series-play-inline-input:focus-visible{outline:none}.series-play-footer{justify-content:center;align-items:center;min-height:56px;display:flex}.series-play-btn{cursor:pointer;border:none;border-radius:30px;padding:14px 28px;font-family:inherit;font-size:15px;font-weight:700;text-decoration:none;display:inline-block}.series-play-btn.primary{background:var(--color-cta);color:var(--color-cta-text)}.series-play-btn.secondary{background:var(--color-card-bg);border:1px solid var(--color-line);color:var(--color-ink)}.series-keypad{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:340px;margin:0 auto;display:none}.series-key{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);text-align:center;cursor:pointer;color:var(--color-ink);padding:18px 0;font-family:inherit;font-size:20px;font-weight:700}.series-key.action{background:var(--color-panel);font-size:16px}.series-key.validate{background:var(--color-ink);color:var(--color-card-bg)}@media (width<=760px){.series-keypad{display:grid}.series-desktop-only{display:none}}.series-play-done{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;min-height:100vh;display:flex}.series-play-done h1{margin:0;font-size:clamp(28px,5vw,44px)}.series-play-score{color:var(--color-ink-soft);margin:0;font-size:18px;font-weight:700}.series-play-done-actions{gap:12px;margin-top:10px;display:flex}.wrap{margin:0 auto;padding:0 16px 60px}.connexion-card{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:420px;margin:60px auto 0;padding:60px 30px;display:flex}.connexion-icon{background:var(--color-panel);width:56px;height:56px;color:var(--color-ink);border-radius:50%;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.connexion-card h1{margin:0;font-size:22px;font-weight:800}.connexion-card p{color:var(--color-ink-soft);margin:0 0 14px;font-size:14px}.connexion-back{color:var(--color-accent);font-size:13px;font-weight:700;text-decoration:none}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:calc(100vh - 140px);padding:20px;display:flex}.not-found-code{color:var(--color-ink-soft);opacity:.5;font-size:clamp(56px,10vw,100px);font-weight:800;line-height:1}.not-found-title{color:var(--color-heading);margin:0;font-size:clamp(24px,3vw,32px);font-weight:800}.not-found-text{color:var(--color-heading-soft);max-width:380px;margin:0 0 10px;font-size:14px}.not-found-btn{background:var(--color-cta);color:var(--color-cta-text);border-radius:30px;padding:14px 28px;font-size:14px;font-weight:700;text-decoration:none}.nav-shell{position:relative}nav.top{background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);margin-bottom:var(--spacing-gap);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.logo{letter-spacing:.02em;color:var(--color-ink);font-size:13px;font-weight:800;line-height:1.25;text-decoration:none}.nav-links{color:var(--color-ink);gap:10px;font-size:15px;font-weight:700;display:flex;position:relative}.nav-hover-pill{background:var(--color-panel);pointer-events:none;z-index:0;border-radius:20px;height:100%;transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .15s,background-color .25s;position:absolute;top:0;left:0}.nav-links a{z-index:1;color:inherit;border-radius:20px;padding:8px 16px;text-decoration:none;position:relative}.nav-right{align-items:center;gap:18px;display:flex}.icon-btn{cursor:pointer;width:30px;height:30px;color:var(--color-ink);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:15px;text-decoration:none;display:flex}.icon-btn:disabled{cursor:default;opacity:.55}.burger-btn{cursor:pointer;width:30px;height:30px;color:var(--color-ink);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:none}.mobile-nav{opacity:0;background:var(--color-card-bg);border:1px solid var(--color-line);border-radius:var(--radius);z-index:30;flex-direction:column;max-height:0;transition:max-height .55s cubic-bezier(.4,0,.2,1),opacity .4s,background-color .25s,border-color .25s;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 16px 32px #00000029}.mobile-nav.open{opacity:1;max-height:320px}.mobile-nav a{color:var(--color-ink);border-bottom:1px solid var(--color-line);padding:16px 20px;font-size:15px;font-weight:700;text-decoration:none}.mobile-nav a:last-child{border-bottom:none}.mobile-nav a.active{background:var(--color-panel)}@media (width<=760px){.nav-links{display:none}.burger-btn,.mobile-nav{display:flex}}.app-shell{margin:0 auto;padding:28px 16px 0}
