*{box-sizing:border-box}.nn-app{--green:#194b39;--muted:#6c786a;min-height:100vh;color:var(--green);background:#f7f7ef;font-family:ui-sans-serif,system-ui,sans-serif}.nn-app button,.nn-app select{font:inherit}.nn-app button{cursor:pointer}.nn-app button:disabled{cursor:default}.nn-app button:focus-visible,.nn-app a:focus-visible,.nn-app summary:focus-visible,.nn-app select:focus-visible{outline-offset:4px;outline:3px solid #d38a19}.nn-header{border-bottom:1px solid #dce2d5;align-items:center;gap:28px;max-width:1440px;min-height:100px;margin:auto;padding:22px 48px;display:flex}.nn-brand{color:inherit;letter-spacing:-1px;align-items:center;gap:12px;font-size:25px;font-weight:850;text-decoration:none;display:flex}.nn-brand small{letter-spacing:1.8px;margin-top:4px;font-size:9px;font-weight:650;display:block}.nn-logo{width:43px;height:43px}.nn-logo svg{fill:#689348;width:100%}.nn-mode{background:#e9eedf;border:1px solid #d8e1c9;border-radius:30px;margin-left:auto;padding:9px 15px;font-size:13px}.nn-mode b{color:#92a768;margin:0 6px}.nn-outline{color:var(--green);background:0 0;border:1px solid #b8c6ad;border-radius:10px;padding:10px 15px;font-weight:650}.nn-layout{grid-template-columns:minmax(330px,.83fr) minmax(450px,1.17fr);gap:70px;max-width:1360px;margin:auto;padding:44px 48px;display:grid}.nn-eyebrow{letter-spacing:2px;color:#738061;font-size:10px;font-weight:750}.nn-controls h1{letter-spacing:-1.8px;margin:16px 0;font-family:Georgia,serif;font-size:clamp(34px,3.7vw,52px);font-weight:400;line-height:1.08}.nn-controls h1 em{color:#73904c;font-weight:400}.nn-intro{color:var(--muted);max-width:350px;margin-bottom:25px;font-size:14px;line-height:1.65}.nn-step{background:#eaf0df;border:1px solid #d5dfc5;border-radius:18px;padding:24px}.nn-step-label{letter-spacing:1.8px;color:#657b41;font-size:10px;font-weight:800}.nn-step h2{margin:12px 0;font-size:20px;line-height:1.25}.nn-step p{color:#526449;margin:0 0 18px;font-size:14px;line-height:1.65}.nn-primary{color:#fff;background:#244f37;border:0;border-radius:10px;width:100%;padding:15px 16px;font-size:14px!important;font-weight:700!important}.nn-primary:hover{background:#326844}.nn-hand{align-items:center;gap:18px;margin-bottom:14px;display:flex}.nn-hand>div{width:86px}.nn-hand img{width:100%}.nn-hand span{color:#64725a;font-size:12px}.nn-hand strong{color:#244f37;margin-top:4px;font-size:15px;display:block}.nn-hand small{max-width:220px;margin-top:6px;display:block}.nn-table{margin:24px 0}.nn-section-title{justify-content:space-between;align-items:center;display:flex}.nn-section-title>span{color:var(--muted);font-size:12px}.nn-pool{align-items:stretch;gap:22px;display:flex}.nn-deck{color:#244f37;background:#eff2e8;border:1px dashed #b4c4a8;border-radius:14px;flex:0 0 112px;padding:12px 9px}.nn-deck img{width:80px;margin:auto;display:block}.nn-deck span{margin-top:5px;font-size:12px;font-weight:700;display:block}.nn-deck:disabled{opacity:.5}.nn-open{flex:1;padding:10px 0}.nn-open h3{letter-spacing:1.5px;color:#738061;margin:0 0 10px;font-size:10px}.nn-open p{color:#7c8475;font-size:12px;line-height:1.8}.nn-open-tiles{flex-wrap:wrap;gap:4px;display:flex}.nn-open-tiles button{background:0 0;border:1px solid #0000;border-radius:10px;width:64px;height:64px;padding:0}.nn-open-tiles button:enabled:hover{background:#e1e8d6;border-color:#718e50}.nn-open-tiles button:disabled{opacity:.5}.nn-open-tiles img{width:100%}.nn-rules{border-top:1px solid #dce2d5;padding-top:18px;font-size:13px;line-height:1.7}.nn-rules summary{cursor:pointer;font-weight:650}.nn-rules p{color:#63745a}.nn-board-heading{justify-content:space-between;align-items:center;margin:4px 0 22px;display:flex}.nn-board-heading h2{margin:8px 0 0;font-family:Georgia,serif;font-size:28px;font-weight:400}.nn-count{color:#7c876f;border:1px solid #d9e1cd;border-radius:12px;padding:10px 14px;font-size:13px}.nn-count b{color:#294e37;font-size:21px}.nn-direction{text-align:center;letter-spacing:2px;color:#7d896f;margin-bottom:12px;font-size:9px;font-weight:700}.nn-board-wrap{padding:0 8px 8px 0}.nn-board{aspect-ratio:1;background:#285b43;border:10px solid #214f3b;border-radius:22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:17px;display:grid;position:relative}.nn-cell{aspect-ratio:1;background:#346548;border:1px solid #487451;border-radius:14px;justify-content:center;align-items:center;min-width:0;padding:5px;display:flex;position:relative}.nn-cell>svg{fill:#79a14f;stroke:#a2ba69;stroke-width:1.5px;width:92%}.nn-cell.nn-start>svg{stroke:#ebc85e;stroke-width:3px;fill:#8aaa4c}.nn-cell.nn-start{border-color:#b6ab56}.nn-cell>img{object-fit:contain;z-index:1;width:100%;height:100%;position:relative}.nn-field-label{color:#a9c29b;font-size:8px;position:absolute;top:4px;left:5px}.nn-cell.nn-legal{outline-offset:-2px;background:#4b7950;outline:3px solid #d6ee94}.nn-cell:enabled:hover{background:#608750}.nn-valid{z-index:2;color:#214f3b;background:#ecf6d0;border-radius:50%;width:20px;height:20px;font-size:17px;font-weight:750;line-height:19px;position:absolute;bottom:3px;right:3px}.nn-ladybug{background:#214f3b;border-radius:50%;padding:3px;font-size:35px;position:absolute;bottom:-18px;right:-16px;transform:rotate(-25deg)}.nn-board-caption{color:#7b856f;justify-content:space-between;padding:12px 2px 16px;font-size:10px;display:flex}.nn-toolbar{border-top:1px solid #dce2d5;border-bottom:1px solid #dce2d5;flex-wrap:wrap;align-items:center;gap:12px;padding:13px 0;font-size:11px;display:flex}.nn-toolbar label{align-items:center;gap:6px;display:flex}.nn-toolbar input{accent-color:#38613c}.nn-toolbar button{color:#345a3e;background:0 0;border:0;padding:6px}.nn-toolbar button:disabled{opacity:.4}.nn-color{margin-left:auto}.nn-color select{color:#345a3e;background:0 0;border:1px solid #d7dfcd;border-radius:6px;padding:5px}.nn-error{color:#8b431e;background:#fff0d8;border-radius:10px;padding:12px 15px;font-size:13px;line-height:1.6}.nn-history{margin-top:18px}.nn-history h3{margin:0 0 8px;font-size:11px;font-weight:700}.nn-history p,.nn-history li{color:#7b856f;font-size:11px;line-height:1.7}.nn-history ol{margin:0;padding:0;list-style:none}.nn-history li:first-child{color:#3a6144}.nn-footer{letter-spacing:2px;color:#869079;border-top:1px solid #dce2d5;justify-content:space-between;max-width:1264px;margin:auto;padding:20px 0;font-size:9px;display:flex}.nn-footer span{letter-spacing:0;font-size:11px}.nn-reset{background:#fff1ce;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:13px;display:flex}.nn-reset button{color:#194b39;background:#fff;border:1px solid #b8c6ad;border-radius:8px;padding:8px 12px}@media (width>=1500px){.nn-layout{gap:90px}}@media (width<=950px){.nn-layout{grid-template-columns:minmax(290px,.85fr) minmax(330px,1.15fr);gap:28px;padding:30px 24px}.nn-header{padding:18px 24px}.nn-board{border-width:7px;gap:6px;padding:10px}.nn-footer{margin:0 24px}.nn-toolbar{gap:6px}.nn-color{margin-left:0}}@media (width<=700px){.nn-header{flex-wrap:wrap;gap:12px}.nn-brand{font-size:22px}.nn-mode{padding:6px 9px;font-size:11px}.nn-header>.nn-outline{margin-left:auto;font-size:12px}.nn-layout{grid-template-columns:1fr;gap:28px;padding:24px 20px}.nn-controls h1{font-size:39px}.nn-intro{max-width:none}.nn-board{gap:8px;padding:12px}.nn-footer{gap:16px;line-height:1.8}.nn-step{padding:20px}}.nn-hidden-grid{background:#e9eedf;border:1px solid #d7e0cc;border-radius:14px;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;padding:10px;display:grid}.nn-hidden-grid button{aspect-ratio:1;background:0 0;border:1px solid #0000;border-radius:8px;min-width:0;padding:0}.nn-hidden-grid img{object-fit:contain;width:100%;height:100%;display:block}.nn-hidden-grid button:enabled:hover{background:#cbdcaf;border-color:#7d9959;transform:translateY(-2px)}.nn-open{margin-top:12px}.nn-pool{display:block}.nn-setup-tray{background:#eaf0df;border:1px solid #d5dfc5;border-radius:16px;margin:8px 0 18px;padding:20px}.nn-setup-tray h3{margin:0 0 8px;font-size:17px}.nn-setup-tray p{color:#526449;margin:0 0 12px;font-size:13px;line-height:1.6}.nn-setup-tiles{align-items:center;gap:10px;min-height:88px;margin-bottom:16px;display:flex}.nn-setup-tiles button{background:0 0;border:2px solid #0000;border-radius:12px;width:82px;max-width:22%;padding:3px}.nn-setup-tiles button[aria-pressed=true]{background:#d2e3b9;border-color:#244f37}.nn-setup-tiles img{width:100%;display:block}.nn-setup-tiles>span{color:#526449;font-size:13px}.nn-setup-actions{flex-wrap:wrap;gap:10px;display:flex}.nn-setup-actions .nn-primary{width:auto}.nn-setup-actions button{font-size:13px!important}.nn-game-logo{width:170px;height:100px;display:block;overflow:hidden}.nn-header{min-height:0;padding-top:12px;padding-bottom:12px}.nn-layout{padding-top:28px}.nn-board-heading,.nn-board-heading h2{margin-top:0}@media (width<=700px){.nn-game-logo{width:125px;height:73px}}.nn-guide{border-top:1px solid #d5dfc5;max-width:1264px;margin:10px auto 0;padding:32px 0 48px}.nn-guide h2{margin:0 0 28px;font-size:30px}.nn-guide h3{margin:30px 0 20px;font-size:24px}.nn-equipment{grid-template-columns:1fr 1fr;gap:28px;display:grid}.nn-equipment>div{background:#eaf0df;border-radius:14px;align-items:center;gap:22px;padding:24px;display:flex}.nn-guide-board{object-fit:contain;width:130px;height:130px}.nn-guide-colors{flex-shrink:0;width:200px;max-width:45%;overflow:hidden}.nn-equipment strong{font-size:25px;line-height:1.3;display:block}.nn-equipment span{margin-top:8px;font-size:18px;line-height:1.5;display:block}.nn-equipment p{margin:0}.nn-commands{counter-reset:command;grid-template-columns:1fr 1fr;gap:22px 38px;padding:0;list-style:none;display:grid}.nn-commands li{counter-increment:command;padding-left:54px;position:relative}.nn-commands li:before{content:counter(command);color:#244f37;background:#e3ebd5;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;font-weight:750;display:grid;position:absolute;top:0;left:0}.nn-commands strong{font-size:22px;line-height:1.5}.nn-commands p,.nn-guide-ending{color:#526449;margin:7px 0;font-size:19px;line-height:1.6}.nn-guide-note{color:#63745a;margin-top:24px;font-size:16px;line-height:1.6}@media (width<=1360px){.nn-guide{margin-left:48px;margin-right:48px}}@media (width<=950px){.nn-guide{margin-left:24px;margin-right:24px}.nn-equipment>div{flex-direction:column;align-items:flex-start}.nn-guide-colors{max-width:100%;height:130px}.nn-commands{grid-template-columns:1fr}}@media (width<=600px){.nn-equipment{grid-template-columns:1fr}.nn-equipment>div{flex-flow:wrap}.nn-guide h2{font-size:26px}.nn-equipment strong{font-size:23px}}.nn-fullscreen{z-index:1000;height:100dvh;min-height:0;position:fixed;inset:0;overflow:auto}.nn-fullscreen .nn-header,.nn-fullscreen .nn-guide,.nn-fullscreen .nn-history,.nn-fullscreen .nn-board-heading,.nn-fullscreen .nn-direction,.nn-fullscreen .nn-board-caption,.nn-fullscreen .nn-step-label,.nn-fullscreen .nn-step:not(.nn-ended)>p,.nn-fullscreen .nn-setup-tray>p{display:none}.nn-fullscreen .nn-layout{grid-template-columns:minmax(280px,1fr) minmax(0,calc(100dvh - 94px));align-items:start;gap:24px;max-width:none;height:100%;margin:0;padding:16px}.nn-fullscreen .nn-controls{max-height:calc(100dvh - 32px);padding:0 6px 10px 0;overflow:auto}.nn-fullscreen .nn-step{background:0 0;border:0;padding:12px 16px}.nn-fullscreen .nn-step h2{margin:0 0 10px;font-size:21px}.nn-fullscreen .nn-hand{margin-bottom:8px}.nn-fullscreen .nn-hand>div{width:105px}.nn-fullscreen .nn-table{margin:12px 0}.nn-fullscreen .nn-hidden-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;padding:8px}.nn-fullscreen .nn-setup-tray{margin:0 0 12px;padding:14px}.nn-fullscreen .nn-setup-tiles{min-height:0;margin-bottom:8px}.nn-fullscreen .nn-setup-tiles button{width:105px}.nn-fullscreen .nn-board-wrap{padding:0 10px 10px 0}.nn-fullscreen .nn-board{padding:12px}.nn-fullscreen .nn-toolbar{border:0;gap:8px;padding:8px 0;font-size:12px}.nn-fullscreen .nn-toolbar button{border:1px solid #b8c6ad;border-radius:8px;padding:8px}.nn-fullscreen .nn-exit-fullscreen{background:#e3ebd5;margin-left:auto}.nn-fullscreen .nn-error{z-index:2;border:1px solid #d3a56c;max-width:min(550px,100vw - 48px);position:fixed;bottom:68px;right:24px}.nn-fullscreen .nn-reset{z-index:5;background:#f7f7eff5;align-content:center;padding:30px;position:fixed;inset:0}@media (aspect-ratio<=6/5){.nn-fullscreen .nn-layout{grid-template-columns:1fr;gap:16px;height:auto}.nn-fullscreen .nn-controls{max-height:none;overflow:visible}.nn-fullscreen .nn-play{width:100%;max-width:calc(100dvh - 90px);margin:auto}.nn-fullscreen .nn-exit-fullscreen{z-index:3;background:#e3ebd5;position:fixed;top:12px;right:12px}.nn-fullscreen .nn-controls{padding-top:40px}}.nn-setup-error{color:#892d20;background:#fff0e9;border:2px solid #bb523d;border-radius:12px;margin-top:16px;padding:16px}.nn-setup-error strong{font-size:22px;line-height:1.35;display:block}.nn-setup-error span{margin-top:8px;font-size:14px;line-height:1.5;display:block}.nn-cell.nn-start{border:2px solid #ebc85e}.nn-cell>img.nn-board-reverse{object-fit:contain;width:94%;height:94%}.nn-layout{grid-template-columns:minmax(330px,1fr) minmax(450px,1.1fr);align-items:start;gap:24px 36px;max-width:2000px}.nn-controls{grid-area:1/1}.nn-table{grid-area:2/1;margin:0}.nn-play{grid-area:1/2/span 2;position:sticky;top:16px}.nn-hidden-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px}.nn-open-tiles{gap:8px}.nn-open-tiles button{width:112px;height:112px}.nn-section-title h2{font-size:24px}.nn-section-title>span{font-size:16px}.nn-open h3{font-size:14px}.nn-open p{font-size:16px}@media (width>=1600px){.nn-layout{grid-template-columns:280px minmax(540px,1fr) minmax(560px,1.12fr);gap:28px;padding:28px 32px}.nn-controls{grid-area:1/1}.nn-table{grid-area:1/2}.nn-play{grid-area:1/3}.nn-step{padding:18px}.nn-setup-tray{padding:16px}.nn-setup-tiles{flex-wrap:wrap}.nn-setup-tiles button{width:105px;max-width:45%}.nn-hidden-grid{gap:6px;padding:8px}.nn-open-tiles button{width:128px;height:128px}}.nn-fullscreen .nn-layout{grid-template-rows:auto 1fr;grid-template-columns:minmax(320px,1fr) minmax(0,calc(100dvh - 94px));gap:12px 24px}.nn-fullscreen .nn-controls{grid-area:1/1;max-height:40dvh}.nn-fullscreen .nn-table{grid-area:2/1;max-height:100%;margin:0;overflow:auto}.nn-fullscreen .nn-play{grid-area:1/2/span 2;position:static}.nn-fullscreen .nn-hidden-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.nn-fullscreen .nn-open-tiles button{width:128px;height:128px}@media (width>=1600px) and (aspect-ratio>=6/5){.nn-fullscreen .nn-layout{grid-template-rows:1fr;grid-template-columns:240px minmax(500px,1fr) minmax(0,min(46vw,100dvh - 94px));gap:20px}.nn-fullscreen .nn-controls{grid-area:1/1;max-height:calc(100dvh - 32px)}.nn-fullscreen .nn-table{grid-area:1/2}.nn-fullscreen .nn-play{grid-area:1/3}}@media (width<=950px){.nn-layout{grid-template-columns:minmax(280px,1fr) minmax(330px,1.1fr);gap:20px;padding:24px}.nn-hidden-grid{gap:4px;padding:8px}.nn-open-tiles button{width:88px;height:88px}}@media (width<=700px){.nn-layout{grid-template-columns:1fr}.nn-controls,.nn-table,.nn-play{grid-area:auto/1;position:static}.nn-hidden-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (aspect-ratio<=6/5){.nn-fullscreen .nn-layout{grid-template-rows:auto;grid-template-columns:1fr;height:auto}.nn-fullscreen .nn-controls,.nn-fullscreen .nn-table,.nn-fullscreen .nn-play{grid-area:auto/1;max-height:none;overflow:visible}.nn-fullscreen .nn-table{padding-top:0}}.nn-cell.nn-start{background:#77783b;border:4px solid #ffd45b}.nn-cell.nn-start>img.nn-board-reverse{filter:drop-shadow(2px 0 #ffd45b)drop-shadow(-2px 0 #ffd45b)drop-shadow(0 2px #ffd45b)drop-shadow(0 -2px #ffd45b)drop-shadow(0 0 5px #f2c746)}.nn-cell.nn-start .nn-field-label{color:#fff0b0;font-weight:800}.nn-cell.nn-start:enabled:hover{background:#97914a}.nn-cell.nn-start.nn-legal{outline-offset:2px;background:#77783b;outline:3px solid #e6ffac}.nn-size-controls{background:#eaf0df;border:1px solid #d5dfc5;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px 18px;margin-bottom:14px;padding:12px 16px;display:grid}.nn-size-controls>label{justify-content:space-between;gap:8px;font-size:14px;font-weight:650;display:flex}.nn-size-controls>label:nth-of-type(2){grid-area:1/2}.nn-size-controls output{font-size:12px;font-weight:400}.nn-size-controls>input{accent-color:#35643f;cursor:pointer;width:100%;min-width:0;margin:2px 0}.nn-size-controls .nn-size-link{grid-column:1/-1;justify-content:flex-start;align-items:center;font-size:12px;font-weight:400}.nn-size-link input{accent-color:#35643f}.nn-app .nn-hidden-grid,.nn-app.nn-fullscreen .nn-hidden-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--nn-table-size)),1fr));gap:4px;padding:8px}.nn-app .nn-hidden-grid button{width:100%;max-width:var(--nn-table-size);height:var(--nn-table-size);justify-self:center}.nn-app .nn-open-tiles button,.nn-app.nn-fullscreen .nn-open-tiles button{width:var(--nn-table-size);height:var(--nn-table-size)}.nn-app .nn-setup-tiles button,.nn-app.nn-fullscreen .nn-setup-tiles button{width:var(--nn-draw-size);height:var(--nn-draw-size);flex-shrink:0;max-width:100%}.nn-app .nn-setup-tiles{flex-wrap:wrap;gap:4px;min-height:0}.nn-app .nn-setup-tiles img{object-fit:contain;height:100%}.nn-app .nn-hand>div,.nn-app.nn-fullscreen .nn-hand>div{width:var(--nn-draw-size);height:var(--nn-draw-size);flex-shrink:0}.nn-app .nn-hand img{object-fit:contain;height:100%}.nn-app .nn-table{box-sizing:border-box;min-height:0;overflow:auto}.nn-app .nn-table-fit{overflow:hidden}.nn-app .nn-table .nn-size-controls{flex-shrink:0}.nn-app .nn-table .nn-hidden-grid{align-content:start}.nn-app .nn-table .nn-open{margin-top:8px;padding:6px 0}.nn-app .nn-table .nn-open-tiles{gap:4px}.nn-app .nn-table .nn-open p{margin:6px 0;font-size:12px}.nn-app .nn-table .nn-section-title h2{margin:8px 0}.nn-app .nn-table .nn-open h3{margin-bottom:6px}.nn-app .nn-hidden-grid button.nn-revealed-tile,.nn-app .nn-open-tiles button.nn-revealed-tile{opacity:1;outline-offset:1px;background:#fff0bb;border:3px solid #e7b332;outline:2px solid #fff7dc}.nn-revealed-tile img{animation:.35s ease-out nn-reveal}@keyframes nn-reveal{0%{transform:perspective(400px)rotateY(-90deg)}to{transform:perspective(400px)rotateY(0)}}@media (prefers-reduced-motion:reduce){.nn-revealed-tile img{animation:none}}.nn-table-fit .nn-open:not(:has(.nn-open-tiles)){display:none}.nn-size-controls{grid-template-columns:1fr}.nn-size-controls>label:first-of-type{grid-area:auto/1}.nn-setup-confirm{margin-top:12px}.nn-app .nn-hidden-grid button[aria-pressed=true]{outline-offset:0;background:#ffdc76;outline:4px solid #194b39}.nn-app .nn-hidden-grid button[aria-pressed=true] img{transform:scale(.94)}.nn-app .nn-header{flex-wrap:wrap;gap:24px;max-width:2000px;padding:12px 32px}.nn-header .nn-size-controls{background:0 0;border:0;flex:1;grid-template-columns:auto 1fr;align-items:center;gap:8px 16px;min-width:230px;max-width:420px;margin:0;padding:0}.nn-header .nn-size-controls .nn-size-link{grid-column:1/-1}.nn-app .nn-layout{grid-template-rows:auto;grid-template-columns:minmax(320px,1fr) minmax(400px,1fr);gap:28px;padding:24px 32px}.nn-app .nn-table{grid-area:1/1;margin:0}.nn-app .nn-play{grid-area:1/2;position:static}.nn-step-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.nn-step-heading h2{margin:0;font-size:21px}.nn-step-heading .nn-count{white-space:nowrap;flex-shrink:0;padding:6px 10px}.nn-play .nn-step{margin-bottom:12px;padding:14px 18px}.nn-play .nn-step-label{margin-bottom:6px;display:block}.nn-play .nn-step p{margin:8px 0 10px;font-size:13px;line-height:1.5}.nn-play .nn-step .nn-primary{width:auto;padding:10px 16px}.nn-play .nn-setup-confirm{margin:0 0 12px}.nn-app.nn-fullscreen .nn-header{height:62px;padding:8px 16px;display:flex}.nn-fullscreen .nn-header .nn-brand,.nn-fullscreen .nn-header .nn-mode,.nn-fullscreen .nn-header>button{display:none}.nn-app.nn-fullscreen .nn-layout{grid-template-rows:1fr;grid-template-columns:minmax(320px,1fr) minmax(0,calc(100dvh - 190px));gap:20px;height:calc(100dvh - 62px);padding:8px 16px}.nn-app.nn-fullscreen .nn-play{flex-direction:column;grid-area:1/2;height:100%;min-height:0;display:flex}.nn-app.nn-fullscreen .nn-table{grid-area:1/1;max-height:none}.nn-fullscreen .nn-play .nn-step{margin:0 0 6px;padding:4px 8px}.nn-fullscreen .nn-step-heading h2{margin:0;font-size:18px}.nn-fullscreen .nn-play .nn-setup-confirm{margin-bottom:6px}.nn-fullscreen .nn-setup-actions button{padding:8px 12px}.nn-app.nn-fullscreen .nn-board-wrap{flex:1;justify-content:center;min-height:0;padding:0 8px 8px 0;display:flex}.nn-app.nn-fullscreen .nn-board{aspect-ratio:1;width:auto;max-width:100%;height:100%}.nn-fullscreen .nn-toolbar{flex-shrink:0}@media (width<=700px){.nn-app .nn-header{gap:14px;padding:12px 20px}.nn-header .nn-size-controls{flex-basis:100%;order:3;max-width:none}.nn-app .nn-layout{grid-template-columns:1fr;gap:20px;padding:20px}.nn-app .nn-table{grid-area:2/1}.nn-app .nn-play{grid-area:1/1}.nn-step-heading h2{font-size:18px}}@media (aspect-ratio<=6/5){.nn-app.nn-fullscreen .nn-layout{grid-template-columns:1fr;height:auto}.nn-app.nn-fullscreen .nn-play{grid-area:1/1;height:auto}.nn-app.nn-fullscreen .nn-table{grid-area:2/1}.nn-app.nn-fullscreen .nn-board{width:100%;height:auto}.nn-app.nn-fullscreen .nn-board-wrap{display:block}.nn-fullscreen .nn-exit-fullscreen{top:72px}}:is(html:has(.nn-app),body:has(.nn-app)){height:100%;overflow:hidden}.nn-app,.nn-app.nn-fullscreen{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.nn-app .nn-header,.nn-app.nn-fullscreen .nn-header{flex-wrap:nowrap;flex-shrink:0;gap:16px;width:100%;max-width:none;height:auto;min-height:58px;padding:6px 20px}.nn-game-logo{width:104px;height:61px}.nn-header .nn-size-controls{flex:1;align-items:center;gap:14px;min-width:100px;max-width:490px;margin-right:auto;display:flex}.nn-header .nn-size-controls>label{white-space:nowrap;font-size:12px}.nn-header .nn-size-controls>input{width:100%;max-width:230px}.nn-header>.nn-outline{white-space:nowrap;padding:8px 12px;font-size:12px}.nn-app .nn-layout,.nn-app.nn-fullscreen .nn-layout{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;width:100%;max-width:none;height:0;min-height:0;padding:10px 18px;display:grid;overflow:hidden}.nn-app .nn-table,.nn-app.nn-fullscreen .nn-table{grid-area:1/1;min-width:0;min-height:0;max-height:100%;margin:0;overflow:hidden}.nn-app .nn-play,.nn-app.nn-fullscreen .nn-play{flex-direction:column;grid-area:1/2;min-width:0;max-width:none;height:100%;min-height:0;margin:0;display:flex;position:static}.nn-app .nn-board-wrap,.nn-app.nn-fullscreen .nn-board-wrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:0;display:flex;overflow:visible}.nn-app .nn-board,.nn-app.nn-fullscreen .nn-board{border-width:7px;flex-shrink:0;gap:6px;max-width:100%;max-height:100%;padding:10px}.nn-app .nn-board-caption,.nn-app .nn-direction,.nn-app .nn-history,.nn-app .nn-step-label{display:none}.nn-app .nn-step,.nn-app.nn-fullscreen .nn-step{background:#eaf0df;border-radius:10px;flex-shrink:0;margin:0 0 6px;padding:8px 12px}.nn-board-label{color:#6c786a;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.nn-step-heading h2,.nn-fullscreen .nn-step-heading h2{margin:0;font-size:17px}.nn-app .nn-step p{margin:6px 0;font-size:12px;line-height:1.35}.nn-app .nn-step .nn-primary,.nn-app .nn-step>.nn-outline{margin-top:4px;padding:8px 12px;font-size:12px!important}.nn-app .nn-count{padding:5px 8px;font-size:11px}.nn-app .nn-count b{font-size:19px}.nn-app .nn-setup-confirm{flex-shrink:0;margin:0 0 6px}.nn-app .nn-setup-actions button{padding:8px 12px;font-size:12px!important}.nn-app .nn-setup-error{margin-top:6px;padding:8px}.nn-app .nn-setup-error strong{font-size:16px}.nn-app .nn-setup-error span{display:none}.nn-app .nn-toolbar{border:0;flex-shrink:0;justify-content:center;gap:6px;margin:0;padding:4px 0;font-size:11px}.nn-app .nn-toolbar button{padding:6px;font-size:11px}.nn-app .nn-exit-fullscreen{margin-left:0;position:static}.nn-app .nn-section-title h2{font-size:20px}.nn-app .nn-section-title>span{font-size:13px}.nn-app .nn-hidden-grid button{min-height:0}.nn-app .nn-rules-overlay,.nn-app.nn-fullscreen .nn-rules-overlay{z-index:1500;background:#f7f7ef;border:1px solid #d5dfc5;border-radius:14px;max-width:none;height:auto;margin:0;padding:24px;display:block;position:fixed;inset:12px;overflow:auto}.nn-close-rules{float:right;z-index:1;background:#f7f7ef;position:sticky;top:0}@media (height<=760px){.nn-app .nn-step>p{display:none}.nn-game-logo{width:90px;height:48px}.nn-app .nn-header{min-height:52px}.nn-app .nn-board-label{display:none}}@media (width<=700px){.nn-app .nn-header,.nn-app.nn-fullscreen .nn-header{flex-wrap:wrap;gap:8px;padding:6px 10px}.nn-header .nn-size-controls{flex-basis:100%;order:3;max-width:none}.nn-app .nn-layout,.nn-app.nn-fullscreen .nn-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:8px;padding:6px}.nn-app .nn-step>p,.nn-app .nn-board-label{display:none}.nn-step-heading h2{font-size:13px}.nn-app .nn-step{padding:6px}.nn-app .nn-count{padding:2px}.nn-app .nn-count b{font-size:14px}.nn-app .nn-setup-actions{gap:4px}.nn-app .nn-setup-actions button{padding:6px;font-size:10px!important}.nn-app .nn-board{border-width:3px;border-radius:12px;gap:3px;padding:3px}.nn-app .nn-cell{border-radius:6px;padding:1px}.nn-app .nn-cell.nn-start{border-width:2px}.nn-app .nn-toolbar{font-size:9px}.nn-app .nn-toolbar button{font-size:10px}.nn-app .nn-section-title h2{font-size:16px}.nn-app .nn-section-title>span{font-size:10px}}.nn-result{color:#194b39;padding:8px 0}.nn-result strong{font-size:clamp(16px,1.5vw,24px);display:block}.nn-result span{margin-top:4px;font-size:11px;line-height:1.35;display:block}.nn-tasks{z-index:1600;color:#194b39;background:#f7f7ef;flex-direction:column;gap:10px;padding:16px 24px;display:flex;position:fixed;inset:0;overflow:hidden}.nn-task-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.nn-task-header span{letter-spacing:2px;font-size:11px;font-weight:800}.nn-task-header h1{margin:2px 0;font-size:24px}.nn-task-instructions{max-width:1000px;margin:0;font-size:15px;line-height:1.4}.nn-task-board-space{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;container-type:size}.nn-task-board{aspect-ratio:1;background:#245440;border:8px solid #194b39;border-radius:20px;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:min(100cqw,100cqh - 14px);padding:10px;display:grid;position:relative}.nn-task-board button{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#32654b;border:2px solid #0000;border-radius:12px;min-width:0;min-height:0;padding:2px}.nn-task-board button:disabled{opacity:1;cursor:default}.nn-task-board svg{pointer-events:none;width:100%;height:100%;display:block}.nn-task-board button.is-selected{background:#77783b;border:4px solid #ffcf54}.nn-task-board button.is-neighbor{border-color:#c4d792}.nn-task-board button:focus-visible{outline-offset:1px;outline:3px solid #ffcf54}.nn-task-bug{font-size:28px;position:absolute;bottom:-10px;right:-10px}.nn-task-drag{pointer-events:none;z-index:1700;opacity:.9;background:#ffdf7e;border:3px solid #194b39;border-radius:50%;place-items:center;width:70px;height:70px;font-size:32px;font-weight:800;display:grid;position:fixed;transform:translate(-50%,-50%)}.nn-task-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.nn-task-score{white-space:nowrap;flex-direction:column;gap:2px;display:flex}.nn-task-score strong{font-size:24px}.nn-task-score span{font-size:13px}.nn-task-feedback{max-width:530px;font-size:14px;line-height:1.4}.nn-task-feedback.is-complete{font-size:20px;font-weight:750}.nn-task-actions{gap:8px;display:flex}.nn-task-actions button,.nn-task-header button{padding:8px 12px;font-size:13px}@media (width<=600px){.nn-tasks{gap:8px;padding:10px}.nn-task-header h1{font-size:18px}.nn-task-instructions{font-size:12px}.nn-task-footer{justify-content:space-between;gap:8px}.nn-task-feedback{order:3;width:100%;font-size:12px}.nn-task-score strong{font-size:20px}.nn-task-board{border-width:5px;gap:3px;padding:5px}}@media (height<=550px){.nn-tasks{gap:4px;padding:6px 16px}.nn-task-header h1{font-size:16px}.nn-task-header span{display:none}.nn-task-instructions{font-size:11px}.nn-task-score strong{font-size:16px}.nn-task-feedback{max-width:330px;font-size:11px}.nn-task-footer{gap:12px}.nn-task-score span{font-size:11px}}.nn-task-drag{background:0 0;border:0;border-radius:0;width:100px;height:100px}.nn-task-drag svg{width:100%;height:100%}.nn-task-picker{gap:6px;display:flex}.nn-task-picker button[aria-pressed=true]{color:#fff;background:#245440;border-color:#245440}@media (width<=700px){.nn-task-header{flex-wrap:wrap}.nn-task-picker{order:3;justify-content:center;width:100%}.nn-task-picker button{padding:6px 10px}.nn-task-header h1{font-size:17px}}@media (width<=600px){.nn-task-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px}.nn-task-actions button{padding:6px 8px;font-size:11px}}.nn-task-picker{grid-template-columns:repeat(12,32px);gap:4px;display:grid}.nn-task-picker button{min-width:0;padding:6px 0;font-size:13px}@media (width<=950px){.nn-task-header{flex-wrap:wrap}.nn-task-picker{order:3;justify-content:center;width:100%}}@media (width<=450px){.nn-task-picker{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px}.nn-task-picker button{padding:6px 0;font-size:12px}}.nn-task-picker{grid-template-columns:repeat(11,30px);gap:3px}@media (width<=450px){.nn-task-picker{grid-template-columns:repeat(11,minmax(0,1fr))}.nn-task-picker button{padding:4px 0}}.nn-task-picker{grid-template-columns:repeat(10,30px)}@media (width<=450px){.nn-task-picker{grid-template-columns:repeat(10,minmax(0,1fr))}}.nn-app .nn-board{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr))}.nn-app .nn-cell{min-width:0;min-height:0}.nn-app .nn-ladybug{font-size:clamp(8px,calc(var(--nn-board-size,500px)*.05),28px);pointer-events:none;background:0 0;place-items:center;width:1.2em;height:1.2em;padding:0;line-height:1.2;display:grid;bottom:-1.2em;right:-.6em;transform:none}@media (width<=700px){.nn-app .nn-board-wrap,.nn-app.nn-fullscreen .nn-board-wrap{align-items:flex-start}}.nn-layout-switch{border:1px solid #b8c6ad;border-radius:8px;flex-shrink:0;gap:2px;padding:2px;display:flex}.nn-layout-switch button{color:#194b39;background:0 0;border:0;border-radius:5px;padding:5px 7px;font-size:11px}.nn-layout-switch button[aria-pressed=true]{color:#fff;background:#244f37}.nn-app.nn-phone-layout .nn-layout{grid-template-rows:minmax(0,3fr) minmax(0,2fr);grid-template-columns:minmax(0,1fr);gap:6px;max-width:700px;margin:0 auto}.nn-app.nn-phone-layout .nn-play{grid-area:1/1}.nn-app.nn-phone-layout .nn-table{grid-area:2/1;height:100%;max-height:100%}.nn-app.nn-phone-layout .nn-board-wrap{align-items:flex-start}.nn-app.nn-phone-layout .nn-step{margin-bottom:4px;padding:5px 8px}.nn-app.nn-phone-layout .nn-step>p{display:none}.nn-app.nn-phone-layout .nn-step-heading h2{font-size:13px}.nn-app.nn-phone-layout .nn-board-label{display:none}.nn-app.nn-phone-layout .nn-step .nn-primary{margin-top:3px;padding:6px 10px}.nn-app.nn-phone-layout .nn-section-title h2{margin:2px 0;font-size:16px}.nn-app.nn-phone-layout .nn-toolbar{padding-top:8px}@media (width<=700px){.nn-app .nn-header{gap:4px;padding:4px 6px}.nn-game-logo{width:55px;height:34px}.nn-header>.nn-outline{margin-left:0!important;padding:5px 7px!important;font-size:10px!important}.nn-layout-switch{order:2}.nn-header .nn-size-controls{flex-basis:160px;order:3;gap:6px;min-width:140px}.nn-header .nn-size-controls>label,.nn-header .nn-size-controls output{font-size:10px}.nn-header .nn-size-controls>input{min-width:40px}.nn-app .nn-header{min-height:0}}.nn-app.nn-phone-layout .nn-step{order:0}.nn-app.nn-phone-layout .nn-board-wrap{order:1}.nn-app.nn-phone-layout .nn-setup-confirm{order:2;width:100%;margin:8px 0 4px}.nn-app.nn-phone-layout .nn-toolbar{order:3}.nn-app.nn-phone-layout .nn-error{order:4}.nn-app.nn-phone-layout .nn-setup-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.nn-app.nn-phone-layout .nn-setup-actions button{text-align:center;width:100%;min-width:0;min-height:44px;padding:8px;line-height:1.25;font-size:clamp(12px,3.3vw,16px)!important}.nn-app button.nn-ladybug{cursor:pointer;pointer-events:auto;z-index:3;color:inherit;border:0}.nn-mp{z-index:1800;color:#194b39;background:#f7f7ef;flex-direction:column;gap:8px;padding:10px 16px;display:flex;position:fixed;inset:0;overflow:hidden}.nn-mp-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.nn-mp h1{margin:0;font-size:23px}.nn-mp-header span{font-size:13px}.nn-room-code{letter-spacing:2px;font-size:18px}.nn-mp button{font-size:13px}.nn-mp-lobby{text-align:center;width:100%;max-width:480px;margin:auto;font-size:15px;line-height:1.5}.nn-mp-lobby form{gap:10px;margin:20px 0;display:grid}.nn-mp-lobby input{font:inherit;text-align:center;letter-spacing:5px;text-transform:uppercase;background:#fff;border:1px solid #b8c6ad;border-radius:10px;min-width:0;padding:8px;font-size:26px}.nn-room-large{letter-spacing:6px;margin:14px;font-weight:800;font-size:40px!important}.nn-mp-status{background:#eaf0df;border-radius:10px;flex-shrink:0;padding:8px 12px;font-size:14px;font-weight:650}.nn-mp-layout{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;min-height:0;display:grid}.nn-mp-own,.nn-mp-table{flex-direction:column;gap:6px;min-width:0;min-height:0;display:flex}.nn-mp-caption{flex-shrink:0;justify-content:space-between;gap:8px;font-size:15px;display:flex}.nn-mp-caption span{font-size:12px}.nn-mp-board-space{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;container-type:size}.nn-mp-board{aspect-ratio:1;background:#245440;border:5px solid #194b39;border-radius:14px;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(100cqw,100cqh);padding:8px;display:grid}.nn-mp-board button,.nn-mp-board>div{background:#35664d;border:2px solid #0000;border-radius:8px;place-items:center;min-width:0;min-height:0;padding:2px;display:grid}.nn-mp-board button.start{background:#77783b;border-color:#ffdb6e}.nn-mp-board button.legal{outline:2px solid #dcf2a5}.nn-mp-board img{object-fit:contain;width:94%;height:94%}.nn-mp-actions{flex-shrink:0;justify-content:center;gap:8px;display:flex}.nn-mp-actions button{flex:1;min-height:38px;padding:8px}.nn-mp-pool{grid-template-columns:repeat(var(--mp-cols),var(--mp-size));grid-auto-rows:var(--mp-size);background:#eaf0df;border-radius:10px;flex:1;place-content:start center;gap:4px;min-height:0;display:grid;overflow:hidden}.nn-mp-pool button{background:0 0;border:2px solid #0000;border-radius:8px;min-width:0;min-height:0;padding:1px}.nn-mp-pool img{object-fit:contain;width:100%;height:100%}.nn-mp-pool button[aria-pressed=true],.nn-mp-pool .held{background:#ffde87;border-color:#d5a127}.nn-mp button:disabled{opacity:1;cursor:default}.nn-mp button:focus-visible{outline:3px solid #c29124}.nn-mp-opponent{color:inherit;text-align:left;background:#eaf0df;border:1px solid #b8c6ad;border-radius:10px;flex-shrink:0;justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.nn-mp-opponent small{font-size:10px}.nn-mp-mini{text-align:center;flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));width:180px;max-width:55%;font-size:30px;line-height:42px;display:grid}.nn-mp-mini>span{background:#d2dfbc}.nn-mp-leave{align-self:center;padding:4px 10px;font-size:11px!important}.nn-mp-error{color:#893b20;background:#fff0d8;border-radius:8px;flex-shrink:0;margin:0;padding:7px;font-size:12px}.nn-mp-opponent-large{z-index:2;background:#f7f7ef;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex;position:absolute;inset:0}.nn-mp-opponent-large .nn-mp-board{width:min(90vw,70dvh)}@media (width<=700px){.nn-mp{gap:5px;padding:6px}.nn-mp h1{font-size:17px}.nn-mp-header button{padding:6px;font-size:11px}.nn-mp-status{padding:6px;font-size:12px}.nn-mp-layout{grid-template-rows:minmax(0,1.1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:6px}.nn-mp-caption{font-size:12px}.nn-mp-board{border-width:3px;gap:3px;padding:4px}.nn-mp-actions button{min-height:34px;padding:5px;font-size:11px!important}.nn-mp-lobby p{font-size:13px}.nn-mp-lobby h2{font-size:18px}}.nn-bot-choice{border-top:1px solid #b8c8aa;gap:10px;margin-top:18px;padding-top:16px;display:grid}.nn-bot-choice select{font:inherit;color:#214d3b;background:#fff;border:1px solid #b8c8aa;border-radius:10px;padding:10px}.nn-bot-choice h2,.nn-bot-choice p{margin:0}.nn-mp-lobby{min-height:0;overflow-y:auto}.nn-warmup{z-index:100;color:#214d3b;background:#f7f7ef;flex-direction:column;gap:10px;padding:16px;display:flex;position:fixed;inset:0;overflow:auto}.nn-warmup header{justify-content:space-between;align-items:center;gap:12px;display:flex}.nn-warmup h2{margin:0;font-size:24px}.nn-warmup-intro{max-width:800px;margin:auto;line-height:1.6}.nn-warmup-intro li{margin:10px 0}.nn-warmup-hint,.nn-warmup-message{margin:0;font-size:15px}.nn-warmup-message{text-align:center;min-height:44px}.nn-warmup-play{flex:1;grid-template-columns:1fr 1fr;place-items:center;gap:20px;min-height:0;display:grid;container-type:size}.nn-warmup-board{aspect-ratio:1;background:#245440;border-radius:16px;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:5px;width:min(47cqw,95cqh);padding:8px;display:grid}.nn-warmup-board button{background:#35664d;border:0;border-radius:8px;min-width:0;min-height:0;padding:3px}.nn-warmup img{object-fit:contain;width:100%;height:100%}.nn-warmup-table{grid-template-columns:repeat(5,1fr);gap:4px;width:min(47cqw,110cqh);display:grid}.nn-warmup-table button{aspect-ratio:1;background:#eaf0df;border:3px solid #0000;border-radius:10px;min-width:0;padding:3px}.nn-warmup-table button:disabled{opacity:.15}.nn-warmup-table button[aria-pressed=true]{background:#ffdf86;border-color:#d6a128}.nn-warmup-actions{justify-content:center;gap:10px;display:flex}.nn-warmup button:focus-visible{outline:3px solid #d6a128}@media (width<=700px){.nn-warmup{gap:6px;padding:8px}.nn-warmup h2{font-size:18px}.nn-warmup header button{padding:8px;font-size:13px}.nn-warmup-play{grid-template-rows:1.25fr 1fr;grid-template-columns:1fr;gap:8px}.nn-warmup-board{width:min(90cqw,50cqh)}.nn-warmup-table{width:min(95cqw,52cqh)}.nn-warmup-hint,.nn-warmup-message{font-size:12px}}.nn-warmup-board svg,.nn-warmup-table svg{width:100%;height:100%;display:block}.nn-warmup-actions{flex-shrink:0;grid-template-columns:1.2fr 1fr 1.2fr auto;align-items:stretch;display:grid}.nn-warmup-actions button{min-height:56px;padding:12px 18px;font-size:17px}.nn-warmup-actions .nn-warmup-draw{min-width:150px;font-size:22px;font-weight:700}@media (width<=700px){.nn-warmup-actions{grid-template-columns:1fr 1fr;gap:6px}.nn-warmup-actions button{min-height:48px;padding:8px;font-size:14px}.nn-warmup-actions .nn-warmup-draw{min-width:0;font-size:20px}}html,body{min-width:320px;margin:0}body{font-family:system-ui,sans-serif}button,input{font:inherit}
