@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-400.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-500.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-600.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-700.ttf) format("truetype")}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/outfit-400.ttf) format("truetype")}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/outfit-500.ttf) format("truetype")}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/outfit-600.ttf) format("truetype")}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/outfit-700.ttf) format("truetype")}@font-face{font-family:Outfit;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/outfit-800.ttf) format("truetype")}:root{--paper:#faf8f2;--ink:#202b37;--muted:#6c746e;--line:#e3e4d9;--coral:#ec6248;--green:#2c6653;--red:#ef655a;--orange:#f2a342;--yellow:#efd351;--blue:#698ba8;--purple:#9b7ab3;--font:"DM Sans",Arial,sans-serif;--display:"Outfit",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #247dba;outline-offset:4px}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:-.035em}h2{font-size:35px;margin-bottom:18px}h2,h3{font-weight:600}h3{font-size:21px}a svg,button svg{flex-shrink:0}.app-shell{max-width:1240px;padding:0 52px;margin:auto}.site-header{height:103px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;width:146px}.brand img{width:100%;height:auto;mix-blend-mode:multiply}.site-header nav{display:flex;align-items:center;gap:30px}.nav-link{background:none;font-weight:500}.nav-link,.nav-reserve{display:flex;align-items:center;gap:8px;font-size:13px}.nav-reserve{text-decoration:none;border:1px solid #b9beb0;border-radius:99px;padding:10px 18px;font-weight:600}.nav-reserve:hover{background:#eeeee4}.hero{justify-content:space-between;padding:47px 0 39px}.eyebrow,.hero{display:flex;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;gap:8px;line-height:1.6}.live-dot{width:7px;height:7px;background:var(--green);border-radius:50%}.hero h1{font-size:82px;font-weight:600;letter-spacing:-.065em;line-height:1;margin:17px 0 15px;display:flex;align-items:baseline;gap:17px}.title-dots{display:inline-flex;align-items:baseline}.title-dots span:first-child{color:var(--coral)}.title-dots span:nth-child(2){color:#d9ad2d}.title-dots span:nth-child(3){color:#4a8c74}.title-dots span:nth-child(4){color:#7d75a4}.title-dots i{width:13px;height:13px;background:#7293b0;border-radius:50%;margin-left:6px}.hero p{margin:0;color:var(--muted);font-size:15px}.hero-note{transform:rotate(8deg);margin-right:55px;text-align:center;position:relative}.scribble{font-size:19px;font-family:var(--display);font-weight:500;line-height:1.25;color:#68795a}.hero-note svg{position:absolute;right:-50px;bottom:-22px;width:64px;fill:none;stroke:#849770;stroke-width:2;stroke-linecap:round}.hero.compact{padding:26px 0}.hero.compact h1{font-size:58px;margin:10px 0}.hero.compact .hero-note{display:none}.playground{display:grid;grid-template-columns:minmax(0,1.43fr) minmax(290px,1fr);grid-gap:0;gap:0;border:1px solid #d9ded1;border-radius:22px;background:#fffefa;overflow:hidden;box-shadow:0 8px 35px #2c483a05;scroll-margin-top:20px}.game-main{padding:26px 34px 22px;background:#eff2e8;min-width:0}.board-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.board-topline .eyebrow,.mode-tag{font-size:9px}.mode-tag{letter-spacing:.07em;color:#68755d;white-space:nowrap;display:flex;align-items:center;gap:5px}.mode-tag>span{height:5px;width:5px;background:#89a075;border-radius:50%}.board-frame{position:relative;padding:2px 2px 2px 10px;max-width:550px;margin:auto}.board-coordinates{display:grid;grid-template-columns:repeat(8,1fr);padding-bottom:9px;font-size:9px;color:#929b88;text-align:center}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:5px;gap:5px;padding:12px;background:#dce3d3;border-radius:13px;box-shadow:0 3px 0 #c4cdbb}.cell{position:relative;aspect-ratio:1;background:#f9faf3;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:7%;min-width:0;transition:background .15s,box-shadow .15s,transform .15s;overflow:visible}.cell:disabled{opacity:1}.cell:not(:disabled):hover{background:#fff}.cell.is-recent{background:#f0eddd}.cell.is-selected{box-shadow:0 0 0 3px #263b33;z-index:1;background:white;transform:scale(1.04)}.cell.is-target{background:#d1e6c3;box-shadow:inset 0 0 0 2px #608858}.cell.is-target:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#304c2a;bottom:2px;right:2px}.cell.is-target:hover{background:#b9d9a6}.dot{display:flex;align-items:center;justify-content:center;border-radius:50%;width:100%;height:100%;aspect-ratio:1;box-shadow:inset 0 -3px 0 #00000010,0 2px 3px #2435230a;font-size:clamp(8px,1.4vw,17px);line-height:1;color:#18252bb3;text-shadow:0 1px #ffffff40}.color-0{background:var(--red)}.color-1{background:var(--orange)}.color-2{background:var(--yellow)}.color-3{background:#6d9c73}.color-4{background:var(--blue)}.color-5{background:var(--purple)}.bonus-letter{position:absolute;z-index:2;font-family:var(--display);font-size:9px;right:2px;top:-1px;font-weight:700;color:#48543d;background:#f8faf0d9;border-radius:3px;padding:0 2px;line-height:13px}.empty-cell{width:9%;height:9%;background:#c5ceba;border-radius:50%}.bonus-cell .empty-cell{opacity:0}.row-coordinate{position:absolute;left:-26px;top:50%;transform:translateY(-50%);font-size:9px;color:#929b88;pointer-events:none}.demo-caption{justify-content:center;gap:7px;margin-top:17px;font-size:11px;color:#6a785e}.board-bottom,.demo-caption{display:flex;align-items:center}.board-bottom{justify-content:space-between;gap:10px;margin-top:22px}.symbol-toggle{display:flex;gap:7px;align-items:center;font-size:11px;color:#66715f;cursor:pointer}.symbol-toggle input{accent-color:var(--green);width:13px;height:13px}.text-link{display:inline-flex;align-items:center;gap:5px;background:none;text-decoration:none;font-size:12px;font-weight:500;padding:2px;color:#586a51}.game-sidebar{padding:32px 32px 28px;border-left:1px solid #e3e7db;min-width:0}.game-sidebar>.eyebrow{color:#7d866d;margin-bottom:12px}.game-sidebar h2{font-size:38px;line-height:1.04;margin-bottom:16px}.intro-text{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:25px;max-width:270px}.setup-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:10px}.setup-heading span{font-size:10px;color:#8b9386}.difficulty-list{display:grid;grid-gap:8px;gap:8px}.difficulty{display:flex;align-items:center;text-align:left;width:100%;border:1px solid #e3e6dc;background:transparent;border-radius:10px;padding:11px 12px;gap:12px;transition:background .15s}.difficulty.selected{background:#edf3e8;border-color:#839977}.difficulty:hover{border-color:#839977}.difficulty strong{display:block;font-size:13px;font-weight:600}.difficulty small{display:block;font-size:10px;color:#83897e;margin-top:1px}.mode-icon{font-size:24px;color:#789764;font-family:Arial;width:27px;text-align:center}.mode-icon.easy{color:#d2a953}.mode-icon.hard{color:#9c7aab}.radio-mark{width:16px;height:16px;border:1px solid #d4d9cd;border-radius:50%;margin-left:auto;display:grid;place-items:center}.difficulty.selected .radio-mark{background:#69865b;color:white;border-color:#69865b}.expert-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0 12px;cursor:pointer}.expert-toggle strong{font-size:11px;display:block;font-weight:500}.expert-toggle small{font-size:10px;color:#8b9386;display:block}.expert-toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:30px;height:18px;border-radius:20px;background:#dce1d5;position:relative;margin:0;cursor:pointer;flex-shrink:0}.expert-toggle input:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;background:white;border-radius:50%;transition:left .15s}.expert-toggle input:checked{background:var(--green)}.expert-toggle input:checked:after{left:15px}.checkbox-label{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--muted);line-height:1.5}.checkbox-label input{accent-color:var(--green);margin:3px 0 0;flex-shrink:0;width:14px;height:14px}.checkbox-label a{text-underline-offset:2px}.consent{font-size:9px;margin:0 0 17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:13px;border-radius:9px;padding:14px 18px;min-height:46px;transition:background .15s,transform .15s;text-decoration:none}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--coral);color:#fffefa;box-shadow:0 2px 0 #b64a3520}.button.primary:hover:not(:disabled){background:#de573f}.button.secondary{border:1px solid #cfd7c8;background:transparent;color:#57644c}.button:disabled{opacity:.45;transform:none}.start-button{width:100%;justify-content:space-between}.start-caption{text-align:center;font-size:10px;color:#8b9283;margin:10px 0 0}.resume-button{border:1px solid #7b9770;background:#ecf3e7;font-size:11px;width:100%;padding:9px;margin-bottom:18px}.how-it-works{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:30px;gap:30px;padding:40px 0 48px}.how-it-works>div{position:relative;padding-left:42px}.how-it-works>div>span{position:absolute;left:0;top:0;font-family:var(--display);font-size:20px;color:#b0b6a5}.how-it-works h3{font-size:17px;margin:3px 0 10px;letter-spacing:-.02em}.how-it-works p{font-size:11px;color:#818779;margin:0;line-height:1.7}.reservation{border-top:1px solid var(--line);padding:48px 0 55px;display:grid;grid-template-columns:1fr .85fr;grid-gap:90px;gap:90px}.reservation-copy .eyebrow{color:#92927d;font-size:9px;margin-bottom:15px}.reservation h2{font-size:39px;line-height:1.12;margin-bottom:17px}.reservation-copy>p{font-size:13px;color:#7f8377;line-height:1.8;max-width:400px}.mini-dots{display:flex;gap:7px;margin-top:23px}.mini-dots i{width:13px;height:13px;border-radius:50%;background:var(--red)}.mini-dots i:nth-child(2){background:var(--orange)}.mini-dots i:nth-child(3){background:var(--yellow)}.mini-dots i:nth-child(4){background:#6d9c73}.mini-dots i:nth-child(5){background:var(--blue)}.mini-dots i:nth-child(6){background:var(--purple)}.reservation-form{padding-top:2px}.feedback-details label,.reservation-form form>label:not(.checkbox-label){display:grid;font-size:11px;font-weight:500;grid-gap:6px;gap:6px;margin-bottom:13px}input:not([type=checkbox]),select,textarea{border:1px solid #dce1d5;border-radius:7px;background:#fffef9;padding:11px 12px;min-width:0;width:100%;color:var(--ink);font-size:12px}input::placeholder,textarea::placeholder{color:#a1a698}.reservation-form .checkbox-label{font-size:10px;margin:15px 0}.reservation-form .primary{width:100%;justify-content:space-between}.form-caption{font-size:9px;color:#969b8d;margin:9px 0 0}.success-note{padding:30px;border:1px solid #bdcdb1;border-radius:14px;color:var(--green);background:#edf3e8}.success-note h3{margin:15px 0}.success-note p{font-size:13px;margin:0}.site-footer{border-top:1px solid var(--line);padding:25px 0 30px;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#8a9081;font-size:9px}.site-footer>div:first-child{display:grid;grid-gap:3px;gap:3px}.site-footer strong{font-family:var(--display);font-size:15px;color:#596650;letter-spacing:-.03em}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer>div:first-child a{display:inline-flex;gap:3px;align-items:center}.site-footer p{margin:0}.footer-links{display:flex;gap:15px}.turn-message{display:flex;gap:11px;background:#fffef9;border:1px solid #d3ddc9;padding:13px 14px;border-radius:10px;margin:20px 0 15px;align-items:flex-start}.turn-marker{color:#62874e;display:flex;margin-top:2px}.turn-message strong{font-size:12px;display:block}.turn-message p{font-size:10px;color:#849078;margin:3px 0 0;line-height:1.5}.turn-message.ai .turn-marker{color:#9b7ab3;animation:pulse 1.4s infinite}.players{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.player-card{border:1px solid #d9dfcf;background:#f8faf3;border-radius:10px;padding:12px}.player-card.active{border-color:#869e76;background:#fffef9}.player-label{display:flex;gap:7px;align-items:center;margin-bottom:12px;font-size:10px;white-space:nowrap}.player-label strong{font-weight:500}.player-label>b{margin-left:auto;font-size:12px}.avatar{background:#e0ead7;border-radius:50%;height:25px;width:25px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0}.ai-avatar{background:#ece3f2;color:#9374a3}.collection{display:flex;gap:6px;justify-content:space-between}.collection>span{position:relative;width:23px;height:23px;display:flex}.collection .missing{opacity:.22;filter:saturate(.5)}.collection .missing:after{content:"";position:absolute;inset:0;border:1px dashed #4a5947;border-radius:50%}.collection .collected>svg{position:absolute;bottom:-3px;right:-2px;background:#fff;border-radius:50%;color:#527343}.session-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.session-heading .eyebrow{color:#859176}.live-badge{font-size:8px;letter-spacing:.1em;background:#e4eedb;color:#66814f;border-radius:4px;padding:3px 6px}.pattern-card{border:1px solid #dddcd2;background:#fffdf5;border-radius:12px;padding:16px 20px;box-shadow:4px 5px 0 #f1eee2;transform:rotate(-2deg);max-width:255px;margin:28px auto}.card-label{display:flex;justify-content:space-between;font-size:8px;font-weight:600;letter-spacing:.08em;color:#93917e}.pattern-preview{display:flex;align-items:center;justify-content:center;height:131px}.pattern-grid{display:grid;grid-gap:7px;gap:7px}.pattern-dot{background:#64745a;border-radius:50%;box-shadow:inset 0 -2px #475f3420}.pattern-dot,.pattern-space{width:28px;height:28px}.card-note{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6c7760}.card-note button{border:1px solid #dedfcf;background:transparent;border-radius:50%;display:flex;padding:7px}.pattern-card>p{font-size:9px;margin:6px 0 0;color:#a1a38e}.quick-tip{display:flex;gap:10px;color:#b59844;margin-top:31px}.quick-tip p{font-size:11px;color:#8a8d7b;margin:0;line-height:1.7}.quick-tip strong{display:block;color:#6b735e;font-size:12px;margin-bottom:3px}.quick-tip svg{flex-shrink:0;margin-top:2px}.bonus-legend{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;margin:23px 0;font-size:9px;color:#929680}.bonus-legend span{display:flex;align-items:center;gap:7px}.bonus-legend b{display:grid;place-items:center;border:1px solid #d8decb;border-radius:4px;background:#f2f5e9;width:21px;height:21px;color:#7c8a69;font-size:10px}.quit-button{width:100%;font-size:11px;min-height:40px;padding:9px}.return-choices{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.return-choices button{width:31px;height:31px;padding:3px;background:none;border:1px solid #b8c6ad;border-radius:50%}.return-choices button.selected{outline:2px solid #314b28}.result-panel{text-align:center}.result-panel .eyebrow{justify-content:center;margin:18px 0 12px;color:#859176}.result-icon{display:flex;align-items:center;justify-content:center;width:75px;height:75px;border-radius:50%;background:#f5edce;color:#c2a343;margin:0 auto}.result-panel h2{font-size:34px}.result-score{display:flex;align-items:center;justify-content:center;gap:20px;margin:20px 0;font-size:13px}.result-score span{display:flex;align-items:center;gap:13px}.result-score b{font-family:var(--display);font-size:40px;font-weight:500}.result-score i{font-style:normal;color:#aaa}.result-panel>p{font-size:12px;color:#8b9384}.result-panel .button{width:100%;margin-top:10px}.result-panel .game-id{font-size:8px;word-break:break-all;margin-top:18px}.save-status{font-size:10px!important;color:#708763!important}.error{font-size:12px;color:#a33b28!important;padding:11px 13px;background:#fff1eb;border-radius:7px;border:1px solid #f1d3c7;margin:12px 0;overflow-wrap:anywhere}.info-note{font-size:11px;color:#687c5a}.modal{border:1px solid #dce1d4;border-radius:20px;background:var(--paper);padding:40px;width:calc(100% - 28px);max-width:650px;max-height:90dvh;color:var(--ink);box-shadow:0 25px 120px #10251a33;overscroll-behavior:contain}.modal::-webkit-backdrop{background:#17251c8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal::backdrop{background:#17251c8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.close-modal{position:absolute;right:14px;top:14px}.icon-button{display:flex;padding:7px;border-radius:50%;background:#e9eddf}.feedback-form>.eyebrow,.rules .eyebrow{font-size:9px;color:#879373;margin:12px 0}.feedback-form h2,.rules h2{font-size:34px}.feedback-form>p,.rules p{font-size:13px;color:#7b8472;line-height:1.8}.rules ol{padding-left:20px;font-size:14px}.rules ol li{padding-left:8px;margin:22px 0}.rules ol p{margin:7px 0 0}.rules h3{font-size:20px;margin-top:24px}.bonus-guide{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:20px 0}.bonus-guide p{margin:0;display:flex;gap:9px;font-size:11px}.bonus-guide b{background:#e3ebd9;color:#6b8456;width:26px;height:26px;display:grid;place-items:center;border-radius:5px;flex-shrink:0}.bonus-guide strong{display:block;color:#657359}.quit-dialog{text-align:center;padding:18px 0}.quit-dialog>svg{color:#93a183;margin-bottom:18px}.quit-dialog h2{font-size:32px}.quit-dialog p{color:#848b79;font-size:14px}.quit-dialog .button{margin:12px 5px 0}.step-bar{display:flex;gap:6px;margin:23px 0 16px}.step-bar span{height:4px;background:#e2e7d8;flex:1 1;border-radius:4px}.step-bar span.active{background:#799868}.scale-caption{font-size:10px!important}.rating{border:0;border-top:1px solid #e0e5d6;margin:0;padding:17px 0 19px}.rating legend{float:left;width:100%;font-size:12px;padding:0;margin-bottom:10px}.rating-options{display:flex;gap:10px;clear:both}.rating-options button{width:42px;height:38px;border-radius:7px;border:1px solid #d4ddc9;background:#fffef9;color:#72815f}.rating-options button.selected{background:#687e57;color:white;border-color:#687e57}.feedback-details{margin-top:10px}.form-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.legal-page{max-width:760px;margin:50px auto;padding:0 24px}.legal-page h1{margin-top:35px;font-size:45px}.legal-page h2{font-size:25px;margin-top:30px}.legal-page p{color:#65705e}.legal-page>a{font-size:13px}.admin-page{max-width:1200px;padding:35px 24px;margin:auto}.admin-page table{width:100%;border-collapse:collapse;background:white}.admin-page td,.admin-page th{text-align:left;padding:11px;border-bottom:1px solid var(--line);font-size:12px}.admin-page .stats-grid{display:flex;gap:15px;flex-wrap:wrap}.admin-page a{color:var(--green)}@keyframes pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}@media(min-width:1400px){.app-shell{max-width:1310px}.hero{padding-top:55px}.hero h1{font-size:90px}.game-main{padding:30px 42px}.game-sidebar{padding:36px 42px}.cell{border-radius:8px}.board{gap:6px}.intro-text{font-size:14px}.difficulty{padding:13px}.difficulty strong{font-size:14px}.difficulty small{font-size:11px}}@media(max-width:1000px){.app-shell{padding:0 28px}.game-main{padding:22px 22px 20px}.game-sidebar{padding:26px 25px}.game-sidebar h2{font-size:34px}.board{padding:9px;gap:4px}.board-frame{padding-left:9px}.row-coordinate{left:-22px}.reservation{gap:45px}.players{gap:7px}.player-card{padding:9px}.player-label{font-size:9px;gap:4px}.collection{gap:4px}.avatar,.collection>span{width:20px;height:20px}.how-it-works{gap:20px}.how-it-works h3{font-size:15px}}@media(max-width:760px){.app-shell{padding:0 20px}.site-header{height:82px}.brand{width:125px}.site-header nav{gap:14px}.nav-reserve{padding:9px 13px;font-size:11px}.nav-link{font-size:11px;padding:0}.hero{padding:32px 0 28px}.hero h1{font-size:64px;gap:12px;margin-top:13px}.hero p{font-size:12px;max-width:290px;line-height:1.7}.hero .eyebrow{font-size:9px}.hero-note{margin-right:20px}.scribble{font-size:15px}.hero-note svg{width:45px;right:-26px;bottom:-26px}.playground{grid-template-columns:1fr;border-radius:17px}.game-sidebar{border-left:0;border-top:1px solid #e0e5d7;padding:27px}.game-main{padding:22px 24px}.board-frame{max-width:490px}.board-topline{margin-bottom:13px}.board{gap:5px;padding:11px}.cell{padding:8%}.dot{font-size:16px}.game-sidebar h2{font-size:35px}.game-sidebar:not(:has(.pattern-card)):not(:has(.result-panel)) h2 br{display:none}.intro-text{max-width:none;margin-bottom:20px}.difficulty-list{grid-template-columns:1fr 1fr 1fr;gap:7px}.difficulty{padding:12px 6px;display:flex;flex-direction:column;gap:2px;text-align:center;position:relative}.difficulty .radio-mark{position:absolute;right:7px;top:7px;width:13px;height:13px}.difficulty strong{font-size:12px}.difficulty small{font-size:9px;line-height:1.4;margin-top:4px;max-width:94px}.mode-icon{font-size:23px;margin-bottom:5px}.setup-heading{font-size:12px}.expert-toggle{padding-top:20px}.consent{font-size:10px;margin-top:3px;line-height:1.6}.start-button{font-size:14px;min-height:49px}.start-caption{font-size:11px}.how-it-works{gap:24px;padding:32px 7px;grid-template-columns:1fr}.how-it-works>div{padding-left:44px}.how-it-works h3{font-size:19px;margin-bottom:5px}.how-it-works p{font-size:12px}.how-it-works p br{display:none}.how-it-works>div>span{font-size:24px;top:2px}.reservation{grid-template-columns:1fr;gap:28px;padding:35px 7px}.reservation h2{font-size:36px}.reservation-copy>p{font-size:13px;margin-bottom:10px}.mini-dots{margin-top:18px}.reservation-form form>label:not(.checkbox-label){font-size:12px}.reservation-form .checkbox-label{font-size:11px}.reservation-form input:not([type=checkbox]){padding:13px 12px;font-size:14px}.reservation-form .primary{font-size:12px}.form-caption,.site-footer{font-size:10px}.site-footer{flex-wrap:wrap;padding:24px 7px}.site-footer>p{display:none}.footer-links{flex-wrap:wrap;gap:15px}.hero.compact{padding:20px 0}.hero.compact h1{font-size:46px}.hero.compact p{display:none}.hero.compact .eyebrow{font-size:8px}.hero.compact+.playground .game-sidebar{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 20px;gap:0 20px}.hero.compact+.playground .game-sidebar .session-heading{grid-column:1/-1;margin-bottom:10px}.hero.compact+.playground .game-sidebar>h2{font-size:29px;align-self:end;margin-bottom:10px}.hero.compact+.playground .game-sidebar>.intro-text{font-size:12px;grid-row:3;grid-column:1;margin-bottom:0}.hero.compact+.playground .game-sidebar>.pattern-card{grid-row:2/4;grid-column:2;margin:0;width:100%;padding:12px}.pattern-preview{height:108px}.pattern-grid{gap:5px;transform:scale(.88)}.card-label{font-size:7px}.card-note{font-size:9px}.card-note button{padding:5px}.pattern-card>p{font-size:8px}.quick-tip{grid-column:1/-1;margin-top:23px}.bonus-legend{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:5px;margin:18px 0;font-size:8px}.bonus-legend span{gap:4px}.quit-button{grid-column:1/-1}.players{gap:10px}.player-label{font-size:11px;gap:6px}.avatar,.collection>span{height:25px;width:25px}.player-card{padding:12px}.turn-message strong{font-size:13px}.turn-message p{font-size:11px}.result-panel{grid-column:1/-1}.result-panel .button{max-width:350px;display:flex;margin:12px auto 0}.modal{padding:29px 22px}.feedback-form h2,.rules h2{font-size:29px}.modal .eyebrow{max-width:90%;font-size:8px}.feedback-form>p,.rules p{font-size:12px}.rules ol{padding-left:17px}.bonus-guide{gap:15px 10px}.symbol-toggle{font-size:10px}.board-bottom .text-link{font-size:11px}.board-bottom{margin-top:17px}.rating-options button{min-height:42px}.result-score b{font-size:42px}.legal-page h1{font-size:36px}}@media(max-width:390px){.app-shell{padding:0 13px}.brand{width:111px}.nav-link span{display:none}.site-header nav{gap:13px}.hero h1{font-size:57px}.hero-note{display:none}.game-main{padding:18px}.board{gap:4px;padding:8px}.row-coordinate{left:-19px}.cell{border-radius:4px}.bonus-letter{font-size:7px;line-height:10px;right:0}.game-sidebar{padding:24px 20px}.board-topline .eyebrow,.mode-tag{font-size:8px}.collection>span{width:22px;height:22px}.player-card{padding:10px}.player-label{font-size:9px}.player-label>b{font-size:11px}.avatar{width:20px;height:20px}.hero.compact+.playground .game-sidebar{gap:0 12px}.hero.compact+.playground .game-sidebar>h2{font-size:26px}.hero.compact+.playground .game-sidebar>.intro-text{font-size:11px}.bonus-legend{grid-template-columns:1fr 1fr}.form-columns{grid-template-columns:1fr}.site-footer{gap:17px}.dot{font-size:12px}}.player-setup{display:grid;grid-gap:6px;gap:6px;margin:14px 0;font-size:13px;font-weight:600}.player-setup select{min-height:44px}.playback-controls{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:9px;flex-wrap:wrap}.playback-controls button,.playback-controls label{min-height:38px}.playback-controls button:disabled{opacity:.45}.replay-notice{margin:6px 0;padding:8px 11px;border-radius:7px;background:#fffdf4;color:#445639;font-size:12px;font-weight:600}.cell.is-recent{box-shadow:inset 0 0 0 2px #8564a2;background:#f3eafa}.cell.pattern-flash{box-shadow:inset 0 0 0 3px #bc870d;background:#fff2b7}.cell.pattern-flash .dot-motion{animation:polka-pattern .65s ease-out both}.cell.arrival .dot-motion{animation:polka-arrival .38s ease-out both}.dot-motion{display:flex;width:100%;height:100%}@keyframes polka-arrival{0%{transform:scale(.58);opacity:.5}65%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes polka-pattern{40%{transform:scale(1.17);filter:brightness(1.18)}}@media(prefers-reduced-motion:reduce){.cell .dot-motion{animation:none}}.player-label .avatar{width:auto;min-width:25px;padding-inline:4px}.result-score{flex-wrap:wrap}.ai-strength{border:0;margin:0 0 13px;padding:0;min-inline-size:0}.ai-strength legend{padding:0;margin-bottom:6px;font-weight:600;font-size:13px}.ai-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.ai-option{position:relative;display:flex;min-width:0;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #dce2d4;border-radius:9px;color:#3b493d;background:#fffef9;font-size:12px;font-weight:600;cursor:pointer}.ai-option.selected{border-color:#758e69;background:#edf3e8}.ai-option input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}.ai-option:focus-within{outline:3px solid #247dba;outline-offset:2px}.ai-dots{display:flex;gap:4px}.ai-dots i{border:1.5px solid #54774c;width:8px;height:8px;border-radius:50%}.ai-option.selected .ai-dots i{background:#54774c}.board{position:relative}.pattern-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 8px}.pattern-mini{display:inline-flex;align-items:center;gap:9px;text-align:left;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab;min-height:48px;padding:6px 9px;border:1px solid #d8d3be;border-radius:8px;background:#fffdf1;font-size:12px;font-weight:700}.pattern-mini small{display:block;font-size:10px;font-weight:500;color:#515948}.pattern-shape{--pattern-dot-size:7px;display:inline-grid;grid-auto-columns:var(--pattern-dot-size);grid-auto-rows:var(--pattern-dot-size);gap:2px;place-content:center;flex-shrink:0}.pattern-shape i{display:block;border-radius:50%;background:#52694b}.pattern-large{display:grid;place-items:center;min-height:150px;background:#fffdf1;border:1px solid #e1dfd0;border-radius:12px;margin:16px 0}.pattern-large .pattern-shape{--pattern-dot-size:24px;gap:5px}.pattern-board-actions,.pattern-dialog-actions{display:flex;gap:6px;flex-wrap:wrap}.pattern-board-actions button{display:grid;place-items:center;width:40px;height:44px;background:#fffdf1;border:1px solid #d8d3be;border-radius:8px}.pattern-overlay{position:absolute;inset:0;display:grid;grid-template:repeat(8,minmax(0,1fr))/repeat(8,minmax(0,1fr));padding:inherit;grid-gap:inherit;gap:inherit;pointer-events:none;z-index:4}.pattern-outline{position:relative;border:2px dashed #463481;outline:1px solid #fffef9;outline-offset:-3px;border-radius:50%;background:#c4aaff50}.pattern-handle{pointer-events:auto;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab;position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);padding:0;display:grid;place-items:center;background:transparent;color:white;text-shadow:0 1px 3px black;border-radius:50%}.pattern-handle svg{padding:2px;width:21px;height:21px;background:#463481;border-radius:5px}.pattern-handle:active,.pattern-mini:active{cursor:-webkit-grabbing;cursor:grabbing}.pattern-dialog h2{padding-right:30px}@media(max-width:390px){.pattern-board-actions button{width:35px}.pattern-mini small{font-size:9px}}.pattern-board-actions{flex-wrap:nowrap;flex-shrink:0}.pattern-mini>span:last-child{min-width:0}.pattern-celebration{position:absolute;z-index:8;inset:auto 8px 9px;max-width:310px;margin-inline:auto;display:flex;align-items:center;gap:10px;padding:6px 11px 6px 6px;border:1px solid #ded0aa;border-radius:14px;background:#fff9e9;box-shadow:0 5px 18px #3b2b232f;pointer-events:none;animation:pattern-cheer-in .24s ease-out both}.pattern-celebration img{width:96px;height:auto;border-radius:8px;display:block}.pattern-celebration span,.pattern-celebration strong{display:block;line-height:1.3}.pattern-celebration strong{font-size:13px}.pattern-celebration span{color:#605b48;font-size:11px;margin-top:3px}@keyframes pattern-cheer-in{0%{transform:translateY(10px) scale(.96);opacity:0}to{transform:none;opacity:1}}.no-visual-motion .cell .dot-motion,.no-visual-motion .turn-message .turn-marker{animation:none}.board-finish{position:absolute;inset:0;z-index:9;isolation:isolate;border-radius:inherit;overflow:hidden;pointer-events:none}.winner-stage{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#fffcf1f5 15%,#f7f2dbe8 62%,#e8eedbdc);border:2px solid #d8dfc3;border-radius:inherit}.winner-particles{position:absolute;inset:0;width:100%;height:100%;touch-action:none;pointer-events:auto}.winner-label{position:relative;display:grid;justify-items:center;grid-gap:5px;gap:5px;background:#fffdf1f0;border:1px solid #e2d5ac;border-radius:17px;padding:16px 24px;color:#293747;box-shadow:0 5px 20px #2435231c;max-width:83%;text-align:center}.winner-label svg{color:#946f18}.winner-label strong{font-family:var(--display);font-size:clamp(22px,3vw,40px);line-height:1.05}.winner-label small{font-size:11px;color:#515948}.board-result{display:none}.result-score .winning-score{color:#385c41}.result-score .winning-score b{text-decoration:underline;-webkit-text-decoration-color:#a9bf83;text-decoration-color:#a9bf83;text-underline-offset:5px;text-decoration-thickness:3px}.finished-playground .turn-message{display:none}@media(max-width:760px){.hero.compact+.playground .game-sidebar.finished-sidebar{display:none}.finished-playground .board{min-height:345px;align-content:center}.board-finish{display:grid;place-items:center;background:#edf0e4de}.winner-label{display:none}.board-result{display:block;position:relative;width:min(86%,360px);max-height:calc(100% - 28px);overflow:auto;overscroll-behavior:contain;border:1px solid #ded6bd;border-radius:14px;background:#fffdf2f2;box-shadow:0 6px 24px #23342020;padding:10px 12px 8px}.board-result .result-icon{width:35px;height:35px}.board-result .result-icon svg{width:20px;height:20px}.board-result .eyebrow{margin:6px 0;font-size:8px}.board-result .result-panel h2{margin:0 0 8px;font-size:clamp(23px,6vw,31px)}.board-result .result-score{margin:0 0 6px;gap:4px 8px;font-size:10px}.board-result .result-score span{gap:4px}.board-result .result-score b{font-size:22px;line-height:1}.board-result .result-panel>p{margin:5px 0;font-size:10px}.board-result .result-panel .button{pointer-events:auto;min-height:43px;margin:6px auto 0;padding:6px;font-size:11px;gap:5px}.board-result .result-panel .game-id{font-size:7px;margin:6px 0 0}.board-result:has(.error){pointer-events:auto}}@media(max-width:350px){.finished-playground .board{min-height:363px}.board-result{width:89%;padding-inline:8px}}@media(prefers-reduced-motion:reduce){.pattern-celebration{animation:none}}