@font-face{font-family:LocalSerif;src:local('Georgia')}*{box-sizing:border-box} [hidden]{display:none!important}:root{font-family:Arial,sans-serif;color:#193e35;background:#f7f5eb;font-synthesis:none}body{margin:0}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid #d8824d;outline-offset:3px}button{color:inherit}header{height:40px;background:#193e35;color:#f7f5eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:8px}header button{border:0;background:transparent;color:inherit;height:40px;padding:0 10px}header>div{display:flex}.brand{font-size:12px;letter-spacing:2px;font-weight:800;color:inherit;text-decoration:none}.brand span{font-weight:400;opacity:.65;font-size:10px}.landing{max-width:1260px;margin:auto;padding:55px 48px 32px;display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;display:flex;gap:10px;align-items:center}.eyebrow i{width:7px;height:7px;background:#d98057;border-radius:50%}h1{font-family:LocalSerif,Georgia,serif;font-size:clamp(54px,5.5vw,80px);line-height:1.02;font-weight:400;letter-spacing:-3px;margin:23px 0}h1 em{font-weight:400;color:#648664}p.intro{font-size:15px;line-height:1.7;color:#688076}.illustration{height:345px;position:relative;margin-top:26px;overflow:hidden;border-radius:140px 140px 18px 18px;background:#afd9c2;border:8px solid #e8ecde;box-shadow:0 18px 40px #244d3412}.illustration canvas{position:absolute;width:100%;height:auto;top:-110px;transform:rotate(-9deg) scale(1.14)}.art-tag{position:absolute;bottom:18px;left:18px;font-size:9px;letter-spacing:1.3px;background:#f8f4df;padding:12px 16px;border-radius:9px;box-shadow:0 5px 12px #143e3425}.art-tag b{display:block;font-size:8px;margin-top:5px;color:#6d8870}.art-stamp{position:absolute;right:18px;top:35px;transform:rotate(9deg);border-radius:50%;background:#f4c779;color:#4b5d3a;width:92px;height:92px;display:grid;place-content:center;text-align:center;font-family:Georgia,serif;font-size:15px;box-shadow:0 4px 0 #bb99494d}.art-stamp b{font-size:13px}.hero-bottom{display:flex;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:1px;margin:24px 2px;color:#7a8a79}.setup{background:#fffdf5;border:1px solid #e2e6d7;border-radius:22px;padding:32px;box-shadow:0 18px 50px #1c493309}.setup>.eyebrow{color:#a47551;font-size:9px}.setup h2{font-family:Georgia,serif;font-weight:400;font-size:29px;letter-spacing:-1px;margin:19px 0 10px}.muted{color:#7b8678;font-size:13px;margin-bottom:29px}fieldset{padding:0;border:0;margin:0 0 22px}legend,.players-choice>b{font-size:12px;font-weight:700;margin-bottom:12px}.devices{display:flex;gap:8px}.devices button{flex:1;display:flex;gap:9px;align-items:center;text-align:left;border:1px solid #e0e4d7;border-radius:12px;background:transparent;padding:14px 10px;font-size:13px;font-weight:700}.devices button.selected{border-color:#426c53;background:#edf2e7}.devices svg{width:23px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5}.devices small{display:block;font-size:9px;color:#788873;font-weight:400;margin-top:6px}.players-choice{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.players-choice>b{margin:0}#counts{display:flex;gap:5px}#counts button{width:42px;height:42px;border:1px solid #dde3d5;background:transparent;border-radius:10px}#counts .selected{background:#234d3e;color:white;border-color:#234d3e}#names{display:flex;gap:6px}#names label{min-width:0;flex:1;font-size:10px;color:#768271}#names input{margin-top:5px;width:100%;border:1px solid #e2e5d8;border-radius:8px;background:#f9f9f0;padding:11px;color:#294f3c;font-size:13px}.ad-choice{display:flex;align-items:center;gap:7px;margin:16px 0;font-size:11px;color:#7b8678;min-height:24px;cursor:pointer}input[type=checkbox]{accent-color:#305c43;width:17px;height:17px}.primary{border:0;border-radius:11px;background:#d8825b;color:#fffdf5;min-height:52px;padding:12px 20px;font-weight:700;font-size:15px;width:100%;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 0 #b76742}.primary:hover{background:#c7754f}.primary span{font-size:25px;font-weight:400}.instructions{display:flex;gap:18px;align-items:center;padding:22px 0 15px}.instructions p{font-size:11px;color:#7c8876;line-height:1.8;margin:0}.instructions b{color:#365540;font-size:12px}.arrows{font-size:18px;text-align:center;line-height:1.2;color:#6e875b;white-space:nowrap}.record{border-top:1px solid #e7e9df;padding-top:17px;display:flex;align-items:center;justify-content:space-between}.record>span{font-size:9px;letter-spacing:1px;color:#8c977f}.record strong{font-size:22px}.record small{font-size:11px;font-weight:400}#ad{height:32px;display:grid;place-content:center;font-size:10px;color:#919888;background:#edeedf;border-top:1px solid #dde3d3;letter-spacing:1px}body.playing{height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}body.playing header,body.playing #ad{flex-shrink:0}#game{flex:1;min-height:0;display:flex;flex-direction:column;background:#dfe8d6}#boards{flex:1;display:flex;gap:8px;padding:8px;min-height:0}.board{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#284b3e;position:relative;box-shadow:0 4px 12px #193e3515}.hud{height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 12px;color:#fff6da;font-size:11px}.hud-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:27%}.hud .hearts{color:#edac85;letter-spacing:2px}.field{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#537e55,#254c3f);touch-action:none;user-select:none;-webkit-user-select:none}.field canvas{display:block;max-width:100%;max-height:100%;touch-action:none}.controls{display:flex;justify-content:center;gap:7px;background:#284b3e;padding:6px;flex-shrink:0}.controls button{min-width:48px;height:44px;border:1px solid #678568;border-radius:9px;background:#3e604b;color:#ffefc9;font-size:24px;touch-action:none}.controls button:active{background:#a6be7e;color:#234c3d}.game-footer{height:30px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 16px;font-size:10px;gap:8px}.game-footer button{border:0;background:transparent;height:30px;font-size:11px}.overlay{position:absolute;inset:34px 0 0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:12px;background:#123f36a6;backdrop-filter:blur(5px);color:#fff9e4;text-align:center;overflow:auto}.overlay h2{font:36px Georgia,serif;margin:6px 0 12px}.overlay p{font-size:12px;line-height:1.6;margin:5px 0 14px}.overlay button{border:0;border-radius:8px;padding:11px 18px;min-height:42px;margin:4px;background:#e9bb75;color:#294e3a;font-weight:700}.ranking{font-size:12px;line-height:1.7;margin:6px 0;padding:0;list-style:none}.duel{flex-direction:column}.duel .board:first-child{transform:rotate(180deg)}#toast{position:fixed;left:50%;bottom:45px;transform:translateX(-50%);background:#193e35;color:#fff;padding:15px;border-radius:12px;font-size:12px;z-index:10}.countdown{font-size:75px!important}.board .message{position:absolute;top:44px;left:50%;transform:translateX(-50%);background:#fff6dfef;color:#496346;padding:6px 12px;border-radius:12px;font-size:11px;white-space:nowrap;pointer-events:none}.board .timer{height:3px;background:#f0c77e;position:absolute;top:31px;left:0;transition:width .1s linear}.duel .overlay h2{font-size:25px}.duel .overlay p{margin:3px}.duel .ranking{font-size:11px}.duel .controls{padding:3px}.duel .controls button{height:40px}.duel .hud{height:30px}.duel .overlay{inset:30px 0 0}
@media(min-width:1500px){.landing{padding-top:75px;gap:100px}.illustration{height:380px}}
@media(max-width:900px){.landing{gap:30px;padding:35px 26px}.setup{padding:23px}h1{font-size:56px}.illustration{height:300px}.hero-bottom{font-size:6px}.devices button{padding:13px 8px;gap:6px}}
@media(max-width:650px){header{padding:0 5px}.brand{font-size:10px}.brand span{display:none}header button{font-size:11px;padding:0 8px}.landing{display:block;padding:30px 20px}.hero{max-width:440px;margin:auto}h1{font-size:59px}.intro{font-size:13px!important}.eyebrow{font-size:8px}.illustration{height:230px;border-radius:100px 100px 14px 14px}.illustration canvas{top:-100px}.hero-bottom{margin:17px 2px}.setup{margin:24px auto 0;max-width:440px}.setup h2{font-size:29px}#boards{gap:4px;padding:4px}.hud{padding:0 7px;font-size:10px}.game-footer{padding:0 8px;font-size:9px}#status{display:none}.class-mode .hud{height:52px;flex-wrap:wrap;gap:1px;padding:5px}.class-mode .hud-name{max-width:100%;width:100%}.class-mode .controls{gap:3px;flex-wrap:wrap;padding:4px}.class-mode .controls button{min-width:40px;height:40px;font-size:19px}.class-mode .overlay{inset:52px 0 0;padding:6px}.class-mode .overlay h2{font-size:19px}.class-mode .ranking{font-size:10px}.class-mode .overlay button{font-size:10px;padding:8px}.class-mode .message{font-size:8px;max-width:98%;white-space:normal;top:60px}.class-mode .timer{top:49px}}
@media(max-height:500px) and (orientation:landscape){.controls{position:absolute;right:8px;bottom:8px;display:grid;grid-template-columns:44px 44px;gap:4px;background:#284b3ebb;border-radius:10px}.controls button{min-width:44px;height:40px}.hud{height:28px}.overlay{inset:28px 0 0}.overlay h2{font-size:23px}.overlay p{margin:3px}.ranking{font-size:10px}.overlay button{padding:7px;min-height:35px}.game-footer{height:25px}.game-footer button{height:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
