/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--forest:#2f6844;--forest-dark:#173b2a;--forest-light:#dcebc8;--desert:#bd6f25;--desert-dark:#75401d;--desert-light:#f5d79f;--cream:#fff7e7;--ink:#33271f;--paper:#fffaebf0;--shadow:0 14px 40px #3925133d}*{box-sizing:border-box}html,body{background:#1d3125;min-height:100%;margin:0;overflow:hidden}body{color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:ui-rounded,Avenir Next Rounded,Trebuchet MS,system-ui,sans-serif}button{font:inherit;color:inherit;touch-action:manipulation}button:not(:disabled){cursor:pointer}button:focus-visible{outline-offset:2px;outline:4px solid #68d8ff}.app-shell{width:100vw;min-height:100dvh;position:relative;overflow:hidden}.portrait-notice{display:none}.fullscreen-control{z-index:90;color:#fff;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#241f18d1;border:2px solid #ffffff94;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:52px;height:52px;padding:5px;display:flex;box-shadow:0 5px 16px #00000047}.floating-fullscreen{right:max(10px, env(safe-area-inset-right));top:max(10px, env(safe-area-inset-top));position:fixed}.fullscreen-control:active{transform:scale(.94)}.hud-fullscreen{background:#ffffff29;border-color:#ffffff6b;gap:0;padding:.2cqw}.hud-fullscreen .fullscreen-icon{font-size:clamp(12px,1.5cqw,18px);line-height:1.05}.hud-fullscreen .fullscreen-label{font-size:clamp(5px,.62cqw,9px);line-height:1.1}.fullscreen-icon{font-size:19px;line-height:18px}.fullscreen-label{letter-spacing:.08em;font-size:7px;font-weight:900;line-height:8px}.primary-button,.secondary-button,.skill-button,.finish-button{letter-spacing:.04em;border:2px solid #36251438;border-radius:16px;min-height:48px;padding:10px 22px;font-weight:900;transition:transform .12s,filter .12s,box-shadow .12s;box-shadow:0 6px #3d271440}.primary-button{color:#fff;background:linear-gradient(#4c8b56,#285c3e)}.secondary-button{background:linear-gradient(#fffdf3,#ead7b6)}.primary-button:active,.secondary-button:active,.skill-button:active,.finish-button:active{transform:translateY(4px);box-shadow:0 2px #3d271440}button:disabled{opacity:.42;filter:grayscale(.45);cursor:not-allowed;box-shadow:none}.text-button{background:0 0;border:0;min-height:44px;font-weight:900;text-decoration:underline}.cover-screen{background:#efe2bd;width:100vw;height:100dvh;position:relative;overflow:hidden}.cover-art{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute}.cover-shade{background:linear-gradient(#0000 45%,#231b110d 64%,#1c140cb8);position:absolute;inset:0}.cover-actions{left:50%;bottom:max(24px, calc(env(safe-area-inset-bottom) + 14px));color:#fff;text-align:center;text-shadow:0 2px 4px #3e2b18;flex-direction:column;align-items:center;width:min(92%,680px);display:flex;position:absolute;transform:translate(-50%)}.cover-actions p{margin:0 0 12px;font-size:clamp(14px,2vw,23px);font-weight:800}.cover-actions span{margin-top:10px;font-size:13px;font-weight:700}.giant-button{background:linear-gradient(#62a761,#24643c);border:3px solid #fbefb8;min-height:62px;padding-inline:44px;font-size:clamp(17px,2.1vw,26px);box-shadow:0 7px #163f29,0 11px 25px #00000047}.version-tag{left:max(10px, env(safe-area-inset-left));bottom:max(8px, env(safe-area-inset-bottom));color:#ffffff9e;letter-spacing:.04em;text-shadow:0 1px 3px #00000080;pointer-events:none;font-size:10px;font-weight:700;position:absolute}.menu-screen,.panel-screen{min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));background:linear-gradient(112deg,#54805d 0 49%,#e9b766 51%);place-items:center;display:grid;position:relative}.menu-backdrop{filter:saturate(.75)blur(5px);background:linear-gradient(90deg,#10372452,#ffffff1f,#6f3c1433),url(/game/cover.png) 50%/cover;position:absolute;inset:0;transform:scale(1.03)}.menu-card,.choice-panel{width:min(92vw,760px);max-height:calc(100dvh - 28px);box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff8e4f0;border:2px solid #ffffffb3;border-radius:32px;padding:clamp(18px,3vh,34px);position:relative;overflow:auto}.logo-mark{flex-direction:column;align-items:center;line-height:.95;display:flex}.logo-mark span{color:#c84c3d;font-size:clamp(22px,3vw,34px);font-weight:900;transform:rotate(-2deg)}.logo-mark strong{color:var(--forest);text-shadow:2px 2px #f2c84a;letter-spacing:-.04em;font-size:clamp(31px,4.6vw,55px)}.menu-kicker,.eyebrow{color:#7a5a3e;letter-spacing:.16em;text-transform:uppercase;margin:10px 0 14px;font-size:12px;font-weight:900}.menu-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.menu-button,.resume-button{text-align:left;border:2px solid #3e2d1d2e;border-radius:20px;grid-template-rows:1fr 1fr;grid-template-columns:auto 1fr;align-items:center;min-height:112px;padding:14px;display:grid;box-shadow:0 5px #3d27142e}.menu-button strong,.resume-button strong{letter-spacing:.04em;font-size:18px}.menu-button small,.resume-button small{opacity:.72;font-weight:700}.menu-icon,.resume-button>span{grid-row:1/3;margin-right:12px;font-size:38px}.forest-menu{background:linear-gradient(135deg,#e5f0d7,#b8d8ad)}.desert-menu{background:linear-gradient(135deg,#fff0c9,#efc678)}.settings-menu{background:linear-gradient(135deg,#f5efe4,#ddd0c0)}.resume-button{color:#fff;background:linear-gradient(135deg,#4e8e59,#295e3d);grid-column:1/-1;min-height:80px}.menu-note{opacity:.65;margin:17px 0 0;font-size:12px;font-weight:700}.menu-opening-link{opacity:.8;margin:10px 0 0;font-size:12px}.forest-panel-screen{background:linear-gradient(135deg,#244f36,#8bb66f)}.settings-screen{background:linear-gradient(135deg,#355944,#d3a056)}.choice-panel{width:min(92vw,920px)}.wide-panel{width:min(94vw,1050px)}.back-button{background:#eadcbe;border:0;border-radius:14px;min-width:78px;min-height:44px;font-size:12px;font-weight:900;position:absolute;top:18px;left:18px}.choice-panel h1{color:var(--forest-dark);margin:0 0 22px;font-size:clamp(27px,4vw,44px)}.difficulty-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.realm-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.realm-forest{background:linear-gradient(155deg,#eaf4dc,#b9d9ad)}.realm-desert{background:linear-gradient(155deg,#fff2d2,#efc678)}.difficulty-card,.setting-card{background:#fffdf4;border:3px solid #0000;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:170px;padding:18px;display:flex;box-shadow:0 6px #c8b28b}.difficulty-card>span{font-size:54px}.difficulty-card strong{font-size:21px}.difficulty-card small,.setting-card small{opacity:.7;font-weight:700}.settings-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.setting-card{min-height:190px;position:relative}.setting-card>span{color:var(--forest);font-size:42px}.setting-card strong{font-size:16px}.setting-card em{color:var(--forest);font-size:10px;font-style:normal;font-weight:900;position:absolute;bottom:9px}.setting-selected{border-color:var(--forest);background:#edf6df;transform:translateY(-3px);box-shadow:0 8px #9db57e}.audio-settings{text-align:left;background:#f3e8d2;border:2px solid #42301c24;border-radius:18px;grid-template-columns:minmax(210px,1fr) auto minmax(230px,1.1fr);align-items:center;gap:14px;min-height:72px;margin-top:16px;padding:10px 14px;display:grid}.audio-heading{align-items:center;gap:10px;display:flex}.audio-heading>span{color:#fff;background:var(--forest);border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:24px;display:grid}.audio-heading div{flex-direction:column;display:flex}.audio-heading strong{font-size:12px}.audio-heading small{opacity:.65;margin-top:2px;font-size:9px}.music-toggle{color:#756754;background:#d8cbb8;border:2px solid #3e2d1d33;border-radius:22px;width:66px;height:42px;font-size:11px;font-weight:900;position:relative}.music-toggle:after{content:"";border-radius:24px;position:absolute;inset:-3px -2px}.music-toggle.music-on{color:#fff;background:var(--forest);box-shadow:inset 22px 0 #ffffff2e}.volume-control{grid-template-columns:auto 1fr 40px;align-items:center;gap:8px;min-width:0;font-size:9px;font-weight:900;display:grid}.volume-control input{width:100%;min-height:44px;accent-color:var(--forest)}.volume-control output{text-align:right;font-variant-numeric:tabular-nums}.setting-footnote{opacity:.68;margin:20px 0 0;font-size:12px;font-weight:700}.setup-screen,.game-screen{background:#d9c9a6;width:100vw;height:100dvh;overflow:hidden}.setup-screen{grid-template-rows:auto 1fr;display:grid}.setup-forest{background:linear-gradient(120deg,#244f36,#e4d6b9 54%)}.setup-desert{background:linear-gradient(120deg,#e4d6b9 46%,#9e571d)}.setup-header{min-height:72px;padding:max(9px, env(safe-area-inset-top)) max(76px, calc(env(safe-area-inset-right) + 66px)) 8px max(16px, env(safe-area-inset-left));color:#fff;background:#2a261bc2;grid-template-columns:52px 1fr auto;align-items:center;gap:13px;display:grid;box-shadow:0 4px 16px #0000002e}.round-control{color:#fff;background:#ffffff29;border:2px solid #ffffff6b;border-radius:50%;width:48px;height:48px;font-size:22px;font-weight:900}.setup-header .eyebrow{color:#e9d7aa;margin:0}.setup-header h1{margin:0;font-size:clamp(21px,2.8vw,32px)}.setup-progress{flex-direction:column;align-items:flex-end;display:flex}.setup-progress strong{font-size:25px}.setup-progress span{opacity:.75;font-size:11px;font-weight:800}.setup-main{min-height:0;padding:10px max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));grid-template-columns:minmax(0,4fr) minmax(220px,1fr);align-items:stretch;gap:12px;display:grid}.setup-tools{background:var(--paper);height:min(100%,660px);min-height:0;box-shadow:var(--shadow);border-radius:22px;flex-direction:column;align-self:center;gap:10px;padding:12px;display:flex;overflow:auto}.segmented-control{background:#d9ccb4;border-radius:14px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.segmented-control button{background:0 0;border:0;border-radius:11px;min-height:44px;font-size:11px;font-weight:900}.segmented-control .active{color:var(--forest);background:#fff;box-shadow:0 2px 7px #0000001f}.random-card{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:190px;display:flex}.random-card>span{font-size:50px}.random-card strong{font-size:16px}.random-card p{opacity:.72;margin:7px 0 12px;font-size:12px;line-height:1.35}.animal-tray{flex:1;grid-template-columns:1fr 1fr;gap:6px;min-height:0;display:grid;overflow:auto}.animal-tray button{text-align:left;background:#f3ead7;border:2px solid #0000;border-radius:13px;grid-template-columns:38px 1fr 20px;align-items:center;min-height:52px;padding:3px 7px;font-size:10px;font-weight:800;display:grid}.animal-tray button b{color:#fff;background:#715238;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.animal-tray .tray-selected{border-color:var(--forest);background:#dfecc8}.setup-message{text-align:center;min-height:30px;margin:0;font-size:11px;font-weight:800;line-height:1.3}.ready-button{width:100%;font-size:17px}.board-frame{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative;container-type:size}.board-stage{aspect-ratio:4/3;isolation:isolate;background:#d8c69e;border-radius:clamp(12px,1.6vw,24px);width:min(100cqw,133.333cqh);position:relative;overflow:hidden;box-shadow:0 13px 35px #2a1c0e47;container-type:inline-size}.board-art{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.board-wash{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #ffffff47,inset 0 0 45px #2a1d0f1f}.node-hit{z-index:2;background:0 0;border:0;border-radius:50%;width:clamp(36px,4.8cqw,100px);height:clamp(36px,4.8cqw,100px);padding:0;position:absolute;transform:translate(-50%,-50%)}.node-legal:before,.node-target:before,.node-setup:before{content:"";border-radius:50%;position:absolute;inset:8%}.node-legal:before{background:#0e57494d;border:4px solid #29e7b0;animation:1.2s infinite alternate soft-pulse;box-shadow:0 0 0 4px #ffffffbf,0 0 18px #20dca2}.node-target:before{background:#faccff8c;border:4px dashed #b832db;animation:4s linear infinite spin-target;box-shadow:0 0 0 4px #ffffffd9,0 0 19px #c03ae0}.node-setup:before{border:3px dotted #ffffff7a}.terrain-effect{z-index:8;pointer-events:none;filter:drop-shadow(0 1px 3px #00000073);font-size:clamp(22px,2.6vw,36px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mud-effect{color:#0000;opacity:.82;background:#6d422a;border-radius:50%;width:68%;height:42%;box-shadow:0 0 0 3px #ffffff59}.terrain-badge{z-index:3;pointer-events:none;filter:drop-shadow(0 1px 2px #0006);font-size:clamp(13px,1.5vw,19px);position:absolute;top:8%;left:50%;transform:translate(-50%)}.piece-token{z-index:6;background:#fffaf0;border:3px solid #fff;border-radius:50%;width:clamp(34px,4.6cqw,96px);height:clamp(34px,4.6cqw,96px);padding:3px;transition:left .55s,top .55s,transform .14s,filter .14s,box-shadow .14s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 8px #1f181066}.piece-forest{outline:4px solid #357d49}.piece-desert{outline:4px solid #d17a28}.piece-selected{z-index:9;transform:translate(-50%,-50%)scale(1.07);box-shadow:0 0 0 6px #fff45c,0 0 26px 4px #ffe83e}.piece-skill-target{z-index:8;animation:.75s infinite alternate target-piece}@container (width>=720px){.piece-token:after{content:"";border-radius:50%;position:absolute;inset:calc(-1*max(0px,22px - clamp(34px,4.6cqw,96px)/2) - 3px)}.node-hit:after{content:"";border-radius:50%;position:absolute;inset:calc(-1*max(0px,22px - clamp(36px,4.8cqw,100px)/2))}}.piece-setup-active{filter:saturate(1.05)}.piece-ai-selecting{z-index:9;animation:.5s ease-in-out infinite alternate ai-select-pulse}.piece-ai-acting{z-index:9;box-shadow:0 0 0 5px #ff9f4d,0 0 20px #ff7a1f}.piece-result-highlight{z-index:9;animation:.65s ease-out result-flash}.node-ai-destination:before{content:"";border:3px solid #ff9f4d;border-radius:50%;animation:1s infinite alternate soft-pulse;position:absolute;inset:4%;box-shadow:0 0 0 4px #ff9f4d59}.skill-pip{z-index:3;box-sizing:border-box;border:1.5px solid #ffffffeb;border-radius:50%;place-items:center;width:21%;min-width:10px;height:21%;min-height:10px;font-size:clamp(6px,.9cqw,13px);font-weight:900;line-height:1;display:grid;position:absolute;top:-4%;right:-4%}.skill-pip-ready{color:#5e3d00;background:#ffe35f;box-shadow:0 0 7px #ffd82f}.skill-pip-cooldown{color:#fff;background:#4d6393}.skill-pip-disabled{box-shadow:none;background:#786e62d9}.status-pip{z-index:3;box-sizing:border-box;background:#2d1f14e6;border:1.5px solid #ffffffe6;border-radius:50%;place-items:center;width:21%;min-width:10px;height:21%;min-height:10px;font-size:clamp(6px,.78cqw,11px);line-height:1;display:grid;position:absolute;bottom:-4%;left:-4%;overflow:hidden}.status-pip-burning{border-color:#ffb08a;box-shadow:0 0 0 1.5px #d64018cc}.status-pip-quicksand{background:#785214f2;border-color:#ffd36b;box-shadow:0 0 0 1.5px #ffc440d9}.status-pip-mud{background:#58361cf5;border-color:#d9b48a;box-shadow:0 0 0 1.5px #744622e6}.status-pip-quicksand-pending,.status-pip-mud-pending{opacity:.88;background:#fff8e8f0;border:1.5px dashed #785214f2}.burrow-marker{z-index:4;pointer-events:none;font-size:clamp(22px,3vw,38px);position:absolute;transform:translate(-50%,-50%)}.burrow-exit{color:#702582;text-shadow:0 0 5px #fff}.animal-art{background:#fffaf0;border-radius:50%;width:100%;height:100%;display:block;overflow:hidden}.animal-art img{object-fit:contain;pointer-events:none;width:100%;height:100%;transform:translate(var(--portrait-x,0%), var(--portrait-y,0%)) scale(var(--portrait-scale,1));transform-origin:50%;display:block}.animal-art-small{flex:0 0 38px;width:38px;height:38px}.game-screen{--stage-w:min(calc(100vw - max(0px, env(safe-area-inset-left)) - max(0px, env(safe-area-inset-right))), calc((100dvh - max(0px, env(safe-area-inset-top)) - max(0px, env(safe-area-inset-bottom))) * 4 / 3));background:radial-gradient(circle at 50% 42%,#2f3b2c 0%,#1a201a 100%);place-items:center;display:grid}.game-stage{width:var(--stage-w);height:calc(var(--stage-w) * 3 / 4);background:linear-gradient(90deg,#1f4d33,#b6a982 42%,#c69553 58%,#96511d);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0006,0 16px 54px #00000073;container-type:inline-size}.game-hud{color:#fff;z-index:20;background:#211d16e0;grid-template-columns:auto minmax(0,1fr) minmax(0,1.75fr) minmax(0,1fr) auto auto;align-items:center;gap:.55cqw;min-height:clamp(40px,4.4cqw,58px);padding:.3cqw .9cqw;display:grid;box-shadow:0 5px 18px #00000038}.game-hud .round-control{z-index:1;flex:none;width:clamp(36px,3.9cqw,44px);height:clamp(36px,3.9cqw,44px);font-size:clamp(15px,1.8cqw,21px);position:relative}.game-hud .round-control:after{content:"";border-radius:50%;position:absolute;inset:calc(-1*clamp(0px,22px - clamp(36px,3.9cqw,44px)/2,.25cqw) - 2px)}.team-score{opacity:.67;border:2px solid #0000;border-radius:1.1cqw;align-items:center;gap:.5cqw;min-width:0;height:clamp(32px,3.7cqw,42px);padding:.15cqw .6cqw;display:flex}.team-score>span{font-size:clamp(14px,2cqw,24px)}.team-score div{flex-direction:column;min-width:0;display:flex}.team-score strong{white-space:nowrap;font-size:clamp(9px,1.2cqw,15px);line-height:1.15}.team-score small{opacity:.78;white-space:nowrap;font-size:clamp(7px,.92cqw,12px);line-height:1.15}.team-score b{margin-left:auto;font-size:clamp(8px,1.15cqw,16px)}.forest-score{background:#30784985}.desert-score{text-align:right;background:#c2691f85;justify-content:flex-end}.active-team{opacity:1;border-color:#fff2a3;animation:1.6s ease-in-out infinite active-team-glow;transform:scale(1.045);box-shadow:0 0 0 2px #ffee84d9,0 0 16px #ffee84a6}.turn-banner{text-align:center;border-radius:.8cqw;flex-direction:column;min-width:0;padding:.06cqw .7cqw;transition:background-color .2s;display:flex}.turn-forest .turn-banner{background:#357d4947}.turn-desert .turn-banner{background:#d17a2847}.turn-banner small{color:#e7c779;letter-spacing:.15em;font-size:clamp(7px,.9cqw,12px);font-weight:900;line-height:1.2}.turn-banner strong{letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(13px,1.7cqw,22px);line-height:1.1;overflow:hidden}.turn-forest .turn-banner strong{color:#a8e8b8}.turn-desert .turn-banner strong{color:#ffcf8a}.turn-banner span{text-overflow:ellipsis;white-space:nowrap;opacity:.76;font-size:clamp(8px,.95cqw,12px);line-height:1.2;overflow:hidden}.ai-revealing .turn-banner strong{color:#ffcf8a}.help-control{font-family:Georgia,serif}.game-board-wrap{place-items:stretch stretch;min-height:0;padding:.35cqw .6cqw;display:grid;overflow:hidden}.player-hud{z-index:20;background:#fff8e5f5;border-top:3px solid #50341b40;grid-template-columns:1fr 1fr;align-items:stretch;gap:.6cqw;min-height:clamp(56px,6cqw,78px);padding:.35cqw .9cqw;display:grid;box-shadow:0 -5px 20px #2d1f132e}.player-panel{background:#ffffff80;border:2px solid #5e442629;border-radius:1.1cqw;align-items:center;gap:.7cqw;min-width:0;padding:.25cqw .7cqw;transition:border-color .2s,background-color .2s;display:flex}.player-panel-desert{flex-direction:row-reverse}.panel-active.player-panel-forest{background:#e4f2d8f2;border-color:#4c8b56;box-shadow:0 0 0 2px #4c8b564d}.panel-active.player-panel-desert{background:#ffedcdf2;border-color:#d17a28;box-shadow:0 0 0 2px #d17a284d}.panel-identity{flex:auto;align-items:center;gap:.55cqw;min-width:0;display:flex}.player-panel-desert .panel-identity{text-align:right;flex-direction:row-reverse}.panel-identity>.animal-art{width:clamp(32px,3.9cqw,48px);height:clamp(32px,3.9cqw,48px);box-shadow:0 0 0 2px var(--forest);border:2px solid #fff;flex:none}.player-panel-desert .panel-identity>.animal-art{box-shadow:0 0 0 2px var(--desert)}.panel-meta{white-space:nowrap;flex-direction:row;align-items:baseline;gap:.35cqw;min-width:0;display:flex;overflow:hidden}.panel-meta strong{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:clamp(11px,1.3cqw,18px);line-height:1.2;overflow:hidden}.panel-meta-empty strong{opacity:.55}.panel-rank{opacity:.62;flex:none;font-size:clamp(8px,.95cqw,13px);font-weight:900}.panel-sep{opacity:.35;flex:none;font-weight:900}.panel-status{opacity:.72;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:clamp(8px,.95cqw,13px);font-weight:800;overflow:hidden}.panel-action{flex:0 auto;justify-content:flex-end;align-items:center;gap:.5cqw;min-width:0;display:flex}.player-panel-desert .panel-action{flex-direction:row-reverse}.skill-button{text-align:left;background:linear-gradient(#f8d967,#e8a832);border-radius:.9cqw;flex:auto;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;min-width:0;max-width:clamp(150px,22cqw,260px);min-height:clamp(44px,4.6cqw,52px);padding:.2cqw .7cqw;display:grid}.skill-button>span{grid-row:1/3;margin-right:.5cqw;font-size:clamp(15px,1.9cqw,24px)}.skill-button strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(10px,1.2cqw,16px);line-height:1.2;overflow:hidden}.skill-button small{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(8px,.88cqw,11px);font-weight:900;line-height:1.2;overflow:hidden}.finish-button{color:#fff;background:linear-gradient(#70aee4,#3b75b2);border-radius:.9cqw;flex:none;min-height:clamp(44px,4.6cqw,52px);padding:.2cqw .8cqw;font-size:clamp(10px,1.1cqw,14px)}.panel-action .secondary-button{border-radius:.9cqw;flex:none;min-height:clamp(44px,4.4cqw,52px);padding:.2cqw .7cqw;font-size:clamp(9px,1cqw,13px)}.constrict-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5cqw;min-width:0;display:flex}.player-panel-desert .constrict-actions{flex-direction:row-reverse}.constrict-actions>span{font-size:clamp(8px,1.02cqw,13px);font-weight:900}.constrict-actions .skill-button{grid-template-rows:auto;max-width:clamp(110px,13cqw,170px)}.skill-cutin-layer{z-index:110;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12100cb3;position:fixed;inset:0;overflow:hidden}.skill-cutin-skip-area{color:#fff;background:0 0;border:0;place-items:center;width:100%;height:100%;padding:0;display:grid;position:absolute;inset:0}.cutin-speed-lines{opacity:.2;background:repeating-linear-gradient(105deg,#0000 0 24px,#ffffff3d 25px 29px,#0000 30px 55px);animation:.42s linear infinite cutin-lines;position:absolute;inset:-20%}.skill-cutin-card{opacity:0;background:radial-gradient(72% 64% at 50% 46%,#f5ecda 0%,#efe3c9 62%,#e5d4b2 100%);border:5px solid #fff3c1;border-radius:30px;width:min(88vw,860px);height:min(62dvh,470px);display:block;position:relative;overflow:hidden;box-shadow:0 24px 65px #0000007a,0 0 0 8px #ffffff26,inset 0 0 38px #7856282e}.skill-cutin-card.is-shown{animation:1.9s cubic-bezier(.2,.88,.2,1) both cutin-card}.cutin-forest .skill-cutin-card{box-shadow:0 24px 65px #0000007a,0 0 0 8px #78be7838,inset 0 0 38px #7856282e}.cutin-desert .skill-cutin-card{border-color:#ffd498;box-shadow:0 24px 65px #0000007a,0 0 0 8px #ffbe6e3d,inset 0 0 38px #7856282e}.skill-cutin-card img{mix-blend-mode:darken;width:88%;max-width:none;height:auto;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}.skill-cutin-fallback .animal-art{width:min(40dvh,260px);height:min(40dvh,260px);position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.skill-cutin-title{color:#fff;text-align:left;background:#1d5132eb;border-radius:15px;flex-direction:column;align-items:flex-start;min-width:220px;padding:9px 18px 10px;display:flex;position:absolute;bottom:16px;left:18px;transform:rotate(-1deg);box-shadow:0 5px 16px #0000003d}.cutin-desert .skill-cutin-title{background:#a7541af0}.skill-cutin-title small{letter-spacing:.14em;text-transform:uppercase;opacity:.82;font-size:10px;font-weight:900}.skill-cutin-title strong{text-shadow:0 2px #0003;font-size:clamp(22px,3.6vw,40px);line-height:1}.skill-cutin-skip{bottom:max(11px, env(safe-area-inset-bottom));letter-spacing:.15em;text-shadow:0 2px 5px #000;opacity:.78;font-size:9px;font-weight:900;position:absolute}.modal-layer{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1c1610b3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.help-modal,.confirm-modal,.victory-modal{background:#fff8e8;border:3px solid #f4e0aa;border-radius:28px;width:min(94vw,920px);max-height:90dvh;padding:26px;position:relative;overflow:auto;box-shadow:0 24px 70px #00000061}.modal-close{background:#dfd0b6;border:0;border-radius:50%;width:46px;height:46px;font-size:28px;position:absolute;top:12px;right:14px}.help-modal h2{color:var(--forest);margin:0;font-size:30px}.rule-callout{background:#f1e1b4;border-radius:13px;margin:9px 0 16px;padding:10px 14px;font-size:13px;font-weight:700}.help-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.help-grid article{background:#f4ecdd;border-radius:13px;align-items:center;gap:8px;min-width:0;padding:7px;display:flex}.help-grid article div{flex-direction:column;min-width:0;display:flex}.help-grid strong{font-size:11px}.help-grid span{color:#8b4e24;font-size:10px;font-weight:900}.help-grid p{margin:2px 0 0;font-size:9px;line-height:1.25}.terrain-rules{flex-wrap:wrap;justify-content:space-around;gap:9px;margin-top:14px;font-size:10px;font-weight:900;display:flex}.confirm-modal{text-align:center;width:min(88vw,480px)}.confirm-modal>span{font-size:52px}.confirm-modal h2{margin:5px 0;font-size:28px}.confirm-modal p{margin:4px 0 18px}.confirm-modal>div{justify-content:center;gap:10px;display:flex}.fullscreen-hint{width:min(88vw,520px)}.fullscreen-hint>span{color:var(--forest);font-size:48px;display:block}.fullscreen-hint p{line-height:1.5}.victory-layer:before{content:"✦  ✧  ★  ✦  ✧  ★";color:#ffe061;letter-spacing:.22em;font-size:clamp(24px,6vw,70px);animation:1.5s ease-in-out infinite alternate victory-float;position:absolute;top:8%}.victory-modal{text-align:center;width:min(88vw,620px);overflow:visible}.victory-crown{filter:drop-shadow(0 8px 7px #00000038);margin-top:-70px;font-size:92px;display:block}.victory-modal h2{color:var(--forest);margin:5px 0;font-size:clamp(34px,6vw,62px)}.desert-victory h2{color:var(--desert)}.victory-modal>div{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:20px;display:flex}@keyframes soft-pulse{to{filter:brightness(1.2);transform:scale(1.14)}}@keyframes spin-target{to{transform:rotate(360deg)}}@keyframes target-piece{to{box-shadow:0 0 0 6px #d55be7,0 0 24px #c243dc}}@keyframes victory-float{to{transform:translateY(14px)rotate(2deg)}}@keyframes cutin-card{0%{opacity:0;transform:translateY(14px)scale(.9)}9%{opacity:1;transform:translateY(0)scale(1.015)}15%,86%{opacity:1;transform:none}to{opacity:0;transform:scale(1.03)}}@keyframes cutin-lines{to{transform:translate(-55px)}}@keyframes ai-select-pulse{0%{transform:translate(-50%,-50%)scale(1.08);box-shadow:0 0 0 4px #ff9f4d,0 0 14px #ff7a1f}to{transform:translate(-50%,-50%)scale(1.2);box-shadow:0 0 0 7px #ffb877,0 0 24px #ff8c34}}@keyframes result-flash{0%{box-shadow:0 0 0 8px #ffeb78e6,0 0 28px #ffd750e6}to{box-shadow:0 0 #ffeb7800,0 0 #ffd75000}}@keyframes active-team-glow{0%,to{box-shadow:0 0 0 2px #ffee84d9,0 0 16px #ffee84a6}50%{box-shadow:0 0 0 2px #ffee848c,0 0 22px #ffee8466}}@media (max-height:650px){.setup-header{min-height:62px}.menu-card{padding-block:16px}.menu-button{min-height:92px}}@media (max-width:900px){.setup-main{grid-template-columns:minmax(0,3.4fr) minmax(205px,1fr);gap:8px}.setup-tools{padding:8px}.settings-grid{gap:8px}.setting-card{padding:11px}.audio-settings{grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);gap:9px}}@media (orientation:portrait){.app-shell>:not(.portrait-notice){display:none!important}.portrait-notice{text-align:center;color:#fff;background:linear-gradient(160deg,#204c32,#b2702d);flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.portrait-notice span{font-size:84px;animation:1.8s ease-in-out infinite alternate rotate-device}.portrait-notice strong{margin-top:18px;font-size:28px}.portrait-notice p{opacity:.8;max-width:330px}}@keyframes rotate-device{to{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skill-cutin-card.is-shown{opacity:1;transform:none;animation:none!important}}.turn-line{justify-content:center;align-items:baseline;gap:.55cqw;min-width:0;display:flex}.turn-banner small .turn-count{font-size:inherit;font-weight:inherit;letter-spacing:inherit;opacity:1;color:inherit;flex:none}.turn-banner .action-strip{align-items:baseline;gap:.5cqw;min-width:0;display:flex;overflow:hidden}.turn-banner .action-chip{letter-spacing:.06em;white-space:nowrap;opacity:.5;color:#f3e6c8;flex:none;font-size:clamp(7px,.88cqw,12px);font-weight:900;line-height:1.2}.turn-banner .action-chip b{font-weight:900}.turn-banner .action-chip-available{opacity:1;color:#ffe9a8}.turn-banner .action-chip-used{opacity:.62;color:#a8e8b8}.turn-banner .action-chip-blocked{opacity:.38}.turn-banner .action-chip-finish{opacity:.55;color:#bcd9f5}.turn-banner .action-chip-ready{opacity:1;color:#9fd0ff}.turn-banner .last-action{opacity:.82}.finish-optional{opacity:.72;filter:saturate(.7)}.finish-ready{box-shadow:0 0 0 3px #ffee84e6,0 0 16px #78b4f0bf}.node-target-warn:before{background:#ffe2a88c;border-color:#e08a1e;animation:none;box-shadow:0 0 0 4px #ffffffd9,0 0 19px #e08a1ed9}.piece-skill-target-warn{animation:none;box-shadow:0 0 0 5px #e08a1e,0 0 18px #e08a1ecc}.recoil-warn{z-index:10;pointer-events:none;color:#2b1a05;letter-spacing:.04em;white-space:nowrap;background:#e08a1e;border:1.5px solid #ffffffeb;border-radius:.5em;padding:0 .35em;font-size:clamp(6px,.78cqw,11px);font-weight:900;line-height:1.5;position:absolute;top:-22%;left:50%;transform:translate(-50%);box-shadow:0 2px 5px #2d1f1366}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
