@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,600&display=swap";:root{color:#24231f;font-synthesis:none;text-rendering:optimizelegibility;--ink:#24231f;--muted:#77746b;--paper:#fbfaf6;--line:#d8d4c9;--accent:#ff5a36;--acid:#d9f64b;--dark:#1e241f;background:#f4f1ea;font-family:Manrope,sans-serif}*{box-sizing:border-box;scrollbar-width:none}::-webkit-scrollbar{display:none}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.game-shell{min-height:100vh;position:relative;overflow:hidden}.game-shell:before{content:"";pointer-events:none;opacity:.22;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");position:fixed;inset:0}.topbar{border-bottom:1px solid var(--line);z-index:1;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(20px,5vw,76px);display:flex;position:relative}.brand{color:var(--ink);letter-spacing:-.7px;align-items:center;gap:10px;font-size:20px;font-weight:700;text-decoration:none;display:flex}.brand-mark{width:31px;height:31px;color:var(--paper);background:var(--dark);border-radius:50% 50% 50% 14%;place-items:center;font-family:Playfair Display,serif;font-style:italic;display:grid}.fluxly-logo{color:inherit;align-items:center;display:inline-flex}.fluxly-logo-tiles{gap:clamp(4px,1vw,10px);display:flex}.fluxly-logo-tiles i{aspect-ratio:1;color:#f3f2eb;border:1px solid #4a5045;place-items:center;width:clamp(38px,8vw,59px);font:500 clamp(21px,4vw,34px) DM Mono;display:grid}.fluxly-logo-tiles i:last-child{color:#20251e;background:var(--acid);border-color:var(--acid)}.fluxly-logo--compact{gap:9px}.fluxly-logo--compact .fluxly-logo-tiles{gap:2px}.fluxly-logo--compact .fluxly-logo-tiles i{width:18px;color:var(--ink);border-color:var(--line);font-size:8px}.fluxly-logo--compact .fluxly-logo-tiles i:last-child{color:#20251e;border-color:var(--acid)}.fluxly-logo--compact strong{font-size:0}.mode-pill{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-radius:100px;padding:9px 14px;font-family:DM Mono;font-size:11px}.mode-pill span{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.topbar-actions{align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font:500 12px DM Mono;display:grid}.icon-button:hover{color:var(--accent);border-color:var(--accent);transform:rotate(4deg)}.game-menu-button{border:1px solid var(--line);cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:0 0;border-radius:100px;align-items:center;gap:8px;padding:9px 13px;font:500 10px DM Mono;display:flex}.game-menu-button:hover{color:var(--accent);border-color:var(--accent)}.game-field-menu{z-index:3;position:absolute;top:20px;right:clamp(22px,6vw,70px)}.sound-bars{align-items:center;gap:2px;height:12px;display:flex}.sound-bars i{background:currentColor;width:2px;height:4px;transition:height .2s;display:block}.sound-bars i:nth-child(2){height:10px}.sound-bars i:nth-child(3){height:7px}.sound-button:not(.active) .sound-bars i{height:2px}.game-layout{max-width:880px;height:calc(100dvh - 48px);min-height:590px;margin:0 auto;display:block}.game-column{padding:clamp(30px,4.5vh,52px) clamp(22px,6vw,70px) 24px;position:relative}.game-intro{justify-content:space-between;align-items:end;gap:30px;margin-bottom:clamp(16px,2.4vh,25px);display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font:500 11px DM Mono}h1{letter-spacing:-.06em;max-width:660px;margin:9px 0 0;font-size:clamp(34px,3.5vw,48px);font-weight:600;line-height:.98}h1 em{color:var(--accent);font-family:Playfair Display,serif;font-weight:600}.difficulty-switcher{background:#e9e6de;border-radius:9px;padding:4px;display:flex}.difficulty-switcher button{color:var(--muted);text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:11px}.difficulty-switcher button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #1f1f1b14}.game-stats{border:1px solid var(--line);background:#eeece5;border-bottom:0;border-radius:16px 16px 0 0;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.stat{justify-content:space-between;align-items:center;padding:13px 18px;display:flex}.stat--center{border-inline:1px solid var(--line)}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font:10px DM Mono}.stat strong{font:500 14px DM Mono}.play-card{border:1px solid var(--line);background:var(--paper);padding:clamp(18px,2.5vh,27px) clamp(20px,4vw,36px);transition:border-color .3s,box-shadow .3s;position:relative;box-shadow:0 22px 65px #37352e0c}.play-card--won{border-color:#b4c63c;box-shadow:0 25px 80px #a7bc2924}.word-chain{max-width:520px;margin:0 auto clamp(16px,2.2vh,25px);padding:0;list-style:none}.chain-step{padding-top:7px;position:relative}.chain-step:first-child{padding-top:0}.chain-line{background:var(--line);width:1px;height:7px;margin-left:24px;display:block;position:absolute;top:0}.chain-line--dashed{background:repeating-linear-gradient(to bottom, var(--line) 0 3px, transparent 3px 6px)}.word-card{border:1px solid var(--line);letter-spacing:.3em;background:#f7f5ef;justify-content:space-between;align-items:center;min-height:clamp(45px,6.4vh,56px);padding:7px 18px;font:500 clamp(22px,3vw,29px) DM Mono;display:flex}.word-card--current{border-color:var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink)}.word-card--target{color:var(--muted);background:0 0;border-style:dashed}.step-number{letter-spacing:.12em;color:var(--muted);font:500 9px DM Mono}.word-arrive{animation:.35s ease-out both wordArrive}.word-form{max-width:520px;margin:0 auto;position:relative}.word-form label{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:8px;font:500 10px DM Mono;display:block}.mobile-character-editor{display:none}.input-row{display:flex}.input-row input{border:1px solid var(--ink);letter-spacing:.2em;text-transform:uppercase;background:#fff;border-right:0;border-radius:0;width:100%;min-width:0;padding:14px 18px;font:500 22px DM Mono}.input-row input::placeholder{color:#cbc7bd}.input-row input:disabled{color:var(--muted);background:#efede7}.submit-button{border:1px solid var(--dark);background:var(--dark);color:#fff;cursor:pointer;justify-content:space-between;align-items:center;min-width:108px;padding:0 17px;font-size:13px;font-weight:600;display:flex}.submit-button:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.submit-button:disabled{opacity:.38;cursor:not-allowed}.feedback{min-height:28px;color:var(--muted);padding-top:9px;font-size:11px}.feedback--error{color:#c33d25}.word-form--error{animation:.38s ease-in-out shake}.word-form--error input{background:#fff6f2;border-color:#c33d25}.error-splash{z-index:8;color:#fff;background:var(--accent);transform-origin:88% 100%;border-radius:18px 7px 20px 5px;align-items:center;max-width:min(330px,88vw);min-height:52px;padding:11px 16px 11px 54px;animation:2.8s cubic-bezier(.18,.9,.25,1) forwards errorSplash;display:flex;position:absolute;bottom:calc(100% + 12px);right:-12px;box-shadow:5px 6px #20251e,0 13px 35px #ff5a3638}.error-splash:before,.error-splash:after{content:"";z-index:-1;background:var(--accent);position:absolute}.error-splash:before{clip-path:polygon(100% 0,70% 100%,0 64%);width:22px;height:18px;bottom:4px;left:-8px;transform:rotate(-12deg)}.error-splash:after{width:14px;height:14px;box-shadow:19px 10px 0 -4px var(--accent), -238px 4px 0 -3px var(--accent);border-radius:70% 30% 55% 45%;top:-8px;right:15px;transform:rotate(22deg)}.error-splash>span{width:28px;height:28px;color:var(--accent);background:#fff;border-radius:50% 45% 55% 42%;place-items:center;font:700 15px DM Mono;display:grid;position:absolute;left:14px}.error-splash strong{font-size:11px;line-height:1.45}.game-actions{border-top:1px solid var(--line);gap:20px;max-width:520px;margin:11px auto 0;padding-top:16px;display:flex}.text-button{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:0 0;border:0;padding:0;font:500 11px DM Mono}.text-button:hover:not(:disabled){color:var(--accent)}.text-button:disabled{opacity:.35;cursor:not-allowed}.text-button--reset{color:var(--ink);margin-left:auto}.hint-panel{background:#f6ffd4;border:1px solid #c9d941;max-width:520px;margin:10px auto 0;padding:13px 15px;font-size:12px;animation:.25s ease-out both panelIn}.hint-panel p{gap:8px;margin:0;display:flex}.hint-label{text-transform:uppercase;color:#66700f;margin-bottom:8px;font:9px DM Mono;display:block}.solution-path{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.solution-path span{align-items:center;gap:7px;display:flex}.solution-path strong{font:500 12px DM Mono}.solution-path i{color:#98a32f;font-style:normal}.win-banner{max-width:520px;color:var(--acid);background:var(--dark);align-items:center;gap:15px;margin:0 auto 24px;padding:15px 18px;animation:.55s cubic-bezier(.2,.9,.2,1.2) both winIn;display:flex}.win-banner strong{color:#fff;font-size:14px;display:block}.win-banner p{margin:2px 0 0;font-size:11px}.win-spark{font-size:26px;animation:.8s ease-out spin}.give-up-banner{border-left:3px solid var(--accent);background:#f2eee6;flex-direction:column;max-width:520px;margin:0 auto 24px;padding:8px 13px;font-size:12px;display:flex}.give-up-banner span{color:var(--muted);margin-top:2px}.rules-panel{color:#f0efe7;background:#22271f;border-left:1px solid #383c34;flex-direction:column;justify-content:space-between;padding:40px clamp(25px,3.6vw,54px);display:flex;position:relative;overflow:hidden}.rules-panel:before{content:"";border:1px solid #ffffff0b;border-radius:50%;width:260px;height:260px;position:absolute;top:31%;right:-100px;box-shadow:0 0 0 38px #ffffff05,0 0 0 76px #ffffff03}.sidebar-orbit{border:1px solid #5b6251;border-radius:50%;place-items:center;width:105px;height:105px;display:grid;position:relative}.sidebar-orbit:before{content:"";border:1px dashed #555c4d;border-radius:50%;animation:18s linear infinite orbitSpin;position:absolute;inset:10px}.sidebar-orbit span{background:var(--acid);color:#20251e;border-radius:50% 50% 50% 15%;place-items:center;width:48px;height:48px;font:italic 600 27px Playfair Display;display:grid}.sidebar-orbit i{white-space:nowrap;color:#747c69;letter-spacing:.14em;font:8px DM Mono;position:absolute;top:46px;left:112px}.sidebar-copy{z-index:1;margin-block:48px;position:relative}.rules-number{color:var(--accent);font:11px DM Mono}.rules-panel h2{color:#f3f2eb;letter-spacing:-.05em;margin:17px 0 20px;font-size:clamp(32px,3vw,45px);line-height:1}.rules-panel h2 em{color:var(--acid);font-family:Playfair Display}.rules-panel p{color:#a7aa9f;max-width:280px;font-size:13px;line-height:1.7}.mini-example{flex-wrap:wrap;align-items:center;gap:4px;margin-top:30px;display:flex}.mini-example span{color:#e5e4dc;background:#2d322a;border:1px solid #555a50;place-items:center;width:29px;height:34px;font:13px DM Mono;display:grid}.mini-example span:nth-last-child(2){border-color:var(--acid);color:#20251e;background:var(--acid)}.mini-example i{color:var(--muted);margin:0 4px;font-style:normal}.rules-panel small{color:#808579;text-transform:uppercase;gap:10px;margin-top:11px;font:8px DM Mono;display:flex}.rules-panel small b{color:var(--accent)}.sidebar-tip{z-index:1;border-top:1px solid #42473e;gap:12px;padding-top:20px;display:flex;position:relative}.sidebar-tip>span{color:var(--acid)}.sidebar-tip p{margin:0;font-size:10px;line-height:1.5}.sidebar-tip strong{color:#f3f2eb;display:block}footer{border-top:1px solid var(--line);min-height:48px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;padding:0 clamp(20px,5vw,76px);font:9px DM Mono;display:flex}@keyframes wordArrive{0%{opacity:0;letter-spacing:.5em;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}@keyframes errorSplash{0%{opacity:0;transform:translateY(15px)rotate(5deg)scale(.35)}13%{opacity:1;transform:translateY(-4px)rotate(-2deg)scale(1.06)}22%{transform:translateY(0)rotate(0)scale(1)}78%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;visibility:hidden;transform:translateY(-8px)scale(.96)}}@keyframes panelIn{0%{opacity:0;transform:translateY(-5px)}}@keyframes winIn{0%{opacity:0;transform:scale(.96)translateY(-8px)}}@keyframes spin{0%{transform:rotate(-60deg)scale(.4)}to{transform:rotate(0)scale(1)}}.preloader{z-index:1000;color:#f3f2eb;background:#20251e;place-items:center;transition:background-color .42s;display:grid;position:fixed;inset:0}.preloader:before{content:"";pointer-events:none;border:1px solid #3b4137;transition:opacity .24s;position:absolute;inset:18px}.preloader--leaving{pointer-events:none;background-color:#0000}.preloader--leaving:before{opacity:0}.preloader-inner{text-align:center;width:min(480px,80vw)}.preloader .fluxly-logo{justify-content:center}.preloader-logo-flight{--logo-flight-x:0px;--logo-flight-y:-42vh;--logo-flight-scale:.32;z-index:2;transform-origin:50%;justify-content:center;transition:transform .42s cubic-bezier(.7,0,.2,1),filter .42s;display:flex;position:relative}.preloader--leaving .preloader-logo-flight{transform:translate(var(--logo-flight-x), var(--logo-flight-y)) scale(var(--logo-flight-scale));filter:drop-shadow(0 6px 10px #11150f30)}.preloader .fluxly-logo-tiles i{animation:.55s both loaderLetter}.preloader .fluxly-logo-tiles i:first-child{animation-delay:60ms}.preloader .fluxly-logo-tiles i:nth-child(2){animation-delay:.12s}.preloader .fluxly-logo-tiles i:nth-child(3){animation-delay:.18s}.preloader .fluxly-logo-tiles i:nth-child(4){animation-delay:.24s}.preloader .fluxly-logo-tiles i:nth-child(5){animation-delay:.3s}.preloader .fluxly-logo-tiles i:nth-child(6){animation-delay:.36s}.preloader-track{background:#3c4138;height:2px;margin-top:28px;transition:opacity .18s,transform .3s;overflow:hidden}.preloader-track i{background:var(--accent);height:100%;animation:.85s ease-out both loaderTrack;display:block}.preloader p{color:#7e8575;text-transform:uppercase;letter-spacing:.15em;margin-top:13px;font:9px DM Mono;transition:opacity .18s,transform .3s}.preloader--leaving .preloader-track,.preloader--leaving p{opacity:0;transform:translateY(9px)}body:has(.preloader) .selector-header .fluxly-logo{visibility:hidden}.main-menu{z-index:200;color:#f4f2e9;background:#20251e;grid-template-columns:minmax(300px,.85fr) minmax(520px,1.15fr);display:grid;position:fixed;inset:0;overflow:auto}.menu-graphic{background:radial-gradient(circle at 50% 45%,#343c2f 0,#252b22 32%,#1d211b 70%);border-right:1px solid #41483a;place-items:center;min-height:100dvh;display:grid;position:relative;overflow:hidden}.menu-graphic:before{content:"CHANGE ONE / KEEP THE REST";color:#6e7666;letter-spacing:.18em;font:8px DM Mono;position:absolute;bottom:28px;left:25px}.menu-graphic:after{content:"01";color:var(--accent);font:10px DM Mono;position:absolute;top:25px;right:28px}.menu-orbit{border:1px solid #5d6555;border-radius:50%;position:absolute}.menu-orbit--one{aspect-ratio:1;width:min(38vw,500px);animation:30s linear infinite menuOrbit}.menu-orbit--one:before,.menu-orbit--two:before{content:"";background:var(--acid);border-radius:50%;width:9px;height:9px;position:absolute;top:12%;left:14%;box-shadow:0 0 0 6px #d9f64b18}.menu-orbit--two{aspect-ratio:1;opacity:.55;border-style:dashed;width:min(27vw,350px);animation:22s linear infinite reverse menuOrbit}.menu-orbit--two:before{background:var(--accent);box-shadow:none;inset:auto 5% 27% auto}.menu-letter-stack{z-index:1;grid-template-columns:repeat(2,74px);display:grid;transform:rotate(-4deg);box-shadow:15px 17px #11150f73}.menu-letter-stack i{color:#20251e;background:#f6f3e9;border:1px solid #c8c6bb;place-items:center;width:74px;height:74px;font:500 35px DM Mono;display:grid}.menu-letter-stack i:nth-child(3){background:var(--acid);border-color:var(--acid)}.menu-letter-stack i:nth-child(4){background:var(--accent);color:#fff;border-color:var(--accent)}.menu-panel{background:var(--paper);min-height:100dvh;color:var(--ink);flex-direction:column;justify-content:center;padding:clamp(28px,5vh,55px) clamp(35px,7vw,100px);display:flex}.menu-brand{align-items:center;gap:10px;margin-bottom:clamp(25px,4vh,42px);font-size:19px;font-weight:700;display:flex}.menu-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.15em;font:500 9px DM Mono}.menu-panel h1{max-width:660px;margin:12px 0 15px;font-size:clamp(39px,4.4vw,67px)}.menu-panel h1 em{color:var(--accent)}.menu-intro{max-width:540px;color:var(--muted);margin:0 0 clamp(20px,3vh,32px);font-size:12px;line-height:1.65}.menu-difficulty{border:0;max-width:620px;margin:0;padding:0}.menu-difficulty legend{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-bottom:10px;font:500 9px DM Mono}.menu-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.menu-options button{border:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:32px 1fr 12px;align-items:center;gap:8px;min-width:0;padding:12px;display:grid}.menu-options button:hover{border-color:var(--accent)}.menu-options button.selected{border-color:var(--ink);background:color-mix(in srgb, var(--paper) 85%, var(--acid));box-shadow:3px 3px 0 var(--ink)}.option-length{background:var(--dark);width:30px;height:35px;color:var(--paper);place-items:center;font:500 12px DM Mono;display:grid}.menu-options button strong,.menu-settings button strong{font-size:11px;display:block}.menu-options button small,.menu-settings button small{color:var(--muted);white-space:nowrap;margin-top:2px;font-size:8px;display:block}.menu-options button>i{color:var(--accent);font-size:9px;font-style:normal}.menu-settings{grid-template-columns:1fr 1fr;gap:8px;max-width:620px;margin:13px 0;display:grid}.menu-settings>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.menu-settings>button:hover{border-color:var(--accent)}.setting-icon{background:color-mix(in srgb, var(--paper) 75%, var(--line));border-radius:50%;place-items:center;width:31px;height:31px;font:500 11px DM Mono;display:grid}.setting-icon .sound-bars{align-items:center;gap:2px;display:flex}.setting-icon .sound-bars b{background:var(--ink);width:2px;height:5px}.setting-icon .sound-bars b:nth-child(2){height:11px}.setting-icon .sound-bars b:nth-child(3){height:8px}.menu-toggle{background:var(--line);border-radius:20px;width:27px;height:15px;padding:2px;transition:background .2s}.menu-toggle b{background:#fff;border-radius:50%;width:11px;height:11px;transition:transform .2s;display:block}.menu-toggle.on{background:var(--accent)}.menu-toggle.on b{transform:translate(12px)}.setting-arrow{color:var(--accent);font-style:normal}.menu-play-actions{grid-template-columns:1fr;gap:8px;max-width:620px;display:grid}.menu-play-actions.has-session{grid-template-columns:1.35fr 1fr}.menu-start,.menu-continue{cursor:pointer;border:0;justify-content:space-between;width:100%;padding:15px 18px;font-size:12px;font-weight:600;display:flex}.menu-start{background:var(--dark);color:var(--paper)}.menu-start:hover{background:var(--accent);color:#fff}.menu-start i,.menu-continue i{font-size:17px;font-style:normal}.menu-continue{background:var(--accent);color:#fff;box-shadow:4px 4px 0 color-mix(in srgb, var(--accent) 55%, #20251e)}.menu-continue:hover{background:#e74727}.menu-footnote{text-align:center;max-width:620px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:10px 0 0;font:8px DM Mono}.curtain{z-index:600;pointer-events:none;position:fixed;inset:0;overflow:hidden}.curtain--closing,.curtain--result{pointer-events:all}.curtain-panel{background-color:#20251e;background-image:repeating-linear-gradient(90deg,#0000 0 7.8vw,#ffffff05 8vw,#0000 8.2vw);align-items:center;width:50.1%;transition:transform .56s cubic-bezier(.77,0,.18,1);display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.curtain-panel:before{content:"";border:1px solid #444b3e;position:absolute;inset:18px}.curtain-panel--left{justify-content:flex-end;left:0;transform:translate(-101%)}.curtain-panel--right{justify-content:flex-start;right:0;transform:translate(101%)}.curtain-panel>span{color:#f3f1e9;letter-spacing:-.08em;opacity:.055;white-space:nowrap;font:500 clamp(56px,11vw,170px) DM Mono}.curtain-panel--left>span{transform:translate(.02em)}.curtain-panel--right>span{color:var(--acid);transform:translate(-.02em)}.curtain--closing .curtain-panel,.curtain--result .curtain-panel{transform:translate(0)}.curtain-seam{opacity:0;background:#69705f;width:1px;transition:opacity .15s .48s;position:absolute;top:0;bottom:0;left:50%}.curtain--closing .curtain-seam,.curtain--result .curtain-seam{opacity:1}.curtain--opening .curtain-seam{transition-delay:0s}.curtain:before,.curtain:after{content:"";z-index:2;background:var(--accent);opacity:0;border-radius:50%;width:11px;height:11px;transition:opacity .1s .5s;position:absolute;left:50%;transform:translate(-50%)}.curtain:before{top:24px}.curtain:after{bottom:24px}.curtain--closing:before,.curtain--closing:after,.curtain--result:before,.curtain--result:after{opacity:1}.result-card{z-index:3;text-align:center;color:#24231f;width:min(470px,100vw - 34px);box-shadow:12px 12px 0 var(--accent);background:#f7f4eb;padding:clamp(27px,5vw,48px);animation:.45s cubic-bezier(.2,.9,.25,1.15) 80ms both resultReveal;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.result-card:before{content:"";pointer-events:none;border:1px solid #ddd8cc;position:absolute;inset:10px}.result-spark{z-index:1;background:var(--acid);border-radius:50%;place-items:center;width:42px;height:42px;margin:0 auto 15px;font-size:18px;display:grid;position:relative}.result-kicker{z-index:1;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font:500 9px DM Mono;position:relative}.result-card h2{z-index:1;letter-spacing:-.055em;max-width:350px;margin:10px auto 12px;font-size:clamp(31px,5vw,45px);line-height:.96;position:relative}.result-card>p{z-index:1;color:#747168;margin:0;font-size:12px;position:relative}.result-card>p strong{color:#24231f;letter-spacing:.08em;font-family:DM Mono}.result-stats{z-index:1;grid-template-columns:1fr 1px 1fr;align-items:center;width:210px;margin:26px auto;display:grid;position:relative}.result-stats>i{background:#d8d3c7;height:38px}.result-stats span{flex-direction:column;gap:3px;display:flex}.result-stats small{color:#918e85;text-transform:uppercase;letter-spacing:.1em;font:8px DM Mono}.result-stats strong{font:500 22px DM Mono}.result-route{z-index:1;flex-wrap:wrap;justify-content:center;gap:6px;margin:24px 0;display:flex;position:relative}.result-route span{align-items:center;gap:6px;display:flex}.result-route b{border:1px solid #d7d2c5;padding:6px 7px;font:500 9px DM Mono}.result-route i{color:var(--accent);font-style:normal}.result-actions{z-index:1;grid-template-columns:1fr 1.35fr;gap:8px;display:grid;position:relative}.result-actions button{cursor:pointer;color:#66645d;text-transform:uppercase;background:0 0;border:1px solid #d4d0c5;min-height:43px;font:500 10px DM Mono}.result-actions button:hover{border-color:var(--accent);color:var(--accent)}.result-actions .result-next{color:#fff;background:#20251e;border-color:#20251e;justify-content:space-between;align-items:center;padding-inline:14px;display:flex}.result-actions .result-next:hover{background:var(--accent);color:#fff}.tour-layer{z-index:500;position:fixed;inset:0}.tour-scrim{cursor:default;background:#11140fd9;border:0;width:100%;height:100%;position:absolute;inset:0}.tour-highlight{z-index:1;border:2px solid var(--acid);pointer-events:none;border-radius:9px;transition:all .3s;animation:1.8s ease-in-out infinite spotlightPulse;position:fixed;box-shadow:0 0 0 9999px #11140fbd,0 0 32px #d9f64b33}.tour-card{z-index:2;color:#24231f;width:min(430px,100vw - 30px);box-shadow:12px 12px 0 var(--accent);background:#f8f6ef;padding:clamp(24px,4vw,38px);position:fixed}.tour-card--welcome{top:50%;left:50%;transform:translate(-50%,-50%)}.tour-card--guided{bottom:clamp(15px,5vw,55px);right:clamp(15px,5vw,70px)}.tour-progress{gap:5px;margin-bottom:28px;display:flex}.tour-progress i{background:#dedbd1;flex:1;height:3px}.tour-progress i.active{background:var(--accent)}.tour-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font:500 9px DM Mono}.tour-card h2{letter-spacing:-.045em;margin:9px 0 12px;font-size:clamp(29px,4vw,40px);line-height:1}.tour-card>p{color:#66645d;margin:0;font-size:13px;line-height:1.65}.tour-demo{align-items:center;gap:5px;margin:25px 0 5px;display:flex}.tour-demo b{border:1px solid #d2cec2;place-items:center;width:30px;height:34px;font:500 12px DM Mono;display:grid}.tour-demo b.changed{background:var(--acid);border-color:#afc333}.tour-demo span{color:var(--accent);margin:0 5px}.tour-buttons{align-items:center;gap:8px;margin-top:28px;display:flex}.tour-buttons button{cursor:pointer}.tour-skip,.tour-back{color:#77746b;text-transform:uppercase;background:0 0;border:0;padding:10px 6px;font:500 10px DM Mono}.tour-back{margin-left:auto}.tour-next{color:#fff;background:#20251e;border:0;justify-content:space-between;min-width:125px;margin-left:auto;padding:12px 14px;font-size:12px;display:flex}.tour-back+.tour-next{margin-left:0}@keyframes loaderLetter{0%{opacity:0;transform:translateY(14px)rotate(3deg)}}@keyframes loaderTrack{0%{width:0}to{width:100%}}@keyframes spotlightPulse{50%{border-color:var(--accent)}}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes menuOrbit{to{transform:rotate(360deg)}}@keyframes resultReveal{0%{opacity:0;transform:translate(-50%,-47%)scale(.94)}}@media (width<=860px){.game-layout{height:auto;min-height:calc(100dvh - 48px)}.game-column{padding-inline:clamp(18px,7vw,60px)}.main-menu{grid-template-columns:1fr}.menu-graphic{display:none}.menu-panel{padding-inline:max(22px,8vw)}}@media (width<=700px),(pointer:coarse){.word-form>label{display:none}.mobile-character-editor{margin-bottom:9px;display:block;position:relative}.mobile-edit-instruction{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:6px;margin-bottom:7px;font:500 8px DM Mono;display:flex}.mobile-edit-instruction i{color:var(--accent);font-size:14px;font-style:normal;animation:1.5s ease-in-out infinite editCue;display:inline-block}.character-tiles{gap:5px;display:grid}.character-tiles button{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 80%, var(--line));min-width:0;height:40px;color:var(--ink);cursor:pointer;text-transform:uppercase;font:500 15px DM Mono;transition:transform .15s,border-color .15s,background .15s}.character-tiles button.active{z-index:2;border-color:var(--accent);background:var(--accent);color:#fff;animation:.8s ease-in-out infinite alternate selectedLetter;transform:translateY(-3px);box-shadow:0 3px #a92f1b}.letter-keyboard{--key-pointer:50%;z-index:40;color:#f5f3ec;width:100%;box-shadow:7px 8px 0 var(--acid), 0 18px 45px #1618134d;background:#20251e;border:1px solid #4a5045;padding:10px;animation:.24s cubic-bezier(.2,.9,.25,1.2) both keyboardPop;position:absolute;top:calc(100% + 11px);left:0}.letter-keyboard:before{content:"";left:clamp(12px, var(--key-pointer), calc(100% - 12px));background:#20251e;border-top:1px solid #4a5045;border-left:1px solid #4a5045;width:14px;height:14px;position:absolute;top:-8px;transform:translate(-50%)rotate(45deg)}.letter-keyboard-heading{color:#a4aa9a;text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;margin-bottom:8px;font:500 8px DM Mono;display:flex;position:relative}.letter-keyboard-heading b{color:#20251e;background:var(--acid);place-items:center;width:21px;height:21px;margin-right:5px;font-size:11px;display:inline-grid}.letter-keyboard-heading button{color:#f5f3ec;background:0 0;border:1px solid #4a5045;border-radius:50%;width:25px;height:25px;padding:0;font-size:17px;line-height:1}.letter-keyboard-keys{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.letter-keyboard-keys button{color:#20251e;background:#f4f1e8;border:0;border-bottom:2px solid #858b7b;border-radius:4px;flex:0 0 calc(10% - 4px);min-width:24px;height:31px;padding:0;font:500 11px DM Mono}.letter-keyboard-keys button:active:not(:disabled){background:var(--acid);border-bottom-width:0;transform:translateY(2px)}.letter-keyboard-keys button:disabled{opacity:.2}.input-row input{pointer-events:none}}@media (width<=560px){.game-column{padding:60px 15px 44px}.game-field-menu{top:14px;right:15px}.game-intro{margin-bottom:25px;display:block}.difficulty-switcher{width:max-content;margin-top:22px}.game-stats{border-radius:12px 12px 0 0}.stat{padding:11px 12px}.play-card{padding:18px 14px 24px}.word-card{letter-spacing:.23em;min-height:61px;padding:10px 14px}.chain-line{margin-left:21px}.submit-button{min-width:78px}.submit-button span:first-child{display:none}.submit-button{justify-content:center;font-size:20px}.word-form>label{display:none}.mobile-character-editor{margin-bottom:9px;display:block}.mobile-edit-instruction{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:6px;margin-bottom:7px;font:500 8px DM Mono;display:flex}.mobile-edit-instruction i{color:var(--accent);font-size:14px;font-style:normal;animation:1.5s ease-in-out infinite editCue;display:inline-block}.character-tiles{gap:5px;display:grid}.character-tiles button{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 80%, var(--line));min-width:0;height:37px;color:var(--ink);cursor:text;text-transform:uppercase;font:500 15px DM Mono;transition:transform .15s,border-color .15s,background .15s}.character-tiles button.active{border-color:var(--accent);background:var(--accent);color:#fff;animation:.8s ease-in-out infinite alternate selectedLetter;transform:translateY(-3px);box-shadow:0 3px #a92f1b}.character-tiles button:focus-visible{outline-offset:1px}.game-actions{gap:14px}.text-button{font-size:9px}footer,.mode-pill{display:none}.menu-panel{justify-content:flex-start;padding-block:25px}.menu-brand{margin-bottom:28px}.menu-options,.menu-settings,.menu-play-actions.has-session{grid-template-columns:1fr}.menu-options button{padding:9px 12px}.menu-panel h1{font-size:40px}.curtain-panel:before{inset:8px}.result-card{box-shadow:7px 7px 0 var(--accent)}.tour-card--guided{bottom:15px;right:15px}.tour-card{box-shadow:7px 7px 0 var(--accent)}}@keyframes editCue{50%{transform:translateY(-3px)}}@keyframes selectedLetter{to{box-shadow:0 3px #a92f1b,0 0 0 3px #ff5a3624}}@keyframes keyboardPop{0%{opacity:0;transform:translateY(-8px)scale(.97)}}@media (prefers-color-scheme:dark){:root{color:#eae8e0;--ink:#eae8e0;--muted:#96958e;--paper:#1b1e1a;--line:#3b3d37;--dark:#eff0e8;background:#171916}body,.game-shell{background:var(--paper)}.brand-mark{color:#1b1e1a}.game-stats,.difficulty-switcher{background:#20231f}.difficulty-switcher button.active{background:#323630}.word-card{background:#20231f}.word-card--current{background:#272a26;box-shadow:4px 4px #696d61}.input-row input{color:#f3f2ec;background:#242723}.input-row input:disabled{background:#22241f}.submit-button{color:#171916;background:#eae8e0;border-color:#eae8e0}.hint-panel{color:#252a0d}.win-banner{background:#30362f}.give-up-banner{background:#252722}.tour-card{color:#24231f;background:#f8f6ef}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.menu-back-modes{color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:0;align-self:flex-start;margin:0 0 18px;padding:0;font:500 9px DM Mono}.menu-back-modes:hover{color:var(--accent)}.mode-game-menu{z-index:3;position:absolute;top:22px;right:clamp(16px,5vw,58px)}.mode-menu-graphic>strong{z-index:2;color:var(--acid);letter-spacing:-.12em;text-shadow:12px 14px #11150f80;font:500 clamp(80px,15vw,190px) DM Mono;position:relative;transform:rotate(-5deg)}.mode-menu-difficulty{border:0;max-width:620px;margin:0 0 13px;padding:0}.mode-menu-difficulty legend{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px;font:500 9px DM Mono}.mode-menu-difficulty .shared-difficulty{width:100%}.mode-menu-difficulty .shared-difficulty button{flex:1}.mode-menu-records{border:1px solid var(--line);grid-template-columns:repeat(2,1fr);max-width:620px;margin-bottom:13px;display:grid}.mode-menu-records>span{min-height:48px;color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;padding:10px 13px;font:8px DM Mono;display:flex}.mode-menu-records>span+span{border-left:1px solid var(--line)}.mode-menu-records strong{color:var(--ink);font-size:13px}.mode-menu-settings{grid-template-columns:1fr}.mode-selector-shell{background:var(--paper);min-height:100dvh;padding:0 clamp(18px,5vw,72px)}.selector-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;display:flex}.selector-header .menu-brand{margin:0}.selector-header>span:last-child{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font:9px DM Mono}.selector-intro{grid-template-columns:minmax(400px,1fr) minmax(240px,390px);align-items:end;gap:35px;padding:clamp(38px,6vh,68px) 0 35px;display:grid}.selector-intro h1{max-width:none;font-size:clamp(45px,6vw,78px)}.selector-intro p{color:var(--muted);margin:0 0 4px;font-size:13px;line-height:1.7}.mode-card-grid{grid-template-columns:repeat(6,1fr);gap:10px;padding-bottom:48px;display:grid}.mode-card{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 93%, var(--line));min-height:225px;color:var(--ink);text-align:left;cursor:pointer;grid-column:span 2;padding:19px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.mode-card:first-child,.mode-card:nth-child(2){grid-column:span 3}.mode-card:hover{z-index:1;border-color:var(--ink);box-shadow:7px 8px 0 var(--ink);transform:translateY(-5px)rotate(-.4deg)}.mode-card:before{content:"";border:1px solid var(--line);border-radius:50%;width:150px;height:150px;position:absolute;top:-60px;right:-55px}.mode-card-number,.mode-card-tag{z-index:1;text-transform:uppercase;letter-spacing:.1em;font:8px DM Mono;position:relative}.mode-card-number{color:var(--accent)}.mode-card-tag{float:right;color:var(--muted)}.mode-card-mark{color:var(--accent);letter-spacing:-.08em;margin-top:28px;font:500 clamp(33px,4vw,52px) DM Mono;display:block}.mode-card--endless .mode-card-mark{color:var(--acid);-webkit-text-stroke:1px #78831f}.mode-card--daily .mode-card-mark{font-family:Playfair Display;font-style:italic}.mode-card--ai-battle .mode-card-mark{color:var(--ink)}.mode-card--territory .mode-card-mark{color:var(--acid)}.mode-card-copy{position:absolute;bottom:19px;left:19px;right:50px}.mode-card-copy>strong{letter-spacing:-.04em;font-size:17px;display:block}.mode-card-copy small{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.45;display:block}.mode-card>i{color:var(--accent);font-size:19px;font-style:normal;position:absolute;bottom:18px;right:18px}.mode-shell{max-width:980px;min-height:100dvh;margin:0 auto;padding:clamp(66px,8vh,88px) clamp(16px,5vw,58px) 50px;position:relative}.mode-back{color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:0;align-items:center;gap:7px;padding:5px 0;font:500 9px DM Mono;display:inline-flex;position:absolute;top:25px;left:clamp(16px,5vw,58px)}.mode-back>span{color:var(--accent);font-size:15px;line-height:.7;transition:transform .2s}.mode-back:hover>span{transform:translate(-3px)}.game-field-back{z-index:3;top:20px;left:clamp(22px,6vw,70px)}.mode-back:hover{color:var(--accent)}.mode-header{justify-content:space-between;align-items:end;gap:25px;margin-bottom:clamp(24px,4vh,38px);display:flex}.mode-header h1{text-transform:capitalize;margin-top:8px}.mode-header p{max-width:570px;color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.6}.shared-difficulty{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 85%, var(--line));padding:4px;display:flex}.shared-difficulty button{cursor:pointer;min-width:70px;color:var(--muted);text-transform:capitalize;background:0 0;border:0;padding:8px 10px;font-size:10px}.shared-difficulty button small{margin-top:2px;font:7px DM Mono;display:block}.shared-difficulty button.active{background:var(--dark);color:var(--paper)}.shared-difficulty button:disabled{cursor:not-allowed;opacity:.55}.mode-stats-grid{border:1px solid var(--line);border-bottom:0;grid-template-columns:repeat(4,1fr);display:grid}.mode-stat{border-right:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, var(--line));justify-content:space-between;align-items:center;min-height:58px;padding:11px 15px;display:flex}.mode-stat:last-child{border-right:0}.mode-stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:8px DM Mono}.mode-stat strong{font:500 16px DM Mono}.mode-stat--accent strong{color:var(--accent)}.mode-board{border:1px solid var(--line);background:var(--paper);min-height:430px;padding:clamp(20px,4vw,38px);position:relative;box-shadow:0 25px 65px #25231e0c}.mode-current{background:var(--dark);max-width:520px;color:var(--paper);justify-content:space-between;align-items:center;margin:0 auto 17px;padding:14px 18px;display:flex}.mode-current small{color:color-mix(in srgb, var(--paper) 60%, transparent);text-transform:uppercase;letter-spacing:.1em;font:8px DM Mono}.mode-current strong{letter-spacing:.22em;font:500 clamp(24px,4vw,34px) DM Mono}.mode-chain-panel{max-width:520px;margin:0 auto 18px}.mode-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;font:8px DM Mono;display:block}.mode-chain-list{flex-wrap:wrap;align-content:flex-start;gap:6px;max-height:105px;display:flex;overflow:auto}.mode-chain-list>span{border:1px solid var(--line);color:var(--muted);padding:6px 8px;font:500 9px DM Mono;animation:.2s ease-out panelIn}.mode-chain-list>span.latest{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--paper) 90%, var(--accent))}.mode-chain-list i{color:var(--line);margin-left:5px;font-style:normal}.mode-actions{border-top:1px solid var(--line);justify-content:space-between;gap:8px;max-width:520px;margin:12px auto 0;padding-top:12px;display:flex}.mode-actions button{border:1px solid var(--line);color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;padding:9px 12px;font:500 9px DM Mono}.mode-actions button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.mode-actions button:disabled{opacity:.4;cursor:not-allowed}.mode-actions button.danger{color:var(--accent);margin-left:auto}.mode-actions .share-button{background:var(--dark);color:var(--paper)}.mode-result-banner{color:#fff;border-left:4px solid var(--accent);background:#2b2e29;justify-content:space-between;gap:15px;max-width:520px;margin:0 auto 16px;padding:12px 15px;animation:.4s ease-out winIn;display:flex}.mode-result-banner strong{font-size:12px}.mode-result-banner span{color:#a8aaa3;font-size:9px}.mode-result-banner.success{border-left-color:var(--acid)}.territory-grid{grid-template-columns:repeat(auto-fill,minmax(65px,1fr));gap:5px;max-width:520px;max-height:116px;margin:0 auto 17px;display:grid;overflow:auto}.territory-grid span{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, var(--line));place-items:center;padding:8px 5px;font:500 9px DM Mono;display:grid}.territory-grid span.new-capture{color:#22271f;background:var(--acid);border-color:#b3c83c;animation:.45s cubic-bezier(.2,.9,.2,1.25) capturePop}.daily-complete-badge{color:#65700b;text-transform:uppercase;background:#f1fac7;border:1px solid #c8d76d;max-width:520px;margin:0 auto 12px;padding:8px 11px;font:500 8px DM Mono}.battle-turn{max-width:520px;color:var(--muted);align-items:center;gap:9px;margin:0 auto 12px;font-size:10px;display:flex}.battle-turn i{background:var(--accent);border-radius:50%;width:8px;height:8px}.battle-turn i.ai{background:var(--acid);animation:.8s ease-in-out infinite alternate aiPulse;box-shadow:0 0 0 4px #d9f64b25}.battle-turn i.ended{background:var(--muted)}.ai-thinking .mode-current strong{animation:.8s ease-in-out infinite alternate aiPulse}.ai-arrival{animation:.4s ease-out capturePop!important}@keyframes capturePop{0%{opacity:0;transform:scale(.7)rotate(-4deg)}}@keyframes aiPulse{to{opacity:.45}}@media (width<=860px){.selector-intro{grid-template-columns:1fr;gap:15px}.mode-card-grid{grid-template-columns:repeat(2,1fr)}.mode-card,.mode-card:first-child,.mode-card:nth-child(2){grid-column:span 1}}@media (width<=560px){.mode-selector-shell{padding-inline:14px}.selector-header{height:62px}.selector-intro{padding:32px 2px 24px}.selector-intro h1{font-size:42px}.mode-card-grid{grid-template-columns:1fr;gap:7px}.mode-card{min-height:128px;padding:14px}.mode-card-mark{margin-top:13px;font-size:31px}.mode-card-copy{bottom:31px;left:85px}.mode-card>i{bottom:15px}.mode-selector-shell footer{display:flex}.mode-selector-shell footer span:last-child{display:none}.mode-shell{padding:58px 12px 30px}.mode-back{top:18px;left:14px}.mode-header{margin-bottom:20px;display:block}.mode-header h1{font-size:38px}.mode-header .shared-difficulty{margin-top:16px}.shared-difficulty button{flex:1}.mode-stats-grid{grid-template-columns:repeat(2,1fr)}.mode-stat:nth-child(2){border-right:0}.mode-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.mode-board{padding:16px 10px 22px}.mode-current{padding:11px 13px}.mode-result-banner{flex-direction:column;gap:3px}.mode-game-menu{top:14px;right:14px}.mode-menu-records{grid-template-columns:1fr 1fr}}
