:root{color:#f5f8fb;font-synthesis:none;text-rendering:optimizelegibility;--dupli-night:#07152f;--dupli-cyan:#36d5e8;--dupli-platinum:#dfe9f2;background:#07152f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button{font:inherit}.immersive-home{isolation:isolate;background:var(--dupli-night);width:100%;height:100svh;min-height:100dvh;position:relative;overflow:hidden}.immersive-home__scene{z-index:-4;object-fit:cover;object-position:50% center;width:100%;height:100%;position:absolute;inset:0}.immersive-home__scene--backdrop{filter:saturate(1.05)contrast(1.03)brightness(.82);transform:scale(1.01)}.immersive-home__scene--home-backdrop{object-fit:cover;object-position:center}.immersive-home--home .immersive-home__veil,.immersive-home--home:after{display:none}.board-stage{z-index:-2;filter:saturate(1.05)contrast(1.02)drop-shadow(0 1.2rem 2.2rem #00020e7a);width:min(96vw,76rem);position:absolute;top:19vh;left:50%;transform:translate(-50%)}.immersive-home__board{width:100%;height:auto;display:block}.board-grid-actions{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board-grid-hit-targets{position:absolute;inset:0}.board-grid-hit-target{z-index:1;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.board-grid-hit-target:focus-visible{outline-offset:-2px;outline:2px solid #fffdf1}.board-grid-hit-target:disabled{cursor:not-allowed}.board-grid-action{cursor:pointer;outline:none}.board-grid-action__hit{fill:#0000;pointer-events:all}.board-grid-action__tile{fill:url(#dupliword-board-tile);stroke:#8cefff;stroke-width:2.3px;filter:drop-shadow(0 5px 3px #0000007a)}.board-grid-action__letter{fill:#fffdf1;text-anchor:middle;dominant-baseline:central;pointer-events:none;text-shadow:0 2px 3px #000;font-family:Bruno Ace SC,serif;font-weight:700}.board-grid-action:hover .board-grid-action__tile,.board-grid-action:focus .board-grid-action__tile{fill:#b7203f;stroke:#fffdf1}.board-grid-action--disabled{cursor:not-allowed;opacity:.42}.board-grid-action--disabled .board-grid-action__tile{fill:#23354f}.board-stage--home{z-index:0;filter:none;width:min(92vw,73svh - 10.95rem,38rem);max-width:none;top:clamp(9.5rem,23svh,15rem)}.home-orbit-board{aspect-ratio:688/720;width:100%;transform-style:preserve-3d;transform-origin:50% 55%;filter:drop-shadow(0 1rem 1.2rem #00030fa6);animation:36s linear infinite home-board-space-spin;position:relative;transform:perspective(950px)rotateX(38deg)rotateY(0)rotate(-9deg)}.home-vector-board{pointer-events:none;backface-visibility:hidden;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.home-vector-board--back{transform:rotateY(180deg)}@keyframes home-board-space-spin{0%{transform:perspective(950px)rotateX(38deg)rotateY(0)rotate(-9deg)}to{transform:perspective(950px)rotateX(38deg)rotateY(360deg)rotate(-9deg)}}.board-stage--home .home-play-rack{top:calc(100% - clamp(1rem,4vw,2rem))}.home-play-rack{z-index:3;appearance:none;cursor:pointer;touch-action:manipulation;background:0 0;border:0;min-width:min(80vw,24rem);margin:0;padding:.25rem .65rem .58rem;transition:transform .16s,filter .16s;display:grid;position:absolute;top:calc(100% + clamp(.2rem,1.2vh,.65rem));left:50%;transform:translate(-50%)}.home-play-rack__tiles{z-index:1;justify-content:center;gap:clamp(.1rem,.4vw,.24rem);padding:0 clamp(.35rem,1.5vw,.85rem);display:flex}.home-play-rack__tile{aspect-ratio:.84;color:#fffdf1;text-shadow:0 2px 3px #22000c;background:linear-gradient(160deg,#ef2446 0%,#c7082b 54%,#6f081f 100%);border:2px solid #36d5e8;border-radius:clamp(.35rem,.8vw,.62rem);place-items:center;width:clamp(2.25rem,5.2vw,3.45rem);font:400 clamp(1.2rem,3.5vw,2.15rem)/1 Bruno Ace SC;display:grid;box-shadow:inset 0 0 0 3px #ffe7a475,0 0 .7rem #0adcff61,0 .35rem .7rem #00000080}.home-play-rack__support{background:linear-gradient(#71d5eb47 0 16%,#0000 17%),linear-gradient(#174a68 0%,#0a2948 40%,#041225 72%,#010611 100%);border:2px solid #c99a43;border-radius:.34rem .34rem .9rem .9rem;justify-self:center;width:78%;height:clamp(1.35rem,3.3vw,2rem);margin:calc(-1*clamp(.32rem,.7vw,.48rem)) 0 0;display:block;position:relative;box-shadow:inset 0 0 0 2px #33bcd985,inset 0 .45rem .45rem #89cbdf29,0 .42rem .85rem #00000085}.home-play-rack__support:before{z-index:-1;content:"";background:linear-gradient(#0e3554,#06172e);border:1px solid #d8a64ad1;border-bottom:0;border-radius:.5rem .5rem 0 0;height:.78rem;position:absolute;top:-.44rem;left:3%;right:3%;box-shadow:0 -.08rem .3rem #2cdaf038}.home-play-rack__support:after{content:"";background:linear-gradient(90deg,#0000,#d7a750 14% 86%,#0000);height:1px;position:absolute;top:42%;left:4%;right:4%}.home-play-rack:hover,.home-play-rack:focus-visible,.home-play-rack:active{filter:brightness(1.12);transform:translate(-50%)translateY(-.15rem)}.home-play-rack:focus-visible{outline-offset:.25rem;outline:2px solid #fffdf1}.immersive-home--home .home-stage{pointer-events:none;z-index:1}.immersive-home--home .utility-nav{pointer-events:auto}.immersive-home--home .home-hero{z-index:2;padding-bottom:clamp(2.75rem,6vw,4.5rem);position:relative;overflow:visible}.immersive-home--home .dupliword-heading,.immersive-home--home .dupliword-wordmark{overflow:visible}.immersive-home__veil{z-index:-3;background:linear-gradient(#02091c2e 0%,#0000 42%,#02081794 100%);position:absolute;inset:0}.immersive-home:after{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 50% 46%,#0000 48%,#00030e5c 100%);position:absolute;inset:0}.home-stage{place-items:center;width:100%;height:100%;display:grid;position:relative}.home-hero{width:100%;padding:max(clamp(1.5rem, 4vh, 3rem), calc(env(safe-area-inset-top) + .75rem)) max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));perspective:900px;align-self:start;justify-items:center;display:grid}.play-button{opacity:0;cursor:pointer;background:0 0;border:0;gap:clamp(2px,.35vw,5px);margin-top:clamp(3rem,6.4vw,5.6rem);padding:0;animation:.35s ease-out .22s forwards control-reveal;display:flex;position:relative;transform:scale(.97)}.play-tile{width:clamp(2.25rem,4.1vw,3.5rem);font-size:clamp(1rem,2.2vw,1.7rem);transition:transform .2s,filter .2s;position:relative}.play-tile:after{color:#00d9ff;content:attr(data-letter);opacity:0;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.play-button:hover,.play-button:focus-visible{outline:none}.play-button:hover .play-tile,.play-button:focus-visible .play-tile,.play-button:active .play-tile{filter:brightness(1.08);transform:translateY(-3px)}.play-button:hover .play-tile:after,.play-button:focus-visible .play-tile:after,.play-button:active .play-tile:after{animation:.2s ease-out play-text-echo}.home-language{color:#ebf7fbd1;letter-spacing:.12em;justify-items:center;gap:.35rem;margin-top:.75rem;font:400 .62rem/1 Bruno Ace SC;display:grid;position:relative}.home-language>button,.home-language__choices button{color:#fffdf1;font:inherit;letter-spacing:inherit;cursor:pointer;background:#04122ce0;border:1px solid #00d9ff80;border-radius:.35rem}.home-language>button{padding:.42rem .65rem}.home-language__choices{z-index:3;background:#030c1ff7;border:1px solid #00d9ff6b;border-radius:.45rem;gap:.3rem;min-width:11rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .3rem)}.home-language__choices button{padding:.5rem}.home-language__choices button[aria-pressed=true]{color:#fffdf1;border-color:#d31535e0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tile-scene{width:min(94vw,48rem);min-height:100%;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));align-content:center;justify-items:center;gap:clamp(1rem,3vh,2rem);display:grid;position:relative}.scene-back{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));aspect-ratio:1;color:#fffdf1;cursor:pointer;background:#04132cad;border:1px solid #00d9ff85;border-radius:50%;place-items:center;width:2.65rem;padding:0 0 .16rem;font-size:2rem;display:grid;position:absolute;box-shadow:0 0 .9rem #00d9ff1f}.tile-action{max-width:100%;color:inherit;cursor:pointer;background:#03102561;border:0;border-radius:.65rem;justify-content:center;align-items:center;padding:.5rem;transition:transform .16s,filter .16s,box-shadow .16s;display:inline-flex;box-shadow:0 .4rem 1.1rem #00030f3d}.tile-action:hover,.tile-action:focus-visible,.tile-action--selected{filter:brightness(1.12);outline:none;transform:translateY(-.28rem);box-shadow:0 .55rem 1.25rem #00d9ff33,0 0 .8rem #00d9ff2e}.tile-action--disabled{cursor:not-allowed;opacity:.45}.tile-action--disabled small{color:#c9d9e8;margin:.35rem 0 0;font:500 .62rem/1 Inter,sans-serif}.tile-action--long{min-height:3.75rem}.tile-action--continue,.tile-action--start{margin-top:clamp(.8rem,3vh,2rem)}.tile-word{justify-content:center;gap:clamp(1px,.25vw,4px);max-width:100%;display:inline-flex}.tile-word__space{width:clamp(.2rem,.65vw,.55rem)}.tile-word__tile{aspect-ratio:1;place-items:center;width:clamp(1.45rem,3.3vw,2.8rem);padding:0;font-size:clamp(.64rem,1.7vw,1.25rem);display:grid}.tile-action--long .tile-word__tile{width:clamp(1.2rem,2.9vw,2.45rem);font-size:clamp(.5rem,1.45vw,1.05rem)}.tile-action--duration .tile-word__tile{width:clamp(1rem,2.05vw,1.6rem);font-size:clamp(.48rem,1vw,.72rem)}.mode-console-scene{width:100%;height:100%;position:relative}.mode-console-layout{justify-items:center;width:min(94vw,64rem);display:grid;position:absolute;top:clamp(4.75rem,11vh,7rem);left:50%;transform:translate(-50%)}.mode-console-board{z-index:1;min-width:0;position:relative}.mode-console-board img{width:100%;max-width:62rem;height:auto;display:block;transform:none;-webkit-mask-image:radial-gradient(70% 52% at 50% 55%,#fff 74%,#ffffffdb 87%,#0000 100%);mask-image:radial-gradient(70% 52% at 50% 55%,#fff 74%,#ffffffdb 87%,#0000 100%)}.mode-cockpit{z-index:2;clip-path:polygon(4% 0,96% 0,100% 13%,97% 100%,3% 100%,0 13%);background:linear-gradient(90deg,#29d5ef29 0 3%,#0000 4% 96%,#e3b34d2e 97%),repeating-linear-gradient(0deg,#0000 0 .56rem,#6dafc11a .6rem .66rem),linear-gradient(135deg,#173e5d,#071a33 47%,#020912);border:2px solid #bf8a36;border-radius:.4rem .4rem .9rem .9rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.35rem,1.4vw,.9rem);width:min(91vw,56rem);min-height:clamp(7.2rem,14vw,9.8rem);margin-top:clamp(-4rem,-5vw,-2.35rem);padding:clamp(.52rem,1vw,.8rem) clamp(.55rem,1.2vw,1rem);display:grid;position:relative;box-shadow:inset 0 0 0 2px #34c3dd6b,inset 0 0 1.2rem #040d22db,0 .55rem 1rem #00021094,0 0 .85rem #23cdec2e}.mode-cockpit:before,.mode-cockpit:after{content:"";background:linear-gradient(90deg,#0000,#dea646e0,#0000);height:1px;position:absolute;left:8%;right:8%}.mode-cockpit:before{top:.45rem}.mode-cockpit:after{bottom:.45rem}.mode-cockpit__bolt{z-index:1;aspect-ratio:1;background:#071426;border:1px solid #d6a44d;border-radius:50%;width:.42rem;position:absolute;box-shadow:inset 0 0 0 1px #102b49}.mode-cockpit__bolt--top{top:.38rem}.mode-cockpit__bolt--bottom{bottom:.38rem}.mode-cockpit__command{color:#fffdf1;min-height:0;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:.35rem;grid-template-rows:auto auto;justify-items:center;gap:.22rem;padding:.24rem .16rem;transition:transform .14s,filter .14s,box-shadow .14s;display:grid;position:relative}.mode-cockpit__command:hover,.mode-cockpit__command:focus-visible,.mode-cockpit__command:active{filter:brightness(1.14);outline:none;transform:translateY(-.12rem);box-shadow:0 0 .55rem #33e1f447}.mode-cockpit__command:active{transform:translateY(.08rem)}.mode-cockpit__lamp{aspect-ratio:1;background:#42dff1;border:1px solid #aeefff;border-radius:50%;width:.42rem;position:absolute;top:.4rem;right:.35rem;box-shadow:0 0 .5rem #28ddf0,inset 0 0 .14rem #dfffff}.mode-cockpit__switch{aspect-ratio:1;background:radial-gradient(circle at 42% 34%,#27688a,#0a2946 54%,#031022 100%);border:2px solid #ca9b4d;border-radius:50%;place-items:center;width:clamp(2rem,4.7vw,3.2rem);display:grid;box-shadow:inset 0 0 0 3px #2dd1e961,inset 0 -.25rem .35rem #00020eb8,0 .24rem .32rem #0000009e,0 0 .5rem #24dcf13d}.mode-cockpit__switch svg{fill:none;stroke:#eafcff;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 .2rem #35e0f4c7);width:55%;height:55%}.mode-cockpit__plate{color:#fffdf1;letter-spacing:.025em;text-align:center;text-transform:uppercase;background:linear-gradient(#10324c,#061426);border:1px solid #5cd3e25c;border-radius:.2rem;place-items:center;min-width:0;min-height:1.58rem;padding:.16rem .1rem;font:400 clamp(.38rem,1.15vw,.63rem)/1.12 Bruno Ace SC;display:grid}.mode-cockpit__plate small{color:#e4b86ac7;margin-top:.1rem;font:400 .39rem/1 Bruno Ace SC}.mode-cockpit__command--disabled{color:#deebee70;cursor:not-allowed;background:0 0;border-color:#879aa47a}.mode-cockpit__command--disabled .mode-cockpit__lamp{background:#1a2630;border-color:#384652;box-shadow:inset 0 0 .12rem #15202a}.mode-cockpit__command--disabled .mode-cockpit__switch{background:#091522;border-color:#52606b;box-shadow:inset 0 0 0 3px #14202a,inset 0 -.25rem .35rem #00020eb8}.mode-cockpit__command--disabled .mode-cockpit__switch svg{stroke:#60717c;filter:none}.mode-cockpit__command--disabled .mode-cockpit__plate{color:#deebee6b;background:#08111d;border-color:#5c748052}.cockpit-mode-layout{background:#020713;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.mode-console-scene .scene-back{z-index:3}.cockpit-mode-stage{aspect-ratio:941/1672;width:min(100vw,56.3svh);position:relative}.cockpit-mode-layout__image{width:100%;height:100%;display:block}.cockpit-mode-layout__controls{position:absolute;inset:0}.cockpit-mode-command{appearance:none;color:#eefaff;cursor:pointer;touch-action:manipulation;background:0 0;border:0;width:29%;height:23.4%;margin:0;padding:0;position:absolute;top:55.7%}.cockpit-mode-command--ai{left:2%}.cockpit-mode-command--online{left:35.5%}.cockpit-mode-command--tournament{cursor:not-allowed;right:2%}.cockpit-mode-command:before{aspect-ratio:1;content:"";border-radius:50%;width:74%;transition:box-shadow .15s;position:absolute;top:1%;left:13%;box-shadow:0 0 1.4rem #2de2ff00}.cockpit-mode-command:hover:before,.cockpit-mode-command:focus-visible:before,.cockpit-mode-command:active:before{box-shadow:0 0 1.2rem .22rem #2de2ff85,inset 0 0 .9rem #57efff3d}.cockpit-mode-command:focus-visible{outline-offset:-.2rem;outline:2px solid #dcfaff}.cockpit-mode-command:active:before{box-shadow:0 0 1.6rem .36rem #2de2ff9e,inset 0 0 1.1rem #57efff57}.cockpit-mode-command__label{color:#edfaff;letter-spacing:.035em;text-align:center;text-shadow:0 0 .32rem #0dc5ea,0 1px 2px #020817;text-transform:uppercase;pointer-events:none;place-content:center;min-height:1.6em;font:400 clamp(.42rem,1.7vw,.88rem)/1.08 Bruno Ace SC;display:grid;position:absolute;bottom:17%;left:5%;right:5%}.cockpit-mode-command__label small{color:#e4b86ad9;letter-spacing:.08em;margin-top:.22em;font:400 .66em/1 Bruno Ace SC;display:block}.cockpit-mode-command--tournament{filter:brightness(.72)saturate(.72)}.cockpit-mode-command--tournament:before{box-shadow:none}.ai-config-scene{width:100%;height:100%;position:relative}.immersive-home--local-create .board-stage{z-index:0;filter:saturate(1.05)contrast(1.03)brightness(.9)drop-shadow(0 .85rem 1.35rem #00020e80);width:min(89vw,48rem);top:clamp(4.3rem,9svh,7.3rem)}.ai-config-console{z-index:2;clip-path:polygon(3% 0,97% 0,100% 5%,98% 100%,2% 100%,0 5%);background:linear-gradient(90deg,#1fd4ec2b 0 2%,#0000 4% 96%,#daa84429 98%),repeating-linear-gradient(0deg,#0000 0 .62rem,#5ba4b81a .66rem .7rem),linear-gradient(145deg,#123552,#06182f 48%,#020812);border:1px solid #cc9e48d1;border-radius:.7rem .7rem 1rem 1rem;gap:clamp(.58rem,1.4svh,.95rem);width:min(96vw,38rem);padding:clamp(.95rem,2.4vw,1.25rem) clamp(.9rem,2.6vw,1.35rem) clamp(1rem,2.4vw,1.3rem);display:grid;position:absolute;top:clamp(7.4rem,18svh,10rem);left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 2px #2dc9e359,inset 0 0 1.15rem #010819e0,0 .55rem 1.2rem #00020e99}.ai-config-console:before,.ai-config-console:after{z-index:-1;content:"";background:linear-gradient(90deg,#0000,#d3a043db,#0000);height:2px;position:absolute;left:7%;right:7%}.ai-config-console:before{top:.34rem}.ai-config-console:after{bottom:.34rem}.ai-config-console__group{border-bottom:1px solid #5bcee430;gap:.25rem;padding:.05rem 0 .34rem;display:grid}.ai-config-console__group h2{color:#cbf1f9d6;letter-spacing:.16em;text-align:center;margin:0;font:400 clamp(.46rem,1.5vw,.62rem)/1 Bruno Ace SC}.ai-config-console__options{gap:.28rem;display:grid}.ai-config-console__options--three{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-config-console__options--two{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-config-console__options--duration{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-config-console__options button,.ai-config-console__start{color:#def1f5c7;letter-spacing:.025em;cursor:pointer;background:linear-gradient(#0d2b46,#061426);border:1px solid #5cb6c98a;border-radius:.42rem;min-height:2rem;padding:.28rem .22rem;font:400 clamp(.4rem,1.42vw,.62rem)/1.1 Bruno Ace SC;transition:transform .13s,filter .13s,box-shadow .13s;position:relative;box-shadow:inset 0 0 0 1px #000712c2,0 .15rem .26rem #0000007a}.ai-config-console__options button:before{aspect-ratio:1;content:"";background:#1a6375;border:1px solid #69e8f5;border-radius:50%;width:.36rem;position:absolute;top:50%;left:.38rem;transform:translateY(-50%);box-shadow:inset 0 0 .1rem #e5ffff}.ai-config-console__options button:hover,.ai-config-console__options button:focus-visible,.ai-config-console__options button:active,.ai-config-console__start:hover,.ai-config-console__start:focus-visible,.ai-config-console__start:active{filter:brightness(1.16);outline:none;transform:translateY(-.08rem)}.ai-config-console__options button:active,.ai-config-console__start:active{transform:translateY(.05rem)}.ai-config-console__options button.is-selected{color:#fffef5;background:linear-gradient(#1b667c,#0b2c4b 62%,#071426);border-color:#53ecfa;box-shadow:inset 0 0 0 1px #ddfaffad,0 0 .56rem #2adef1a8,0 .16rem .3rem #00000094}.ai-config-console__options button.is-selected:before{background:#53efff;box-shadow:0 0 .45rem #40e8f7,inset 0 0 .12rem #edffff}.ai-config-console__start{color:#fffef5;letter-spacing:.09em;background:linear-gradient(#25849b,#0b3a59 60%,#07192d);border-color:#55e6f4;min-height:2.5rem;font-size:clamp(.54rem,1.9vw,.78rem);box-shadow:inset 0 0 0 2px #b5f9ff6b,0 0 .85rem #2adef180,0 .28rem .45rem #00000094}.tile-scene--boards{grid-template-rows:1fr auto auto;gap:clamp(.6rem,2vh,1.25rem)}.board-preview{color:#fffdf1;letter-spacing:.16em;text-transform:uppercase;background:#030f2485;border:1px solid #e8be7961;border-radius:999px;align-self:end;padding:.28rem .65rem;font:400 clamp(.65rem,1.7vw,.9rem)/1 Bruno Ace SC}.board-tile-choices,.duration-tile-choices{flex-wrap:wrap;justify-content:center;gap:clamp(.3rem,1vw,.65rem);max-width:100%;display:flex}.tile-scene--config{align-content:center}.tile-scene--config h1{color:#fffdf1;text-transform:uppercase;text-shadow:0 2px 10px #000;margin:0 0 .6rem;font:400 clamp(1rem,3vw,1.45rem)/1.2 Bruno Ace SC}.utility-nav .home-language__choices{position:absolute;top:auto;bottom:calc(100% + .55rem);right:0}.utility-nav{right:max(clamp(.75rem, 2vw, 1.5rem), env(safe-area-inset-right));bottom:max(clamp(.75rem, 2vh, 1.3rem), env(safe-area-inset-bottom));opacity:0;gap:clamp(.35rem,.8vw,.65rem);animation:.35s ease-out .32s forwards utility-reveal;display:flex;position:absolute}.utility-nav__item{color:#ebf7fbbd;cursor:pointer;background:0 0;border:0;place-items:center;min-width:3.2rem;padding:0;display:grid}.utility-tile{aspect-ratio:1;color:#fffdf1;background:linear-gradient(145deg,#102d5c,#061329);border:1px solid #00d9ff85;border-radius:12%;place-items:center;width:clamp(2.25rem,3.4vw,2.75rem);font:400 clamp(.68rem,1.1vw,.86rem)/1 Bruno Ace SC;transition:transform .2s,border-color .2s;display:grid;box-shadow:inset 0 1px #fffdf133,inset 0 -3px #00041294,0 3px #000514e0,0 0 .5rem #00d9ff24}.utility-tile svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55px;width:54%}.utility-nav__item small{letter-spacing:.08em;text-transform:uppercase;margin-top:.38rem;font-size:.42rem}.mode-select{background:linear-gradient(145deg,#081d3ff0,#030c1ff5);border:1px solid #00d9ff6b;border-radius:1rem;place-items:center;min-width:min(90vw,26rem);padding:clamp(1.5rem,5vw,2.4rem);display:grid;position:relative;box-shadow:0 1.2rem 3rem #0002108f,0 0 1.5rem #00d9ff1f}.mode-select__back{aspect-ratio:1;color:#fffdf1;cursor:pointer;background:#05142ed1;border:1px solid #00d9ff6b;border-radius:50%;width:2.2rem;font-size:1.8rem;line-height:1;position:absolute;top:.65rem;left:.75rem}.mode-select>p{color:var(--dupli-cyan);letter-spacing:.18em;margin:0 0 .55rem;font:400 .62rem/1 Bruno Ace SC}.mode-select h1{color:#fffdf1;text-transform:uppercase;margin:0 0 1.5rem;font:400 clamp(1.05rem,4vw,1.5rem)/1.2 Bruno Ace SC}.mode-select__choices{gap:.75rem;width:min(100%,18rem);display:grid}.mode-select__choices button{color:#fffdf1;letter-spacing:.08em;cursor:pointer;background:linear-gradient(145deg,#a90e2b,#65081c);border:1px solid #d31535c7;border-radius:.55rem;padding:.9rem 1.2rem;font:400 .86rem/1 Bruno Ace SC;box-shadow:inset 0 1px #fffdf13d,0 4px #2f020ecc}.mode-select__choices button:disabled{color:#ebf7fb7a;box-shadow:none;cursor:not-allowed;background:linear-gradient(145deg,#17243a,#0b1322);border-color:#97abbe57}.mode-select__hint{color:#fffdf1b8;text-align:center;max-width:19rem;margin-top:1rem;font-size:.72rem;line-height:1.45}.local-setup{width:min(100%,20rem);color:var(--dupli-cyan);letter-spacing:.12em;gap:.45rem;margin:-.35rem 0 1rem;font:400 .62rem/1 Bruno Ace SC;display:grid}.local-setup__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.local-setup__options button{color:#ebf7fbc7;min-height:2.1rem;font:inherit;letter-spacing:.04em;cursor:pointer;background:#031026c7;border:1px solid #00d9ff5c;border-radius:.4rem;padding:.4rem}.local-setup__options button[aria-pressed=true]{color:#fffdf1;background:#65081cb8;border-color:#d31535db}.local-setup__options button:disabled{color:#ebf7fb61;cursor:not-allowed}.board-select{width:min(92vw,32rem)}.board-select__choices{gap:.55rem;width:100%;display:grid}.board-select__card{color:#fffdf1;cursor:pointer;background:linear-gradient(145deg,#143054,#08162e);border:1px solid #e2b465c2;border-radius:.45rem;justify-content:space-between;align-items:center;gap:.3rem;min-height:3.45rem;padding:.65rem .85rem;display:flex}.board-select__card strong{font:400 clamp(.75rem,2.3vw,1rem)/1.2 Bruno Ace SC}.board-select__card span{color:var(--dupli-cyan);white-space:nowrap;font-size:.7rem}.board-select__card--orbite{box-shadow:inset 0 0 1rem #288dd62e}.board-select__card--eclipse{background:linear-gradient(145deg,#1d2334,#090e1d);box-shadow:inset 0 0 1rem #d8a05b24}.board-select__symbol{aspect-ratio:1;width:1.35rem;min-width:1.35rem;display:block;position:relative}.board-select__symbol--nova{clip-path:polygon(50% 0,61% 37%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 37%);filter:drop-shadow(0 0 .3rem #65eaff);background:#fff2be}.board-select__symbol--orbite{background:radial-gradient(circle at 30% 25%,#8cc8ff,#184b93 65%,#081932);border-radius:50%;box-shadow:0 0 .45rem #45acdf}.board-select__symbol--orbite:after{content:"";border:2px solid #e6bb78;border-radius:50%;position:absolute;inset:33% -28%;transform:rotate(-27deg)}.board-select__symbol--eclipse{background:#020713;border:2px solid #e8be79;border-radius:50%;box-shadow:0 0 .45rem #edc983,0 0 .9rem #c57b3d}@media (width>=620px){.board-select__choices{grid-template-columns:repeat(3,minmax(0,1fr))}.board-select__card{flex-direction:column;justify-content:center;min-height:5rem}}.game-screen{width:100%;height:100dvh;min-height:100svh;padding:max(.45rem, env(safe-area-inset-top)) max(.45rem, env(safe-area-inset-right)) max(.55rem, env(safe-area-inset-bottom)) max(.45rem, env(safe-area-inset-left));background:radial-gradient(circle at 50% 38%,#1b457a52,#0000 42%),linear-gradient(#06152f,#020817);grid-template-rows:auto auto minmax(0,1fr) auto auto auto;justify-items:center;gap:clamp(.16rem,.65vh,.38rem);display:grid;position:relative;overflow:hidden}.game-screen:before{content:"";opacity:.45;pointer-events:none;background-image:radial-gradient(circle at 12% 17%,#ffffffb8 0 1px,#0000 1.5px),radial-gradient(circle at 81% 29%,#00d9ff9e 0 1px,#0000 1.5px),radial-gradient(circle at 67% 76%,#976cff8f 0 1px,#0000 1.5px);background-size:7rem 9rem,10rem 8rem,9rem 11rem;position:absolute;inset:0}.game-screen--orbite{background:radial-gradient(at 87% 13%,#294e88 0 5%,#56719e 6%,#142b53 9%,#0000 14%),radial-gradient(circle,#134e8e54,#0000 56%),linear-gradient(#06172f,#020817)}.game-screen--eclipse{background:radial-gradient(circle at 50% 20%,#050a17 0 9%,#d6a76b 9.5%,#ffe2a5 10%,#cf924e61 13%,#0000 26%),linear-gradient(#070d1b,#020611)}.game-screen--orbite:after,.game-screen--eclipse:after{z-index:0;content:"";pointer-events:none;position:absolute}.game-screen--orbite:after{aspect-ratio:1.55;filter:drop-shadow(0 0 1rem #439cdf57);opacity:.72;background:radial-gradient(#0000 0 38%,#f5ca8ccc 39% 40%,#0000 41%),radial-gradient(circle,#486da6 0 22%,#1a3666 29%,#07172c 35%,#0000 36%);border-radius:50%;width:min(52vw,29rem);top:4%;right:-7%;transform:rotate(-18deg)}.game-screen--eclipse:after{aspect-ratio:1;filter:drop-shadow(0 0 1.4rem #f4b35a4d);opacity:.86;background:radial-gradient(circle,#020610 0 34%,#d6a467 35%,#fff0b9 36%,#d2944e73 39%,#ca844021 52%,#0000 67%);border-radius:50%;width:min(65vw,32rem);top:3%;left:50%;transform:translate(-50%)}.game-screen>*{z-index:1;position:relative}.game-header{grid-template-columns:auto 1fr auto;align-items:center;width:min(98vw,42rem);min-height:2.9rem;display:grid}.game-header__back{aspect-ratio:1;color:#fffdf1;cursor:pointer;background:#041430d1;border:1px solid #00d9ff6b;border-radius:50%;width:2.25rem;padding:0 0 .15rem;font-size:1.8rem;line-height:1}.game-header__round{text-align:center;min-width:2.8rem;display:grid}.game-header__round small{color:#b9ebf4c7;letter-spacing:.12em;font:600 .43rem/1 Inter,sans-serif}.game-header__round b{color:#fffdf1;font:400 clamp(1.05rem,4.8vw,1.45rem)/1 Bruno Ace SC}.game-header__meta{color:#fffdf1d1;justify-content:center;align-items:center;gap:.35rem;font:400 clamp(.9rem,4.2vw,1.3rem)/1 Bruno Ace SC;display:flex}.game-header__meta span{color:var(--dupli-cyan);background:#041430b8;border:0;padding:0}.game-header__abandon{color:#fff6ef;letter-spacing:.04em;background:linear-gradient(145deg,#942039,#530d22);border:1px solid #ee4d66e0;border-radius:.38rem;min-height:2.15rem;padding:.35rem .5rem;font:400 clamp(.42rem,1.9vw,.62rem)/1 Bruno Ace SC}.players-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.25rem,1vw,.45rem);width:min(96vw,42rem);display:grid}.players-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}.player-chip{background:#051735c7;border:1px solid #00d9ff47;border-radius:.55rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.34rem,1.1vw,.58rem);min-width:0;padding:clamp(.34rem,1.15vw,.56rem);display:grid}.player-chip__avatar{aspect-ratio:1;color:#fffdf1;background:#731127;border:1px solid #d31535bd;border-radius:50%;place-items:center;width:clamp(2.25rem,8.5vw,3rem);font:400 clamp(.66rem,2.6vw,.88rem)/1 Bruno Ace SC;display:grid}.player-chip__avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.player-chip__identity{min-width:0;display:grid}.player-chip__identity strong{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:clamp(.7rem,2.8vw,.92rem);overflow:hidden}.player-chip__identity b{color:#fffdf1;font:700 clamp(.86rem,3.4vw,1.1rem)/1.2 Inter,ui-sans-serif,sans-serif}.player-chip__status{aspect-ratio:1;width:1.05rem;min-width:1.05rem;color:var(--dupli-cyan);text-align:right;place-items:center;width:auto;min-width:1.05rem;font:600 clamp(.48rem,1.95vw,.64rem)/1.1 Inter,ui-sans-serif,sans-serif;display:grid}.game-board-shell{aspect-ratio:1;filter:drop-shadow(0 .45rem .7rem #00010c94);touch-action:none;align-self:center;place-items:center;width:min(99vw,100dvh - 16.25rem,42rem);max-width:100%;min-height:0;display:grid;position:relative;overflow:hidden}.game-board-shell__surface{transform-origin:50%;width:100%;height:100%}.coded-board{background:linear-gradient(145deg,#142f50,#06152d);border:1px solid #ac8452;border-radius:1.6%;width:100%;height:100%;padding:2.2%;position:relative;box-shadow:inset 0 0 0 2px #e6bd79,inset 0 0 1rem #010713}.coded-board--nova{background:url(/assets/01-grille-dupliword-bonus-BnfhZWxh.png) 50%/100% 100% no-repeat;border:0;padding:4.25%}.coded-board--orbite{background:radial-gradient(circle,#0000 0 56%,#42a2df99 57% 58%,#0000 59%),linear-gradient(145deg,#143860,#071933);border-color:#e8bb75;box-shadow:inset 0 0 0 2px #efc98d,inset 0 0 1rem #021125,0 0 .65rem #289be66b}.coded-board--eclipse{background:linear-gradient(145deg,#1c2537,#060a14);border-color:#bd9359;padding:2.6%;box-shadow:inset 0 0 0 2px #d0a76d,inset 0 0 1rem #000,0 0 .8rem #d19e5559}.coded-board__grid{background:#071a32;border:1px solid #e2b878;grid-template-rows:repeat(15,minmax(0,1fr));width:100%;height:100%;display:grid;position:relative}.coded-board__row{grid-template-columns:repeat(15,minmax(0,1fr));min-height:0;display:grid}.coded-board__cell{color:#fffdf1;text-shadow:0 1px 2px #000000bf;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#183551,#0c2038);border:1px solid #daae70c7;border-radius:0;place-items:center;min-width:0;min-height:0;padding:0;font:400 clamp(.5rem,1.55vw,.8rem)/1 Bruno Ace SC;display:grid;position:relative}.coded-board__cell span{pointer-events:none;white-space:nowrap;place-items:center;line-height:.9;display:grid}.coded-board__cell span b,.coded-board__cell span small{font:inherit}.coded-board__cell--letter2{background:linear-gradient(145deg,#24bbda,#087198)}.coded-board__cell--letter3{background:linear-gradient(145deg,#956bea,#513099)}.coded-board__cell--word2{background:linear-gradient(145deg,#19ad82,#076e51)}.coded-board__cell--word3{background:linear-gradient(145deg,#f1b958,#a86c22)}.coded-board__cell--start{color:#132747;text-shadow:none;background:linear-gradient(145deg,#fffdf1,#e2d1af);font-size:clamp(.8rem,2.4vw,1.2rem)}.coded-board__cell--selected{z-index:1;outline-offset:-2px;outline:2px solid #b4faff;box-shadow:inset 0 0 .4rem #75e9ff}.coded-board__cell--hover{z-index:2;outline-offset:-2px;outline:2px solid #fffdf1}.coded-board__cell--draft,.coded-board__cell--fixed{color:#fffdf1;background:linear-gradient(145deg,#bd1534,#6c0b22);font-size:clamp(.65rem,1.9vw,1rem)}.coded-board__cell--draft{box-shadow:inset 0 0 0 2px #63e8ff,0 0 .35rem #42d9f3}.coded-board__cell--fixed{background:linear-gradient(145deg,#8c1b34,#411027);box-shadow:inset 0 0 0 1px #c6a779}.coded-board__star{color:#8cebff;font:400 clamp(.4rem,1vw,.65rem)/1 Bruno Ace SC;position:absolute;bottom:0;right:0}.coded-board__cell:focus-visible{z-index:2;outline-offset:-2px;outline:2px solid #fffdf1}.game-status{color:#fffdf1c7;white-space:nowrap;background:#041430ad;border:1px solid #00d9ff42;border-radius:.45rem;justify-content:space-between;align-items:center;gap:.4rem;width:min(96vw,42rem);min-height:2rem;padding:.3rem .65rem;font-size:clamp(.62rem,2.2vw,.76rem);display:flex}.game-status strong{color:#fffdf1;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.game-status button{min-height:1.8rem;color:var(--dupli-cyan);background:#051735d6;border:1px solid #00d9ff6b;border-radius:.3rem;padding:0 .4rem;font:400 .57rem/1 Bruno Ace SC}.tournament-rank{color:#fffdf1;cursor:pointer;background:#051735e6;border:1px solid #00d9ff73;border-radius:.55rem;justify-content:space-between;align-items:center;gap:.35rem;width:min(96vw,42rem);min-height:2.6rem;padding:.4rem .8rem;font-size:clamp(.69rem,2.4vw,.85rem);font-weight:600;display:flex}.tournament-rank span:first-child{color:var(--dupli-cyan)}.tournament-rank span:last-child{font-size:1.3rem}.ranking-overlay{z-index:20;padding:max(.8rem, env(safe-area-inset-top)) .5rem max(.8rem, env(safe-area-inset-bottom));background:#000511b8;place-items:end center;display:grid;position:fixed;inset:0}.ranking-sheet{background:#071b3b;border:1px solid #00d9ff85;border-radius:1rem 1rem .4rem .4rem;flex-direction:column;width:min(100%,34rem);max-height:min(82dvh,45rem);padding:1rem;display:flex;box-shadow:0 -.5rem 2rem #00000061}.ranking-sheet__header{justify-content:space-between;align-items:center;display:flex}.ranking-sheet__header small{color:var(--dupli-cyan);font-size:.62rem}.ranking-sheet__header h2{margin:.2rem 0 .7rem;font:400 1.2rem/1.2 Bruno Ace SC}.ranking-sheet__header button{color:#fffdf1;background:#102d5c;border:1px solid #00d9ff73;border-radius:50%;width:2.75rem;height:2.75rem;font-size:1.6rem}.ranking-sheet__recap{color:#fffdf1;margin:0 0 .7rem;font-size:.76rem;line-height:1.5}.ranking-sheet__list{overscroll-behavior:contain;min-height:0;overflow-y:auto}.ranking-sheet__list::-webkit-scrollbar{width:.35rem}.ranking-sheet__list::-webkit-scrollbar-thumb{background:#277c99;border-radius:1rem}.ranking-row{border-bottom:1px solid #fffdf11a;grid-template-columns:2.5rem 1fr auto 3.5rem;align-items:center;gap:.35rem;min-height:2.45rem;padding:.4rem;font-size:.78rem;display:grid}.ranking-row>b,.ranking-row>small{color:var(--dupli-cyan)}.ranking-row>small{text-align:right}.ranking-row--self{background:#00d9ff26;outline:1px solid #00d9ff73}.lobby-sheet p{margin:.25rem 0 .7rem;font-size:.85rem}.lobby-sheet>small{color:#fffdf1c2;margin-top:.8rem;line-height:1.4}.lobby-sheet__ready{color:#fffdf1;background:#102d5c;border:1px solid #00d9ff9e;border-radius:.45rem;min-height:2.75rem;margin-top:.4rem;font:400 .75rem/1 Bruno Ace SC}.board-recenter{z-index:1;aspect-ratio:1;color:#fffdf1;background:#03122be0;border:1px solid #00d9ff9e;border-radius:50%;place-items:center;width:clamp(1.8rem,8vw,2.4rem);padding:0;font-size:1rem;display:grid;position:absolute;bottom:2.2%;right:2.2%;box-shadow:0 0 .75rem #00d9ff33}.common-rack{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.18rem,.9vw,.35rem);width:min(96vw,34rem);display:grid}.rack-tile{aspect-ratio:1;color:#fffdf1;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#b91031,#69091f);border:1px solid #00d9ffa3;border-radius:12%;place-items:center;font:400 clamp(.85rem,4vw,1.35rem)/1 Bruno Ace SC;display:grid;position:relative;box-shadow:inset 0 1px #fffdf147,0 3px #420413}.rack-tile small{font:600 clamp(.45rem,1.7vw,.6rem)/1 Inter,ui-sans-serif,sans-serif;position:absolute;bottom:.13rem;right:.18rem}.rack-tile--selected{outline-offset:2px;outline:2px solid #8cefff;transform:translateY(-.25rem)}.rack-tile--vacant{box-shadow:none;cursor:default;background:#0412298c;border-style:dashed}.rack-tile--shuffle{animation:.18s ease-out rack-shuffle}@keyframes rack-shuffle{50%{transform:translateY(-.16rem)}}.rack-tile--star{color:var(--dupli-cyan);background:linear-gradient(145deg,#173b72,#08152f)}.game-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.35rem,1.5vw,.65rem);width:min(96vw,34rem);display:grid}.game-actions button{color:#fffdf1;background:linear-gradient(145deg,#102d5c,#061329);border:1px solid #00d9ff61;border-radius:.55rem;justify-content:center;align-items:center;gap:.35rem;min-height:clamp(2.7rem,7vh,3.35rem);padding:.35rem .45rem;display:flex}.game-actions button>span{color:var(--dupli-cyan);font-size:1rem}.game-actions button small{text-transform:uppercase;font:400 clamp(.48rem,2vw,.64rem)/1 Bruno Ace SC}.game-actions__confirm{background:linear-gradient(145deg,#a90e2b,#65081c)!important;border-color:#d31535bd!important}.game-actions__confirm>span{color:#fffdf1!important}.game-actions button:disabled,.rack-tile:disabled{cursor:default;opacity:.46}.game-header__meta--warning time{color:#ffb45d;animation:1s ease-in-out infinite alternate timer-warning}@keyframes timer-warning{to{opacity:.55}}.star-picker{width:min(100%,28rem)}.star-picker__letters{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.star-picker__letters button{color:#fffdf1;background:#12345a;border:1px solid #36c7e2;border-radius:.35rem;min-height:2.5rem;font:400 .88rem/1 Bruno Ace SC}.round-resolution{z-index:3;top:max(5rem, calc(env(safe-area-inset-top) + 4.5rem));color:#fffdf1;text-align:center;background:#041430eb;border:1px solid #d7ae70;border-radius:.5rem;gap:.15rem;max-width:min(92vw,30rem);padding:.5rem .7rem;display:grid;position:absolute;box-shadow:0 .3rem 1rem #010815}.round-resolution strong{font:400 clamp(.65rem,2.4vw,.85rem)/1.3 Bruno Ace SC}.round-resolution small{color:#8ce8f4;font-size:clamp(.53rem,1.8vw,.67rem)}.final-result{width:min(100%,24rem)}.final-result .ranking-row{grid-template-columns:2.5rem 1fr auto}.final-result__performance{color:#8ce8f4;text-align:center;margin:.8rem 0 0;font-size:.76rem;line-height:1.5}.final-result__restart,.final-result__menu{color:#fffdf1;background:#102d5c;border:1px solid #00d9ff9e;border-radius:.45rem;min-height:2.7rem;margin-top:.6rem;font:400 .75rem/1 Bruno Ace SC}.final-result__restart{background:linear-gradient(145deg,#a90e2b,#65081c);border-color:#d31535bd}.game-actions__dev-final{color:#ffcf88;background:#2a1906bd;border:1px dashed #ffb45da8;border-radius:.35rem;min-height:2rem;font:400 .58rem/1 Bruno Ace SC}.abandon-sheet{width:min(100%,24rem)}.abandon-sheet p{color:#dcecf4;margin:.25rem 0 .8rem;line-height:1.45}.abandon-sheet button{color:#fff;background:#102d5c;border:1px solid #36c7e2;border-radius:.45rem;min-height:2.75rem;margin-top:.45rem;font:400 .72rem/1 Bruno Ace SC}.abandon-sheet .abandon-sheet__confirm{background:#7e142c;border-color:#d34b62}.account-screen{z-index:2;width:min(92vw,28rem);padding:max(5rem, calc(env(safe-area-inset-top) + 4rem)) 0 2rem;color:#edfaff;text-align:center;gap:.8rem;margin:0 auto;display:grid;position:relative}.account-screen h1{margin:0;font:400 clamp(1.2rem,5vw,2rem)/1 Bruno Ace SC}.account-screen form{text-align:left;background:#041430d1;border:1px solid #36c7e28c;border-radius:.75rem;gap:.7rem;padding:1rem;display:grid}.account-screen label{letter-spacing:.08em;gap:.28rem;font-size:.72rem;display:grid}.account-screen input{color:#fff;background:#06152d;border:1px solid #36c7e2;border-radius:.4rem;min-height:2.65rem;padding:.45rem .6rem}.account-screen form button{color:#fff;background:#102d5c;border:1px solid #d9aa42;border-radius:.42rem;min-height:2.7rem;font:400 .7rem/1 Bruno Ace SC}.account-screen form button:disabled{cursor:wait;opacity:.62}.account-screen__link{text-underline-offset:.2rem;text-decoration:underline;color:#97effa!important;background:0 0!important;border-color:#0000!important}.account-screen__avatar{aspect-ratio:1;color:#fff;background:#731127;border:2px solid #d9aa42;border-radius:50%;place-items:center;width:5.5rem;margin:0 auto;font:400 1.1rem/1 Bruno Ace SC;display:grid;overflow:hidden}.account-screen__avatar img{object-fit:cover;width:100%;height:100%}.account-screen__email{color:#a9dce8;overflow-wrap:anywhere;margin:-.35rem 0 .15rem;font-size:.78rem}.account-screen__deletion{background:#1e091cd4;border:1px solid #d37376a6;border-radius:.65rem;gap:.55rem;padding:.75rem;display:grid}.account-screen__deletion p{text-align:left;margin:0;font-size:.76rem;line-height:1.45}.account-screen__deletion button{color:#fff;background:#631c31;border:1px solid #e2a8a0;border-radius:.4rem;min-height:2.75rem;font:400 .65rem/1.25 Bruno Ace SC}.account-screen__deletion button:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){.rack-tile--shuffle,.game-header__meta--warning time{animation:none}}.utility-nav__item:hover,.utility-nav__item:focus-visible{color:#fffdf1;outline:none}.utility-nav__item:hover .utility-tile,.utility-nav__item:focus-visible .utility-tile{border-color:#d31535d1;transform:translateY(-2px)}.utility-notice{color:#dfe9f2c2;letter-spacing:.12em;text-shadow:0 2px 10px #000;text-transform:uppercase;margin:0;font-size:.58rem;position:absolute;bottom:4.9rem}.game-placeholder{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#041128bd;border:1px solid #36d5e866;border-radius:1.2rem;place-items:center;padding:2.4rem;display:grid;box-shadow:0 1.2rem 3rem #00030e85}.game-placeholder__signal{color:var(--dupli-cyan);margin:0 0 .8rem;font-size:1.8rem}.game-placeholder h1{color:#fffdf1;letter-spacing:.05em;text-align:center;margin:0 0 1.4rem;font:400 clamp(1.1rem,4vw,1.55rem)/1.2 Bruno Ace SC}.game-placeholder button{color:#fffdf1;cursor:pointer;background:#07152fd6;border:1px solid #36d5e8a8;border-radius:999px;padding:.65rem 1.2rem}@keyframes control-reveal{to{opacity:1;transform:scale(1)}}@keyframes utility-reveal{to{opacity:1}}@keyframes play-text-echo{0%{opacity:0;transform:translate(-3px,1px)}45%{opacity:.78;transform:translate(2px,-1px)}to{opacity:0;transform:translate(0)}}@media (width>=700px){.immersive-home__scene--backdrop{object-position:center;transform:scale(1.01)}}@media (width>=621px) and (width<=900px){.board-stage:not(.board-stage--home){width:min(108vw,64rem);top:19vh}}@media (width<=620px){.immersive-home__scene--backdrop{object-position:86% center}.home-play-rack{min-width:min(88vw,25rem);top:calc(100% + .2rem)}.home-play-rack__tile{width:clamp(2.35rem,12.2vw,3.15rem)}.ai-config-console{gap:.75rem;width:min(96vw,34rem);padding:1rem .9rem 1.15rem;top:clamp(6.4rem,14svh,8.5rem)}.ai-config-console__group{gap:.48rem;padding-bottom:.58rem}.ai-config-console__options--duration{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-config-console__options button{min-height:2.7rem;font-size:clamp(.54rem,2.2vw,.7rem)}.ai-config-console__start{min-height:3.35rem;font-size:.78rem}.mode-console-layout{width:100%;top:clamp(4.5rem,10svh,6rem)}.mode-console-board{width:100%}.mode-console-board img{width:126vw;max-width:none;margin-left:-13vw}.mode-cockpit{gap:.18rem;width:min(91vw,31rem);min-height:7.5rem;margin-top:-2.9rem;padding:.5rem .46rem}.mode-cockpit__command{padding:.2rem .06rem}.mode-cockpit__switch{width:clamp(2.15rem,11.5vw,2.7rem)}.mode-cockpit__plate{min-height:1.48rem;font-size:clamp(.38rem,1.75vw,.56rem)}.home-hero{padding-top:max(5.5rem, calc(env(safe-area-inset-top) + 4rem))}.utility-nav{left:50%;right:auto;bottom:max(1rem, calc(env(safe-area-inset-bottom) + .55rem));justify-content:space-between;width:min(78vw,20rem);transform:translate(-50%)}.utility-nav__item{min-width:2.8rem}}@media (height<=700px){.game-screen{gap:.22rem}.player-chip{padding-block:.15rem}.player-chip__avatar{width:1.45rem}.game-board-shell{width:min(99vw,100dvh - 16rem)}.game-actions button{min-height:2.4rem}}@media (width<=360px){.player-chip{gap:.1rem;padding:.12rem}.player-chip__avatar{width:1.25rem;font-size:.44rem}.player-chip__identity strong{font-size:.48rem}.player-chip__status{width:.8rem;min-width:.8rem;font-size:.7rem}.game-status{padding-inline:.35rem;font-size:.58rem}}@media (height<=560px){.board-stage{width:min(86vw,48rem);top:25vh}.home-hero{padding-top:.25rem}}@media (prefers-reduced-motion:reduce){.home-orbit-board{animation:none}.immersive-home__scene{transform:none}.play-button,.utility-nav{opacity:1;animation:none}.play-button{transform:none}.play-tile:after{animation:none!important}}.online-duel{z-index:2;width:min(92vw,680px);padding:calc(env(safe-area-inset-top) + 5rem) 1rem 3rem;color:#e9f8ff;text-align:center;margin:0 auto;position:relative}.online-duel h1{letter-spacing:.12em;margin:0 0 .35rem;font-family:DupliSansDisplay,sans-serif;font-size:clamp(1.3rem,5vw,2.25rem)}.online-duel__ranked{color:#8eefff;margin:0 auto 1rem;font-weight:700}.online-duel__parameters,.online-duel__commands,.online-duel__auth,.online-duel__join{gap:.7rem;margin:1rem auto;display:grid}.online-duel__parameters{grid-template-columns:repeat(2,minmax(0,1fr))}.online-duel label{text-align:left;letter-spacing:.08em;gap:.3rem;font-size:.8rem;display:grid}.online-duel input,.online-duel select{color:#effbff;background:#07172d;border:1px solid #1fcdf0;border-radius:.45rem;min-height:2.6rem;padding:.5rem .65rem}.online-duel button{color:#ecfbff;min-height:2.85rem;font:inherit;letter-spacing:.05em;cursor:pointer;background:linear-gradient(145deg,#152d50,#071524);border:1px solid #d9aa42;border-radius:.5rem;font-weight:700}.online-duel button:not(:disabled):hover,.online-duel button:not(:disabled):focus-visible{filter:brightness(1.16);outline:none;box-shadow:0 0 0 2px #53e7ff,0 0 16px #0d96c9}.online-duel button:disabled{cursor:not-allowed;opacity:.52}.online-duel__invite,.online-duel__accept{background:#04142ad1;border:1px solid #d9aa42;border-radius:.65rem;gap:.45rem;padding:.8rem;display:grid}.online-duel__invite strong{color:#ffe278;letter-spacing:.18em;font-size:1.45rem}.online-duel__invite small{color:#a5c8dd}.online-duel__mine{gap:.65rem;margin-top:1.3rem;display:grid}.online-duel__mine h2{letter-spacing:.12em;margin:0;font-size:1rem}.online-duel__game{text-align:left;gap:.2rem;padding:.65rem .85rem;display:grid}.online-duel__game small{color:#8eefff}@media (width<=420px){.online-duel{padding-top:4.2rem}.online-duel__parameters{grid-template-columns:1fr}}@font-face{font-family:Bruno Ace SC;src:url(/assets/BrunoAceSC-Regular-D7DxpFcE.woff2)format("woff2");font-style:normal;font-weight:400;font-display:block}:root{--logo-primary:#d31535;--logo-primary-dark:#790b24;--logo-echo:#00d9ff;--logo-ivory:#fffdf1}.brand-tile{aspect-ratio:1;color:var(--logo-ivory);background:linear-gradient(145deg, #ffffff1f, transparent 28%), linear-gradient(145deg, var(--logo-primary), var(--logo-primary-dark));text-shadow:0 1px #0000008c,0 0 .35rem #fffdf138;border:1px solid #00d9ffc2;border-radius:12%;place-items:center;font-family:Bruno Ace SC;font-weight:400;line-height:1;display:grid;box-shadow:inset 0 1px #fffdf14d,inset 0 -3px #37021185,0 3px #410414eb,0 0 .5rem #00d9ff2e,0 .45rem .9rem #00021070}.dupliword-heading{width:clamp(31rem,72vw,64rem);max-width:75vw;margin:0 auto}.dupliword-wordmark{opacity:0;transform-origin:50%;width:100%;animation:.38s ease-out forwards logo-reveal;display:block;position:relative;transform:scale(.97)}.dupliword-tile-row{grid-template-columns:repeat(9,minmax(0,1fr));gap:clamp(2px,.42vw,7px);width:100%;display:grid}.dupliword-logo-tile{min-width:0;font-size:clamp(1.15rem,5vw,4.25rem)}.dupliword-tile-row--reflection{opacity:.64;transform-origin:top;filter:brightness(.76)drop-shadow(0 0 1px #00d9ff7a);pointer-events:none;position:absolute;top:calc(200% + 5px);left:0;transform:scaleY(-1);-webkit-mask-image:linear-gradient(#0000 0%,#ffffff3d 26%,#ffffffd1 68%,#fff 100%);mask-image:linear-gradient(#0000 0%,#ffffff3d 26%,#ffffffd1 68%,#fff 100%)}@keyframes logo-reveal{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (width<=700px){.dupliword-heading{width:94vw;max-width:94vw}.dupliword-logo-tile{font-size:clamp(1rem,6.8vw,2rem)}}@media (prefers-reduced-motion:reduce){.dupliword-wordmark{opacity:1;animation:none;transform:none}}
