@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');
:root{--green:#215b49;--mint:#e7f0e7;--ink:#223e34;--orange:#d76c46}*{box-sizing:border-box}body{margin:0;background:#f5f5ee;color:var(--ink);font-family:'Be Vietnam Pro',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}header{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid #dce2d8;gap:18px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--green);font-size:13px}.brand b{display:block;font-size:23px}.brand small{display:block;font-size:10px;margin-top:3px}.brandicon{width:45px;height:48px;background:var(--green);color:#fff;border-radius:15px 4px;display:grid;place-items:center;font-size:29px;font-weight:800}.seafood img{width:150px;height:65px}.shop{font-size:12px;color:var(--green);text-decoration:none;border:1px solid #c8d7c7;padding:12px 18px;border-radius:30px}main{max-width:1120px;margin:auto;padding:32px 28px 15px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:700}h1{font-size:42px;line-height:1.16;letter-spacing:-1.8px;margin:12px 0}h1 em{font-style:normal;color:#708475}.heading p{font-size:13px;color:#7c887d;margin:12px 0 0}.decor{display:flex;font-size:100px;gap:25px;line-height:1;transform:rotate(-12deg);padding-right:45px}.decor span:first-child{color:var(--orange)}.decor span:last-child{color:var(--green)}.layout{display:grid;grid-template-columns:280px 1fr;gap:25px;align-items:start}aside{background:#fff;border:1px solid #e1e6dd;border-radius:20px;padding:24px}h2{font-size:18px;margin:0 0 18px}.modes,.sides{display:flex;gap:6px;background:#f1f3ec;padding:4px;border-radius:11px}.modes button,.sides button{border:0;background:transparent;padding:10px 5px;font-size:11px;border-radius:8px;flex:1;color:#667668}.selected{background:var(--green)!important;color:white!important}label{font-size:9px;letter-spacing:1.5px;font-weight:700;display:block;margin:23px 0 10px}.levels{display:flex;gap:8px}.levels button{flex:1;text-align:left;border:1px solid #e1e6dd;border-radius:12px;background:#fafbf7;padding:14px 10px;color:var(--green)}.levels b{font-size:14px}.levels small{display:block;font-size:8px;margin-top:8px;white-space:nowrap}.levels span{color:#ebc56f}.hint{font-size:10px;line-height:1.7;color:#7d877e;min-height:35px;margin:10px 0}.primary,.secondary{width:100%;border:0;border-radius:10px;padding:13px;font-size:12px}.primary{margin:22px 0 8px;background:var(--green);color:#fff;text-align:left}.primary span{float:right}.secondary{background:#f2f4ee;color:var(--green)}button:disabled{opacity:.45;cursor:default}.rules{border-top:1px solid #e5e8e0;margin-top:22px;padding-top:15px}.rules h3{font-size:12px}.rules p{font-size:10px;line-height:1.9;color:#7b877b}.record{background:#f5f6ef;border-radius:10px;padding:14px;margin-top:16px}.record>span{font-size:8px;letter-spacing:1px}.record div{display:flex;gap:9px;align-items:baseline;margin-top:6px}.record b{font-size:23px}.record small{font-size:10px;color:#7b877b}.game{background:#fff;border:1px solid #e1e6dd;padding:21px;border-radius:20px}.gamebar{display:flex;justify-content:space-between;align-items:center;margin:0 4px 20px}.gamebar strong{font-size:13px}.gamebar small{display:block;margin:6px 0 0 18px;font-size:10px;color:#869082}.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#58a46d;margin-right:8px}#count{font-size:10px;background:#eef2e9;padding:8px 11px;border-radius:20px}.boardwrap{background:#f6eeda;padding:12px;border:1px solid #e6dcc6;border-radius:12px}#board{display:grid;grid-template-columns:repeat(15,1fr);border-left:1px solid #d9cfb9;border-top:1px solid #d9cfb9}.cell{aspect-ratio:1;border:0;border-right:1px solid #d9cfb9;border-bottom:1px solid #d9cfb9;background:transparent;padding:0;font-family:Arial,sans-serif;font-size:clamp(14px,2.6vw,30px);font-weight:500;position:relative;color:var(--green)}.cell:hover:empty{background:#e8dfca}.cell.x{color:var(--orange)}.cell.last:after{content:'';position:absolute;right:3px;bottom:3px;width:4px;height:4px;background:#a68e60;border-radius:50%}.cell.win{background:#cce1bb}.cell:focus-visible{outline:2px solid var(--green);outline-offset:-3px}.below{display:flex;justify-content:space-between;align-items:center;padding:18px 4px 0;font-size:11px}.below i{font-style:normal;font-size:20px;vertical-align:middle;margin-right:7px}.x{color:var(--orange)}.o{color:var(--green)}.boardlabel{font-size:8px;letter-spacing:2px;color:#929789}#result{font-size:12px;text-align:center;min-height:15px;margin:10px 0 0;color:var(--green)}footer{text-align:center;font-size:10px;color:#87917f;margin:27px 0 12px}footer a{color:var(--green);margin-left:10px;text-decoration:none}footer span{margin-left:10px}@media(min-width:1000px){.game{max-width:690px}}@media(max-width:760px){header{padding:12px 16px}.brand{font-size:10px}.brand b{font-size:18px}.brand small{font-size:8px}.brandicon{width:35px;height:40px}.seafood img{width:90px}.shop{display:none}main{padding:23px 12px}.heading{margin-bottom:18px;padding:0 5px}h1{font-size:29px}.heading p{font-size:10px}.decor{font-size:66px;padding-right:10px;gap:10px}.layout{display:flex;flex-direction:column;gap:12px}aside{width:100%;padding:16px}h2{font-size:14px;margin-bottom:12px}.modes{max-width:100%}#botOptions{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}#botOptions label{margin:14px 0 2px}#botOptions label:first-child{grid-column:1}#botOptions .levels{grid-column:1;grid-row:2}.levels button{padding:9px}.levels small{font-size:7px}.hint{grid-column:1 / 3;grid-row:3;min-height:0;margin:2px 0}#botOptions label:nth-of-type(2){grid-column:2;grid-row:1}.sides{grid-column:2;grid-row:2;align-self:center}.primary,.secondary{width:calc(50% - 5px);margin:10px 0 0}.secondary{margin-left:5px}.rules,.record{display:none}.game{width:100%;padding:13px}.gamebar{margin-bottom:12px}.boardwrap{padding:6px}.cell{font-size:clamp(14px,5vw,26px)}footer{line-height:2}.eyebrow{font-size:8px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s} .decor{animation:sway 6s ease-in-out infinite alternate}@keyframes sway{to{transform:rotate(2deg)}}}

.cell[data-empty="true"]:before{content:attr(data-number);position:absolute;inset:0;display:grid;place-items:center;font-family:Arial,sans-serif;font-size:clamp(7px,.8vw,10px);color:#8d8066;opacity:.3;pointer-events:none}.seafood img{width:150px;height:65px;object-fit:cover;border-radius:12px;border:1px solid #d6ded2}@media(max-width:760px){.seafood img{width:100px;height:57px}.cell[data-empty="true"]:before{font-size:7px}}
/* Compact play-first layout: all controls stay above a viewport-sized board. */
header{max-width:900px;padding:8px 18px;min-height:54px;gap:12px}.brandicon{width:30px;height:34px;font-size:22px;border-radius:10px 3px}.brand{font-size:9px;gap:8px}.brand b{display:inline;font-size:16px}.brand small{font-size:8px;margin-top:3px}.seafood img{width:94px;height:40px;border-radius:8px}.shop{padding:8px 12px;font-size:10px}main{max-width:900px;padding:10px 16px 5px}.heading{display:none}.layout{display:flex;flex-direction:column;gap:8px;align-items:center}aside{width:100%;max-width:780px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;padding:8px;border-radius:12px}aside h2,aside label,aside .hint,aside .rules,aside .record,.levels small{display:none}#botOptions{display:contents}.modes,.sides{gap:2px;padding:3px;border-radius:8px}.modes button,.sides button{flex:none;padding:7px 9px;font-size:10px;line-height:16px}.levels{gap:3px}.levels button{padding:8px 10px;border-radius:8px;flex:none;line-height:16px}.levels b{font-size:10px}.primary,.secondary{width:auto;margin:0;padding:10px 13px;border-radius:8px;font-size:11px;line-height:16px;white-space:nowrap}.primary span{display:none}.secondary{margin:0}.game{width:min(100%,calc(100svh - 208px));max-width:680px;padding:10px;border-radius:13px}.gamebar{margin:0 2px 9px}.gamebar strong{font-size:11px}.gamebar small{font-size:8px;margin-top:3px}.gamebar #count{padding:6px 9px;font-size:9px}.boardwrap{padding:6px;border-radius:8px}.cell{font-size:clamp(12px,3.2vh,28px)}.below{padding:7px 2px 0;font-size:9px}.below i{font-size:16px;margin-right:4px}.boardlabel{font-size:7px}#result{font-size:10px;min-height:0;margin:0}#result:not(:empty){margin-top:6px}footer{margin:10px 0 4px;font-size:9px;line-height:1.7}@media(max-width:760px){header{padding:7px 12px}.brand b{font-size:14px}.seafood img{width:85px;height:36px}main{padding:7px 8px 4px}.layout{gap:6px}aside{padding:6px;gap:5px}.modes{flex:1 1 48%;justify-content:center}#botOptions{display:contents}.levels{flex:1 1 44%;justify-content:center}.modes button{flex:1;padding:5px 6px;font-size:10px}.levels button{flex:1;padding:7px 8px;text-align:center}.sides{flex:1 1 41%;justify-content:center}.sides button{flex:1;padding:5px 4px;font-size:9px}.primary{flex:1 1 24%;padding:8px 9px;font-size:10px}.secondary{flex:1 1 23%;padding:8px 9px;font-size:10px}.game{width:min(100%,calc(100svh - 209px));padding:8px}.cell{font-size:clamp(12px,4.6vw,25px)}footer{margin-top:7px}}@media(max-height:500px) and (min-width:600px){header{min-height:42px;padding-top:4px;padding-bottom:4px}.brand small{display:none}.seafood img{height:30px}main{padding-top:5px}.game{width:min(100%,calc(100svh - 159px));padding:6px}.gamebar{margin-bottom:5px}.gamebar small,.below{display:none}footer{margin-top:5px}}
/* Large physical-looking stones, kept inside each square. */
.stone,.mini-stone{display:block;border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff 0%,#fff 23%,#eee 52%,#c9cdce 78%,#a1a9aa 100%);border:1px solid #9ca5a6;box-shadow:inset 0 2px 3px #fff,inset 0 -3px 4px #929b9e55,0 2px 2px #40372470;pointer-events:none}.stone{position:absolute;width:89%;height:89%;left:5%;top:4%;z-index:1}.stone.red,.mini-stone.red{background:radial-gradient(circle at 32% 22%,#ffbbb0 0%,#f45547 18%,#db261f 49%,#ab1116 77%,#750610 100%);border-color:#970f15;box-shadow:inset 0 2px 3px #ffc8b570,inset 0 -3px 4px #6b001c60,0 2px 2px #40372480}.mini-stone{display:inline-block;width:15px;height:15px;vertical-align:middle;margin-right:4px}.below .mini-stone{width:18px;height:18px}.cell.last:after{z-index:2;width:5px;height:5px;right:45%;bottom:45%;background:#253e48;border:1px solid #fff;box-shadow:0 0 1px #fff}.cell.last:has(.red):after{background:#fff;border-color:#891c20}.cell.win{background:#b6d79e}.cell.win .stone{outline:2px solid #377a2b;outline-offset:-1px}.sides button{white-space:nowrap}
.stone.blue,.mini-stone.blue{background:radial-gradient(circle at 32% 22%,#c8efff 0%,#57b5f5 18%,#2381d1 49%,#175298 77%,#102f67 100%);border-color:#15528d;box-shadow:inset 0 2px 3px #bfefff80,inset 0 -3px 4px #09275460,0 2px 2px #40372480}.stone.yellow,.mini-stone.yellow{background:radial-gradient(circle at 32% 22%,#fff8cf 0%,#ffe671 18%,#edb831 49%,#c98c16 77%,#9a620b 100%);border-color:#ad7918;box-shadow:inset 0 2px 3px #fff8ca80,inset 0 -3px 4px #8d570960,0 2px 2px #40372480}.player-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:20px;white-space:nowrap}.player-badge.active{background:#e4efdc;box-shadow:inset 0 0 0 1px #bad1a6}.below{gap:5px;flex-wrap:wrap;justify-content:center}.modes button{padding-left:7px;padding-right:7px}.cell.last:has(.blue):after{background:#fff;border-color:#175298}@media(max-width:760px){.modes{flex:1 1 100%}.levels{flex:1 1 24%}.levels button{padding:7px 4px}.sides{flex:1 1 27%}.primary{flex:1 1 17%;padding:8px 6px}.secondary{flex:1 1 17%;padding:8px 6px}.game{width:min(100%,calc(100svh - 209px))}}
.cell[data-empty="true"]:before{font-weight:600;opacity:.5;color:#796d54}
.product-photos{display:flex;gap:5px;align-items:center}.product-photos a{display:block;line-height:0;border-radius:7px;overflow:hidden}.product-photos img{display:block;width:48px;height:42px;object-fit:contain;background:#f0f1e9;border:1px solid #d6ded2;border-radius:7px}.product-photos a:focus-visible{outline:2px solid #215b49;outline-offset:2px}@media(max-width:760px){header{gap:6px}.product-photos{gap:3px}.product-photos img{width:34px;height:36px}}@media(max-width:350px){.product-photos img{width:29px;height:33px}.brand b{font-size:12px}.brand small{font-size:7px}}@media(max-height:500px) and (min-width:600px){.product-photos img{height:30px}}
