@import"https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;500;700;800&family=Montserrat:wght@400;500;600;700;800&display=swap";.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}*:focus{outline:none}*:focus-visible{outline:3px solid var(--focus-color, #0066cc);outline-offset:2px;border-radius:2px}.dark-theme *:focus-visible,[data-theme=dark] *:focus-visible{outline-color:var(--focus-color-dark, #4da6ff)}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline-width:3px;outline-offset:3px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-width:2px;outline-offset:1px;box-shadow:0 0 0 3px #0066cc1a}.skip-link{position:absolute;top:-40px;left:0;background:var(--skip-link-bg, #000);color:var(--skip-link-color, #fff);padding:8px 16px;text-decoration:none;font-weight:700;z-index:10000;border-radius:0 0 4px;transition:top .2s ease}.skip-link:focus{top:0;outline:3px solid var(--focus-color, #0066cc);outline-offset:0}#aria-live-polite,#aria-live-assertive{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[tabindex="-1"]:focus{outline:3px solid var(--focus-color, #0066cc);outline-offset:2px}.roving-tabindex-item[tabindex="0"]{position:relative}.roving-tabindex-item[tabindex="0"]:before{content:"";position:absolute;inset:-2px;border:2px solid var(--active-item-border, transparent);border-radius:4px;pointer-events:none}.min-touch-target{min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center}.large-touch-target{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}@media (prefers-contrast: high){button,input,textarea,select{border:2px solid currentColor}*:focus-visible{outline:3px solid currentColor;outline-offset:3px}a{text-decoration:underline}}@media (forced-colors: active){*:focus-visible{outline:3px solid Highlight}button{border:2px solid ButtonText}}.focus-within-highlight:focus-within{box-shadow:0 0 0 3px #06c3;border-radius:4px}.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}[aria-disabled=true]{opacity:.6;cursor:not-allowed}.large-text{font-size:1.5rem;font-weight:400}.large-text-bold{font-size:1.17rem;font-weight:700}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}#aria-live-polite,#aria-live-assertive{animation-duration:0ms!important;transition-duration:0ms!important}}.loading{position:relative}.loading:after{content:attr(data-loading-text);position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--focus-color: #0066cc;--focus-color-dark: #4da6ff;--skip-link-bg: #000;--skip-link-color: #fff;--active-item-border: #0066cc}[data-theme=dark]{--focus-color: #4da6ff;--active-item-border: #4da6ff;--skip-link-bg: #fff;--skip-link-color: #000}@media (prefers-contrast: high){:root{--bg-primary: #000000;--bg-secondary: #1a1a1a;--text-primary: #ffffff;--text-secondary: #e0e0e0;--link-color: #66b3ff;--link-hover: #99ccff;--button-bg: #ffffff;--button-text: #000000;--button-border: #ffffff;--focus-color: #ffff00;--active-bg: #333333;--border-color: #ffffff;--divider-color: #666666;--success-color: #00ff00;--warning-color: #ffff00;--error-color: #ff0000;--info-color: #00ffff;--terrain-mountain: #ffffff;--terrain-forest: #00ff00;--terrain-plains: #ffff00;--terrain-water: #00ffff;--terrain-desert: #ff9900}}[data-theme=high-contrast],.high-contrast{--bg-primary: #000000;--bg-secondary: #1a1a1a;--text-primary: #ffffff;--text-secondary: #e0e0e0;--link-color: #66b3ff;--link-hover: #99ccff;--button-bg: #ffffff;--button-text: #000000;--button-border: #ffffff;--focus-color: #ffff00;--active-bg: #333333;--border-color: #ffffff;--divider-color: #666666;--success-color: #00ff00;--warning-color: #ffff00;--error-color: #ff0000;--info-color: #00ffff;background-color:var(--bg-primary);color:var(--text-primary)}@media (prefers-contrast: high){body{background-color:#000;color:#fff}a{color:#66b3ff;text-decoration:underline;font-weight:600}a:hover,a:focus{color:#9cf;text-decoration:underline;background-color:#1a1a1a;outline:3px solid #ffff00}button,[role=button]{background-color:#fff;color:#000;border:3px solid #ffffff;font-weight:700;padding:8px 16px}button:hover,button:focus,[role=button]:hover,[role=button]:focus{background-color:#ff0;color:#000;border-color:#ff0;outline:3px solid #ffff00;outline-offset:2px}button:active,[role=button]:active{background-color:#0f0;border-color:#0f0}input,textarea,select{background-color:#fff;color:#000;border:3px solid #ffffff;font-weight:600}input:focus,textarea:focus,select:focus{outline:3px solid #ffff00;outline-offset:2px;border-color:#ff0}hr,.divider{border-color:#fff;border-width:2px}table{border:2px solid #ffffff}th,td{border:1px solid #ffffff;padding:8px}th{background-color:#333;color:#fff;font-weight:700}.card,.panel,.container{background-color:#1a1a1a;border:2px solid #ffffff;color:#fff}.tile,.cell,[class*=terrain]{border:3px solid #ffffff;font-weight:700}.success,[aria-label*=success i]{color:#0f0;font-weight:700}.warning,[aria-label*=warning i]{color:#ff0;font-weight:700}.error,[aria-label*=error i]{color:red;font-weight:700}.info,[aria-label*=info i]{color:#0ff;font-weight:700}*{box-shadow:none!important;background-image:none!important;text-shadow:none!important}*:focus-visible{outline:3px solid #ffff00!important;outline-offset:3px}[data-terrain=mountain],.terrain-mountain{background-color:#fff;color:#000}[data-terrain=forest],.terrain-forest{background-color:#0f0;color:#000}[data-terrain=plains],.terrain-plains{background-color:#ff0;color:#000}[data-terrain=water],.terrain-water{background-color:#0ff;color:#000}[data-terrain=desert],.terrain-desert{background-color:#f90;color:#000}svg,img{filter:contrast(2)}::selection{background-color:#ff0;color:#000}}[data-theme=high-contrast]{body {background-color: #000000; color: #ffffff;} a {color: #66b3ff; text-decoration: underline; font-weight: 600;} a:hover,a:focus {color: #99ccff; text-decoration: underline; background-color: #1a1a1a; outline: 3px solid #ffff00;} button,[role="button"] {background-color: #ffffff; color: #000000; border: 3px solid #ffffff; font-weight: 700; padding: 8px 16px;} button:hover,button:focus,[role="button"]:hover,[role="button"]:focus {background-color: #ffff00; color: #000000; border-color: #ffff00; outline: 3px solid #ffff00; outline-offset: 2px;} button:active,[role="button"]:active {background-color: #00ff00; border-color: #00ff00;} input,textarea,select {background-color: #ffffff; color: #000000; border: 3px solid #ffffff; font-weight: 600;} input:focus,textarea:focus,select:focus {outline: 3px solid #ffff00; outline-offset: 2px; border-color: #ffff00;} hr,.divider {border-color: #ffffff; border-width: 2px;} table {border: 2px solid #ffffff;} th,td {border: 1px solid #ffffff; padding: 8px;} th {background-color: #333333; color: #ffffff; font-weight: 700;} .card,.panel,.container {background-color: #1a1a1a; border: 2px solid #ffffff; color: #ffffff;} .tile,.cell,[class*="terrain"] {border: 3px solid #ffffff; font-weight: 700;} .success,[aria-label*="success" i] {color: #00ff00; font-weight: 700;} .warning,[aria-label*="warning" i] {color: #ffff00; font-weight: 700;} .error,[aria-label*="error" i] {color: #ff0000; font-weight: 700;} .info,[aria-label*="info" i] {color: #00ffff; font-weight: 700;} * {box-shadow: none !important; background-image: none !important; text-shadow: none !important;} *:focus-visible {outline: 3px solid #ffff00 !important; outline-offset: 3px;} [data-terrain="mountain"],.terrain-mountain {background-color: #ffffff; color: #000000;} [data-terrain="forest"],.terrain-forest {background-color: #00ff00; color: #000000;} [data-terrain="plains"],.terrain-plains {background-color: #ffff00; color: #000000;} [data-terrain="water"],.terrain-water {background-color: #00ffff; color: #000000;} [data-terrain="desert"],.terrain-desert {background-color: #ff9900; color: #000000;} svg,img {filter: contrast(2);} ::selection {background-color: #ffff00; color: #000000;}}@media print and (prefers-contrast: high){*{background:white!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline;color:#000!important}a[href]:after{content:" (" attr(href) ")"}}.high-contrast-toggle{position:fixed;top:10px;right:10px;z-index:9999;background-color:#000;color:#fff;border:2px solid #ffffff;padding:8px 12px;cursor:pointer;font-weight:700}.high-contrast-toggle:hover,.high-contrast-toggle:focus{background-color:#fff;color:#000;outline:3px solid #ffff00}@media print{.high-contrast-toggle{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important}*,*:before,*:after{transition-duration:.01ms!important;transition-delay:0ms!important}html,body{scroll-behavior:auto!important}*{scroll-snap-type:none!important}}@media (prefers-reduced-motion: reduce){.spinner,.loading,[role=progressbar]{animation:pulse-reduced 2s ease-in-out infinite!important}@keyframes pulse-reduced{0%,to{opacity:1}50%{opacity:.5}}.progress-bar,[role=progressbar]>*{transition:width .3s ease!important}*:focus,*:focus-visible{transition:none!important}.tooltip,.popover,[role=tooltip]{transition:opacity .05s!important}}@media (prefers-reduced-motion: reduce){.tile,.cell,.game-piece{transition:none!important;animation:none!important}.card,.card-flip{transform:none!important;transition:opacity .1s!important}.player-position,.player-marker,.counter,.score,.resource-count,.turn-indicator,.active-player{transition:none!important}.dice,.dice-roll{animation:none!important;transition:none!important}.modal,.dialog,[role=dialog]{transition:opacity .05s!important;animation:none!important}.toast,.notification,[role=alert]{transition:opacity .1s!important;animation:none!important}}@media (prefers-reduced-motion: reduce){[data-parallax],.parallax{transform:none!important;transition:none!important}.animated-background,.background-animation{animation:none!important;background-attachment:scroll!important}video{animation-play-state:paused!important}.animated-gif{animation-play-state:paused!important}}@media (prefers-reduced-motion: reduce){a:hover,button:hover,[role=button]:hover{transition:background-color .05s,color .05s!important}.hover-scale:hover,.hover-grow:hover{transition:transform .05s!important}}@media (prefers-reduced-motion: reduce){.fade-enter-active,.fade-leave-active,.slide-enter-active,.slide-leave-active{transition:none!important}.fade-enter-from,.fade-leave-to,.slide-enter-from,.slide-leave-to{opacity:1!important;transform:none!important}.route-enter-active,.route-leave-active{transition:none!important}}@media (prefers-reduced-motion: reduce){.active,[aria-current=true],[aria-selected=true]{border:3px solid currentColor;font-weight:700}.loading:before{content:"Loading... ";font-weight:700}.success,.error,.warning{font-weight:700;border-left:4px solid currentColor;padding-left:12px}}.reduced-motion,[data-motion=reduced]{* {animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important;} scroll-behavior: auto !important}.force-animations,[data-motion=full]{* {animation-duration: revert !important; transition-duration: revert !important;}}.reduced-motion-toggle{animation:none!important;transition:background-color .1s,color .1s}@media (prefers-reduced-motion: reduce){.reduced-motion-toggle{transition:none!important}}@media print{*{animation:none!important;transition:none!important}}:root{--bg-canvas: #1a1612;--bg-surface: #2d2419;--bg-elevated: #3d3128;--primary: #d4512d;--primary-hover: #e8632f;--primary-active: #b8421f;--secondary: #8b4513;--secondary-hover: #a0521a;--info: #5a7a8c;--info-hover: #6d91a8;--info-dark: #3d4f5c;--text-primary: #e8dcc8;--text-secondary: #c4b5a0;--text-muted: #9a8672;--text-inverse: #1a1612;--accent-gold: #d4af37;--accent-gold-dark: #b8941f;--success: #5a9a3e;--warning: #e89a3c;--error: #c23b22;--death: #4a3f35;--forest: #3d5c2f;--mountain: #6b7885;--gold: #ffd700;--water: #4a7c9e;--desert: #d4a574;--tipi: #8b5a8b;--camp: #d45d45;--plains: #8b9e5f;--unknown: #f0f0f0;--focus-color: #e8632f;--focus-width: 3px;--focus-offset: 2px;--border-light: rgba(232, 220, 200, .1);--border-medium: rgba(232, 220, 200, .25);--border-dark: rgba(232, 220, 200, .4);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .6), 0 2px 4px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .7), 0 4px 8px rgba(0, 0, 0, .6);--texture-opacity: .03}:root{--font-heading: "Roboto Slab", "Rockwell", serif;--font-body: "Montserrat", "Lato", "Open Sans", sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem}:root{--button-height: 48px;--button-height-sm: 40px;--button-radius: 8px;--input-height: 48px;--input-radius: 6px;--card-radius: 12px;--surface-radius: 8px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem}.paper-texture{position:relative}.paper-texture:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(62,39,35,var(--texture-opacity)) 2px,rgba(62,39,35,var(--texture-opacity)) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(62,39,35,var(--texture-opacity)) 2px,rgba(62,39,35,var(--texture-opacity)) 4px);pointer-events:none;opacity:.5;z-index:0}.paper-texture>*{position:relative;z-index:1}.page-enter-active,.page-leave-active{transition:opacity .3s ease,transform .3s ease}.page-enter-from{opacity:0;transform:translate(20px)}.page-leave-to{opacity:0;transform:translate(-20px)}.page-east-enter-active,.page-west-enter-active{transition:opacity .4s ease,transform .4s cubic-bezier(.4,0,.2,1)}.page-east-enter-from{opacity:0;transform:translate(100%)}.page-west-enter-from{opacity:0;transform:translate(-100%)}@media (prefers-reduced-motion: reduce){.page-enter-active,.page-leave-active,.page-east-enter-active,.page-west-enter-active{transition:opacity .05s ease}.page-enter-from,.page-leave-to,.page-east-enter-from,.page-west-enter-from{transform:none}}@keyframes pop-and-fly{0%{transform:scale(1) translateY(0);opacity:1}30%{transform:scale(1.5) translateY(-10px);opacity:1}to{transform:scale(.5) translateY(-100px);opacity:0}}.resource-collected{animation:pop-and-fly .8s cubic-bezier(.4,0,.2,1) forwards}@media (prefers-reduced-motion: reduce){@keyframes pop-and-fly-reduced{0%{opacity:1}to{opacity:0}}.resource-collected{animation:pop-and-fly-reduced .3s ease forwards}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #c4460166}50%{box-shadow:0 0 0 8px #c4460100}}.pulse-active{animation:pulse-glow 2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.pulse-active{animation:none;box-shadow:0 0 0 2px #c4460166}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.shake-error{animation:shake .5s ease}@media (prefers-reduced-motion: reduce){@keyframes flash-border{0%,to{border-color:var(--error)}50%{border-color:transparent}}.shake-error{animation:flash-border .3s ease 2}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in{animation:fade-in .3s ease}.fade-in-slow{animation:fade-in .6s ease}@media (prefers-reduced-motion: reduce){.fade-in,.fade-in-slow{animation:fade-in .05s ease}}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.slide-up{animation:slide-up .4s cubic-bezier(.4,0,.2,1)}.slide-down{animation:slide-down .4s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion: reduce){@keyframes slide-reduced{0%{opacity:0}to{opacity:1}}.slide-up,.slide-down{animation:slide-reduced .1s ease}}@keyframes rotate-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:rotate-spinner 1s linear infinite}@media (prefers-reduced-motion: reduce){@keyframes pulse-spinner{0%,to{opacity:1}50%{opacity:.5}}.spinner{animation:pulse-spinner 2s ease-in-out infinite}}.card-flip{perspective:1000px}.card-flip-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.card-flip.flipped .card-flip-inner{transform:rotateY(180deg)}.card-flip-front,.card-flip-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.card-flip-back{transform:rotateY(180deg)}@media (prefers-reduced-motion: reduce){.card-flip-inner{transition:none}.card-flip.flipped .card-flip-inner{transform:rotateY(180deg)}}@keyframes count-up{0%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:1}}.count-up{animation:count-up .4s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion: reduce){.count-up{animation:none}}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}@media (prefers-reduced-motion: reduce){.stagger-1,.stagger-2,.stagger-3,.stagger-4,.stagger-5,.stagger-6,.stagger-7,.stagger-8{animation-delay:0s}}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-grow{transition:transform .2s ease}.hover-grow:hover{transform:scale(1.05)}.hover-brighten{transition:filter .2s ease}.hover-brighten:hover{filter:brightness(1.1)}@media (prefers-reduced-motion: reduce){.hover-lift:hover,.hover-grow:hover,.hover-brighten:hover{transform:none;filter:none}}@keyframes entrance-from-left{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes entrance-from-right{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.entrance-left{animation:entrance-from-left .4s ease}.entrance-right{animation:entrance-from-right .4s ease}@media (prefers-reduced-motion: reduce){.entrance-left,.entrance-right{animation:fade-in .1s ease}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-bold);line-height:1.2;color:var(--text-primary);margin:0}h1{font-size:var(--text-2xl);font-weight:var(--font-weight-extrabold)}@media screen and (max-width: 400px){h1{font-size:var(--text-xl)}}h2{font-size:var(--text-xl);font-weight:var(--font-weight-bold)}@media screen and (max-width: 400px){h2{font-size:var(--text-lg)}}h3{font-size:var(--text-lg);font-weight:var(--font-weight-bold)}p,span,li,td,th,label,input,textarea,button{font-family:var(--font-body)}.has-loader:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:2rem;height:2rem;border:.15rem solid white;border-right-color:transparent;border-radius:50%;animation:rotate 1s linear;opacity:0;pointer-events:none}.has-loader.is-loading{opacity:1;pointer-events:none}.text-large{font-size:200%}.r-90{--ro: 0deg;transform:rotate(calc(90deg + var(--ro)))}.r-0{--ro: 0deg;transform:rotate(calc(0deg + var(--ro)))}.r-180{--ro: 0deg;transform:rotate(calc(180deg + var(--ro)))}.r-270{--ro: 0deg;transform:rotate(calc(270deg + var(--ro)))}blockquote{background-color:var(--background);border-radius:1rem;display:inline-block;margin:0;padding:2.5rem 1rem;position:relative;font-style:normal;z-index:0;font-style:italic}blockquote:before{content:'"';color:var(--secondary);font-size:1000%;font-weight:800;position:absolute;transform:translateY(-25%);top:0;left:0;vertical-align:auto;line-height:1;z-index:-1}blockquote cite{display:block;font-style:italic;text-align:right}blockquote cite:before{content:"- "}blockquote>*{position:relative;z-index:1}*,:after,:before{box-sizing:border-box}:root{--border: 1px solid var(--border-medium);--background: var(--bg-canvas);--view-background: var(--bg-surface);--color: var(--text-primary);--secondary: var(--bg-elevated);--green: var(--success);--red: var(--error)}html{height:calc(100vh - (100vh - 100%));height:100dvh}body{margin:0;padding:0;font-family:var(--font-body);color:var(--text-primary);line-height:1.6;background-color:var(--bg-canvas);height:100%}.hstack{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.section-container{display:flex;flex-direction:column}.section-container>*{margin:0}.section-container>*:not(:nth-last-child(1)){margin-bottom:3rem}.section-container.is-center{align-items:center}.content-container,.view>section,.error-popup>section{display:flex;flex-direction:column}.content-container>*,.view>section>*,.error-popup>section>*{margin:0}.content-container>*:not(:nth-last-child(1)),.view>section>*:not(:nth-last-child(1)),.error-popup>section>*:not(:nth-last-child(1)){margin-bottom:1rem}.content-container.is-center,.view>section.is-center,.error-popup>section.is-center{align-items:center}.text-container{display:flex;flex-direction:column}.text-container>*{margin:0}.text-container>*:not(:nth-last-child(1)){margin-bottom:.5rem}.text-container.is-center{align-items:center}.error-popup{position:fixed;padding:2rem;height:100%;width:100%;left:0;top:0;background-color:#2f4858e6;opacity:0;pointer-events:none;z-index:2;display:flex;align-items:stretch;flex-direction:column;transition:.25s ease}.error-popup>section{flex:1;width:100%;max-width:500px;margin:auto;background:var(--bg-surface);color:var(--text-primary);padding:var(--spacing-xl);border-radius:var(--card-radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;justify-content:center;text-align:center}.error-popup>section h1{color:var(--error);margin-bottom:var(--spacing-md)}.error-popup>section p{margin-bottom:var(--spacing-lg);font-size:var(--text-lg)}.error-popup.is-active{opacity:1;pointer-events:all}@media (prefers-reduced-motion: reduce){.error-popup{transition:opacity .05s ease}}button,input{font-family:inherit}a:focus{outline:var(--focus-width, 3px) solid var(--focus-color, #32a6d5);outline-offset:var(--focus-offset, 2px)}a:focus-visible{outline:var(--focus-width, 3px) solid var(--focus-color, #32a6d5);outline-offset:var(--focus-offset, 2px)}a:focus:not(:focus-visible){outline:none}.bold{font-weight:800}.container{padding:0;background-color:var(--bg-canvas);display:flex;min-height:100%;width:100vw;flex-direction:column}@media screen and (min-width: 600px){.container{padding:var(--spacing-md)}}.flow-container,.view>header{display:flex;flex-wrap:wrap;margin-bottom:-1rem;align-items:center}.flow-container>*,.view>header>*{margin:0;margin-bottom:1rem}.flow-container>*:not(:nth-last-child(1)),.view>header>*:not(:nth-last-child(1)){margin-right:1rem}.flow-container.is-center,.view>header.is-center{justify-content:center}.padded-container{margin:-1rem;padding:.5rem;display:flex;flex-wrap:wrap}.padded-container>*{margin:.5rem}.flex-1{flex:1}.view{position:relative;flex:1;background-color:var(--bg-surface);display:flex;flex-direction:column;max-width:600px;margin:auto;width:100%;justify-content:center;overflow:hidden;box-shadow:var(--shadow-md)}@media screen and (min-width: 600px){.view{border-radius:var(--card-radius)}}.view>*{padding:var(--spacing-md)}.view>header{padding:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;background-color:var(--bg-elevated);border-bottom:1px solid var(--border-medium);margin-bottom:0}.view>header>*{margin:0}.view>section{flex:1;padding:var(--spacing-md)}.view footer{margin:0;display:flex;flex-wrap:nowrap;gap:.5rem;justify-content:flex-end;align-items:center;border-top:1px solid var(--border-medium);background-color:var(--bg-elevated);padding:.75rem}.view footer>button{flex-shrink:0;white-space:nowrap;padding:.5rem 1rem;font-size:.9rem;height:auto;min-height:2.5rem}.view .view-center{justify-content:center}.radio-images{display:inline-grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem}.radio-image{width:65px;height:65px}.radio-image>input{opacity:0;position:absolute;pointer-events:none}.radio-image>label{width:100%;height:100%;display:block;border:1px solid gray;border-radius:.5rem;padding:.5rem}.radio-image>label>img{width:100%;height:100%;filter:invert(1);object-fit:contain}.radio-image>input:checked+label{border:1px solid var(--secondary);background-color:var(--secondary)}.radio-list>*{display:block;margin-bottom:1rem}label{font-family:var(--font-body);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.input,.textarea{display:flex;flex-direction:column;align-items:center;flex-wrap:wrap;gap:.5rem}.input>label,.textarea>label{padding:0 1rem}.input>*,.textarea>*{width:100%}.input.is-hor,.textarea.is-hor{flex-direction:row}.input.is-hor>*,.textarea.is-hor>*{width:100px}.input.is-hor>input,.textarea.is-hor>input{flex:1}.radio{display:flex;align-items:center}.radio>input{margin-right:1rem}textarea{display:flex;align-items:center;flex-wrap:wrap;outline:none;overflow:auto;height:250px;width:100%}textarea>*{flex:1;padding:.5rem 0;min-width:100px}textarea>input{min-width:200px}button{--btn-bg: var(--primary);--btn-color: white;height:var(--button-height);min-width:var(--button-height);display:inline-flex;align-items:center;justify-content:center;appearance:none;padding:0 var(--spacing-lg);background:var(--btn-bg);color:var(--btn-color);border:none;border-radius:var(--button-radius);font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;user-select:none;box-shadow:0 1px 2px #3e272333,inset 0 1px #ffffff1a;transition:transform .1s ease,box-shadow .1s ease,background-color .15s ease}button:focus{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}button:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}button:focus:not(:focus-visible){outline:none}button:hover:not(:disabled){--btn-bg: var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 4px #3e272340,inset 0 1px #ffffff26}button:active:not(:disabled){--btn-bg: var(--primary-active);transform:translateY(1px);box-shadow:inset 0 2px 4px #0003,0 1px 2px #3e27231a}button:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion: reduce){button{transition:background-color .05s,box-shadow .05s}button:hover:not(:disabled),button:active:not(:disabled){transform:none}}button.is-white{--btn-bg: var(--bg-canvas);--btn-color: var(--text-primary);font-weight:var(--font-weight-extrabold)}button.is-white:hover:not(:disabled){--btn-bg: var(--bg-elevated)}button.is-secondary{--btn-bg: var(--secondary)}button.is-secondary:hover:not(:disabled){--btn-bg: var(--secondary-hover)}button.is-info{--btn-bg: var(--info)}button.is-info:hover:not(:disabled){--btn-bg: var(--info-hover)}button.is-round{width:var(--button-height);height:var(--button-height);padding:0;border-radius:50%;font-size:90%}button.is-small{--button-height: var(--button-height-sm);font-size:var(--text-sm);padding:0 var(--spacing-md)}button.is-hollow{background-color:transparent;color:var(--btn-bg);border:2px solid var(--btn-bg);box-shadow:none}button.is-hollow:hover:not(:disabled){background-color:var(--btn-bg);color:var(--btn-color)}button.is-hollow:active:not(:disabled){background-color:var(--btn-bg);color:var(--btn-color)}button.is-white.is-hollow{color:#e8dcc8!important;border-color:#e8dcc866}button.is-white.is-hollow:hover:not(:disabled){color:#fff!important;background-color:#e8dcc81a;border-color:#e8dcc899}button.is-primary{--btn-bg: var(--primary);--btn-color: white}button.is-wide{width:100%}input[type=text],input[type=number],input[type=password],textarea{font-family:var(--font-body);font-size:var(--text-base);height:var(--input-height);appearance:none;display:flex;align-items:center;background-color:#fff;color:#1a1612;padding:0 var(--spacing-md);border-radius:var(--input-radius);border:2px solid var(--border-medium);transition:border-color .15s ease,box-shadow .15s ease}input[type=text]:focus,input[type=number]:focus,input[type=password]:focus,textarea:focus{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);border-color:var(--focus-color);box-shadow:0 0 0 3px #c446011a}input[type=text]:focus-visible,input[type=number]:focus-visible,input[type=password]:focus-visible,textarea:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);border-color:var(--focus-color);box-shadow:0 0 0 3px #c446011a}.errors-visible input[type=text]:invalid,.errors-visible input[type=number]:invalid,.errors-visible input[type=password]:invalid,.errors-visible textarea:invalid{border-color:var(--error)}input[type=text]::placeholder,input[type=number]::placeholder,input[type=password]::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.7}input{accent-color:var(--primary)}textarea{height:200px;padding:var(--spacing-md);resize:vertical;line-height:1.5}input[type=radio],input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--primary);cursor:pointer}.plus-shape{display:inline-grid;grid-gap:1px;grid-template-columns:repeat(3,1fr);grid-gap:.5rem}.plus-shape>:nth-child(1){grid-area:1/2}.plus-shape>:nth-child(2){grid-area:2/3}.plus-shape>:nth-child(3){grid-area:3/2}.plus-shape>:nth-child(4){grid-area:2/1}.card-tile{width:200px;height:200px;border:1px solid var(--border-dark);background-image:var(--background);display:flex;flex-direction:column;align-items:stretch;border-radius:var(--card-radius);position:relative;overflow:hidden;box-shadow:var(--shadow-md);transition:box-shadow .2s ease,transform .2s ease;will-change:transform}.card-tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}@media (prefers-reduced-motion: reduce){.card-tile{transition:none}.card-tile:hover{transform:none;box-shadow:var(--shadow-md)}}.card-tile.is-small{width:120px;height:120px;font-size:90%}.card-tile>img{width:100%;padding:0 20% 20%;height:100%;filter:invert(1);flex:1;object-fit:contain;backface-visibility:hidden;transform:translateZ(0)}.card-tile:after{content:attr(data-location);position:absolute;color:var(--text-primary);top:0;left:0;font-family:var(--font-heading);font-weight:var(--font-weight-extrabold);padding:.5em;font-size:120%}.card-tile:before{content:attr(data-terrain);position:absolute;bottom:0;left:0;order:2;width:100%;text-align:center;font-family:var(--font-heading);font-size:120%;font-weight:var(--font-weight-bold);padding:5%;line-height:1;background-color:#fff;color:#1a1612}.card-tile .terrain-indicator{position:absolute;top:.5rem;right:.5rem;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 4px #0000004d;z-index:10}.sub-image{position:relative;background-color:#fff;height:50px;width:50px;border-top-right-radius:.5rem;padding:2%;bottom:80px;left:1px;z-index:1;transition:transform .2s ease}.card-tile:hover~.sub-image{transform:translateY(-2px)}@media (prefers-reduced-motion: reduce){.sub-image{transition:none}.card-tile:hover~.sub-image{transform:none}}.is-justified{justify-content:space-between!important}.is-hidden{position:absolute;opacity:0}.has-loader>*{opacity:1;transition:.25s ease}.has-loader:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:2rem;height:2rem;border:.25rem solid white;border-right-color:transparent;border-radius:50%;animation:rotate 1s linear infinite;opacity:0;pointer-events:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.has-loader.is-loading>*{opacity:0}.has-loader.is-loading:after{opacity:1}@media (prefers-reduced-motion: reduce){.has-loader>*{transition:opacity .05s ease}.has-loader:after{animation:pulse-reduced 2s ease-in-out infinite;border-right-color:#fff}@keyframes pulse-reduced{0%,to{opacity:1}50%{opacity:.5}}}.line-container{display:flex;flex-direction:column;gap:1rem}.line-container>*:not(:nth-last-child(1)){padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.2)}.list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md);margin:0;padding:0}.list>li{margin:0;padding:0;line-height:2rem;vertical-align:baseline;display:flex;align-items:baseline}.list>li:before{content:"";min-width:.75rem;height:.75rem;flex-basis:1rem;background-color:var(--primary);margin-right:var(--spacing-md);border-radius:.25rem;flex-shrink:0}.list>li>span{color:var(--text-primary)}.player-tr>td:nth-child(1){color:var(--text-primary);font-weight:var(--font-weight-semibold)}table{width:100%;border-collapse:collapse}table td,table th{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-medium);text-align:left}table td:nth-child(1),table th:nth-child(1){padding-left:0}table th{font-family:var(--font-heading);font-weight:var(--font-weight-bold);color:var(--text-primary);border-bottom:2px solid var(--border-dark)}table tbody tr:last-child td{border-bottom:none}.switch{opacity:0;pointer-events:none;position:absolute}.switch+label{--background: black;--color: white;--width: 3rem;--height: 1.5rem;--padding: .25rem;--padding-x: var(--padding);--padding-y: var(--padding);--ball-size: calc(var(--height) - (var(--padding-y) * 2));--ball-width: var(--ball-size);--ball-height: var(--ball-size);--radius: 1000px;--ball-radius: calc(var(--radius) - var(--padding-x));display:inline-flex;align-items:center;width:var(--width);height:var(--height);background:var(--background);border-radius:var(--radius);cursor:pointer;transition:.25s ease}.switch+label:after{content:"";width:var(--ball-width);height:var(--ball-height);background:var(--color);border-radius:var(--ball-radius);margin-left:var(--padding-x);transition:.25s ease;transform:translate(0)}.switch:checked+label{background-color:var(--background-active, var(--background))}.switch:checked+label:after{background-color:var(--color-active, var(--color));transform:translate(calc(var(--width) - var(--ball-width) - var(--padding-x) * 2))}.switch+label{--width: 5rem;--height: 2.5rem;--background: rgba(0, 0, 0, .5);--color: white;--background-active: #56af56;--color-active: white}.text-center{text-align:center}.card-item{width:100px;height:100px;border:1px solid var(--border-dark);border-radius:var(--surface-radius);position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.card-item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){.card-item{transition:none}.card-item:hover{transform:none;box-shadow:var(--shadow-sm)}}.card-item>img{width:100%;height:100%;padding:20%;object-fit:contain;filter:invert(1)}.card-item:before{content:"+" attr(data-amount);position:absolute;z-index:2;top:0;left:0;padding:5%;line-height:1;font-family:var(--font-heading);font-weight:var(--font-weight-bold);background-color:#fff;border-end-end-radius:var(--surface-radius);color:#1a1612}.card-item:after{content:attr(data-resource);position:absolute;bottom:0;left:0;width:100%;text-align:center;font-family:var(--font-heading);font-size:100%;font-weight:var(--font-weight-bold);padding:5%;line-height:1;color:var(--text-primary);z-index:2}.card-item .resource-label{display:none}.gold-item{background-color:var(--gold)}.gold-item:after{color:#1a1612}.supply-item{background-color:var(--forest)}.row-cost{display:flex;flex-wrap:wrap}.row-cost>*{width:2rem;height:2rem;background-color:var(--bg-surface);color:var(--text-primary);display:flex;align-items:center;justify-content:center;border-radius:var(--surface-radius);border:1px solid var(--border-medium);line-height:1;font-family:var(--font-heading);font-size:150%;font-weight:var(--font-weight-bold)}.row-cost>*:not(:nth-last-child(1)){margin-right:.5rem;margin-bottom:.5rem}.row-cost>*.is-positive{background-color:var(--success);color:#fff;border-color:var(--success)}.row-cost>*.is-negative{background-color:var(--error);color:#fff;border-color:var(--error)}.row-cost>*.is-death{background-color:var(--death);color:var(--text-inverse);border-color:var(--death)}.dead{background-color:var(--error);color:#fff}.map{position:relative;padding-bottom:100%}.map>.map-inner{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column}@media screen and (max-width: 600px){.map>.map-inner{border:2px solid var(--border-dark);border-radius:var(--surface-radius);overflow:hidden}}.map>.map-inner>.map-row{display:flex;align-items:stretch;flex:1}.map>.map-inner>.map-row.is-selected{background-color:var(--error)}.map>.map-inner>.map-row>.map-col{flex:1;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);background-color:var(--color)}@media screen and (min-width: 600px){.map>.map-inner>.map-row>.map-col{border-radius:var(--surface-radius);margin:2px}}.map>.map-inner>.map-row>.map-col>img{width:100%;height:100%;filter:invert(1);padding:8%}.map>.map-inner>.map-row>.map-col.terrain-F{--color: var(--forest)}.map>.map-inner>.map-row>.map-col.terrain-D{--color: var(--desert)}.map>.map-inner>.map-row>.map-col.terrain-M{--color: var(--mountain)}.map>.map-inner>.map-row>.map-col.terrain-W{--color: var(--water)}.map>.map-inner>.map-row>.map-col.terrain-C{--color: var(--camp)}.map>.map-inner>.map-row>.map-col.terrain-G{--color: var(--gold)}.map>.map-inner>.map-row>.map-col.terrain-P{--color: var(--plains)}.map>.map-inner>.map-row>.map-col.terrain-T{--color: var(--tipi)}@media screen and (max-width: 600px){.map>.map-inner .map-col>*{border-width:0 1px 1px 0}.map>.map-inner .map-col:nth-last-child(1)>*{border-right-width:0px}.map>.map-inner .map-row:nth-last-child(1)>.map-col>*{border-bottom-width:0}}.map.is-interface .map-inner>.map-row>.map-col{background-color:var(--background-color)}@media screen and (max-width: 600px){.view-interface>section{padding-left:.25rem;padding-right:.25rem}}.cell-content{--player-bar-height: 1rem;position:relative;width:100%;height:100%;z-index:1;color:var(--text-primary);border:1px solid var(--cell-color, var(--border-medium));overflow:hidden}@media screen and (min-width: 600px){.cell-content{border-radius:var(--surface-radius)}}.cell-content>.coordinates{position:absolute;z-index:-1;color:var(--text-primary);opacity:.5;font-family:var(--font-body);font-weight:var(--font-weight-medium);font-size:170%;width:100%;height:100%;top:0;left:0;margin:auto;display:flex;align-items:center;justify-content:center;line-height:1;transition:opacity .2s ease}.cell-content.has-owner{position:relative;z-index:2}@media screen and (max-width: 600px){.cell-content.has-owner{border-width:1px!important;z-index:2;margin-left:-1px;margin-top:-1px;height:calc(100% + 1px);width:calc(100% + 1px)}}.cell-content.has-owner>.coordinates{opacity:.15}.cell-content.has-visitors>.coordinates,.cell-content.has-camp>.coordinates{opacity:.1}.cell-content>img{position:absolute;width:100%;height:100%;display:block;filter:invert(1);object-fit:contain}.cell-content.has-visitors>img{padding-bottom:.5rem}.cell-content.has-visitors>.players{position:absolute;display:flex;align-items:center;justify-content:center;gap:0rem;font-size:150%;height:100%;width:100%;padding:0 .5rem}.cell-content.has-visitors>.players>span{color:var(--player-color);flex:1;max-width:.75rem;flex-shrink:1;width:0;display:flex;align-items:center;justify-content:center}.cell-content.has-camp>.players{bottom:0;height:50%;font-size:120%}.cell-content.is-target{filter:invert(1);background-color:#000;animation:pulse-white 2s infinite}.cell-content.is-target .coordinates{display:none}@media (prefers-reduced-motion: reduce){.cell-content.is-target{animation:none}}@keyframes pulse-white{0%{box-shadow:0 0 #000000b3}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}.feedback-link{color:var(--primary);text-decoration:none;border-bottom:2px solid transparent;transition:border-color .2s ease;font-weight:var(--font-weight-semibold)}.feedback-link:focus,.feedback-link:hover{border-bottom:2px solid var(--primary)}.version-link{color:var(--text-muted);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.version-link:focus,.version-link:hover{border-bottom:1px solid var(--text-muted)}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-hover)}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-square{--aspect-ratio: 100%}.notice{--notice-color: var(--info);padding:var(--spacing-md);border-left:solid .5rem var(--notice-color);background-color:var(--bg-surface);color:var(--text-primary);position:relative;z-index:1;border-radius:var(--surface-radius);box-shadow:var(--shadow-sm)}.notice:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--notice-color);opacity:.1;z-index:-1;border-radius:var(--surface-radius)}.notice.is-success{--notice-color: var(--success)}.notice.is-fail{--notice-color: var(--error)}pre{line-height:1.3}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:12px;background-color:#c446011a;border-left:4px solid var(--error);border-radius:var(--surface-radius);color:var(--text-primary);font-size:var(--text-sm);line-height:1.4}.error-message i{color:var(--error);font-size:1.1rem;flex-shrink:0}.required-indicator{color:var(--error);font-weight:var(--font-weight-bold);margin-left:4px;font-size:1.1em}label.required:after{content:" *";color:var(--error);font-weight:var(--font-weight-bold);margin-left:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.has-loader{position:relative}.has-loader.is-loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10}#app{height:100%}.error-popup .error-close-btn{margin-top:16px;padding:8px 16px;background-color:#fff;color:#000;border:2px solid #000;border-radius:4px;font-weight:700;cursor:pointer;min-width:44px;min-height:44px}.error-popup .error-close-btn:hover,.error-popup .error-close-btn:focus{background-color:#f0f0f0;outline:3px solid var(--focus-color, #0066cc);outline-offset:2px}
