/*! 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-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-outline-style:solid;--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-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-outline-style:solid;--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{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.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}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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{--ink:#172a22;--ink-soft:#4e6659;--paper:#f4e8c9;--paper-deep:#dfc58f;--cream:#fff8de;--moss:#31594b;--moss-deep:#193a34;--sage:#90a965;--gold:#dca43b;--orange:#d86c35;--red:#a7422c;--sky:#9cc9d8;--shadow:#12231d47;--player-color:#c9563c;--ui-font:"Trebuchet MS", "Microsoft YaHei", "PingFang SC", sans-serif;--display-font:Georgia, "STKaiti", "KaiTi", serif}*{box-sizing:border-box}html,body{background:var(--moss-deep);min-height:100%;color:var(--ink);font-family:var(--ui-font);margin:0;overflow:hidden}@supports (height:100dvh){html,body,.game-shell{height:100dvh;min-height:100dvh}}button,input,select{font:inherit}button{color:inherit;touch-action:manipulation}.game-shell{isolation:isolate;background:radial-gradient(circle at 50% -20%,#f4e8c93d,#0000 46%),#26483d;position:fixed;inset:0;overflow:hidden}.scene-layer,.scene-layer canvas{width:100%;height:100%;position:absolute;inset:0}.scene-layer canvas{touch-action:none;display:block}.vignette{pointer-events:none;z-index:2;background:linear-gradient(#142a2366,#0000 22% 72%,#11251f73),radial-gradient(circle,#0000 48%,#0e1e1a3d);position:absolute;inset:0}.vignette:after{content:"";opacity:.12;mix-blend-mode:soft-light;background-image:radial-gradient(circle at 18% 22%,#ffffffa6 0 .6px,#0000 .8px),radial-gradient(circle at 73% 64%,#05140eb3 0 .5px,#0000 .8px);background-size:9px 11px,13px 15px;position:absolute;inset:0}.hud-layer{z-index:4;pointer-events:none;position:absolute;inset:0}.hud-layer button,.hud-layer input,.hud-layer select,.hud-layer [role=button]{pointer-events:auto}.brand-block{color:var(--cream);filter:drop-shadow(0 3px 8px #08171366);align-items:center;gap:12px;display:flex;position:absolute;top:22px;left:24px}.brand-seal{width:46px;height:46px;font-family:var(--display-font);background:linear-gradient(155deg,#d98b3f,#a9442b);border:2px solid #fff8ded9;border-radius:14px 14px 17px 17px;place-items:center;font-size:24px;font-weight:900;display:grid;position:relative;box-shadow:inset 0 0 0 3px #4e261833,0 4px 10px #0c1d174d}.brand-seal:before,.brand-seal:after{content:"";background:#c96133;border:2px solid #fff8ded1;border-bottom:0;width:11px;height:10px;position:absolute;top:-6px}.brand-seal:before{left:5px}.brand-seal:after{right:5px}.brand-copy strong{font-family:var(--display-font);letter-spacing:.12em;text-shadow:0 2px #1b372ecc;font-size:clamp(21px,2.2vw,30px);line-height:.95;display:block}.brand-copy span{color:#fff8deb3;letter-spacing:.22em;text-transform:uppercase;margin-top:6px;font-size:9px;font-weight:800;display:block}.round-pill{min-width:190px;color:var(--cream);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#193a34d1;border:1px solid #fff8de66;border-radius:999px;align-items:center;gap:10px;padding:9px 14px 9px 10px;display:flex;position:absolute;top:25px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0b1c1733,inset 0 1px #ffffff1f}.round-pill__avatar{background:var(--player-color);color:#fff8d8;border:2px solid #f6d379;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:18px;display:grid;box-shadow:inset 0 -4px #501e142e}.round-pill__copy{flex:1;min-width:0}.round-pill__copy span{color:#c9dacd;letter-spacing:.17em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.round-pill__copy strong{font-family:var(--display-font);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:14px;display:block;overflow:hidden}.turn-timer{color:#fff3c7;text-align:center;font-variant-numeric:tabular-nums;border-left:1px solid #fff8de40;min-width:50px;padding-left:11px;display:grid}.turn-timer span{color:#c9dacd;letter-spacing:.12em;font-size:8px;font-weight:800}.turn-timer strong{font-family:var(--display-font);font-size:16px;line-height:1.05}.turn-timer.is-warning{color:#fff;animation:.9s ease-in-out infinite alternate turn-timer-warning}.turn-timer.is-warning span{color:#ffd18c}@keyframes turn-timer-warning{to{text-shadow:0 0 9px #ff6942f2}}.top-actions{gap:8px;display:flex;position:absolute;top:24px;right:24px}.icon-button{width:40px;height:40px;color:var(--cream);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#193a34c7;border:1px solid #fff8de61;border-radius:12px;place-items:center;transition:transform .16s,background .16s;display:grid;box-shadow:0 5px 16px #0c1e1838,inset 0 1px #ffffff1f}:is(.icon-button:hover,.icon-button:focus-visible){background:#2d5748f0;outline:none;transform:translateY(-2px)}.mobile-controls{top:calc(78px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));pointer-events:auto;grid-template-columns:repeat(2,48px);gap:7px;display:none;position:absolute}.mobile-control-button{width:48px;min-width:48px;height:48px;color:var(--cream);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#193a34e6;border:1px solid #fff8de7a;border-radius:13px;align-content:center;place-items:center;line-height:1;display:grid;box-shadow:0 5px 16px #0c1e1840,inset 0 1px #ffffff21}.mobile-control-button>span{font-size:21px;font-weight:900}.mobile-control-button>small{color:#d9e8db;margin-top:2px;font-size:8px;font-weight:900}.mobile-control-button.is-primary{background:linear-gradient(#ca7e37f5,#a44e27f5);border-color:#ffe180b8}.mobile-control-button:disabled{cursor:not-allowed;filter:saturate(.25);opacity:.46}.mobile-control-button:focus-visible{outline-offset:2px;outline:3px solid #ffe18b}.player-rail{gap:8px;width:172px;display:grid;position:absolute;top:50%;left:22px;transform:translateY(-48%)}.player-card{--player:#ca5940;min-height:53px;color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6edd3db;border:1px solid #fff8de4d;border-radius:14px;grid-template-columns:34px 1fr auto;align-items:center;padding:7px 9px;transition:transform .18s,background .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 20px #0f231d33,inset 0 1px #ffffffb3}.player-card:before{content:"";background:var(--player);width:4px;position:absolute;inset:0 auto 0 0}.player-card.is-current{background:#fff8def5;border-color:#ffda73f2;transform:translate(7px);box-shadow:0 8px 22px #0f231d45,0 0 0 2px #e7b1418c}.meeple-mark{background:var(--player);filter:drop-shadow(0 2px 1px #1f1d113d);border-radius:8px 8px 5px 5px;width:22px;height:26px;margin-left:4px;position:relative}.meeple-mark:before{content:"";background:var(--player);border-radius:50%;width:10px;height:10px;position:absolute;top:-7px;left:6px}.meeple-mark:after{content:"";background:var(--player);border-radius:7px 7px 3px 3px;height:9px;position:absolute;bottom:1px;left:-5px;right:-5px}.player-info strong,.player-info span{display:block}.player-info strong{font-family:var(--display-font);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.player-info span{color:var(--ink-soft);margin-top:2px;font-size:9px;font-weight:800}.player-score{text-align:center;min-width:34px}.player-score strong{font-family:var(--display-font);font-size:19px;line-height:1;display:block}.player-score span{color:var(--ink-soft);letter-spacing:.08em;font-size:8px;font-weight:900}.tile-dock{background:linear-gradient(145deg,#fff8def5,#e1cca0f0);border:1px solid #fff8de75;border-radius:20px;width:244px;padding:13px;position:absolute;top:50%;right:22px;transform:translateY(-47%);box-shadow:0 14px 34px #0c1d1747,inset 0 1px #ffffffc7}.dock-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.dock-heading span{color:var(--ink-soft);letter-spacing:.17em;text-transform:uppercase;font-size:9px;font-weight:900;display:block}.dock-heading strong{font-family:var(--display-font);margin-top:2px;font-size:16px;display:block}.deck-counter{background:var(--moss-deep);color:var(--cream);white-space:nowrap;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:900}.tile-card-preview{background:radial-gradient(circle at 68% 28%,#ffef9db8,#0000 28%),linear-gradient(145deg,#9ebe67,#6f985c);border:2px solid #604e2d52;border-radius:15px;place-items:center;height:164px;padding:9px 9px 34px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 5px #fff7d54d,inset 0 -14px 24px #2958373d}.current-tile-information{gap:7px;display:grid}.tile-face-preview{width:112px;height:112px;transform:rotate(var(--preview-rotation,0deg));background:radial-gradient(circle at 76% 18%,#e5ee9899,#0000 24%),linear-gradient(145deg,#a8ca6d,#79a45f);border:3px solid #464b2a6b;border-radius:12px;transition:transform .18s;position:absolute;top:9px;overflow:hidden;box-shadow:0 7px 13px #243d263d,inset 0 0 18px #fff7b840}.tile-edge-markers{z-index:12;pointer-events:none;width:112px;height:112px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.tile-edge-marker{color:#fffbea;border:1px solid #fff9dde0;border-radius:999px;place-items:center;min-width:20px;height:18px;padding:0 4px;font-size:9px;font-style:normal;font-weight:950;line-height:1;display:grid;position:absolute;box-shadow:0 2px 5px #1d311f57}.tile-edge-marker.is-n{top:2px;left:50%;transform:translate(-50%,-10%)}.tile-edge-marker.is-e{top:50%;right:2px;transform:translate(10%,-50%)}.tile-edge-marker.is-s{bottom:2px;left:50%;transform:translate(-50%,10%)}.tile-edge-marker.is-w{top:50%;left:2px;transform:translate(-10%,-50%)}.tile-edge-marker.is-city,.tile-edge-summary .is-city{background:#a94b37}.tile-edge-marker.is-road,.tile-edge-summary .is-road{background:#956a36}.tile-edge-marker.is-river,.tile-edge-summary .is-river{background:#397f9c}.tile-edge-marker.is-field,.tile-edge-summary .is-field{background:#547a42}.tile-road-end-badge{color:#fff7d9;background:#6c4930;border:2px solid #fff1b2;border-radius:7px 7px 5px 5px;place-items:center;min-width:43px;height:22px;padding:0 5px;font-size:8px;font-weight:950;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 7px #2a211761}.tile-edge-details{gap:5px;display:grid}.tile-edge-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;display:grid}.tile-edge-summary span{color:#fffbea;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:4px 2px;font-size:8px;font-weight:800;overflow:hidden}.tile-edge-summary b{color:#fff0a9;margin-right:2px}.tile-topology-notes{color:#3e5334;background:#fff9dcb3;border:1px solid #44572f33;border-radius:8px;gap:3px;padding:6px 7px;display:grid}.tile-topology-notes p{margin:0;font-size:8px;font-weight:850;line-height:1.35}.tile-face-feature{display:block;position:absolute}.tile-face-feature.is-road{z-index:2;background:#d6bc82;box-shadow:inset 2px 0 #7a5b3557,inset -2px 0 #7a5b3557}.tile-face-feature.is-river{z-index:3;background:linear-gradient(90deg,#79c1d2,#b7e3e2 52%,#69aec7);box-shadow:3px 0 #4a76522e,-3px 0 #4a76522e}.tile-face-feature.is-road.is-n,.tile-face-feature.is-river.is-n{width:14%;top:-2px;bottom:48%;left:50%;transform:translate(-50%)}.tile-face-feature.is-road.is-e,.tile-face-feature.is-river.is-e{height:14%;top:50%;left:48%;right:-2px;transform:translateY(-50%)rotate(90deg)}.tile-face-feature.is-road.is-s,.tile-face-feature.is-river.is-s{width:14%;top:48%;bottom:-2px;left:50%;transform:translate(-50%)rotate(180deg)}.tile-face-feature.is-road.is-w,.tile-face-feature.is-river.is-w{height:14%;top:50%;left:-2px;right:48%;transform:translateY(-50%)rotate(90deg)}.tile-face-feature.is-river.is-n,.tile-face-feature.is-river.is-s{width:20%}.tile-face-feature.is-river.is-e,.tile-face-feature.is-river.is-w{height:20%}.tile-face-feature.is-city{z-index:5;background:repeating-linear-gradient(90deg,#0000 0 11px,#754c342e 11px 13px),linear-gradient(#d8bd7d,#b49a63);border:2px solid #816b46;box-shadow:inset 0 9px #b94f39}.tile-face-feature.is-city.is-n{border-radius:0 0 7px 7px;height:35%;top:-3px;left:16%;right:16%}.tile-face-feature.is-city.is-e{border-radius:7px 0 0 7px;width:35%;top:16%;bottom:16%;right:-3px;box-shadow:inset -9px 0 #b94f39}.tile-face-feature.is-city.is-s{border-radius:7px 7px 0 0;height:35%;bottom:-3px;left:16%;right:16%;box-shadow:inset 0 -9px #b94f39}.tile-face-feature.is-city.is-w{border-radius:0 7px 7px 0;width:35%;top:16%;bottom:16%;left:-3px;box-shadow:inset 9px 0 #b94f39}.tile-face-monastery{z-index:7;background:#d9be7e;border:4px solid #74543d;border-radius:7px;width:38%;height:42%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 13px #a94b37,0 4px 8px #343d2342}.tile-face-shield{z-index:9;color:#fff5bd;background:#2e70a4;border:2px solid #f7df8a;border-radius:50% 50% 8px 8px;place-items:center;width:22px;height:25px;font-size:10px;font-weight:900;display:grid;position:absolute;top:12px;left:50%;transform:translate(-50%)}.preview-caption{z-index:2;color:var(--cream);text-align:center;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#143229bd;border-radius:8px;padding:6px 8px;font-size:10px;font-weight:800;position:absolute;bottom:8px;left:9px;right:9px}.dock-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.dock-actions.is-placement{grid-template-columns:1fr 1fr}.placement-legend{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 9px;margin-top:8px;font-size:9px;font-weight:900;display:flex}.placement-legend span{align-items:center;gap:4px;display:inline-flex}.placement-legend i{border-radius:3px;width:8px;height:8px;box-shadow:0 0 0 1px #2f3c273d}.placement-legend i.is-legal{background:#67b34b}.placement-legend i.is-alternate{background:#f0b43c}.placement-legend i.is-invalid{background:#e04f44}.placement-edge-diagnostic{color:#62472e;background:#fff8dac2;border:1px solid #9b62294d;border-radius:8px;margin:7px 0 0;padding:7px 8px;font-size:8px;font-weight:750;line-height:1.45}.placement-edge-diagnostic strong{color:#9b3f30;letter-spacing:.06em;margin-bottom:2px;font-size:8px;display:block}.placement-edge-diagnostic.is-alternate{background:#ffedb7d1;border-color:#b57b1b5c}.wood-button,.ghost-button,.confirm-placement-button,.feature-button,.primary-button{cursor:pointer;border:0;transition:transform .15s,filter .15s,box-shadow .15s}.wood-button{color:#fff7d8;background:linear-gradient(#c98542,#a85d2d);border:1px solid #8d552f;border-radius:10px;min-height:38px;font-size:11px;font-weight:900;box-shadow:inset 0 1px #fff0b88c,0 3px #794324}.confirm-placement-button{color:#fffbe4;background:linear-gradient(#6fa94f,#477d3e);border:1px solid #346136;border-radius:10px;min-height:38px;font-size:11px;font-weight:900;box-shadow:inset 0 1px #f5ffd08c,0 3px #315d32}:is(.wood-button:hover,.wood-button:focus-visible,.primary-button:hover,.primary-button:focus-visible,.feature-button:hover,.feature-button:focus-visible){filter:brightness(1.06);outline:none;transform:translateY(-2px)}:is(.confirm-placement-button:hover:not(:disabled),.confirm-placement-button:focus-visible:not(:disabled)){filter:brightness(1.08);outline:none;transform:translateY(-2px)}.wood-button:disabled,.ghost-button:disabled,.confirm-placement-button:disabled{cursor:not-allowed;filter:saturate(.25);opacity:.48}.ghost-button{min-height:38px;color:var(--moss-deep);background:#fff9e28c;border:1px solid #31594b5c;border-radius:10px;font-size:11px;font-weight:900}:is(.ghost-button:hover,.ghost-button:focus-visible){background:#fff9e2e6;outline:none}.dock-hint{color:var(--ink-soft);justify-content:center;align-items:center;gap:5px;margin:10px 0 0;font-size:9px;font-weight:800;display:flex}kbd{min-width:20px;height:19px;color:var(--ink);background:#ffffff94;border:1px solid #33403247;border-radius:5px;place-items:center;padding:0 4px;font-size:9px;font-weight:900;display:inline-grid;box-shadow:0 1px #2c362d52}.status-strip{min-width:360px;max-width:min(600px,100vw - 490px);color:var(--cream);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#15332bdb;border:1px solid #fff8de66;border-radius:999px;align-items:center;gap:11px;padding:9px 16px 9px 10px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 7px 24px #0b1c1742,inset 0 1px #ffffff1a}.status-icon{background:var(--gold);width:30px;height:30px;color:var(--moss-deep);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.status-copy{flex:1;min-width:0}.status-copy strong,.status-copy span{display:block}.status-copy strong{font-family:var(--display-font);font-size:12px}.status-copy span{color:#c6d8cb;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.score-hint{color:#d9e4da;white-space:nowrap;align-items:center;gap:5px;font-size:9px;font-weight:800;display:flex}.meeple-panel{pointer-events:auto;background:#f6edd3f5;border:1px solid #fff8de80;border-radius:18px;width:min(430px,100vw - 510px);padding:14px;position:absolute;bottom:22px;right:282px;box-shadow:0 12px 30px #0d1f1947}.meeple-panel__top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.meeple-panel__top strong{font-family:var(--display-font);font-size:14px}.meeple-panel__top span{color:var(--ink-soft);font-size:9px;font-weight:800}.meeple-choice-note{color:#5c4934;background:#f2d39a75;border-left:3px solid #b78343;border-radius:0 7px 7px 0;margin:-3px 0 10px;padding:7px 9px;font-size:9px;font-weight:750;line-height:1.45}.feature-grid{flex-wrap:wrap;gap:7px;display:flex}.feature-button{background:#fff7d9;border:1px solid #9c7440;border-radius:10px;min-height:34px;padding:7px 11px;font-size:10px;font-weight:900;box-shadow:0 2px #c7a76c}.feature-button.is-skip{background:#dce3c9;border-color:#31594b52;box-shadow:0 2px #9fae84}.feature-button.is-abbot{background:#f2d39a;border-color:#77491f6b;box-shadow:0 2px #b78343}.toast-stack{gap:8px;width:min(360px,100vw - 40px);display:grid;position:absolute;top:88px;left:50%;transform:translate(-50%)}.toast{color:var(--cream);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#193a34e6;border:1px solid #fff4cd6b;border-radius:10px;padding:9px 13px;font-size:10px;font-weight:800;animation:.26s both toast-in;box-shadow:0 6px 18px #0b1c1738}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.overlay{z-index:10;pointer-events:auto;-webkit-backdrop-filter:blur(10px)saturate(.86);backdrop-filter:blur(10px)saturate(.86);background:#0f282185;place-items:center;padding:24px;display:grid;position:absolute;inset:0;overflow-y:auto}.game-menu-layer{z-index:12;padding:calc(72px + env(safe-area-inset-top,0px)) calc(18px + env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) calc(18px + env(safe-area-inset-left,0px));pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d231d47;place-items:start end;display:grid;position:absolute;inset:0}.game-menu-card{width:min(370px,100vw - 36px);color:var(--ink);background:linear-gradient(145deg,#fff6dc,#dfc38c);border:1px solid #fff6d5d6;border-radius:19px;padding:17px;box-shadow:0 22px 50px #081c165c,inset 0 1px #fff}.game-menu-title{justify-content:space-between;align-items:center;gap:14px;display:flex}.game-menu-title span,.game-menu-title strong{display:block}.game-menu-title span{color:var(--ink-soft);letter-spacing:.14em;font-size:9px;font-weight:900}.game-menu-title strong{font-family:var(--display-font);margin-top:2px;font-size:18px}.game-menu-card>p{color:var(--ink-soft);margin:12px 0;font-size:11px;font-weight:700;line-height:1.65}.game-menu-actions{gap:8px;display:grid}.game-menu-button{min-height:46px;color:var(--moss-deep);text-align:left;cursor:pointer;background:#fffce8c2;border:1px solid #30524047;border-radius:11px;padding:9px 13px;font-size:11px;font-weight:900}.game-menu-button.is-primary{color:#fffbe4;background:linear-gradient(#679650,#477542);border-color:#396945}.game-menu-button.is-warning{color:#874920;border-color:#975e2685}.game-menu-button.is-danger{color:#9a382a;background:#ffead8cc;border-color:#9b382a8f}:is(.game-menu-button:hover:not(:disabled),.game-menu-button:focus-visible:not(:disabled)){outline-offset:1px;filter:brightness(1.04);outline:3px solid #ffd267b8}.game-menu-button:disabled{cursor:wait;opacity:.56}.setup-card,.scoreboard-card,.help-card{background:radial-gradient(circle at 75% 0,#fffbddb3,#0000 37%),linear-gradient(145deg,#f7ebcb,#dec187);border:1px solid #fff6d5cc;border-radius:26px;width:min(760px,96vw);position:relative;overflow:hidden;box-shadow:0 30px 70px #081c1666,inset 0 1px #fff}.help-card,.scoreboard-card{max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;overflow-y:auto}.setup-card:after,.scoreboard-card:after,.help-card:after{content:"";pointer-events:none;border:1px solid #5b41262e;border-radius:20px;position:absolute;inset:8px}.setup-hero{grid-template-columns:1.1fr .9fr;min-height:470px;display:grid}.setup-copy{z-index:1;flex-direction:column;justify-content:center;padding:46px 42px;display:flex;position:relative}.eyebrow{color:var(--red);letter-spacing:.22em;text-transform:uppercase;margin:0 0 9px;font-size:10px;font-weight:900}.setup-copy h1{max-width:440px;font-family:var(--display-font);letter-spacing:.04em;color:#24463a;text-shadow:0 2px #fffbe2cc;margin:0;font-size:clamp(38px,6vw,68px);font-weight:900;line-height:.92}.setup-copy h1 span{color:var(--orange);letter-spacing:.25em;margin-top:7px;font-size:.48em;display:block}.intro{color:#4f6659;max-width:410px;font-family:var(--display-font);margin:20px 0 24px;font-size:13px;line-height:1.75}.setup-controls{gap:13px;display:grid}.control-label{color:var(--ink);justify-content:space-between;align-items:center;gap:16px;font-size:11px;font-weight:900;display:flex}.segment-control{background:#5b503421;border-radius:12px;gap:5px;padding:4px;display:flex}.segment-control button{width:36px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:11px;font-weight:900}.segment-control button.is-active{color:var(--moss-deep);background:#fff7db;box-shadow:0 2px 7px #3d311b29}.expansion-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.expansion-toggle{cursor:pointer;text-align:left;background:#fff9e280;border:1px solid #3e4f3738;border-radius:12px;grid-template-columns:32px 1fr;gap:9px;min-height:58px;padding:9px;display:grid;position:relative}.expansion-toggle.is-on{background:#eef4d2e6;border-color:#77934f;box-shadow:inset 0 0 0 1px #75954f42}.expansion-icon{color:#fff;background:#87adbd;border-radius:9px;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.expansion-toggle:nth-child(2) .expansion-icon{background:#c08342}.expansion-toggle strong,.expansion-toggle span{display:block}.expansion-toggle strong{font-family:var(--display-font);font-size:11px}.expansion-toggle span{color:var(--ink-soft);margin-top:3px;font-size:8px;font-weight:700;line-height:1.35}.primary-button{color:#fff8df;min-height:50px;font-family:var(--display-font);letter-spacing:.08em;background:linear-gradient(#e07b3c,#bd4e2e);border:1px solid #8a4429;border-radius:13px;margin-top:4px;font-size:15px;font-weight:900;box-shadow:inset 0 1px #ffefb98c,0 5px #7b3823,0 10px 20px #4a2b1a33}.setup-art{background:linear-gradient(90deg,#e2c68f00,#43694914),linear-gradient(155deg,#9bc4c7 0 36%,#7ca264 36% 66%,#4f7755 66%);min-height:470px;position:relative;overflow:hidden}.setup-art:before{content:"";background:linear-gradient(90deg,#0000 44%,#af8a58 44% 56%,#0000 56%),linear-gradient(#0000 44%,#af8a58 44% 56%,#0000 56%),#7faf60;border:11px solid #eed7a7cc;width:330px;height:330px;position:absolute;bottom:30px;right:-82px;transform:rotate(30deg)skewY(-8deg);box-shadow:-22px 26px 35px #1d3c2e40}.mini-castle{z-index:1;background:#dca15c;border:7px solid #754a35;border-radius:18px 18px 5px 5px;width:165px;height:90px;position:absolute;bottom:125px;right:54px;transform:rotate(-3deg);box-shadow:inset 0 14px #a94a34,0 13px 18px #212f2140}.mini-castle:before,.mini-castle:after{content:"";background:#c9894f;border:7px solid #754a35;border-radius:17px 17px 4px 4px;width:48px;height:126px;position:absolute;bottom:-6px;box-shadow:inset 0 15px #a94a34}.mini-castle:before{left:-24px}.mini-castle:after{right:-24px}.sun-disc{background:#f3d37b;border-radius:50%;width:82px;height:82px;position:absolute;top:58px;right:58px;box-shadow:0 0 0 15px #ffeea62e,0 0 0 35px #ffeea61a}.setup-note{z-index:2;color:#fff8ded4;text-align:right;max-width:270px;font-size:8px;font-weight:800;line-height:1.5;position:absolute;bottom:16px;right:20px}.scoreboard-card{width:min(640px,94vw);padding:34px 34px 28px}.modal-title-row{z-index:1;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex;position:relative}.modal-title-row h2{font-family:var(--display-font);margin:0;font-size:25px}.modal-title-row p{color:var(--ink-soft);margin:4px 0 0;font-size:9px;font-weight:800}.close-button{cursor:pointer;background:#fffae799;border:1px solid #35483840;border-radius:10px;place-items:center;width:36px;height:36px;font-size:17px;font-weight:900;display:grid}.score-list{z-index:1;gap:8px;display:grid;position:relative}.score-row{--player:#ca5940;background:#fff9e294;border:1px solid #3c4c382e;border-radius:13px;grid-template-columns:38px 1fr auto;align-items:center;min-height:58px;padding:9px 13px;display:grid}.score-row.is-leader{background:#fff6cae6;border-color:#ca9d3c;box-shadow:inset 0 0 0 1px #d3a03840}.score-row strong{font-family:var(--display-font)}.score-row small{color:var(--ink-soft);margin-top:3px;font-size:8px;font-weight:800;display:block}.score-big{color:var(--moss-deep);font-family:var(--display-font);font-size:24px;font-weight:900}.scoreboard-footer{z-index:1;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:9px;font-weight:800;display:flex;position:relative}.rules-grid{z-index:1;grid-template-columns:repeat(2,1fr);gap:10px;display:grid;position:relative}.rule-card{background:#fff9e294;border:1px solid #3a4c392e;border-radius:13px;padding:13px}.rule-card strong{font-family:var(--display-font);font-size:12px;display:block}.rule-card p{color:var(--ink-soft);margin:6px 0 0;font-size:9px;line-height:1.6}.game-over-ribbon{background:var(--gold);color:#4c331a;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:900px){.player-rail{grid-template-columns:repeat(5,minmax(86px,1fr));width:auto;inset:auto 270px 72px 18px;transform:none}.player-card{grid-template-columns:24px 1fr;min-width:0}.player-card.is-current{transform:translateY(-5px)}.meeple-mark{transform-origin:50%;transform:scale(.7)}.player-score{grid-column:1/-1;display:none}.tile-dock{width:230px}.status-strip{max-width:calc(100vw - 40px)}.meeple-panel{width:calc(100vw - 292px);right:264px}}@media (max-width:700px){.brand-block{top:13px;left:14px}.brand-copy span,.round-pill__copy span,.top-actions .icon-button:first-child{display:none}.brand-seal{width:38px;height:38px;font-size:20px}.round-pill{min-width:0;padding:5px 9px 5px 5px;top:13px;left:auto;right:58px;transform:none}.round-pill__avatar{width:30px;height:30px}.top-actions{top:13px;right:12px}.top-actions .icon-button:not(:last-child){display:none}.player-rail{padding-top:6px;display:flex;bottom:114px;left:12px;right:12px;overflow-x:auto}.player-card{min-width:94px;min-height:44px}.player-info span{display:none}.tile-dock{border-radius:15px;grid-template-columns:68px minmax(0,1fr);gap:9px;width:auto;padding:9px;display:grid;inset:auto 12px 12px;transform:none}.current-tile-information{display:contents}.tile-card-preview{border-radius:12px;grid-area:1/1/span 3;height:72px;padding:5px;display:grid}.tile-face-preview{border-width:2px;border-radius:8px;width:56px;height:56px;top:5px}.tile-edge-markers{width:56px;height:56px;top:5px}.tile-edge-marker{border-width:1px;min-width:13px;height:13px;padding:0 2px;font-size:7px}.tile-road-end-badge{border-width:1px;border-radius:5px;min-width:29px;height:15px;padding:0 2px;font-size:6px}.tile-edge-details{grid-area:2/2;align-self:center;gap:3px;min-width:0}.tile-edge-summary{gap:2px}.tile-edge-summary span{border-radius:4px;padding:2px 1px;font-size:7px}.tile-topology-notes{border-radius:5px;gap:1px;padding:3px 5px}.tile-topology-notes p{text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:1.25;overflow:hidden}.tile-card-preview .preview-caption,.placement-legend{display:none}.dock-heading{grid-area:1/2;align-items:center;margin:0}.dock-actions{grid-area:3/2;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.dock-actions.is-placement .wood-button,.dock-hint{display:none}.placement-edge-diagnostic{grid-area:4/1/auto/-1;max-height:38px;margin:0;padding:4px 6px;font-size:7px;overflow:auto}.placement-edge-diagnostic strong{margin-right:4px;font-size:7px;display:inline}.status-strip{width:calc(100vw - 24px);min-width:0;bottom:80px}.score-hint{display:none}.meeple-panel{width:auto;bottom:82px;left:12px;right:12px}.setup-hero{grid-template-columns:1fr}.setup-copy{padding:38px 28px}.setup-art{display:none}.rules-grid{grid-template-columns:1fr}}@media (pointer:coarse){.mobile-controls{display:grid}.icon-button,.close-button,.wood-button,.ghost-button,.feature-button,.segment-control button{min-width:44px;min-height:44px}.dock-hint{display:none}.brand-block{top:calc(22px + env(safe-area-inset-top,0px));left:calc(24px + env(safe-area-inset-left,0px))}.round-pill{top:calc(25px + env(safe-area-inset-top,0px))}.top-actions{top:calc(24px + env(safe-area-inset-top,0px));right:calc(24px + env(safe-area-inset-right,0px))}.player-rail{left:calc(22px + env(safe-area-inset-left,0px))}.tile-dock{right:calc(22px + env(safe-area-inset-right,0px))}}@media (max-width:700px){.brand-block{top:calc(8px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px))}.brand-copy{display:none}.brand-seal{width:40px;height:40px}.round-pill{top:calc(8px + env(safe-area-inset-top,0px));right:calc(58px + env(safe-area-inset-right,0px));left:calc(56px + env(safe-area-inset-left,0px));min-width:0;max-width:none;padding:5px 8px 5px 5px;transform:none}.round-pill__copy strong{font-size:12px}.turn-timer{min-width:45px;padding-left:7px}.turn-timer strong{font-size:14px}.top-actions{top:calc(6px + env(safe-area-inset-top,0px));right:calc(7px + env(safe-area-inset-right,0px))}.top-actions .icon-button:last-child{width:44px;height:44px}.status-strip{top:calc(59px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));bottom:auto;left:calc(8px + env(safe-area-inset-left,0px));width:auto;min-width:0;max-width:none;padding:7px 10px 7px 7px;transform:none}.status-icon{width:27px;height:27px}.status-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.status-copy span{display:none}.player-rail{right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(178px + env(safe-area-inset-bottom,0px));left:calc(8px + env(safe-area-inset-left,0px));overscroll-behavior-x:contain;scrollbar-width:none;pointer-events:auto;gap:6px;padding:7px 1px 3px}.player-rail::-webkit-scrollbar{display:none}.player-card{min-width:96px;min-height:44px;padding:5px 7px}.tile-dock{right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(8px + env(safe-area-inset-bottom,0px));left:calc(8px + env(safe-area-inset-left,0px));grid-template-columns:68px minmax(0,1fr);padding:7px}.dock-heading strong{text-overflow:ellipsis;white-space:nowrap;max-width:42vw;font-size:13px;overflow:hidden}.dock-actions{gap:6px}.wood-button,.ghost-button{min-height:44px}.mobile-controls{top:auto;right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(123px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(4,44px);gap:5px;display:grid}.mobile-control-button{width:44px;min-width:44px;height:48px}.phase-placeMeeple .mobile-controls{top:calc(59px + env(safe-area-inset-top,0px));bottom:auto}.phase-placeMeeple .mobile-control-button:disabled,.phase-placeMeeple .player-rail,.phase-placeMeeple .status-strip{display:none}.meeple-panel{right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(72px + env(safe-area-inset-bottom,0px));left:calc(8px + env(safe-area-inset-left,0px));overscroll-behavior:contain;max-height:min(42dvh,310px);padding:11px;overflow-y:auto}.meeple-panel__top{margin-bottom:7px}.feature-button{min-height:44px;padding:9px 12px}.toast-stack{top:calc(105px + env(safe-area-inset-top,0px));width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px)}.overlay{padding:calc(8px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px))}.setup-card,.scoreboard-card,.help-card{width:100%;max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:18px}.scoreboard-card{padding:23px 16px 17px}.modal-title-row{margin-bottom:12px}.modal-title-row h2{font-size:20px}.close-button{flex:none;width:44px;height:44px}.rules-grid{gap:8px}.rule-card{padding:11px}.rule-card p{font-size:10px;line-height:1.55}.scoreboard-footer{flex-direction:column;align-items:stretch}.setup-copy{max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:28px 20px;overflow-y:auto}}@media (max-height:520px) and (pointer:coarse){.brand-block{display:none}.round-pill{top:calc(6px + env(safe-area-inset-top,0px));right:auto;left:calc(8px + env(safe-area-inset-left,0px));min-width:205px;max-width:42vw;padding:4px 8px 4px 4px;transform:none}.round-pill__avatar{width:30px;height:30px}.round-pill__copy span{display:none}.top-actions{top:calc(4px + env(safe-area-inset-top,0px));right:calc(6px + env(safe-area-inset-right,0px))}.top-actions .icon-button:first-child{display:none}.mobile-controls,.phase-placeMeeple .mobile-controls{top:calc(57px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));grid-template-columns:repeat(4,44px);gap:5px;bottom:auto}.status-strip{top:calc(57px + env(safe-area-inset-top,0px));right:calc(214px + env(safe-area-inset-right,0px));bottom:auto;left:calc(8px + env(safe-area-inset-left,0px));width:auto;min-width:0;max-width:none;padding:7px 10px 7px 7px;transform:none}.status-copy span,.score-hint{display:none}.player-rail{top:auto;right:calc(376px + env(safe-area-inset-right,0px));bottom:calc(6px + env(safe-area-inset-bottom,0px));left:calc(8px + env(safe-area-inset-left,0px));scrollbar-width:none;pointer-events:auto;gap:5px;width:auto;padding:4px 1px;display:flex;overflow-x:auto;transform:none}.player-card{min-width:94px;min-height:44px;padding:5px 7px}.player-info span,.player-score{display:none}.tile-dock{top:auto;right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(6px + env(safe-area-inset-bottom,0px));border-radius:14px;grid-template-columns:60px minmax(0,1fr);gap:7px;width:360px;padding:6px;display:grid;left:auto;transform:none}.dock-hint,.placement-legend,.tile-card-preview .preview-caption{display:none}.tile-card-preview{border-radius:10px;grid-area:1/1/span 3;height:64px;padding:4px;display:grid}.tile-face-preview{border-width:2px;border-radius:7px;width:50px;height:50px;top:4px}.tile-edge-markers{width:50px;height:50px;top:4px}.tile-edge-details{grid-row:2}.tile-edge-summary{display:none}.dock-heading,.dock-actions{grid-column:2;margin:0}.dock-heading{grid-row:1}.dock-actions{grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr))}.dock-actions.is-placement .wood-button{display:none}.dock-heading strong{text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:12px;overflow:hidden}.phase-placeMeeple .player-rail,.phase-placeMeeple .status-strip,.phase-placeMeeple .mobile-control-button:disabled{display:none}.meeple-panel{right:calc(376px + env(safe-area-inset-right,0px));bottom:calc(6px + env(safe-area-inset-bottom,0px));left:calc(8px + env(safe-area-inset-left,0px));width:auto;max-height:min(170px,100dvh - 122px);padding:9px;overflow-y:auto}.meeple-panel__top{margin-bottom:6px}.feature-button{min-height:44px}.toast-stack{top:calc(112px + env(safe-area-inset-top,0px))}.overlay{padding:calc(6px + env(safe-area-inset-top,0px)) calc(6px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) calc(6px + env(safe-area-inset-left,0px));align-items:start}.help-card,.scoreboard-card,.setup-card{max-height:calc(100dvh - 12px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto}.scoreboard-card{padding:18px 20px}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.rule-card{padding:8px 10px}.rule-card p{margin-top:3px;line-height:1.4}.setup-hero{min-height:0}.setup-copy{max-height:calc(100dvh - 12px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));justify-content:start;padding:22px 26px;overflow-y:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
