:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173326;background:#dce8d6;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 0,#fff4c7 0 4%,transparent 23%),radial-gradient(circle at 88% 8%,#a7c697 0 5%,transparent 25%),linear-gradient(145deg,#e7edda,#bfd4b5 54%,#8eb08b);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.12;background-image:linear-gradient(30deg,#244c38 12%,transparent 12.5%,transparent 87%,#244c38 87.5%),linear-gradient(150deg,#244c38 12%,transparent 12.5%,transparent 87%,#244c38 87.5%);background-size:32px 56px}.game-shell{position:relative;width:min(100%,1240px);margin:auto;padding:clamp(1rem,3vw,2.5rem)}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.2rem}.eyebrow,.board-kicker,.step{display:inline-block;padding:.1rem .28rem;border-radius:.2rem;background:#f7f5e8;color:#36543d;font-weight:800;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;margin:0}.instructions{max-width:42rem;margin:.35rem 0 0;color:#405e4b}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,7vw,5.4rem);line-height:.85;margin:.25rem 0;color:#163e2b;letter-spacing:-.055em;text-shadow:0 2px #fff9}h2{font-family:Georgia,Times New Roman,serif;letter-spacing:-.02em}.phase-badge{min-width:14rem;padding:.8rem 1rem;border:1px solid #6f8d6f;border-radius:.6rem;background:#f7f4dfd9;box-shadow:0 6px 20px #19372620}.phase-badge span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#58705a}.phase-badge strong{display:block;color:#21462f}.game-message{min-height:3.2rem;margin:.7rem 0 1rem;padding:.8rem 1rem;border:1px solid #b77837;border-left:6px solid #a85d20;border-radius:.45rem;background:#fff7d9;color:#4d341c;font-weight:750;box-shadow:0 4px 14px #4a3a1b12}.game-message.result{background:#fff1b8;border-color:#875522;font-size:1.1rem}.setup-panel{display:grid;grid-template-columns:minmax(12rem,1.1fr) minmax(20rem,2fr);gap:1rem 1.5rem;padding:clamp(1rem,2.5vw,1.5rem);border:1px solid #739176;border-radius:.8rem;background:#f7f5e8e8;box-shadow:0 9px 28px #183b2921}.setup-copy h2{margin:.25rem 0;font-size:1.5rem;color:#21472f}.setup-copy p:last-child{margin:.35rem 0;color:#4c6250}.animal-picker{display:grid;grid-template-columns:repeat(5,minmax(7rem,1fr));gap:.5rem}.animal-choice{display:flex;align-items:center;gap:.45rem;min-width:0;text-align:left;padding:.5rem;background:#edf1dd;border:1px solid #92a985}.animal-choice img{width:2rem;height:2rem;flex:0 0 auto}.animal-choice span{min-width:0}.animal-choice strong,.animal-choice small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.animal-choice strong{font-size:.78rem}.animal-choice small{font-size:.66rem;color:#506454}.animal-choice.selected{border-color:#153d29;background:#d8e8bd;box-shadow:inset 0 0 0 2px #315d3c}.placement-tools{grid-column:2;display:flex;flex-wrap:wrap;gap:.55rem}.placement-help{grid-column:1/-1;min-height:1.5rem;margin:0;padding:.45rem .65rem;border-radius:.35rem;background:#e6ebd5;color:#314d39;font-weight:650}.actions,.stats,.boards{display:flex;gap:1rem;flex-wrap:wrap}.main-actions,.stats{margin:1rem 0}.summary{flex:1 1 280px;display:grid;grid-template-columns:1fr repeat(3,minmax(5.2rem,auto));align-items:center;gap:.7rem;padding:.8rem 1rem;background:#f8f6e9e8;border:1px solid #8da28a;border-radius:.55rem;box-shadow:0 4px 14px #183b2918}.summary h2{font-size:1rem;margin:0;color:#274a34}.stat{min-width:0;border-left:1px solid #c7d1bb;padding-left:.7rem}.stat span,.stat strong{display:block}.stat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:#5b6e5d}.stat strong{font-size:.8rem;color:#243d2b;overflow-wrap:anywhere}.boards{align-items:flex-start}.forest-panel{flex:1 1 470px;min-width:0;padding:clamp(.7rem,2vw,1.1rem);background:#eff2dfe8;border:1px solid #789078;border-radius:.75rem;box-shadow:0 9px 26px #183b2924}.board-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.board-heading h2{margin:.05rem 0 0;color:#1e4530;font-size:1.35rem}.board-heading>span{max-width:18rem;text-align:right;font-family:Georgia,serif;font-style:italic;font-size:.76rem;line-height:1.25;color:#526856}.board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(2px,.35vw,4px);width:100%}.tile{position:relative;aspect-ratio:1;width:100%;min-width:0;padding:0;overflow:hidden;border:1px solid #456946;border-radius:4px;background:linear-gradient(145deg,#78a65f,#94bd71);box-shadow:inset 0 0 0 1px #dceda84d,0 1px 1px #34512c40}.tile[aria-disabled=false]{cursor:pointer}.tile[aria-disabled=false]:hover{filter:brightness(1.1);transform:translateY(-1px)}.tile[aria-disabled=true]{cursor:default}.tree{position:absolute;left:10%;bottom:-20%;font-size:clamp(.75rem,2.1vw,1.55rem);color:#376b39;opacity:.5;transform:scaleX(.7)}.tile.miss{background:repeating-linear-gradient(135deg,#c7d2bd,#c7d2bd 5px,#b8c6b0 5px,#b8c6b0 9px);border-color:#71856d}.tile.found,.tile.own-hit{background:repeating-linear-gradient(45deg,#a6a759,#a6a759 5px,#bdba68 5px,#bdba68 10px)}.tile.revealed,.tile.own{background:linear-gradient(145deg,#d6dfa2,#bacc83)}.tile.preview-valid{outline:3px solid #f5d45a;outline-offset:-3px;filter:brightness(1.14)}.tile.preview-invalid{outline:3px dashed #8f281d;outline-offset:-3px;background:#d69a76}.animal-art{position:absolute;top:11%;right:11%;bottom:11%;left:11%;width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 1px 0 #fff8) drop-shadow(0 2px 2px #20341c55)}.shot-marker{position:absolute;display:grid;place-items:center;top:18%;right:18%;bottom:18%;left:18%;border-radius:50%;font-weight:950;font-size:clamp(.65rem,1.8vw,1.15rem);line-height:1}.found-marker{background:#b9512e;color:#fff9dc;border:2px solid #572718;box-shadow:0 1px 4px #40200daa}.miss-marker{background:#f5f2decc;color:#334f3b;border:1px solid #627663;font-size:clamp(.8rem,2vw,1.35rem)}.own-overlay{inset:auto 3% 3% auto;width:42%;height:42%;font-size:.65rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input{font:700 .86rem/1.2 inherit}button{padding:.62rem .85rem;border:1px solid #526e51;border-radius:.42rem;background:#faf6df;color:#193b28;cursor:pointer;box-shadow:0 2px 3px #28442b20}button:hover:not(:disabled){background:#fffbea}button.primary{background:#285b3a;color:#fff;border-color:#183d27;box-shadow:0 3px 8px #173b2950}button.primary:hover:not(:disabled){background:#1e4d30}button:disabled{opacity:.48;cursor:not-allowed}.tile[aria-disabled=true]{opacity:1}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #101f17;outline-offset:3px}.gate-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:1.25rem}.gate-card{width:min(100%,31rem);padding:clamp(1.5rem,6vw,3.2rem);background:#f9f5e5f2;border:1px solid #759078;border-radius:1rem;box-shadow:0 18px 55px #183b2940}.gate-card h1{font-size:clamp(2.5rem,10vw,4.3rem);margin-bottom:1rem}.gate-card form{display:grid;gap:.75rem;margin-top:1.5rem}.gate-card label{font-size:.82rem;text-transform:uppercase;letter-spacing:.07em}.gate-card input{width:100%;padding:.78rem;border:1px solid #4f704f;border-radius:.4rem;background:#fffdf4;color:#173326;font-size:1rem}.gate-card button{justify-self:start}.gate-message{min-height:1.5rem;margin:.2rem 0 0;color:#792f20;font-weight:750}footer{margin-top:1rem;padding:.65rem 1rem;border-radius:.45rem;background:#eef1dccc;color:#405a47;font-size:.8rem}footer p{display:flex;gap:1rem;flex-wrap:wrap;margin:0}.setup-panel{background:#f7f5e8}.mode-card{width:min(100%,48rem)}.mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.mode-option{min-height:8rem;padding:1.2rem;text-align:left}.mode-option strong,.mode-option span{display:block}.mode-option strong{font:700 1.25rem Georgia,Times New Roman,serif}.mode-option span{margin-top:.45rem;font-weight:500;line-height:1.45}.invite-note{padding:.75rem;border-left:5px solid #a85d20;background:#fff7d9;color:#4d341c}.invite-panel{margin:0 0 1rem;padding:1rem 1.2rem;border:1px solid #6f8d6f;border-radius:.7rem;background:#f7f5e8;box-shadow:0 6px 20px #19372620}.invite-panel h2{margin:.25rem 0 .75rem;color:#21472f}.invite-panel label{display:block;margin:.5rem 0 .3rem;font-weight:800}.share-row{display:grid;grid-template-columns:minmax(10rem,1fr) auto auto;gap:.55rem}.share-row input{min-width:0;padding:.68rem;border:1px solid #4f704f;border-radius:.4rem;background:#fffdf4;color:#173326}.invite-panel>p,#share-status{margin:.6rem 0 0;color:#405e4b}.confirmed-panel{display:block}.confirmed-panel h2{margin:.3rem 0}.confirmed-panel p:last-child{margin-bottom:0}button.tile:hover{background:linear-gradient(145deg,#78a65f,#94bd71)}button.tile.miss:hover{background:repeating-linear-gradient(135deg,#c7d2bd,#c7d2bd 5px,#b8c6b0 5px,#b8c6b0 9px)}button.tile.found:hover,button.tile.own-hit:hover{background:repeating-linear-gradient(45deg,#a6a759,#a6a759 5px,#bdba68 5px,#bdba68 10px)}button.tile.revealed:hover,button.tile.own:hover{background:linear-gradient(145deg,#d6dfa2,#bacc83)}button.tile.preview-invalid:hover{background:#d69a76}@media(max-width:850px){.hero{align-items:flex-start;flex-direction:column;gap:1rem}.phase-badge{width:100%}.setup-panel{grid-template-columns:1fr}.animal-picker,.placement-tools{grid-column:1}.animal-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.summary{grid-template-columns:1fr 1fr}.summary h2{grid-column:1/-1}.stat{border-left:0;border-top:1px solid #c7d1bb;padding:.4rem 0 0}.boards{display:grid;grid-template-columns:1fr;width:100%}.forest-panel{width:100%}.share-row{grid-template-columns:1fr 1fr}.share-row input{grid-column:1/-1}}@media(max-width:480px){.game-shell{padding:.8rem}.animal-picker,.mode-options{grid-template-columns:1fr}.animal-choice{padding:.4rem .5rem}.board-heading{align-items:flex-start;flex-direction:column;gap:.25rem}.board-heading>span{text-align:left}.forest-panel{padding:.55rem}.board{gap:2px}.tile{border-radius:2px}.summary{grid-template-columns:1fr 1fr}.stats{gap:.65rem}.setup-panel,.invite-panel{padding:.8rem}.placement-tools button{flex:1 1 8rem}.main-actions button,.share-row button{flex:1}.share-row{display:flex;flex-wrap:wrap}.share-row input{flex:1 0 100%;width:100%}.tree{font-size:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.tile[aria-disabled=false]:hover{transform:none}}button:focus,input:focus,[tabindex]:focus{outline:3px solid #101f17;outline-offset:3px}.forest-panel.active-turn{background:linear-gradient(145deg,#fff6c9ee,#d7e9a8ee);border-color:#315d3c;box-shadow:inset 0 0 0 2px #315d3c,0 0 0 3px #fff7c788,0 10px 28px #183b2930}.tile.latest-guess{outline:3px solid #743bb0;outline-offset:-4px;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #e4c9ff}.latest-marker{position:absolute;right:2%;top:2%;padding:1px 2px;border:1px solid #421d68;border-radius:2px;background:#f5dcff;color:#421d68;font-size:clamp(.36rem,1vw,.55rem);font-weight:950;line-height:1;text-transform:uppercase}.board-heading>span{min-height:3.8rem}.game-message{min-height:6rem}
