@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Barlow:wght@400;500;600;700;800&display=swap');
*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:#090812;color:#f7f2ff;font-family:Barlow,Arial,sans-serif;min-height:100vh}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #5df7ff;outline-offset:5px}.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 15% 30%,#42236b40,transparent 55%),radial-gradient(ellipse at 95% 50%,#143e6140,transparent 55%)}.ambient svg{width:100%;height:100%;opacity:.52}.ambient path{fill:none;stroke:#392252;stroke-width:1}.ambient .travel{stroke:#a44df9;stroke-width:2;stroke-dasharray:180 1600;filter:drop-shadow(0 0 6px #ac40fc);animation:trace 14s linear infinite}@keyframes trace{to{stroke-dashoffset:-3560}}.header{max-width:1280px;margin:auto;padding:25px 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12}.brand img{display:block;width:150px;height:42px;object-fit:contain}.header nav{display:flex;gap:30px;font-size:12px;font-weight:800;letter-spacing:1.5px;color:#c8bed7}.header nav span{color:#7afcff}.demo{max-width:1212px;margin:18px auto 0;font:600 10px/1.5 Barlow,Arial;letter-spacing:1.2px;color:#a89abf;display:flex;align-items:center;gap:8px;padding:0 2px}.dot{width:5px;height:5px;background:#a989ff;border-radius:50%;box-shadow:0 0 8px #a989ff}.demo-extra{letter-spacing:.2px;font-weight:400}main{max-width:1280px;margin:auto;padding:28px 34px 48px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:800;color:#baa3df;text-transform:uppercase}.home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:12px 0 29px}h1,h2,h3,.display{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:800;line-height:.94;letter-spacing:-.5px;margin:0}h1{font-size:clamp(54px,6.4vw,94px)}.home-heading h1 span{color:#bd90ff}.home-heading p{color:#a99ebd;max-width:260px;line-height:1.6;font-size:15px;margin:0 0 4px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.choice{min-height:470px;position:relative;border-radius:20px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;background:#11101c;border:1px solid #4b336b;transition:transform .3s}.choice:hover{transform:translateY(-4px)}.choice:before{content:'';position:absolute;inset:0;border-radius:inherit;border:2px solid transparent;background:conic-gradient(from var(--angle),#a64dff,#51f5ff,#6036ff,#fa54ca,#a64dff) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;z-index:5;pointer-events:none;animation:borderSpin 6s linear infinite}.choice:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#090715 0%,#100a2550 65%,#100a2500);z-index:-1}.arcade-photo{position:absolute;inset:0;background:linear-gradient(90deg,#0b092979,#0b092930),url('assets/arcade.jpg') center 50%/cover;opacity:.6;z-index:-2}.choice .corner{position:absolute;top:28px;left:30px;font-size:11px;letter-spacing:2px;font-weight:800;color:#d1faff;display:flex;gap:9px;align-items:center}.corner i{height:6px;width:6px;background:#79f7ff;border-radius:50%;box-shadow:0 0 12px #65f5ff}.choice h2{font-size:clamp(45px,4.5vw,68px);position:relative;z-index:2}.choice p{color:#b8aeca;font-size:14px;margin:12px 0 22px;position:relative;z-index:2}.cta{display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-radius:9px;padding:17px 20px;font-size:13px;font-weight:800;letter-spacing:1.1px;background:#bd91ff;color:#140b26;min-height:53px;transition:background .2s,box-shadow .2s}.cta:hover{background:#d1afff;box-shadow:0 0 24px #ad63ff55}.cta .arrow{font-size:21px}.choice .gamer-home{position:absolute;width:240px;height:280px;object-fit:contain;right:3px;top:22px;filter:drop-shadow(0 10px 25px #121230);animation:float 5s ease-in-out infinite;z-index:0}.choice .subtitle{margin-top:0;font-size:16px;letter-spacing:0;color:#f3eafa}.choice-food{border-color:#8b4d253d;background:radial-gradient(ellipse at 65% 23%,#5d2816,transparent 70%),#150d0b}.choice-food:before{background:conic-gradient(from var(--angle),#b65a2a55,#f6ac5b,#b65a2a55,#ffda9560) border-box}.choice-food:after{background:linear-gradient(0deg,#170b08 2%,#1a0b0800 75%)}.choice-food .corner{color:#f8c48e}.food-img{position:absolute;width:84%;height:280px;object-fit:contain;top:5px;right:-6px;filter:drop-shadow(0 20px 28px #0c0308);z-index:-1;transition:transform .5s}.choice-food:hover .food-img{transform:scale(1.04)}.choice-food h2{color:#fff0d5}.choice-food p{color:#c1a38e}.choice-food .cta{background:#ffbb7e;color:#2b120b}.home-bottom{display:flex;justify-content:space-between;gap:20px;color:#81758f;font-size:11px;letter-spacing:1.6px;margin-top:25px}.home-bottom strong{color:#af9dc7}.back{display:inline-flex;gap:9px;color:#a399b4;font-size:12px;background:none;border:0;padding:0;margin:3px 0 28px}.back:hover{color:white}.patio-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:74px;align-items:center;min-height:570px}.patio-hero h1{font-size:clamp(60px,7vw,98px);margin:16px 0 20px}.neon-text{color:#d9bdff;text-shadow:0 0 32px #9752ff70}.patio-hero>p{max-width:380px;color:#b2a7c5;line-height:1.7;font-size:16px}.hero-art{position:relative;height:280px;max-width:460px;margin-top:18px}.hero-orbit{position:absolute;width:320px;height:90px;border:1px solid #a54dff;box-shadow:0 0 25px #a54dff50,inset 0 0 15px #a54dff30;border-radius:50%;bottom:10px;left:25px;transform:rotate(-9deg);animation:pulse 3s ease-in-out infinite}.hero-art img{position:absolute;height:300px;width:330px;object-fit:contain;bottom:7px;left:30px;animation:float 5s ease-in-out infinite;filter:drop-shadow(0 0 15px #a65cff30)}.hero-art .floating-note{position:absolute;right:0;top:40px;font:800 12px Barlow;letter-spacing:1px;color:#92ffff;border-bottom:1px solid #92ffff66;padding:8px}.panel{border:1px solid #5b3f7d66;border-radius:18px;background:linear-gradient(135deg,#20162eec,#100f1bec);padding:34px;box-shadow:0 15px 65px #0003;position:relative;overflow:hidden}.panel:before{content:'';position:absolute;top:0;left:20%;width:60%;height:1px;background:#c199ff;box-shadow:0 0 20px #bd7aff}.stepper{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#8c7aa1;display:flex;gap:10px;align-items:center;margin-bottom:35px}.stepper .active{color:#b9faff}.stepper b{font-weight:400;color:#645475}.panel h2{font-size:43px;margin-bottom:12px}.panel .muted{font-size:14px;line-height:1.6;color:#a698b9;margin-bottom:27px}.field{display:block;margin:20px 0;font-size:12px;font-weight:700;color:#d4c8e5}.field input{display:block;margin-top:9px;width:100%;padding:15px;border:1px solid #47365b;border-radius:8px;background:#0c0b16;color:#fff;font-size:15px;font-family:inherit}.field input:focus{border-color:#a677f0;outline:1px solid #a677f0;outline-offset:0}.form-error{min-height:18px;font-size:12px;color:#ffabbb;margin:12px 0}.privacy{font-size:11px;line-height:1.7;color:#92849f}.panel .cta{width:100%;margin-top:20px}.rule-list{list-style:none;padding:0;margin:25px 0;display:grid;gap:19px}.rule-list li{display:flex;gap:16px;font-size:14px;color:#c4b8d4;line-height:1.5}.rule-list .num{font:700 24px 'Barlow Condensed';color:#bd91ff;min-width:23px}.rule-list strong{color:#fff;display:block;font-size:14px}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;color:#b4a6c7}.check input{accent-color:#af7bff;margin-top:4px}.game-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.game-top h1{font-size:57px;margin-top:9px}.timer{padding:12px 23px;border:1px solid #5f4289;border-radius:12px;background:#1b122a;text-align:center;min-width:135px}.timer small{font-size:9px;color:#af9ac4;letter-spacing:2px;display:block;margin-bottom:4px}.timer output{font-family:'Barlow Condensed',monospace;font-size:37px;font-weight:700;color:#99ffff;font-variant-numeric:tabular-nums;line-height:1}.timer.urgent output{color:#ff8f99}.game-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(250px,1fr);gap:28px;align-items:start}.board-shell{border:1px solid #8150b987;border-radius:16px;padding:22px;background:linear-gradient(135deg,#191123,#0b1020);box-shadow:0 0 38px #8d39ff0e;position:relative}.board-shell:before{content:'';position:absolute;left:15%;right:15%;top:-1px;height:2px;box-shadow:0 0 16px #a56dff;background:linear-gradient(90deg,transparent,#b989ff,#71ecff,transparent);animation:pulse 3s ease-in-out infinite}.board-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px;font-size:11px;letter-spacing:1px;color:#c4b4d5}.board-toolbar strong{color:#80f5f1}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;touch-action:none;user-select:none;-webkit-user-select:none}.cell{aspect-ratio:1;border:1px solid #7a5da229;background:#ffffff04;border-radius:5px;color:#e8ddf8;padding:0;font:600 clamp(13px,1.8vw,23px) Barlow,Arial;display:flex;align-items:center;justify-content:center;min-width:0;transition:background .13s,color .13s;touch-action:none}.cell:hover{background:#b17cff25}.cell.selecting{background:#a77aff66;color:#fff;border-color:#bb8cff;box-shadow:0 0 12px #9f60ef30}.cell.found{background:#6aebd52b;color:#8ffff0;border-color:#64e2d244}.grid-note{color:#9686aa;line-height:1.5;font-size:12px;margin:17px 0 0}.words-panel{padding:26px;border:1px solid #46345a88;border-radius:15px;background:#14101fe0}.words-panel h2{font-size:29px}.word-list{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.word{font-size:12px;font-weight:700;letter-spacing:1px;padding:10px 13px;border:1px solid #6f538266;border-radius:6px;color:#c8bad9;background:#ffffff03}.word.done{color:#7bffdf;border-color:#67e9c777;background:#42c9ab18;text-decoration:line-through}.progress-track{height:4px;background:#473457;border-radius:4px;overflow:hidden}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#a76dff,#6df8ed);transition:width .5s}.progress-label{display:flex;justify-content:space-between;font-size:11px;color:#9984ac;margin-top:10px}.gamer-mini{height:220px;position:relative;margin-top:25px}.gamer-mini img{width:100%;height:100%;object-fit:contain;animation:float 5s ease-in-out infinite;filter:drop-shadow(0 8px 22px #b567ff25)}.mascot-talk{text-align:center;color:#b4a2ca;font-size:13px;margin-top:9px}.success{text-align:center;max-width:640px;margin:25px auto 60px}.success .big-icon{font-size:70px;color:#8cfff0;text-shadow:0 0 30px #39efcd80;margin:15px}.success h1{font-size:78px;margin:20px 0}.success p{line-height:1.7;color:#baaaca}.success .code{font-family:monospace;font-size:22px;letter-spacing:3px;padding:18px;background:#ffffff06;border:1px dashed #795795;margin:25px 0;color:#abffed;border-radius:8px}.success .cta{justify-content:center;margin:25px 0}.success .text-button{font-size:13px}.result-note{font-size:12px!important;color:#92859f!important}footer{max-width:1212px;margin:0 auto;padding:24px 0;border-top:1px solid #ffffff10;display:flex;justify-content:space-between;gap:15px;color:#756884;font-size:10px;letter-spacing:1.5px}.text-button{background:none;border:0;padding:0;color:#a68abf;text-decoration:underline;text-underline-offset:4px;font-size:11px;letter-spacing:.2px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#1f1531;color:#c7ffee;border:1px solid #8862ac;padding:15px 24px;border-radius:10px;z-index:99;opacity:0;transition:.2s;pointer-events:none;max-width:90vw;text-align:center;font-size:14px}#toast.visible{opacity:1;transform:translate(-50%,0)}@property --angle{syntax:'<angle>';initial-value:0deg;inherits:false}@keyframes borderSpin{to{--angle:360deg}}@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-13px) rotate(1deg)}}@keyframes pulse{50%{opacity:.55;filter:brightness(1.4)}}
@media(min-width:1400px){.choice{min-height:500px}.choice .gamer-home{height:310px;width:270px}.food-img{height:300px}}
@media(max-width:800px){.header{padding:20px}.header nav{gap:16px;font-size:10px;letter-spacing:.6px}.brand img{width:115px;height:34px}.demo{padding:0 20px;font-size:9px}.demo-extra{font-size:9px}main{padding:22px 20px 35px}.home-heading{display:block;margin-top:10px}.home-heading h1{font-size:62px}.home-heading p{max-width:none;margin:16px 0 0;font-size:14px}.choice-grid{gap:18px}.choice{padding:24px;min-height:420px}.choice h2{font-size:43px}.choice .gamer-home{width:180px;height:225px;top:32px}.food-img{height:225px;top:25px;width:100%}.choice .corner{left:24px;top:22px;font-size:9px}.patio-layout{gap:28px}.patio-hero h1{font-size:68px}.panel{padding:25px}.hero-art{height:230px}.hero-art img{height:240px;width:260px;left:0}.hero-orbit{width:230px;left:0}.floating-note{display:none}.game-layout{grid-template-columns:minmax(0,1fr)}.words-panel{display:grid;grid-template-columns:1fr 170px;column-gap:25px;padding:23px}.words-panel h2,.word-list,.progress-track,.progress-label{grid-column:1}.words-panel h2{grid-row:1}.word-list{grid-row:2;margin:15px 0}.progress-track{grid-row:3}.progress-label{grid-row:4}.gamer-mini{grid-column:2;grid-row:1/5;height:180px;margin:0}.mascot-talk{display:none}.cell{font-size:clamp(14px,3vw,23px)}footer{margin:0 20px;padding:20px 0;font-size:8px}.game-top h1{font-size:52px}}
@media(max-width:560px){.choice-grid{grid-template-columns:1fr}.choice{min-height:385px;padding:27px}.choice h2{font-size:56px;max-width:250px}.choice .gamer-home{height:230px;width:215px;right:-7px;top:15px}.choice .subtitle{font-size:14px;margin-bottom:16px}.choice p{max-width:220px;margin-bottom:20px}.choice-food .food-img{height:240px;width:92%;right:-30px;top:-10px}.choice-food h2{font-size:54px}.home-bottom{font-size:8px;letter-spacing:.8px}.home-heading h1{font-size:62px}.home-heading p{line-height:1.5}.demo-extra{display:none}.patio-layout{grid-template-columns:1fr;gap:20px;min-height:auto}.patio-hero h1{font-size:66px;margin:12px 0}.patio-hero>p{font-size:14px;max-width:270px;margin-bottom:0}.patio-hero{position:relative;min-height:190px}.patio-hero .hero-art{position:absolute;right:-17px;bottom:-5px;width:143px;height:180px;margin:0;pointer-events:none}.hero-art img{width:143px;height:180px;left:0;bottom:0}.hero-orbit{width:135px;height:40px;left:0;bottom:4px}.patio-hero h1{position:relative;z-index:1}.panel{padding:25px}.stepper{font-size:8px;gap:8px;letter-spacing:.8px;margin-bottom:25px}.back{margin-bottom:22px}.game-top{align-items:flex-end;margin-bottom:20px}.game-top h1{font-size:42px;line-height:.96}.game-top .eyebrow{font-size:9px;letter-spacing:1.5px}.timer{min-width:97px;padding:10px 12px;border-radius:9px}.timer output{font-size:31px}.timer small{font-size:8px;letter-spacing:1px}.board-shell{padding:12px;border-radius:12px}.grid{gap:2px}.cell{font-size:clamp(12px,3.8vw,18px);border-radius:3px}.board-toolbar{font-size:9px;letter-spacing:.2px;margin:1px 0 12px}.grid-note{font-size:10px;margin-top:12px}.words-panel{padding:18px;grid-template-columns:minmax(0,1fr) 105px;column-gap:7px}.word-list{gap:5px}.word{font-size:10px;padding:8px}.gamer-mini{height:160px;margin-top:7px}.words-panel h2{font-size:26px}.progress-label{font-size:10px}.success h1{font-size:62px}.success{margin-top:0}.success.panel{padding:25px}footer{font-size:7px;letter-spacing:1px;align-items:center}footer span{max-width:190px;line-height:1.5}.header nav a:first-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.cell.pending-save{background:#51e3d34a;color:#affff3;border-color:#70ffe9;box-shadow:0 0 12px #57f3dd33}.cell.save-failed{background:#c18c2430;color:#ffe3a0;border-color:#d6a954}.word.saving{color:#9cffe9;border-color:#69eed5;background:#45cbb62b}.word.saving:after{content:'';display:inline-block;width:8px;height:8px;margin-left:7px;border:1.5px solid #7ffff0;border-right-color:transparent;border-radius:50%;animation:syncSpin .7s linear infinite}.word.failed{color:#ffe0a2;border-color:#ba9658}.word.failed:after{animation:none;border-color:#e5b65f}.sync-retry{margin-top:12px;padding:8px 0;color:#ffd88e}.sync-retry[hidden]{display:none}@keyframes syncSpin{to{transform:rotate(360deg)}}
