@font-face{font-family:Pokemon Classic;src:url(/assets/PokemonClassic-DQzc1Uav.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b12;--card:#20243e;--btn-bg:#323b80;--ink:#edd8ba;--muted:#9e9aa6;--line:#2f3454;--olive:#f24e28;--lav:#8b94c9;--bad:#ff7a5c;--bad-bg:#3a1f1a;--edge:#000;--shadow-0:none;--shadow-1:4px 4px 0 var(--edge);--shadow-2:8px 8px 0 var(--edge);--sh:var(--shadow-1);--hit:44px;--r-btn:6px;--font-body:"Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-title:"Pokemon Classic", "Courier New", monospace;--fs-body:18px;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}body{background:color-mix(in srgb, var(--bg) 70%, #000);min-height:100%;color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);margin:0;padding:16px 0 0;line-height:1.5}main{border:3px solid color-mix(in srgb, var(--bg) 45%, #000);background:repeating-linear-gradient(0deg, var(--bg) 0 3px, color-mix(in srgb, var(--bg) 88%, var(--ink)) 3px 6px);border-radius:36px 6px;max-width:520px;min-height:calc(100vh - 32px);margin:0 auto 16px;padding:16px 12px 32px}[hidden]{display:none!important}h1,h2,h3{font-family:var(--font-title);overflow-wrap:anywhere;font-weight:400}h1{margin:0;font-size:1.25rem;line-height:1.3}button:focus-visible,.card:focus-visible{outline:3px solid var(--olive);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:3px solid var(--lav);outline-offset:2px}.btn,.ghost,.round,.play,.accents button,.picker-btn,.speak{transition:box-shadow .12s,transform .12s}.btn{font-family:var(--font-title);min-height:var(--hit);border:2px solid var(--edge);border-radius:var(--r-btn);background:var(--btn-bg);color:var(--ink);box-shadow:var(--sh);cursor:pointer;padding:14px;font-size:.7rem;font-weight:600;line-height:1.6}.btn.small{padding:9px 14px}.btn.primary{background:var(--olive);color:#fff;text-shadow:2px 2px 0 var(--edge)}.btn.danger{color:var(--bad)}.btn:disabled{opacity:.4;cursor:default;box-shadow:var(--shadow-0)}.ghost{font:inherit;min-height:var(--hit);border:2px solid var(--edge);border-radius:var(--r-btn);background:var(--card);color:var(--ink);box-shadow:var(--sh);cursor:pointer;padding:5px 12px;font-size:.85rem}.speak{font:inherit;min-height:var(--hit);border-radius:var(--r-btn);color:inherit;cursor:pointer;background:0 0;border:2px solid;align-items:center;gap:6px;padding:6px 14px;font-size:.9rem;display:inline-flex;box-shadow:3px 3px}.speak svg{width:16px;height:16px}.no-speech .speak{display:none!important}.round,.play{border:2px solid var(--edge);border-radius:var(--r-btn);box-shadow:var(--sh);cursor:pointer;place-items:center;padding:0;display:grid}.round{background:var(--card);width:56px;height:56px;color:var(--ink)}.round svg{width:22px;height:22px}.round:disabled{opacity:.35;cursor:default;box-shadow:var(--shadow-0)}.play{background:var(--olive);width:84px;height:84px;color:var(--card)}.play svg{width:34px;height:34px}.play:disabled{opacity:.4;cursor:default;box-shadow:var(--shadow-0)}.linkbtn{font:inherit;font-family:var(--font-title);min-height:var(--hit);color:var(--lav);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:.6rem;line-height:1.8}.linkbtn.del{color:var(--bad)}@media (hover:hover){.btn:hover:not(:disabled):not(:active),.ghost:hover:not(:active),.round:hover:not(:disabled):not(:active),.play:hover:not(:disabled):not(:active),.accents button:hover:not(:disabled):not(:active),.picker-btn:hover:not(:disabled):not(:active){--sh:var(--shadow-2);transform:translate(-2px,-2px)}.speak:hover:not(:active){transform:translate(-2px,-2px);box-shadow:5px 5px}}.btn:active:not(:disabled),.ghost:active,.round:active:not(:disabled),.play:active:not(:disabled),.accents button:active:not(:disabled),.picker-btn:active:not(:disabled){--sh:var(--shadow-0);transform:translate(4px,4px)}.speak:active{box-shadow:none;transform:translate(3px,3px)}.accents{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.accents button{font:inherit;width:var(--hit);height:var(--hit);border-radius:var(--r-btn);color:var(--ink);box-shadow:var(--sh);cursor:pointer;background:linear-gradient(115deg, transparent 0 58%, #ffffff0d 58% 100%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 88%, transparent), color-mix(in srgb, var(--bg) 80%, transparent));border:2px solid #fff;font-size:1.05rem;transition:box-shadow .12s,transform .12s,background .2s}.accents button:hover:not(:disabled),.accents button:focus-visible{background:linear-gradient(115deg, transparent 0 58%, #ffffff0f 58% 100%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 78%, var(--ink) 6%), color-mix(in srgb, var(--bg) 70%, var(--ink) 6%))}.accents button:disabled{opacity:.4;cursor:default;box-shadow:none}.controls{flex-wrap:nowrap;justify-content:space-between;gap:8px;min-width:0;margin-bottom:16px;display:flex}.seg{min-width:0;padding:0 0 7px;display:inline-flex}.seg button{min-height:38px;font:inherit;font-family:var(--font-title);white-space:nowrap;border:2px solid var(--edge);color:var(--ink);cursor:pointer;background:linear-gradient(180deg, color-mix(in srgb, var(--btn-bg) 85%, #fff) 0%, var(--btn-bg) 100%);box-shadow:inset 0 2px 0 #fff3, 0 4px 0 var(--edge);border-radius:0;margin-left:-2px;padding:7px 9px;font-size:.5rem;transition:transform .12s ease-out,box-shadow .12s ease-out,background .12s;position:relative;transform:translateY(0)}.seg button:first-child{border-radius:var(--r-btn) 0 0 var(--r-btn);margin-left:0}.seg button:last-child{border-radius:0 var(--r-btn) var(--r-btn) 0}.seg button:only-child{border-radius:var(--r-btn)}.seg button:has(svg){padding-left:13px;padding-right:13px}.seg button svg{width:20px;height:20px;margin:0 auto;display:block}@media (hover:hover){.seg button:hover:not(:disabled):not(:active):not([aria-pressed=true]){z-index:1;background:linear-gradient(180deg, color-mix(in srgb, var(--card) 80%, #fff) 0%, color-mix(in srgb, var(--card) 92%, #fff) 100%);box-shadow:inset 0 2px 0 #ffffff4d, 0 7px 0 var(--edge);transform:translateY(-3px)}}.seg button:active:not(:disabled),.seg button[aria-pressed=true]{color:#fff;background:color-mix(in srgb, var(--olive) 62%, #000);box-shadow:inset 0 3px 6px #00000073, 0 0 0 var(--edge);transform:translateY(4px)}.seg button:disabled{opacity:.5;cursor:default}@media (width<=420px){.seg button{padding:7px 6px;font-size:.46rem}.seg button:has(svg){padding-left:9px;padding-right:9px}}.setpick{flex:1;min-width:0;position:relative}.picker-btn{width:100%;min-height:var(--hit);text-align:left;font-family:var(--font-title);color:var(--ink);background:var(--btn-bg);border:3px solid var(--edge);border-radius:var(--r-btn);box-shadow:var(--sh);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:.8rem;line-height:1.4;display:flex}.picker-btn svg{flex:none;width:22px;height:22px;transition:transform .12s}.picker-btn[aria-expanded=true] svg{transform:rotate(180deg)}.picker-btn:disabled{opacity:.5;cursor:default;box-shadow:none}.picker-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.picker-list{z-index:30;gap:6px;max-height:min(50vh,340px);margin:0;padding:0;list-style:none;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.picker-list .opt{min-height:var(--hit);font-family:var(--font-title);color:var(--ink);background:var(--card);border:3px solid var(--edge);border-radius:var(--r-btn);cursor:pointer;overflow-wrap:anywhere;padding:12px 14px;font-size:.75rem;line-height:1.4}.picker-list .opt[aria-selected=true]:before{content:"> "}.picker-list .opt.active{background:var(--ink);color:var(--bg)}.known-switch{min-height:var(--hit);font:inherit;font-family:var(--font-title);color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:4px;font-size:.7rem;line-height:1.4;display:inline-flex;position:absolute;top:14px;right:16px}.known-switch:disabled{opacity:.5;cursor:default}.known-switch .track{border:2px solid var(--edge);background:var(--line);border-radius:999px;width:52px;height:30px;transition:background .2s;position:relative}.known-switch .thumb{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px}.known-switch[aria-checked=true] .track{background:var(--olive)}.known-switch[aria-checked=true] .thumb{transform:translate(22px)}.front .known-switch{color:var(--ink)}.face,.panel,.setlist li{--c:22px;--off:4px;--rim:#fff;--sheen:#ffffff0a;--fill-a:color-mix(in srgb, var(--card) 92%, transparent);--fill-b:color-mix(in srgb, var(--card) 86%, transparent);--out:var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c);--in:calc(var(--c) + 1.25px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) calc(100% - var(--c) - 1.25px), calc(100% - var(--c) - 1.25px) calc(100% - 3px), 3px calc(100% - 3px), 3px calc(var(--c) + 1.25px);--ring:polygon(evenodd, var(--out), var(--c) 0, var(--in), calc(var(--c) + 1.25px) 3px);--poly-in:polygon(var(--in));isolation:isolate;position:relative}.face:before,.panel:before,.setlist li:before{content:"";inset:0 calc(var(--off) * -1) calc(var(--off) * -1) 0;z-index:-3;background:var(--edge);pointer-events:none;clip-path:polygon(evenodd, calc(var(--c) + var(--off)) var(--off), 100% var(--off), 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, var(--off) 100%, var(--off) calc(var(--c) + var(--off)), calc(var(--c) + var(--off)) var(--off), var(--c) 0, calc(100% - var(--off)) 0, calc(100% - var(--off)) calc(100% - var(--off) - var(--c)), calc(100% - var(--off) - var(--c)) calc(100% - var(--off)), 0 calc(100% - var(--off)), 0 var(--c), var(--c) 0);position:absolute}.face:after,.panel:after,.setlist li:after{content:"";z-index:-2;background:var(--rim);clip-path:var(--ring);pointer-events:none;position:absolute;inset:0}.frame{z-index:-1;clip-path:var(--poly-in);pointer-events:none;background:linear-gradient(115deg, transparent 0 58%, var(--sheen) 58% 100%), linear-gradient(180deg, var(--fill-a), var(--fill-b));position:absolute;inset:0}.panel{margin-bottom:4px;margin-right:4px;padding:22px 20px}.top{background:color-mix(in srgb, var(--olive) 60%, #000);border:2px solid var(--edge);border-radius:var(--r-btn);box-shadow:var(--sh);justify-content:space-between;align-items:center;gap:10px;padding:6px 12px;display:flex}.count,.runinfo{font-family:var(--font-title);color:var(--ink);font-size:.6rem;line-height:2}.count{margin-top:10px}.bar{background:var(--card);border:2px solid var(--edge);border-radius:var(--r-btn);height:14px;margin:4px 0 16px;overflow:hidden}.bar span{background:var(--olive);border-right:2px solid var(--edge);width:0;height:100%;transition:width .3s;display:block}.bar.run{margin-bottom:22px}.bar.run span{background:var(--lav)}.runinfo{justify-content:space-between;align-items:center;gap:16px;padding:8px 0 14px;display:flex}.runinfo .btn{padding:10px 20px}.runinfo .btn.primary{background:var(--lav);color:var(--bg);text-shadow:none}.scene{perspective:1200px}.card{width:100%;height:clamp(360px,62vh,520px);min-height:360px;transform-style:preserve-3d;cursor:pointer;border-radius:22px;transition:transform .45s cubic-bezier(.2,.7,.2,1);position:relative}.card.flipped{transform:rotateY(180deg)}.card.lcard{cursor:default;height:auto;min-height:320px}.face{--c:22px;--off:4px;--fill-a:color-mix(in srgb, var(--bg) 88%, transparent);--fill-b:color-mix(in srgb, var(--bg) 80%, transparent);--sheen:#ffffff0d;--glass-edge:color-mix(in srgb, var(--olive) 75%, #fff 10%);backface-visibility:hidden;color:var(--ink);flex-direction:column;justify-content:center;padding:52px 24px 24px;display:flex;position:absolute;inset:0}.face:before,.face:after,.frame{backface-visibility:hidden}.card.flipped .front,.card:not(.flipped) .back{visibility:hidden;transition:visibility 0s linear .25s}.card:focus .face,.card:focus-within .face,.card:hover .face{--fill-a:color-mix(in srgb, var(--bg) 78%, var(--ink) 6%);--fill-b:color-mix(in srgb, var(--bg) 70%, var(--ink) 6%);--sheen:#ffffff14;--glass-edge:color-mix(in srgb, var(--olive) 82%, #fff 18%)}.card:hover .face{--off:8px}.card:active .face{--off:0px}.card:active:has(.known-switch:active,.speak:active) .face{--off:8px}.face-body{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:14px;width:100%;min-height:0;margin:auto 0;display:flex;overflow-y:auto}.front{text-align:center;align-items:center;gap:16px}.front .face-body{text-align:center;align-items:center}.front .word{font-size:clamp(1.9rem,8vw,2.6rem);font-weight:600;line-height:1.15}.front .speak{color:var(--ink)}.front .hint{color:var(--muted);font-size:.85rem}.back{gap:14px;transform:rotateY(180deg)}.back .main{font-size:1.6rem;font-weight:600;line-height:1.2}.back .expl,.back .ex{font-family:var(--font-title);font-size:.7rem;line-height:1.9}.back .ex{border-left:2px solid var(--glass-edge);padding-left:12px}.back .row{flex-wrap:wrap;gap:8px;display:flex}.back hr{border:0;border-top:1px solid var(--ink);opacity:.6;flex-shrink:0;width:100%;margin:0}.actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.actions .wide{grid-column:1/-1}.panel.spell{padding-top:52px}.spell .en{font-family:var(--font-body);overflow-wrap:anywhere;margin:0 0 6px;font-size:1.6rem;font-weight:600;line-height:1.2}.spell .expl{font-family:var(--font-title);color:var(--muted);margin:0 0 14px;font-size:.7rem;line-height:1.9}.spell .speak{color:var(--lav);margin-bottom:18px}.spell .prompt{margin:0 0 6px;display:block}.sp-input{font-size:1.25rem}input[type=text],textarea{width:100%;font:inherit;border:2px solid var(--edge);border-radius:var(--r-btn);background:var(--bg);color:var(--ink);padding:11px 13px}input[type=text]:focus,textarea:focus{box-shadow:var(--shadow-1)}textarea{resize:vertical;min-height:64px}.feedback{border:2px solid var(--edge);border-radius:var(--r-btn);box-shadow:var(--sh);margin-top:16px;padding:14px 16px}.feedback.ok{background:color-mix(in srgb, var(--olive) 22%, var(--card))}.feedback.no{background:var(--bad-bg)}.feedback .answer{font-family:var(--font-title);overflow-wrap:anywhere;margin-top:4px;font-size:.95rem;display:block}.feedback mark{color:var(--bad);text-underline-offset:3px;background:0 0;text-decoration:underline}.feedback .typed{color:var(--muted);margin-top:8px;font-size:.95rem;display:block}.feedback .ex{color:var(--muted);margin-top:8px;font-style:italic}.face .lang{letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:600;position:absolute;top:18px;left:24px;right:24px}.front .lang{color:var(--muted);text-align:center}.back .lang{opacity:.65}.player{justify-content:center;align-items:center;gap:24px;margin-top:22px;display:flex}.lstatus{text-align:center;min-height:1.5em;margin:16px 0 0;font-weight:500}.lnote{text-align:center;max-width:34ch;color:var(--muted);margin:6px auto 0;font-size:.85rem}.message{text-align:center;background:var(--card);border:2px solid var(--edge);border-radius:var(--r-btn);box-shadow:var(--sh);padding:48px 12px}.message h2{margin:0 0 8px;font-size:1.1rem;line-height:1.4}.message p{margin:0 0 22px}.score{justify-content:center;gap:12px;margin:0 0 22px;display:flex}.score>div{background:var(--card);border:2px solid var(--edge);border-radius:var(--r-btn);min-width:0;max-width:160px;box-shadow:var(--sh);flex:1;padding:14px 10px}.score strong{font-family:var(--font-title);overflow-wrap:anywhere;font-size:1.4rem;font-weight:400;line-height:1.3;display:block}.score span{color:var(--muted);font-size:.9rem}.score .sure strong{color:var(--olive)}.score .again strong{color:var(--bad)}.keys,.status:not(:empty){font-family:var(--font-title);text-align:left;color:var(--ink);background:var(--card);border:2px solid var(--edge);border-radius:var(--r-btn);box-shadow:var(--sh);padding:10px 14px;font-size:.55rem;line-height:2}.keys{margin-top:18px}@media (hover:none){.keys{display:none}}.status{min-height:1.4em;color:var(--muted);margin:8px 0 0;font-size:.9rem}.status.err{color:var(--bad)}.hint-text{color:var(--muted);margin:0 0 10px;font-size:.85rem}.manage h2{margin:28px 0 12px;font-size:.95rem;line-height:1.6}.manage h2:first-child{margin-top:0}.sub-h{font-size:.85rem;line-height:1.6}.setlist{gap:14px;margin:0;padding:0 4px 4px 0;list-style:none;display:grid}.setlist li{--c:16px;--fill-a:color-mix(in srgb, var(--bg) 88%, transparent);--fill-b:color-mix(in srgb, var(--bg) 80%, transparent);align-items:center;gap:10px;padding:14px 16px;display:flex}.setlist li.current{--fill-a:color-mix(in srgb, var(--btn-bg) 94%, transparent);--fill-b:color-mix(in srgb, var(--btn-bg) 90%, transparent);--sheen:#ffffff14}.setlist .name{flex:1;min-width:0}.setlist .name small{color:var(--muted);display:block}.setlist li.current .name strong:after{content:" · en cours";font-family:var(--font-title);color:var(--olive);font-size:.6rem;font-weight:400}.inline{gap:8px;display:flex}.inline input{flex:1;min-width:0}.field{margin-bottom:12px;display:block}.field span{color:var(--muted);margin-bottom:4px;font-size:.85rem;display:block}.field span b{color:var(--ink);font-weight:600}.check{min-height:var(--hit);cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.check input{width:18px;height:18px;accent-color:var(--olive)}.known-box{margin-top:4px}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.center-actions{flex-direction:column;align-items:stretch;max-width:320px;margin:0 auto}@media (width>=520px){.center-actions{flex-direction:row;justify-content:center;max-width:none}}.form-actions.same-row .btn{text-align:center;flex:100px;min-width:0;padding-left:10px;padding-right:10px;line-height:1.5}.form-actions.same-row .info-btn{flex:0 0 var(--hit);min-width:var(--hit);padding-left:0;padding-right:0}.words{margin:0;padding:0 4px 6px 0;list-style:none}.words li{background:color-mix(in srgb, var(--bg) 85%, transparent);border:2px solid var(--edge);box-shadow:var(--shadow-1);border-radius:0;align-items:flex-start;gap:10px;padding:10px 14px;display:flex;position:relative}.words li+li{margin-top:-2px}.words li:first-child{border-radius:var(--r-btn) var(--r-btn) 0 0}.words li:last-child{border-radius:0 0 var(--r-btn) var(--r-btn)}.words li:only-child{border-radius:var(--r-btn)}.words .w{flex:1;min-width:0}.words .w strong{font-weight:600}.words .w small{color:var(--muted);display:block}.words .ops{gap:4px;display:flex}.danger-zone{flex-flow:column wrap;align-items:stretch;gap:12px;margin-top:28px;padding-right:4px;display:flex}.stack{margin-top:12px}.fullwidth{width:100%}.site-foot{border-top:3px solid var(--edge);color:var(--muted);background:#000;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px 32px;padding:36px max(20px,4vw);font-size:.85rem;line-height:1.5;display:grid}.site-foot p{margin:0 0 4px}.site-foot a{color:var(--lav);text-underline-offset:3px;text-decoration:underline}.site-foot a:hover{color:var(--ink)}.foot-mark{font-family:var(--font-title);color:var(--ink);text-align:center;font-size:1.1rem}.foot-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:20px;display:flex}.foot-right .gh{text-decoration:none;display:inline-flex}.foot-right .gh svg{width:28px;height:28px}.foot-right .linkbtn{font-family:var(--font-body);min-height:0;color:var(--lav);text-underline-offset:3px;padding:0;font-size:.85rem;text-decoration:underline}.foot-right .linkbtn:hover{color:var(--ink)}@media (width<=720px){.site-foot{text-align:center;grid-template-columns:1fr;justify-items:center}.foot-mark{order:-1}.foot-right{justify-content:center}}.center{text-align:center;place-content:center;gap:12px;min-height:60vh;display:grid}.center p{margin:0}.help-dialog{width:min(92vw,520px);max-width:520px;color:var(--ink);background:0 0;border:0;margin:auto;padding:0;overflow:visible}.help-dialog::backdrop{background:#000000b3}.help-dialog .panel{margin-bottom:8px;margin-right:8px;padding:18px 18px 20px}.help-dialog .dlg-body{scrollbar-width:thin;max-height:calc(100vh - 90px);padding-right:6px;overflow-y:auto}.help-dialog h2{margin:0 0 10px;font-size:.9rem;line-height:1.5}.help-dialog h3{margin:18px 0 8px;font-size:.7rem;line-height:1.6}.help-dialog .steps{gap:10px;margin:0 0 6px;padding-left:22px;font-size:.95rem;line-height:1.5;display:grid}.help-dialog .steps li::marker{font-family:var(--font-title);color:var(--olive);font-size:.7rem}.prompt-box{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border:2px solid var(--edge);border-radius:var(--r-btn);max-height:240px;margin:0 0 12px;padding:12px;font-family:ui-monospace,Consolas,monospace;font-size:.8rem;line-height:1.5;overflow:auto}@media (prefers-reduced-motion:reduce){.btn,.ghost,.speak,.round,.play,.accents button,.seg button,.picker-btn,.picker-btn svg,.card,.bar span,.known-switch .track,.known-switch .thumb{transition:none}}
