@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/archivo-latin-ext-CEt9KWsu.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/archivo-latin-BEIDiHaE.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/space-grotesk-latin-ext-wJGaI8U0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/space-grotesk-latin-DPT1xrvW.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#D9D3CB;--fg:#17130E;--muted:#4E4943;--border:#C0B8AC;--accent:#E14E1F;--cream:#F3EEE6;--accent-ink:#fff;--accent-text:#A83A17}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);color:var(--fg);font-family:Space Grotesk,sans-serif;font-weight:300;line-height:1.6;overflow-x:hidden;touch-action:pan-y pinch-zoom}h1,h2,h3{font-family:Archivo,sans-serif;letter-spacing:-.04em}::selection{background:var(--accent);color:var(--accent-ink)}#scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}#loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--bg);color:var(--fg);display:flex;align-items:center;justify-content:center;transition:transform .55s cubic-bezier(.7,0,.2,1)}#loader svg{height:64px;width:auto}#loader .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:loader-draw 1.5s cubic-bezier(.45,.05,.35,.95) infinite}@keyframes loader-draw{45%,55%{stroke-dashoffset:0}to{stroke-dashoffset:-1}}#loader.done{transform:translateY(-101%)}.hero h1 span,.hero p{animation-play-state:paused}body.loaded .hero h1 span,body.loaded .hero p{animation-play-state:running}header{position:fixed;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 8vw;opacity:1;transform:translateY(0);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}header.is-hidden{opacity:0;transform:translateY(-16px);pointer-events:none}.logo-link{color:var(--fg);display:block;transition:color .25s,transform .25s}.logo-link:hover{color:var(--accent);transform:rotate(8deg)}.logo-link svg{height:46px;width:auto;display:block}header nav a{color:var(--fg);text-decoration:none;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:.6rem 1.4rem;border:2px solid var(--fg);border-radius:999px;transition:all .25s}header nav a:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.1)}main{position:relative;z-index:2}section{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:12vh 8vw;position:relative}.hero h1{font-size:clamp(3.5rem,10.5vw,5.5rem);font-weight:900;line-height:.95;text-transform:uppercase}.hero h1 span{display:block;opacity:0;transform:translateY(40px);animation:up .9s cubic-bezier(.16,1,.3,1) forwards}.hero h1 span:nth-child(2){animation-delay:.12s;color:#fff;background:var(--accent);width:max-content;padding:0 .1em;margin-left:-.1em;text-shadow:0px 0px 3px #00000063}.hero h1 span:nth-child(3){animation-delay:.24s}@keyframes up{to{opacity:1;transform:none}}.scroll-hint{position:absolute;bottom:5vh;left:8vw;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:0 1.2rem 0 0;opacity:0;animation:up .9s .5s cubic-bezier(.16,1,.3,1) forwards}.scroll-hint span{color:var(--accent-text);font-weight:700;display:inline-block;animation:hint-bounce 1.8s cubic-bezier(.45,.05,.35,.95) infinite}@keyframes hint-bounce{0%,55%,to{transform:translateY(0)}22%{transform:translateY(5px)}40%{transform:translateY(-2px)}}[data-glass]{isolation:isolate;transition:color .45s,text-shadow .45s;text-shadow:0 0 12px rgba(23,19,14,0),0 2px 28px rgba(23,19,14,0)}[data-glass].glass.-t-white{color:#fff;text-shadow:0 0 12px rgba(9,7,5,.91),0 2px 28px rgba(23,19,14,.35)}[data-glass].glass.-t-white span{color:var(--accent)}:where([data-glass]){position:relative}[data-glass]:before{content:"";position:absolute;z-index:-1;top:-.55rem;bottom:-.55rem;left:-20vw;right:-1.2rem;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:background .45s,backdrop-filter .45s,-webkit-backdrop-filter .45s}[data-glass].glass.-t-white:before{background-color:#17130e}[data-glass=left]:before{left:-1.2rem;right:-20vw}@media(max-width:760px){[data-glass]:before{left:-20vw;right:-20vw}}[data-glass].glass:before{background:color-mix(in srgb,var(--bg) 32%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.projets .more a,.footer-links :is(a,button),.footer-credits a{position:relative;background:linear-gradient(var(--accent),var(--accent)) no-repeat left bottom/0 1px,linear-gradient(var(--border),var(--border)) no-repeat left bottom/100% 1px;transition:color .25s,background-size .55s cubic-bezier(.3,.9,.3,1)}.projets .more a:is(:hover,:focus-visible),.footer-links :is(a,button):is(:hover,:focus-visible),.footer-credits a:is(:hover,:focus-visible){color:var(--accent-text);background-size:100% 1px,100% 1px}.projets .more a:after,.footer-links :is(a,button):after,.footer-credits a:after{content:"";position:absolute;left:-.6em;right:-.6em;bottom:-.45em;height:.9em;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,#fff 60%,var(--accent)),transparent) no-repeat center/55% 34%,radial-gradient(closest-side,color-mix(in srgb,var(--accent) 65%,transparent),transparent) no-repeat center/100% 100%;opacity:0;transform:scaleX(0);transform-origin:left;transition:opacity .3s,transform .55s cubic-bezier(.3,.9,.3,1)}.projets .more a:is(:hover,:focus-visible):after,.footer-links :is(a,button):is(:hover,:focus-visible):after,.footer-credits a:is(:hover,:focus-visible):after{opacity:1;transform:scaleX(1)}@media(pointer:coarse){.projets .more a:before,.footer-links :is(a,button):before,.footer-credits a:before{content:"";position:absolute;left:-.2em;right:-.2em;top:-.65em;bottom:-.65em}}.label{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:#fff;background:var(--accent);width:max-content;padding:.35em .7em;margin-bottom:1.5rem;font-weight:500;font-family:Space Grotesk,sans-serif;text-shadow:0 0 5px rgba(9,7,5,.39),0 2px 28px rgba(23,19,14,.35)}h2,.title{font-size:clamp(2.2rem,6vw,4rem);font-weight:700;margin-bottom:2rem;line-height:1.2}.bio .inner,.fluxite .inner,.contact .inner{max-width:560px}.bio{align-items:flex-end}.bio p:not(.label){font-size:clamp(1.15rem,2.2vw,1.6rem)}.bio strong{font-weight:500;color:var(--accent-text)}.bio .cols{margin-top:3rem;display:flex;flex-direction:column;gap:1.6rem}.bio .cols div{font-size:.95rem;color:var(--muted)}.bio .cols dt{display:block;width:max-content;color:var(--fg);font-weight:500;font-size:1.05rem;margin-bottom:.3rem;padding:0 0 .22em;background:linear-gradient(var(--accent),var(--accent)) no-repeat 0 100%;background-size:0 3px;transition:background-size .55s cubic-bezier(.3,.9,.3,1) .3s}.bio .cols .rv.in dt{background-size:100% 3px}.projets>ul{list-style:none;max-width:640px}.projets>ul>li{border-top:1px solid var(--border)}.projets>ul>li a{display:block;padding:2.6rem 0;text-decoration:none;color:inherit}.projets .row{display:flex;justify-content:space-between;align-items:baseline;gap:2rem}.projets .row h3{font-size:clamp(1.3rem,3vw,2.2rem);font-weight:700}.projets p:not(.label){color:var(--muted);max-width:48ch;font-size:.95rem;margin-top:.4rem}.projets>ul>li a{position:relative;padding-left:150px}.logo-disc{position:absolute;left:0;top:50%;width:124px;height:124px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 10px 34px #17130e29;transform:translateY(-50%)}.crystals{position:absolute;left:-68px;top:50%;width:260px;height:260px;transform:translateY(-50%);pointer-events:none;overflow:visible}.crystals .f1{fill:color-mix(in srgb,var(--accent) 70%,#17130E)}.crystals .f2{fill:var(--accent)}.crystals .f3{fill:color-mix(in srgb,var(--accent) 42%,#fff)}.crystals .ridge{fill:none;stroke:color-mix(in srgb,var(--accent) 55%,#fff);stroke-width:1;opacity:.6}.crystals .edge{fill:none;stroke:color-mix(in srgb,var(--accent) 16%,#fff);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.crystals .cr{transform:var(--tr) scale(0);transform-origin:0 0;transition:transform .65s cubic-bezier(.25,.9,.3,1.18) var(--d)}.crystals.grow .cr{transform:var(--tr) scale(1)}@media(hover:hover){.projets>ul>li:hover .crystals .cr{transform:var(--tr) scale(1)}}.projets>ul>li:focus-within .crystals .cr{transform:var(--tr) scale(1)}.crystals{--amp:0}.crystals .sw{transform-origin:0 0}.crystals.sway-on .sw{animation:cr-sway var(--od) ease-in-out infinite}@keyframes cr-sway{0%,to{transform:scale(1)}50%{transform:scale(calc(1 + .22*var(--amp))) rotate(calc(var(--ra)*var(--amp)))}}.logo-disc img{max-width:70%;max-height:66%;object-fit:contain}.logo-disc img.wide{max-width:88%}@media(max-width:700px){.projets>ul>li a{padding-left:100px}.logo-disc{width:84px;height:84px}.crystals{left:-46px;width:176px;height:176px}.scroll-hint{bottom:10vh}}.projets .more{max-width:450px;margin-top:3.5rem}.projets .more ul{list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:.7rem 1.8rem}.projets .more-label{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;font-family:Space Grotesk,sans-serif;font-weight:500}.projets .more a{color:var(--fg);text-decoration:none;font-size:.95rem;font-weight:400;padding-bottom:.15em}.fluxite .inner{--pad:clamp(2rem,4.5vw,4rem);position:relative;background:var(--fg);color:var(--cream);padding:var(--pad);max-width:620px}.fluxite .big{font-size:clamp(1.5rem,3.2vw,2.4rem);font-family:Archivo;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:1.6rem}.fluxite p:not(.label):not(.big){color:#b9b2a6;max-width:46ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.8rem 2.2rem;background:var(--accent);border:2px solid var(--accent);border-radius:999px;text-decoration:none;color:#fff;cursor:pointer;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 0 5px rgba(9,7,5,.25),0 2px 28px rgba(23,19,14,.23);transition:all .25s}.btn:is(:hover,:focus-visible){color:#fff;background:var(--accent);border-color:var(--accent);transform:scale(1.1)}.btn.-ghost{padding:1rem 2.2rem;border-color:currentColor;color:inherit;background-color:transparent}.btn.-ghost:is(:hover,:focus-visible){background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.-icon{padding:0;gap:0;width:2.4rem;height:2.4rem;flex:none}.btn.-icon svg{width:44%;height:44%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.bio .btn,.projets .btn,.fluxite .btn{margin-top:2.2rem}.btn{position:relative}.btn .crystals{left:50%;right:auto;top:50%;bottom:auto;width:200px;height:170px;transform:translate(-50%,-50%)}@media(hover:hover){.btn.-crystals:hover .crystals .cr{transform:var(--tr) scale(1)}}.btn.-crystals:focus-visible .crystals .cr{transform:var(--tr) scale(1)}:where([data-crystals]){position:relative}.crystals.bloom{left:auto;right:auto;top:auto;bottom:auto;transform:none;z-index:auto}body.loaded .crystals.bloom:not(.on-hover) .cr{transform:var(--tr) scale(1);transition-delay:calc(var(--d) + .7s)}:where([data-crystals]):hover .crystals.bloom.on-hover .cr,:where([data-crystals]):focus-visible .crystals.bloom.on-hover .cr{transform:var(--tr) scale(1)}.fluxite .clients-label{margin-top:2.6rem;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:#8f887c;font-family:Space Grotesk,sans-serif;font-weight:500}.fluxite .clients{margin-top:30px;margin-bottom:calc(40px - 96px - var(--pad));display:flex;flex-wrap:wrap;gap:1.6rem;list-style:none}.fluxite .clients li{flex:none;display:flex}.fluxite .sq{position:relative;width:96px;height:96px;background:#fff;flex:none;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 40px #17130e47;opacity:0;rotate:var(--rot);transition:rotate .6s cubic-bezier(.3,.9,.3,1),scale .4s cubic-bezier(.3,.9,.3,1)}.fluxite .sq:hover,.fluxite .sq:focus-visible{rotate:0deg;scale:1.85;z-index:10}.fluxite .rv.in .sq{opacity:1;animation:sq-pop .65s cubic-bezier(.2,.9,.3,1.25) var(--d) backwards,sq-float var(--fd) ease-in-out calc(var(--d) + .65s) infinite}@keyframes sq-pop{0%{opacity:0;transform:translateY(-22px) scale(.7) rotate(-12deg)}to{opacity:1;transform:none}}@keyframes sq-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.fluxite .clients li:nth-child(1) .sq{--rot:4deg;--d:.15s;--fd:6.4s}.fluxite .clients li:nth-child(2) .sq{--rot:-3deg;--d:.3s;--fd:7.6s}.fluxite .clients li:nth-child(3) .sq{--rot:2deg;--d:.45s;--fd:8.4s}.fluxite .clients li:nth-child(4) .sq{--rot:-4deg;--d:.6s;--fd:7s}.fluxite .sq img{max-width:70%;max-height:66%;object-fit:contain}.fluxite .sq img.wide{max-width:86%}@media(max-width:980px){.fluxite .sq{width:72px;height:72px}.fluxite .clients{margin-bottom:calc(30px - 72px - var(--pad))}}@media(max-width:640px){.fluxite .clients{justify-content:center;gap:.9rem;margin-bottom:0}}.contact{align-items:center;text-align:center}.contact a.mail{display:inline-block;font-family:Archivo;font-weight:900;font-size:clamp(1.5rem,5vw,4.2rem);letter-spacing:-.03em;text-decoration:none;color:var(--fg);word-break:break-all;line-height:1.1}.contact a.mail:hover{color:var(--accent-text)}.contact .tel{margin-top:1.8rem;color:var(--muted);font-size:1.1rem}.contact .tel .tooltip{background:#fff;padding:8px 15px;border-radius:20px;text-decoration:none;color:#000}footer{position:relative;z-index:2;padding:3rem 8vw 2rem;display:flex;justify-content:space-between;align-items:baseline;color:var(--muted);font-size:.85rem;flex-wrap:wrap;gap:1rem}.footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1.8rem}.footer-links :is(a,button),.footer-credits a{color:var(--muted);text-decoration:none;padding-bottom:.1em}.footer-links button{border:0;padding:0 0 .1em;font:inherit;cursor:pointer}dialog.legal{margin:auto;width:min(680px,92vw);max-height:82vh;border:none;background:var(--cream);color:var(--fg);padding:clamp(1.8rem,4vw,3rem);overflow-y:auto;box-shadow:0 30px 80px #17130e59}dialog.legal::backdrop{background:#17130e8c}body:has(dialog[open]){overflow:hidden}.legal .close{position:sticky;top:0;float:right;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--border);background:var(--cream);color:var(--fg);font-size:1.3rem;line-height:1;cursor:pointer;transition:all .25s}.legal .close:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.legal h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1.4rem}.legal h3{font-size:1.05rem;font-weight:700;margin:1.8rem 0 .5rem}.legal h4{font-family:Space Grotesk;font-size:.95rem;font-weight:500;margin:1.1rem 0 .3rem}.legal p,.legal li{font-size:.92rem;color:var(--muted)}.legal p{margin-bottom:.7rem}.legal ul{padding-left:1.2rem;margin:.4rem 0 .9rem}.rv{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.rv.in{opacity:1;transform:none}@media(max-width:760px){.crystals.bloom{z-index:-1}.bio{align-items:flex-start}.bio div:has(>.btn),.projets div:has(>.btn){text-align:right}footer{flex-direction:column;align-items:center;text-align:center;gap:.9rem}.footer-links{flex-direction:column;align-items:center;gap:.9rem}}@media(pointer:coarse){.projets .more ul{gap:1.3rem 1.8rem}.footer-links{gap:1.1rem 1.8rem}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv,.hero h1 span,.hero p{opacity:1;transform:none}header.is-hidden{display:none}}.play-btn{position:fixed;left:50%;bottom:23vh;z-index:6;transform:translate(-50%,18px);opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.play-btn.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.play-btn.is-loading{opacity:.6;pointer-events:none}.play-btn.show:is(:hover,:focus-visible){transform:translate(-50%) scale(1.08)}.play-btn .ico{width:1.25em;height:1.25em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}html:has(body.gaming){overflow:hidden}body.gaming{overflow:hidden;overscroll-behavior:none}body.gaming main,body.gaming header,body.gaming footer{visibility:hidden}.game-ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;color:var(--fg);cursor:crosshair;touch-action:none;overscroll-behavior:none;font-family:Space Grotesk,sans-serif;-webkit-user-select:none;user-select:none;background:radial-gradient(125% 95% at 50% 50%,transparent 55%,rgba(217,211,203,.5))}.game-ui[hidden]{display:none}.game-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:1rem;padding:1.4rem 8vw}.game-score{font-family:Archivo,sans-serif;font-weight:900;font-size:1.8rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.game-level{display:flex;align-items:center;flex:none}.lv-icon{width:2.2rem;height:2.2rem;display:block;overflow:visible}.lv-outline{fill:none;stroke:var(--fg);stroke-width:2.5;stroke-linejoin:round}.lv-tri{fill:transparent;stroke:var(--bg);stroke-width:1;transition:fill .4s cubic-bezier(.16,1,.3,1)}.lv-tri.on{fill:var(--accent)}.game-lives{display:flex;gap:.3em;font-size:1.15rem;color:var(--accent-text);margin-left:1rem}.game-lives .lost{opacity:.22}.game-steps{--k:7px;margin-left:auto;display:flex;gap:1px;align-items:center;width:min(34vw,190px);height:1.15rem;flex:none}.game-steps i{flex:1;min-width:0;height:100%;background:var(--border);clip-path:polygon(0 0,calc(100% - var(--k)) 0,100% 100%,var(--k) 100%);transition:background .2s,opacity .2s}.game-steps i.on{background:var(--accent)}.game-steps i.half{background:var(--accent);opacity:.4}.game-timer{position:absolute;right:8.5vw;bottom:3.25rem;margin:0;white-space:nowrap;font-family:Archivo,sans-serif;font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums;color:var(--muted);transition:color .3s}.game-timer[hidden]{display:none}.game-timer.low{color:var(--accent-text)}.game-next{margin-left:1rem;width:1.4rem;height:1.4rem;flex:none;display:block}.game-next i{display:block;width:100%;height:100%;border-radius:4px;background:var(--accent);transform:rotate(45deg);transition:background .2s}.game-energy{margin-left:auto;align-self:center;width:min(40vw,220px);height:.5rem;border-radius:999px;background:var(--border);overflow:hidden}.game-energy i{display:block;height:100%;width:100%;border-radius:999px;background:var(--accent);transform-origin:left;transition:transform .1s linear;transform:scaleX(var(--v,1))}.game-energy.low i{background:var(--muted)}.game-close{display:none;margin-left:auto}.game-hint{position:absolute;left:0;right:0;top:25vh;text-align:center;padding:0 6vw;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:opacity .6s}.game-hint b{display:block;margin-top:.1em;font-family:Archivo,sans-serif;font-weight:900;font-size:clamp(4.5rem,20vw,10rem);line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--fg);opacity:.14;animation:hint-tick .55s cubic-bezier(.16,1,.3,1)}@keyframes hint-tick{0%{opacity:.3;transform:scale(1.12)}to{opacity:.14;transform:none}}.game-announce{position:absolute;left:0;right:0;top:36%;text-align:center;pointer-events:none;font-family:Archivo,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(1.6rem,5vw,2.6rem);color:var(--accent-text);opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s}.game-announce.show{opacity:1;transform:none}.game-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(72% 72% at 50% 50%,#d9d3cbeb,#d9d3cb99)}.game-panel.-cards{gap:1.4rem}.game-panel.-dialog{gap:.35rem;background:radial-gradient(60% 60% at 50% 50%,#d9d3cbd9,#d9d3cb73)}.panel-title{font-family:Archivo,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(1.35rem,3.8vw,2.1rem);text-align:center;padding:0 6vw}.game-ui:has(.game-panel.-menu,.game-panel.-diff) .game-bottom{display:none}.panel-close{position:absolute;top:1.4rem;right:1.4rem}@media(max-width:760px){.panel-close{top:1rem;right:1rem}}.panel-cards{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding:0 6vw;max-width:820px}.game-panel.-diff .panel-cards{flex-direction:column;flex-wrap:nowrap;width:100%;max-width:780px;gap:.7rem}.panel-card{cursor:pointer;width:220px;max-width:74vw;display:flex;flex-direction:column;gap:.4rem;text-align:left;padding:1.1rem 1.2rem;border-radius:16px;border:1px solid var(--border);background:var(--cream);transition:transform .2s,border-color .2s,box-shadow .2s}.game-panel.-diff .panel-card{width:100%;max-width:100%;flex-direction:row;align-items:center;gap:1.4rem;padding:1rem 1.3rem}.dg-body{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.dg-ico{width:68px;height:32px;flex:none;overflow:visible}.dg-ico .dg-on{fill:var(--accent);stroke:var(--accent);stroke-width:1;stroke-linejoin:round}.dg-ico .dg-off{fill:none;stroke:var(--border);stroke-width:1.5;stroke-linejoin:round;transition:stroke .25s}.panel-card:hover .dg-off{stroke:color-mix(in srgb,var(--accent) 45%,transparent)}.panel-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--accent);box-shadow:0 8px 24px #17130e1f}.panel-card.is-locked{opacity:.45;cursor:default}.card-name{font-family:Archivo,sans-serif;font-weight:700;font-size:1.05rem;color:var(--accent-text)}.game-panel.-diff .card-name{font-size:1.15rem}.card-desc{font-size:.85rem;color:var(--muted);line-height:1.4}.card-meta{font-size:.72rem;letter-spacing:.02em;color:var(--accent-text);font-weight:500;margin-top:.25rem}.panel-card.rare{border-color:var(--accent)}.panel-card.rare .card-name:after{content:" ✦"}@media(max-width:760px){.panel-card{width:100%}.game-panel.-diff .panel-card{gap:1rem;padding:.9rem 1rem}.dg-ico{width:66px;height:36px}}.game-panel.-menu .panel-cards{max-width:100%}.game-panel.-menu .panel-card{width:290px;padding:0;gap:0;overflow:hidden}@keyframes mg-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}@keyframes mg-pop{0%{opacity:0;transform:scale(.5) rotate(-25deg)}to{opacity:1;transform:none}}.game-panel.-menu .panel-card{animation:mg-in .55s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--i,0) * 90ms)}.game-panel.-menu .mg-ico{animation:mg-pop .6s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--i,0) * 90ms + .18s)}@media(prefers-reduced-motion:reduce){.game-panel.-menu .panel-card,.game-panel.-menu .mg-ico{animation:none}}.mg-art{position:relative;display:grid;place-items:center;height:104px;overflow:hidden;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 22%,var(--cream)),var(--cream));clip-path:polygon(0 0,100% 0,100% 100%,0 84%)}.mg-ico{width:60px;height:60px;overflow:visible;fill:none;stroke:var(--fg);stroke-width:1.5;stroke-linejoin:round;transition:transform .5s cubic-bezier(.16,1,.3,1)}.mg-ico .f1{fill:var(--accent);stroke:var(--accent)}.mg-ico .f2{fill:#ffffff8c}.mg-ico .sh{fill:var(--fg)}.mg-art:after{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:linear-gradient(105deg,transparent 42%,#fffc 50%,transparent 58%);transform:translate(-130%);transition:transform .75s cubic-bezier(.16,1,.3,1)}.panel-card:hover .mg-art:after{transform:translate(130%)}.panel-card:hover .mg-ico{transform:rotate(-9deg) scale(1.1)}.mg-body{display:flex;flex-direction:column;gap:.4rem;padding:.9rem 1.2rem 1.1rem}.game-panel.-menu .card-name{font-size:1.3rem;letter-spacing:-.02em}.game-panel.-menu .card-desc{font-size:.82rem}.mg-foot{margin-top:.35rem;padding-top:.6rem;border-top:1px solid var(--border);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.mg-foot b{color:var(--accent-text)}.panel-card.is-locked .mg-art{filter:grayscale(1)}.panel-card.is-locked .mg-art:after{display:none}@media(max-width:760px){.game-panel.-menu .panel-card{width:100%;max-width:340px}.mg-art{height:88px}}.panel-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 8px 24px #17130e1f}.panel-apply{margin-top:.6rem}.btn:disabled{opacity:.4;pointer-events:none}.game-panel.is-arming .go-actions .btn{pointer-events:none;opacity:.35;transform:translateY(8px)}.panel-hint{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.6rem;padding:0 6vw;list-style:none}.panel-hint li{display:flex;align-items:center;gap:.5em;padding:.42em .85em;border-radius:999px;border:2px solid var(--cream);background-color:#ffffffb2;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.panel-hint svg{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.panel-hint .touch{display:none}@media(hover:none){.panel-hint .pointer{display:none}.panel-hint .touch{display:inline}.panel-hint .only-pointer{display:none}}.end-sub{font-size:1.1rem;color:var(--muted);max-width:32ch;text-align:center;padding:0 6vw}.go-title{font-family:Archivo,sans-serif;font-weight:900;font-size:clamp(2.2rem,7vw,3.6rem);text-align:center;text-transform:uppercase;letter-spacing:-.03em;padding:1rem 6vw}.go-score{font-size:1.1rem;color:var(--muted)}.go-score b{color:var(--accent-text);font-weight:700}.go-best{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.go-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.3rem}.go-actions .go-break{flex-basis:100%;height:0}@media(max-width:760px){.game-bottom{top:0;bottom:auto;padding:1rem 6vw}.game-score{font-size:1.5rem}.game-close{display:inline-flex}.game-ui.-hud-corners .game-bottom{top:auto;bottom:0;padding:1rem 5vw .9rem;display:flex;align-items:center;gap:.6rem}.game-ui.-hud-corners .game-timer{position:fixed;right:.9rem;bottom:calc(4.35rem + 24vh)}.game-ui.-hud-corners .game-steps{position:fixed;right:.9rem;bottom:4rem;margin:0;flex-direction:column-reverse;width:1.35rem;height:24vh}.game-ui.-hud-corners .game-steps i{width:100%;height:auto;min-height:0;clip-path:polygon(0 0,100% var(--k),100% 100%,0 calc(100% - var(--k)))}.game-ui.-hud-corners .game-close{position:fixed;top:auto;bottom:.9rem;right:calc(.9rem + .675rem - 1.2rem);margin:0;opacity:.4;transition:opacity .3s}.game-ui.-hud-corners .game-close:is(:hover,:focus-visible,:active){opacity:1}.game-ui.-hud-corners .game-energy{position:fixed;right:0;bottom:1.3rem;margin:0;width:.5rem;height:26vh;border-radius:6px 0 0 6px}.game-ui.-hud-corners .game-energy i{border-radius:6px 0 0 6px;transform-origin:bottom;transform:scaleY(var(--v,1))}}
