/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::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]){appearance:button}::file-selector-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}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}}:root{--navy-950:#041823;--navy-900:#072433;--navy-800:#0c3547;--navy-700:#164b60;--teal-500:#37a8a0;--teal-300:#87d8ce;--cream:#fff3d2;--paper:#f4dfad;--paper-deep:#d7b66b;--coral:#ef745f;--coral-deep:#c8473d;--gold:#ffd15b;--gold-deep:#c88c24;--ink:#102a34;--white:#fffdf7;--muted:#a8c4cc;--purple:#7164c7;--shadow:0 22px 60px #00090f5c;--soft-shadow:0 10px 26px #000a123d}*{box-sizing:border-box}html{background:var(--navy-950);min-width:320px}body{min-width:320px;min-height:100svh;color:var(--white);background:radial-gradient(circle at 14% 10%, #37a8a024, transparent 30rem), var(--navy-950);margin:0;font-family:Trebuchet MS,Avenir Next,Avenir,Segoe UI,sans-serif;font-size:16px}button,a,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.5}.app-shell{min-height:100svh;position:relative;overflow-x:hidden}.screen{background:radial-gradient(circle at 85% 18%, #7164c72e, transparent 28rem), radial-gradient(circle at 14% 74%, #37a8a01f, transparent 28rem), linear-gradient(145deg, var(--navy-950), #092a39 68%, #06212f);min-height:100svh}.top-nav{z-index:20;justify-content:space-between;align-items:center;min-height:76px;padding:16px clamp(18px,4vw,64px);display:flex;position:relative}.nav-actions{align-items:center;gap:12px;display:flex}.brand-back,.icon-button,.text-button{min-height:44px;color:var(--white);cursor:pointer;background:#ffffff12;border:1px solid #ffffff38;border-radius:13px;justify-content:center;align-items:center;gap:10px;text-decoration:none;transition:transform .16s,border-color .16s,background .16s;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.brand-back{letter-spacing:.13em;text-transform:uppercase;padding:0 17px;font-size:.78rem;font-weight:900}.icon-button{width:46px;padding:0;font-size:1.15rem}.text-button{color:var(--teal-300);letter-spacing:.1em;text-transform:uppercase;padding:0 16px;font-size:.76rem;font-weight:900}.brand-back:hover,.icon-button:hover,.text-button:hover{background:#ffffff1f;border-color:#ffd15bb8;transform:translateY(-2px)}.bgm-player{display:none}.audio-control{align-items:center;display:flex;position:relative}.audio-popover{z-index:80;width:min(320px,100vw - 36px);box-shadow:var(--shadow);background:#071f2cfa;border:1px solid #ffd15b61;border-radius:18px;padding:18px;position:absolute;top:calc(100% + 10px);right:0}.audio-popover .audio-mute-button{justify-content:center;width:100%;min-height:42px;margin-bottom:4px;display:inline-flex}.audio-popover label{color:var(--cream);grid-template-columns:62px minmax(0,1fr) 44px;align-items:center;gap:10px;margin:10px 0;font-size:.8rem;font-weight:800;display:grid}.audio-popover input{width:100%;min-height:32px;accent-color:var(--gold)}.audio-popover output{width:44px;color:var(--teal-300);text-align:right}.home-screen{grid-template-rows:auto 1fr;display:grid}.home-content{z-index:1;grid-template-columns:minmax(310px,.86fr) minmax(460px,1.14fr);align-items:center;gap:clamp(36px,7vw,108px);width:min(1320px,100% - 40px);margin:0 auto;padding:clamp(26px,6vh,76px) 0 70px;display:grid;position:relative}.home-copy{padding-left:clamp(0px,2vw,22px)}.eyebrow{color:var(--teal-300);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 16px;font-size:.77rem;font-weight:900;display:flex}.eyebrow:before{background:var(--coral);content:"";border-radius:99px;width:24px;height:3px}.game-logo{max-width:730px;color:var(--cream);letter-spacing:-.055em;text-shadow:0 7px #0000002e;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,6vw,6.8rem);font-weight:900;line-height:.87}.game-logo span{color:var(--gold);letter-spacing:-.04em;margin-top:.08em;font-size:.7em;display:block}.home-lede{color:#c9dce1;max-width:560px;margin:26px 0 30px;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.home-actions{gap:13px;width:min(390px,100%);display:grid}.primary-button,.secondary-button,.outline-button,.confirm-button,.hint-button{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:15px;justify-content:center;align-items:center;gap:10px;min-height:58px;padding:0 24px;font-weight:950;text-decoration:none;transition:transform .16s,filter .16s,box-shadow .16s;display:inline-flex;position:relative}.primary-button,.confirm-button{color:#25130f;background:linear-gradient(180deg, #ff8d78, var(--coral));box-shadow:0 7px 0 var(--coral-deep), 0 15px 30px #ef745f2e}.secondary-button{color:var(--white);background:linear-gradient(180deg, #1c5a72, var(--navy-700));box-shadow:0 7px #092f40}.outline-button,.hint-button{border:2px solid var(--gold);color:var(--gold);background:0 0;box-shadow:0 7px #c88c2473}.primary-button:hover,.secondary-button:hover,.outline-button:hover,.confirm-button:hover,.hint-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.button-arrow{margin-left:auto;font-size:1.2em}.hero-art{min-height:min(640px,69vh);position:relative}.hero-table{background:radial-gradient(circle at 50% 45%,#ffffff29,#0000 34%),repeating-linear-gradient(10deg,#ffffff06 0 5px,#0000 5px 12px),#278d83;border:13px solid #b7833c;border-radius:50%;position:absolute;inset:10% 1% 8% 2%;overflow:hidden;transform:rotate(-3deg);box-shadow:inset 0 0 0 4px #6f4c24,inset 0 0 80px #00353757,0 40px 80px #00000059}.hero-table:after{border-radius:inherit;content:"";border:2px dashed #fff8d945;position:absolute;inset:9%}.hero-card{z-index:3;aspect-ratio:816/1111;border:6px solid var(--cream);background:var(--paper);border-radius:17px;width:clamp(145px,16vw,230px);position:absolute;overflow:hidden;box-shadow:0 25px 38px #00141970}.hero-card img{object-fit:cover;width:100%;height:100%}.hero-card-one{top:12%;left:16%;transform:rotate(-13deg)}.hero-card-two{top:24%;left:39%;transform:rotate(2deg)}.hero-card-three{top:9%;right:9%;transform:rotate(15deg)}.hero-flag{z-index:4;aspect-ratio:1;background:var(--coral);width:98px;box-shadow:var(--soft-shadow);border:7px solid #f8e8bd;border-radius:24px;position:absolute;bottom:13%;right:14%;transform:rotate(8deg)}.hero-flag img{object-fit:cover;border-radius:16px;width:100%;height:100%}.hero-token{z-index:5;border:5px solid var(--cream);width:68px;height:68px;color:var(--navy-900);background:var(--gold);box-shadow:var(--soft-shadow);border-radius:50%;place-items:center;font-size:1.55rem;font-weight:950;display:grid;position:absolute}.hero-token-one{bottom:18%;right:28%}.hero-token-two{background:var(--coral);width:52px;height:52px;font-size:1rem;bottom:35%;right:7%}.home-version{color:#6f9aa5;letter-spacing:.14em;text-transform:uppercase;margin:24px 0 0;font-size:.72rem;font-weight:800}.overlay{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000d14d6;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.rulebook-shell,.settlement-shell,.game-over-shell{background:var(--navy-900);width:min(1120px,100%);max-height:min(900px,100svh - 48px);box-shadow:var(--shadow);border:1px solid #ffd15b73;border-radius:26px;overflow:hidden}.rulebook-header,.settlement-header{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.modal-title{color:var(--cream);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3vw,2.3rem)}.modal-kicker{color:var(--teal-300);letter-spacing:.15em;text-transform:uppercase;margin:0 0 4px;font-size:.7rem;font-weight:900}.rulebook-body{grid-template-columns:245px minmax(0,1fr);height:min(690px,100svh - 164px);min-height:0;display:grid}.rulebook-index{background:#0000001f;border-right:1px solid #ffffff1a;padding:18px;overflow:auto}.rulebook-index h3{color:#6e9aa5;letter-spacing:.13em;text-transform:uppercase;margin:8px 8px 10px;font-size:.7rem}.rulebook-index button{color:#b8d0d7;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:30px 1fr;gap:8px;width:100%;margin:4px 0;padding:10px;display:grid}.rulebook-index button:hover,.rulebook-index button.is-current{color:var(--cream);background:#ffd15b17;border-color:#ffd15b73}.rulebook-index button span:first-child{color:var(--gold);font-weight:900}.rulebook-stage{background:radial-gradient(circle at 50% 40%,#ffffff14,#0000 34rem),#061c29;grid-template-rows:1fr auto;min-height:0;display:grid}.rulebook-page-wrap{place-items:center;min-height:0;padding:22px;display:grid;overflow:auto}.rulebook-page-wrap.is-zoomed{place-items:start center}.rulebook-page-button{cursor:zoom-in;background:0 0;border:0;border-radius:8px;max-width:100%;padding:0;display:grid}.rulebook-page-wrap.is-zoomed .rulebook-page-button{cursor:zoom-out;max-width:none}.rulebook-page{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;display:block;box-shadow:0 20px 60px #0000006b}.rulebook-page-wrap.is-zoomed .rulebook-page{width:min(920px,170vw);max-width:none;max-height:none}.rulebook-footer{border-top:1px solid #ffffff1a;grid-template-columns:130px 1fr 130px;align-items:center;gap:12px;padding:14px 18px;display:grid}.rulebook-footer p{color:var(--cream);text-align:center;margin:0}.setup-screen{grid-template-rows:auto 1fr;display:grid}.setup-main{grid-template-columns:minmax(320px,.85fr) minmax(470px,1.15fr);align-items:center;gap:clamp(40px,7vw,100px);width:min(1260px,100% - 40px);margin:auto;padding:30px 0 70px;display:grid}.setup-copy h1{max-width:540px;color:var(--cream);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,5vw,5.4rem);line-height:.96}.setup-copy>p{color:#b8d0d7;max-width:520px;font-size:1.08rem;line-height:1.6}.support-note{border-left:4px solid var(--gold);color:var(--cream);background:#ffd15b14;border-radius:0 13px 13px 0;margin:24px 0;padding:16px 18px}.player-count-label{color:var(--teal-300);letter-spacing:.14em;text-transform:uppercase;margin:25px 0 10px;font-size:.73rem;font-weight:900;display:block}.player-count-grid{grid-template-columns:repeat(3,58px);gap:10px;display:grid}.count-button{width:58px;height:54px;color:var(--cream);cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:13px;font-size:1.15rem;font-weight:950}.count-button.is-selected{border-color:var(--gold);color:var(--navy-950);background:var(--gold);box-shadow:0 8px 24px #ffd15b33}.match-button{width:min(360px,100%);margin-top:25px}.setup-preview{min-height:560px;position:relative}.setup-table{box-shadow:inset 0 0 0 3px #5b3a1f, inset 0 0 60px #002f3066, var(--shadow);background:repeating-linear-gradient(-13deg,#ffffff06 0 6px,#0000 6px 15px),#278d83;border:12px solid #9e6b32;border-radius:50%;position:absolute;inset:10% 0}.seat{z-index:4;width:100px;color:var(--cream);letter-spacing:.08em;text-align:center;text-transform:uppercase;place-items:center;gap:5px;font-size:.72rem;font-weight:900;display:grid;position:absolute}.seat-marker{border:6px solid var(--cream);background:var(--navy-800);width:66px;height:66px;box-shadow:var(--soft-shadow);border-radius:22px;place-items:center;font-size:1.5rem;display:grid}.seat.is-you .seat-marker{color:var(--navy-950);background:var(--gold)}.seat-0{bottom:0;left:calc(50% - 50px)}.seat-1{top:0;left:calc(50% - 50px)}.seat-2{top:18%;right:-2%}.seat-3{bottom:11%;right:2%}.seat-4{bottom:11%;left:2%}.seat-5{top:18%;left:-2%}.setup-deck{z-index:3;aspect-ratio:816/1111;border:5px solid var(--cream);background:var(--navy-700);border-radius:13px;width:120px;position:absolute;top:35%;left:39%;transform:rotate(-8deg);box-shadow:8px 8px #041823b8,15px 15px #0418235c}.setup-deck img{object-fit:cover;border-radius:8px;width:100%;height:100%}.match-loading{text-align:center}.match-loading h2{color:var(--cream);margin:18px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:2.1rem}.match-loading p{color:var(--muted)}.loader-ring{border:8px solid #ffffff1f;border-top-color:var(--gold);border-radius:50%;width:76px;height:76px;margin:auto;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.game-screen{background:linear-gradient(#04182357, #04182357), radial-gradient(circle at 50% 55%, #0d4454, var(--navy-950) 70%);min-height:100svh}.game-topbar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#041823f5;border-bottom:1px solid #ffffff1f;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.6fr) minmax(260px,.8fr);align-items:center;gap:18px;min-height:64px;padding:8px 18px;display:grid;position:sticky;top:0}.round-meta{align-items:center;gap:12px;display:flex}.round-meta strong{color:var(--gold);font-size:.9rem;display:block}.round-meta small{color:var(--teal-300);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:900}.phase-banner{color:var(--ink);background:var(--cream);text-align:center;border-radius:13px;padding:12px 20px;font-size:.93rem;font-weight:800}.game-status{justify-content:flex-end;align-items:center;gap:18px;display:flex}.status-stat{text-align:center}.status-stat small{color:var(--teal-300);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:900;display:block}.status-stat strong{color:var(--cream);font-size:1.1rem}.npc-row{justify-content:center;align-items:stretch;gap:12px;min-height:82px;padding:3px 18px;display:flex;overflow-x:auto}.npc-panel{min-width:174px;max-width:220px;box-shadow:var(--soft-shadow);background:#15485aba;border:1px solid #ffffff1f;border-radius:16px;grid-template-columns:54px 1fr;align-items:center;gap:9px;padding:4px 10px;display:grid}.npc-panel.is-thinking{border-color:var(--gold);animation:1s ease-in-out infinite thinking}@keyframes thinking{50%{box-shadow:0 0 26px #ffd15b40}}.flag-avatar{border:4px solid var(--cream);background:var(--paper);border-radius:16px;width:54px;height:54px;position:relative;overflow:hidden}.flag-avatar img{object-fit:cover;width:100%;height:100%}.npc-panel h3,.human-identity h3{color:var(--cream);margin:0;font-size:.9rem}.player-stats{color:#b7d4db;flex-wrap:wrap;gap:6px 10px;margin-top:4px;font-size:.72rem;font-weight:800;display:flex}.player-stats strong{color:var(--gold)}.npc-secret-row{gap:5px;margin-top:6px;display:flex}.npc-secret-row button{min-height:24px;color:var(--cream);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:#04182375;border:1px dashed #ffd15b8c;border-radius:7px;padding:3px 7px;font-size:.7rem;font-weight:900}.board-workspace{min-height:440px;box-shadow:inset 0 0 0 4px #65431e, inset 0 0 70px #003d3d57, var(--shadow);background:linear-gradient(#ffffff09,#0032311a),repeating-linear-gradient(11deg,#ffffff07 0 6px,#0000 6px 16px),#2e9b8e;border:9px solid #9a6b38;border-radius:34px;grid-template-columns:minmax(0,1fr) 270px;gap:14px;margin:8px 22px;padding:18px;display:grid}.territory-area{grid-template-rows:auto 1fr;min-width:0;display:grid}.table-label-row{color:#07313b;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:15px;min-height:30px;font-size:.72rem;font-weight:950;display:flex}.table-label-row span:last-child{letter-spacing:0;text-transform:none;font-weight:800}.territory-track{scroll-snap-type:x proximity;align-items:center;gap:16px;min-width:0;padding:12px 5px 18px;display:flex;overflow-x:auto}.territory-slot{scroll-snap-align:center;background:#002f3533;border:3px solid #0000;border-radius:18px;flex:0 0 150px;gap:8px;padding:10px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.territory-slot.is-selected{border-color:var(--cream);transform:translateY(-4px)}.territory-slot.is-hint{border-color:var(--gold);animation:1.15s ease-in-out infinite hint-pulse;box-shadow:0 0 0 5px #ffd15b3b,0 0 30px #ffd15b57}@keyframes hint-pulse{50%{box-shadow:0 0 0 9px #ffd15b14,0 0 36px #ffd15b73}}.territory-card-button{border:4px solid var(--cream);background:var(--paper);cursor:pointer;border-radius:12px;width:100%;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 12px 24px #001b1e54}.territory-card-button img{aspect-ratio:816/1111;object-fit:cover;width:100%;display:block}.owner-flag{z-index:2;border:4px solid var(--cream);background:var(--navy-800);width:42px;height:42px;box-shadow:var(--soft-shadow);border-radius:13px;place-items:center;font-size:.7rem;font-weight:950;display:grid;position:absolute;top:-10px;right:-9px}.territory-summary{color:#08333d;justify-content:space-between;gap:8px;font-size:.72rem;font-weight:900;display:flex}.territory-summary span{background:#ffffff7a;border-radius:8px;padding:5px 7px}.table-markers{flex-wrap:wrap;align-items:center;gap:4px;min-height:34px;display:flex}.labor-chip,.action-chip{min-height:26px;color:var(--navy-950);background:var(--gold);cursor:pointer;border:2px solid #ffffffbf;border-radius:9px;align-items:center;gap:4px;padding:4px 7px;font-size:.7rem;font-weight:950;display:inline-flex}.action-chip{color:var(--white);background:var(--coral-deep)}.labor-chip.is-hidden,.action-chip.is-hidden{color:var(--cream);background:var(--navy-800)}.inspector{min-width:0;color:var(--ink);background:#ecf9e75c;border:2px dashed #04303859;border-radius:20px;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:14px;display:grid}.inspector h2{letter-spacing:.12em;text-align:center;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:950}.inspector-card{place-items:center;min-height:0;display:grid}.inspector-card img{border:5px solid var(--cream);width:min(100%,194px);max-height:286px;box-shadow:var(--soft-shadow);object-fit:contain;border-radius:14px;display:block}.inspector-copy{background:#ffffff75;border-radius:12px;min-height:86px;padding:10px}.inspector-copy strong{margin-bottom:5px;font-size:.87rem;display:block}.inspector-copy p{margin:0;font-size:.72rem;line-height:1.42}.human-panel{grid-template-columns:205px minmax(0,1fr) minmax(320px,.74fr);align-items:stretch;gap:14px;padding:8px 22px 20px;display:grid}.human-identity,.hand-zone,.control-panel{box-shadow:var(--soft-shadow);background:#104152d4;border:1px solid #ffffff21;border-radius:18px}.human-identity{border-color:#ffd15bb3;grid-template-columns:64px 1fr;align-items:center;gap:12px;padding:13px;display:grid}.human-identity .flag-avatar{width:64px;height:64px}.hand-zone{min-width:0;padding:10px 14px}.hand-label{color:var(--teal-300);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:.7rem;font-weight:900;display:flex}.hand-cards{justify-content:center;align-items:flex-end;gap:10px;min-height:114px;display:flex}.action-card{border:4px solid var(--cream);background:var(--paper);cursor:pointer;transform-origin:bottom;border-radius:10px;width:82px;padding:0;transition:transform .16s,border-color .16s,box-shadow .16s;position:relative;overflow:hidden;box-shadow:0 8px 18px #00000047}.action-card:hover{transform:translateY(-10px)rotate(-1deg)}.action-card.is-selected{border-color:var(--gold);transform:translateY(-12px);box-shadow:0 0 0 5px #ffd15b33,0 12px 24px #00000052}.action-card.is-hint{border-color:var(--gold);animation:1.15s ease-in-out infinite hint-pulse}.action-card[aria-disabled=true]{cursor:zoom-in;filter:saturate(.72);opacity:.72}.action-card[aria-disabled=true]:hover{transform:translateY(-5px)}.action-card img{aspect-ratio:816/1111;object-fit:cover;width:100%;display:block}.control-panel{grid-template-rows:1fr auto;gap:10px;min-width:0;padding:14px;display:grid}.control-copy{min-width:0}.control-copy small{color:var(--teal-300);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;font-size:.7rem;font-weight:900;display:block}.control-copy h2{color:var(--cream);margin:0 0 5px;font-size:1.12rem}.control-copy p{color:#b9d0d7;margin:0;font-size:.78rem;line-height:1.45}.labor-amounts,.shaman-modes{gap:7px;margin-top:9px;display:flex}.labor-amounts button,.shaman-modes button{cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:9px;min-width:42px;min-height:34px;padding:0 10px;font-size:.72rem;font-weight:900}.labor-amounts button.is-selected,.shaman-modes button.is-selected{border-color:var(--gold);color:var(--navy-950);background:var(--gold)}.control-actions{grid-template-columns:minmax(105px,.75fr) minmax(150px,1.25fr);gap:9px;display:grid}.control-actions .hint-button,.control-actions .confirm-button{min-height:47px;box-shadow:none;padding:0 13px;font-size:.72rem}.hint-toast{z-index:70;border:2px solid var(--gold);width:min(390px,100vw - 48px);color:var(--ink);background:var(--cream);box-shadow:var(--shadow);border-radius:16px;padding:16px 18px;position:fixed;bottom:22px;right:24px}.hint-toast strong{margin-bottom:4px;display:block}.hint-toast p{margin:0;font-size:.82rem;line-height:1.5}.settlement-shell{grid-template-rows:auto minmax(0,1fr) auto;max-height:min(850px,100svh - 48px);display:grid}.settlement-body{grid-template-columns:minmax(0,1fr) 310px;gap:22px;min-height:0;padding:22px;display:grid;overflow:auto}.settlement-copy h3{color:var(--cream);margin:5px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,3vw,2.2rem)}.settlement-copy p{color:#c0d4d9;line-height:1.58}.settlement-result{border-left:4px solid var(--gold);color:var(--cream);background:#ffd15b17;border-radius:0 12px 12px 0;margin-top:14px;padding:14px 16px}.settlement-table{gap:12px;padding:16px 0 6px;display:flex;overflow-x:auto}.settlement-mini{background:#ffffff0f;border:4px solid #0000;border-radius:12px;flex:0 0 105px;padding:6px}.settlement-mini.is-relevant{border-color:var(--gold);box-shadow:0 0 24px #ffd15b45}.settlement-mini img{border-radius:7px;width:100%;display:block}.settlement-mini span{color:var(--cream);text-align:center;margin-top:5px;font-size:.72rem;font-weight:800;display:block}.settlement-ledger{background:#00000024;border:1px solid #ffffff1f;border-radius:15px;padding:16px}.settlement-ledger h4{color:var(--teal-300);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.72rem}.ledger-row{color:#bdd2d7;border-bottom:1px solid #ffffff14;justify-content:space-between;gap:10px;padding:8px 0;font-size:.82rem;display:flex}.ledger-row strong{color:var(--gold)}.ledger-row strong small{color:var(--teal-300);margin-left:6px;font-size:.72rem}.settlement-footer{border-top:1px solid #ffffff1a;justify-content:space-between;gap:14px;padding:16px 22px 22px;display:flex}.settlement-progress{align-items:center;gap:6px;display:flex}.settlement-progress span{background:#ffffff2e;border-radius:50%;width:8px;height:8px}.settlement-progress span.is-current{background:var(--gold);border-radius:99px;width:24px}.game-over-shell{text-align:center;padding:28px}.game-over-shell h2{color:var(--gold);margin:8px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,4rem)}.ranking-list{width:min(560px,100%);margin:24px auto}.ranking-row{text-align:left;background:#ffffff12;border-radius:13px;grid-template-columns:50px 1fr auto;align-items:center;gap:12px;margin:8px 0;padding:12px 16px;display:grid}.ranking-row.is-winner{border:2px solid var(--gold);background:#ffd15b1c}.ranking-row strong:last-child{color:var(--gold)}@media (width<=1060px){.home-content,.setup-main{grid-template-columns:1fr 1fr;gap:28px}.hero-art{min-height:520px}.game-topbar{grid-template-columns:minmax(170px,.7fr) minmax(260px,1.4fr) minmax(220px,.8fr);gap:10px;padding-inline:14px}.npc-row{justify-content:flex-start}.board-workspace{grid-template-columns:minmax(0,1fr) 230px;margin-inline:14px}.human-panel{grid-template-columns:178px minmax(300px,1fr) minmax(290px,.85fr);padding-inline:14px;overflow-x:auto}}@media (width<=820px){.top-nav{min-height:66px;padding:11px 16px}.brand-back{padding-inline:12px;font-size:.66rem}.home-content,.setup-main{grid-template-columns:1fr;width:min(640px,100% - 32px);padding-top:24px}.game-logo{font-size:clamp(3rem,15vw,5.4rem)}.hero-art,.setup-preview{min-height:450px}.rulebook-body{grid-template-columns:1fr}.rulebook-index{border-bottom:1px solid #ffffff1a;border-right:0;gap:6px;min-height:64px;padding:9px;display:flex;overflow-x:auto}.rulebook-index h3{display:none}.rulebook-index button{min-width:132px;margin:0}.game-topbar{grid-template-columns:1fr auto;position:relative}.phase-banner{grid-area:2/1/auto/-1}.game-status{gap:10px}.board-workspace{border-width:6px;border-radius:24px;grid-template-columns:1fr;margin:8px;padding:12px}.territory-track{min-height:360px}.inspector{grid-template-rows:1fr;grid-template-columns:80px 105px 1fr;align-items:center}.inspector-card img{width:95px;max-height:130px}.human-panel{grid-template-columns:1fr;overflow:visible}.human-identity{grid-template-columns:54px 1fr}.human-identity .flag-avatar{width:54px;height:54px}.settlement-body{grid-template-columns:1fr}}@media (width<=520px){body{font-size:16px}.nav-actions>.text-button{display:none}.audio-popover{width:auto;padding:14px;position:fixed;top:62px;left:8px;right:8px}.audio-popover label{grid-template-columns:60px minmax(0,1fr) 44px;margin:7px 0}.audio-popover input{min-height:44px}.home-content{padding-bottom:32px}.home-lede{margin-block:19px 23px}.hero-art{min-height:360px}.hero-table{border-width:8px;inset:12% 0 5%}.hero-card{border-width:4px;width:37vw}.hero-card-one{left:9%}.hero-card-two{left:35%}.hero-card-three{right:3%}.hero-flag{border-width:4px;width:70px}.hero-token{border-width:3px;width:48px;height:48px;font-size:1rem}.overlay{padding:8px}.rulebook-shell,.settlement-shell,.game-over-shell{border-radius:18px;max-height:calc(100svh - 16px)}.rulebook-header,.settlement-header{padding:14px}.rulebook-body{height:calc(100svh - 98px)}.rulebook-footer{grid-template-columns:44px 1fr 44px}.rulebook-footer .text-button{width:44px;padding:0;font-size:0}.rulebook-footer .text-button:after{content:"‹";font-size:1rem}.rulebook-footer .text-button:last-child:after{content:"›"}.player-count-grid{grid-template-columns:repeat(5,1fr)}.count-button{width:auto}.setup-preview{min-height:390px}.seat{width:70px;font-size:.68rem}.seat-marker{border-width:4px;border-radius:15px;width:49px;height:49px}.seat-0,.seat-1{left:calc(50% - 35px)}.setup-deck{width:90px}.game-topbar{padding:9px}.round-meta .icon-button{width:38px;min-height:38px}.round-meta small,.game-status .status-stat:nth-child(2){display:none}.npc-row{padding-inline:8px}.npc-panel{min-width:155px}.territory-slot{flex-basis:144px}.inspector{grid-template-columns:64px 86px 1fr;padding:9px}.inspector h2{font-size:.7rem}.inspector-card img{width:82px}.inspector-copy{min-height:0;padding:7px}.inspector-copy p{font-size:.72rem}.hand-cards{justify-content:flex-start;overflow-x:auto}.action-card{flex:0 0 78px}.settlement-footer{align-items:center;padding:13px}.settlement-progress{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.card-button-reset{color:inherit;cursor:pointer;padding:0}.rulebook-shell{grid-template-rows:auto minmax(0,1fr);height:min(900px,100svh - 48px);max-height:calc(100svh - 48px);display:grid}.rulebook-header{padding:6px 14px}.rulebook-header .modal-title{font-size:clamp(1.25rem,2vw,1.7rem)}.rulebook-header .modal-kicker{margin-bottom:1px;font-size:.62rem}.rulebook-header .icon-button{width:38px;min-height:38px}.rulebook-body{height:auto;min-height:0}.rulebook-stage{min-height:0}.rulebook-page-wrap{min-height:0;padding:0;position:relative}.rulebook-page-button{place-items:center;width:100%;height:100%;min-height:0}.rulebook-page-wrap:not(.is-zoomed) .rulebook-page-button{width:auto;min-width:0;height:auto;min-height:0;display:block;position:absolute;inset:10px;overflow:hidden}.rulebook-page-wrap:not(.is-zoomed) .rulebook-page{object-fit:contain;width:100%;min-width:0;max-width:none;height:100%;min-height:0;max-height:none;position:absolute;inset:0}.rulebook-page-wrap.is-zoomed{padding:10px}.rulebook-page-wrap.is-zoomed .rulebook-page{object-fit:contain;width:auto;height:auto;position:static}.rulebook-page-wrap.is-zoomed .rulebook-page-button{width:max-content;height:max-content}.rulebook-page-wrap.is-zoomed .rulebook-page{width:min(920px,170vw)}.rulebook-footer{min-height:40px;padding:2px 12px}.rulebook-footer .text-button{min-height:36px}.rulebook-footer p{justify-content:center;align-items:baseline;gap:10px;display:flex}.rulebook-footer small{color:#8fb2bb}.game-workspace{grid-template-columns:minmax(0,1fr) clamp(330px,24vw,410px);align-items:stretch;gap:18px;min-width:0;margin:6px 22px 8px;display:grid}.play-column{grid-template-rows:minmax(0,1fr) auto;gap:10px;min-width:0;display:grid}.game-workspace .territory-area{min-height:478px;box-shadow:inset 0 0 0 4px #65431e, inset 0 0 70px #003d3d57, var(--shadow);background:linear-gradient(#ffffff09,#0032311a),repeating-linear-gradient(11deg,#ffffff07 0 6px,#0000 6px 16px),#2e9b8e;border:6px solid #9a6b38;border-radius:28px;padding:12px}.game-workspace .territory-track{scrollbar-width:thin;align-items:flex-start;gap:18px;min-height:405px;padding:8px 6px 2px}.game-workspace .territory-track::-webkit-scrollbar{height:8px}.game-workspace .territory-slot{flex:0 0 225px;grid-template-rows:auto auto minmax(30px,1fr) 34px;align-content:start;gap:5px;height:394px;padding:7px 11px}.game-workspace .territory-summary-hidden{opacity:.72;justify-content:center}.game-workspace .table-markers{align-content:flex-start;overflow:auto}.owner-flag{width:auto;min-width:62px;height:36px;color:var(--cream);white-space:nowrap;padding:0 9px}.card-confirm-slot{place-items:center;height:32px;display:grid}.card-confirm-row,.dialog-confirm-row{justify-content:center;align-items:center;gap:10px;display:flex}.card-confirm-yes,.card-confirm-no{color:#fff;cursor:pointer;border:2px solid #ffffffd1;border-radius:10px;place-items:center;width:38px;height:32px;font-size:1.12rem;font-weight:950;display:grid;box-shadow:0 6px 14px #0003}.card-confirm-yes{background:#188b63}.card-confirm-no{background:#a94342}.game-workspace .inspector{min-height:100%;color:var(--cream);box-shadow:var(--shadow);background:radial-gradient(circle at 50% 30%,#4abdad29,#0000 55%),#051e2bf5;border:1px solid #ffd15b52;border-radius:24px;grid-template-rows:auto minmax(0,1fr) 122px;gap:12px;padding:18px}.game-workspace .inspector-card{color:#9dc1c8;cursor:zoom-in;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;align-content:center;place-items:center;gap:9px;min-height:0;padding:0;font-size:.72rem;font-weight:900;display:grid}.game-workspace .inspector-card img{width:min(100%,300px);max-height:410px}.game-workspace .inspector-copy{height:122px;min-height:122px;color:var(--ink);overflow:auto}.game-workspace .human-panel{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:14px;padding:0;display:grid;overflow:visible}.game-workspace .human-identity,.game-workspace .hand-zone{min-height:0}.game-workspace .human-identity{grid-template-columns:58px 1fr;align-content:center;align-self:start;height:108px;padding:10px}.game-workspace .human-identity .flag-avatar{border-radius:13px;width:58px;height:76px}.game-workspace .hand-zone{grid-template-rows:44px 190px;min-width:0;padding:8px 12px;display:grid}.hand-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:44px;display:flex}.hand-toolbar-copy{min-width:0}.hand-toolbar small,.hand-toolbar strong{display:block}.hand-toolbar small{color:var(--teal-300);letter-spacing:.12em;text-transform:uppercase;font-size:.65rem;font-weight:900}.hand-toolbar strong{color:var(--cream);margin-top:2px;font-size:.96rem}.hint-anchor{flex:none;position:relative}.hint-anchor .hint-button{width:92px;min-height:42px;box-shadow:none;padding:0;font-size:.72rem}.hint-anchor .hint-toast{z-index:75;border:2px solid var(--gold);width:min(360px,100vw - 54px);color:var(--ink);background:var(--cream);box-shadow:var(--shadow);cursor:pointer;text-align:left;border-radius:14px;padding:13px 15px;display:block;position:absolute;bottom:calc(100% + 10px);right:0}.hint-anchor .hint-toast strong,.hint-anchor .hint-toast span{display:block}.hint-anchor .hint-toast strong{margin-bottom:4px}.hint-anchor .hint-toast span{font-size:.8rem;line-height:1.45}.game-workspace .hand-cards{align-items:flex-end;min-height:190px;overflow:auto hidden}.action-card-wrap{flex:0 0 115px;grid-template-rows:auto 36px;align-content:end;width:115px;min-height:190px;display:grid}.action-card-wrap.is-active-target .action-card{border-color:var(--teal-300);box-shadow:0 0 0 5px #4abdad2e}.game-workspace .action-card{width:115px}.game-workspace .action-card[aria-disabled=true]{cursor:zoom-in;opacity:.76}.card-detail-overlay,.choice-overlay{z-index:130}.card-detail-shell{width:min(880px,100%);max-height:calc(100svh - 40px);color:var(--cream);background:var(--navy-900);box-shadow:var(--shadow);border:1px solid #ffd15b80;border-radius:24px;grid-template-columns:minmax(280px,430px) minmax(220px,1fr);align-items:center;gap:28px;padding:24px;display:grid;position:relative;overflow:auto}.card-detail-shell>img{border:7px solid var(--cream);object-fit:contain;border-radius:18px;width:100%;max-height:calc(100svh - 90px);display:block}.card-detail-shell h2{color:var(--gold);margin:4px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,4vw,3.2rem)}.card-detail-shell p:last-child{color:#c3d7dc;line-height:1.65}.card-detail-close{z-index:2;position:absolute;top:14px;right:14px}.choice-dialog{width:min(480px,100%);color:var(--cream);background:var(--navy-900);box-shadow:var(--shadow);text-align:center;border:1px solid #ffd15b85;border-radius:24px;padding:26px}.choice-dialog h2{color:var(--gold);margin:5px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:2rem}.choice-dialog>p:not(.modal-kicker){color:#bed3d8;margin:0 auto 18px;line-height:1.55}.choice-options{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:18px 0;display:grid}.choice-options button{min-height:48px;color:var(--cream);cursor:pointer;background:#ffffff12;border:1px solid #fff3;border-radius:12px;padding:9px 12px;font-weight:900}.choice-options button.is-selected{border-color:var(--gold);color:var(--navy-950);background:var(--gold)}.dialog-confirm-row{margin-top:20px}.dialog-confirm-row .card-confirm-yes,.dialog-confirm-row .card-confirm-no{width:60px;height:46px}.settlement-focus-card{border:3px solid var(--gold);background:#ffd15b14;border-radius:18px;grid-template-columns:minmax(150px,220px) minmax(180px,1fr);align-items:center;gap:22px;margin:18px 0;padding:14px;display:grid;box-shadow:0 0 28px #ffd15b29}.settlement-card-button{color:#a9c6cd;cursor:zoom-in;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;gap:7px;padding:0;font-size:.68rem;font-weight:900;display:grid}.settlement-card-button img{border:5px solid var(--cream);border-radius:13px;width:100%;transition:transform .16s,box-shadow .16s;display:block}.settlement-card-button:hover img,.settlement-card-button:focus-visible img{transform:translateY(-3px);box-shadow:0 14px 30px #00000047}.settlement-focus-details,.settlement-focus-details span{gap:5px;display:grid}.settlement-focus-details{gap:18px}.settlement-focus-details span{color:#a9c6cd}.settlement-focus-card strong{color:var(--gold);font-size:1.18rem}.settlement-score-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:20px;display:grid}.score-change-card{background:#ffffff0f;border:1px solid #ffd15b59;border-radius:14px;gap:7px;padding:16px;display:grid}.score-change-card span{color:#bdd1d7;font-weight:900}.score-change-card strong{color:var(--gold);font-size:1.4rem}.score-change-card small{color:var(--teal-300)}.settlement-result.compact{max-height:210px;font-size:.76rem;overflow:auto}.settlement-nav{align-items:center;gap:10px;display:flex}.settlement-nav .primary-button,.settlement-nav .secondary-button{min-width:132px}.settlement-nav button:disabled{cursor:not-allowed;opacity:.42}@media (width<=900px){.game-workspace{grid-template-columns:1fr;margin-inline:14px}.game-workspace .inspector{grid-template-rows:1fr;grid-template-columns:90px 190px minmax(0,1fr);align-items:center;min-height:250px}.game-workspace .inspector-card img{width:170px;max-height:220px}.game-workspace .inspector-copy{height:148px;min-height:148px}}@media (width<=820px){.rulebook-shell{height:calc(100svh - 48px);max-height:calc(100svh - 48px)}.rulebook-body{grid-template-rows:64px minmax(0,1fr);height:auto}.rulebook-index{align-items:stretch;min-height:64px;max-height:64px}.rulebook-index>div{flex:none;gap:6px;display:flex}.rulebook-page-wrap{padding:0}.rulebook-page-wrap:not(.is-zoomed) .rulebook-page-button{inset:7px}.rulebook-page-wrap.is-zoomed{padding:7px}.game-workspace .territory-area{border-width:6px;border-radius:24px;min-height:438px;padding:10px}.game-workspace .territory-track{min-height:374px}.game-workspace .territory-slot{flex-basis:190px;height:352px}.game-workspace .human-panel{grid-template-columns:150px minmax(0,1fr)}.game-workspace .human-identity{height:98px;min-height:98px}.game-workspace .hand-zone{grid-template-rows:44px 176px;min-height:0}.game-workspace .hand-cards{min-height:176px}.action-card-wrap,.game-workspace .action-card{width:105px}.action-card-wrap{flex-basis:105px;grid-template-rows:auto 36px;min-height:176px}.card-detail-shell{grid-template-columns:1fr;width:min(500px,100%)}.card-detail-shell>img{width:min(330px,100%);margin:auto}}@media (width<=600px){.game-workspace .human-panel{grid-template-columns:1fr}}@media (width<=520px){.rulebook-shell{height:calc(100svh - 16px);max-height:calc(100svh - 16px)}.rulebook-header{padding:8px 10px}.rulebook-footer{grid-template-columns:38px 1fr 38px;padding:4px 7px}.rulebook-footer p{gap:0;display:grid}.player-count-grid{grid-template-columns:repeat(3,1fr)}.game-workspace{margin:6px 8px 14px}.game-workspace .territory-slot{flex-basis:180px}.game-workspace .inspector{grid-template-columns:72px 120px minmax(0,1fr);min-height:230px;padding:10px}.game-workspace .inspector-card img{width:112px;max-height:164px}.game-workspace .inspector-card span{display:none}.game-workspace .inspector-copy{height:160px;min-height:160px}.game-workspace .hand-zone{grid-template-rows:44px 170px;padding-inline:10px}.game-workspace .hand-cards{min-height:170px}.hand-toolbar{gap:8px}.hint-anchor .hint-toast{right:-3px}.action-card-wrap,.game-workspace .action-card{width:100px}.action-card-wrap{flex-basis:100px;min-height:170px}.settlement-focus-card{grid-template-columns:1fr}.settlement-focus-card img{width:min(180px,100%);margin:auto}.settlement-nav{width:100%}.settlement-nav .primary-button,.settlement-nav .secondary-button{flex:1 1 0;min-width:0}}
