:root{--ink:#183e3b;--muted:#748078;--forest:#245b47;--forest-dark:#173f35;--ocean:#174c52;--ocean-deep:#103d43;--cream:#f7f3e9;--paper:#fffdf7;--line:#e6e2d5;--gold:#dcb969;--coral:#cb7459;--shadow:0 14px 42px #15393612;--wood:#447951;--brick:#b8634c;--sheep:#9db678;--wheat:#d5aa44;--ore:#8496a6;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--cream)}button,input,select{font:inherit}button{cursor:pointer}button,input,select{ -webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.42}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #d9aa50}input:focus,select:focus{outline:2px solid #729789;outline-offset:1px}button{color:inherit}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400}button{border:0;background:none}.icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center}.icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:800;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.5}.logo{display:flex;align-items:center;gap:10px;white-space:nowrap}.logo-mark{width:37px;height:40px;color:var(--gold);display:flex;align-items:center;justify-content:center}.logo-mark svg{width:36px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7}.logo-title{font:22px Georgia,serif;letter-spacing:-.7px}.logo-sub{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.27em;margin-top:4px;font-weight:700;opacity:.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:11px 15px;font-size:12px;font-weight:700;line-height:1.25;transition:background .15s,transform .15s;border:1px solid transparent;min-height:39px}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{color:#fffdf3;background:var(--forest)}.btn-primary:hover:not(:disabled){background:var(--forest-dark)}.btn-secondary{border-color:var(--line);background:var(--paper)}.btn-secondary:hover:not(:disabled){background:#edeadf}.btn-gold{background:var(--gold);color:#363c26}.btn-danger{color:#a54f3d;background:#f8e7de}.btn-ghost{color:var(--muted);padding:8px}.btn-sm{padding:7px 10px;min-height:31px;font-size:11px}.btn-block{width:100%}.icon-btn{width:34px;height:34px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--paper);display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:#eae7dc}.field{display:flex;flex-direction:column;gap:7px}.field label,.field-label{font-size:11px;font-weight:700;color:#53665d}.field input:not([type=color]),.field select,.text-input{background:var(--paper);border:1px solid #d9dfd3;border-radius:8px;padding:11px 12px;color:var(--ink);width:100%;min-width:0}.field input::placeholder{color:#9ba39a}.form-row{display:flex;gap:10px;align-items:end}.form-row>.field{flex:1;min-width:0}.color-control{width:48px;height:41px;border:1px solid #d9dfd3;border-radius:8px;padding:4px;background:var(--paper);cursor:pointer}.color-control::-webkit-color-swatch-wrapper{padding:2px}.color-control::-webkit-color-swatch{border:0;border-radius:4px}.divider{height:1px;background:var(--line);margin:18px 0}.pill{display:inline-flex;align-items:center;gap:5px;background:#eef1e5;color:#4e6d56;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:700;white-space:nowrap}.pill.dot::before{content:"";width:5px;height:5px;background:#80aa72;border-radius:50%}.boot{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;color:var(--forest)}.boot-mark{font:42px Georgia,serif}.boot-mark span{font-style:italic;color:var(--gold);font-size:32px}.boot p{font-size:12px;color:var(--muted)}
/* Welcome */
.home{min-height:100vh;background:var(--cream);overflow:hidden}.home-header{max-width:1450px;margin:auto;padding:29px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.home-header .logo-title{font-size:25px}.home-header-right{display:flex;gap:24px;align-items:center}.home-main{max-width:1450px;margin:auto;padding:45px 6% 52px;display:grid;grid-template-columns:minmax(340px,.86fr) minmax(400px,1.14fr);gap:65px;align-items:center}.home-copy>.eyebrow{color:#6f896f;margin-bottom:22px;display:flex;align-items:center;gap:10px}.home-copy>.eyebrow:before{content:"";width:26px;height:1px;background:#94a98a}.home-copy h1{font-size:clamp(48px,4.4vw,69px);line-height:1.05;letter-spacing:-2.8px;max-width:510px}.home-copy h1 em{color:#657f56;font-weight:400}.hero-description{font-size:14px;line-height:1.8;color:#788277;max-width:375px;margin:23px 0 25px}.entry-card{max-width:420px;background:#fffdf7bf;border:1px solid #e6e1d3;border-radius:14px;padding:22px;box-shadow:0 10px 32px #24473805}.entry-tabs{display:flex;border-bottom:1px solid var(--line);margin:-4px 0 19px;gap:24px}.entry-tab{padding:10px 0 12px;color:#929a8c;font-size:12px;font-weight:700;border-bottom:2px solid transparent}.entry-tab.active{color:var(--forest);border-bottom-color:var(--forest)}.entry-form{display:grid;gap:15px}.entry-card .btn-primary{padding:13px 15px}.entry-footnote{font-size:10px;color:#949b8e;text-align:center;margin-top:2px}.home-art{position:relative;min-width:0}.home-board-wrap{height:530px;position:relative;border-radius:180px 180px 28px 28px;background:linear-gradient(150deg,#21595a,#103e45);box-shadow:0 28px 65px #143f4725,inset 0 0 0 1px #ffffff20;overflow:hidden}.home-board-wrap:before{content:"";position:absolute;inset:13px;border:1px solid #b5c9a625;border-radius:inherit;pointer-events:none;z-index:2}.home-preview{width:100%;height:100%;position:absolute;inset:0}.home-art-label{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:#c2d2b9;font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;pointer-events:none}.art-badge{position:absolute;background:#fffdf7;box-shadow:0 9px 40px #203f3920;border:1px solid #e5e3d7;border-radius:10px;padding:13px 16px;display:flex;gap:11px;align-items:center;z-index:3}.art-badge .icon{color:#8b9b68;background:#edf0e3;padding:9px;border-radius:9px}.art-badge strong{display:block;font-size:11px;margin-bottom:4px}.art-badge span.small{font-size:10px;color:var(--muted)}.art-badge.one{left:-28px;top:75px}.art-badge.two{right:-22px;bottom:79px}.home-features{display:flex;gap:27px;margin-top:25px;color:#788775}.home-feature{font-size:10px;display:flex;align-items:center;gap:7px}.home-feature .icon svg{width:15px;height:15px}.home-footer{max-width:1450px;margin:0 auto;padding:0 6% 25px;display:flex;justify-content:space-between;gap:18px;font-size:10px;color:#98a08f}.home-footer span:last-child{letter-spacing:.08em}
/* Game frame */
.game{height:100dvh;min-height:650px;display:grid;grid-template-rows:73px minmax(0,1fr) 110px;overflow:hidden}.game-header{display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);background:var(--paper);z-index:5;gap:18px}.header-center{display:flex;align-items:center;gap:14px}.room-code{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.room-code strong{letter-spacing:.17em;color:var(--ink);font-size:14px}.header-actions{display:flex;align-items:center;gap:8px}.connection{width:6px;height:6px;border-radius:50%;background:#78a26c;display:inline-block}.connection.offline{background:#cc7652}.game-body{display:grid;grid-template-columns:254px minmax(0,1fr) 266px;min-height:0}.sidebar{padding:23px 20px;background:var(--cream);overflow:auto;scrollbar-width:thin;scrollbar-color:#d4d9cd transparent}.sidebar.left{border-right:1px solid var(--line)}.sidebar.right{border-left:1px solid var(--line);background:#f4f2e9}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px}.section-title h2{font-size:23px;letter-spacing:-.6px}.section-title .eyebrow{font-size:9px}.sidebar-section+.sidebar-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.status-card{padding:15px;border-radius:11px;background:var(--paper);border:1px solid var(--line);margin-bottom:18px}.status-card.my-turn{border-color:#bdcdaa;background:#eff3e6}.status-label{display:flex;gap:7px;align-items:center;color:#819575;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}.status-card h3{font-family:Georgia,serif;font-size:21px;font-weight:400;margin-bottom:8px}.status-card p{font-size:11px;line-height:1.65;color:#7b8677}.turn-timer{margin-top:10px;font-size:10px;font-variant-numeric:tabular-nums;color:#957944}.settings-form{display:grid;gap:14px}.settings-form .field input,.settings-form .field select{font-size:11px;padding:9px}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.template-btn{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 4px 9px;border:1px solid var(--line);border-radius:8px;background:#fffcf4;transition:.2s;color:#879580;font-size:10px;font-weight:700}.template-btn.active{border-color:#739477;color:var(--forest);background:#edf2e5;box-shadow:inset 0 0 0 1px #8ba17e20}.template-btn svg{width:53px;height:38px}.template-btn:hover:not(:disabled){border-color:#9eb298}.inline-buttons{display:flex;gap:7px}.inline-buttons .btn{flex:1}.editor-panel{padding:12px;background:#e9efe1;border-radius:10px;display:grid;gap:10px;margin-top:12px}.editor-panel .small{font-size:10px}.editor-tools{display:flex;gap:6px}.editor-tools .btn{flex:1;padding:7px}.editor-tools .active{background:var(--forest);color:white}.setting-summary{display:grid;gap:10px;font-size:11px;color:var(--muted)}.setting-summary p{display:flex;justify-content:space-between;gap:8px}.setting-summary strong{font-weight:600;color:var(--ink)}.tip-box{padding:13px;border:1px dashed #cdd6c4;border-radius:9px;font-size:11px;line-height:1.65;color:#819075;margin-top:15px}.game-stage{min-width:0;min-height:0;position:relative;background:var(--ocean);overflow:hidden;isolation:isolate}.board-canvas{width:100%;height:100%;min-height:400px;position:absolute;inset:0}.board-topbar{position:absolute;top:18px;left:18px;right:18px;z-index:3;display:flex;justify-content:space-between;align-items:start;gap:12px;pointer-events:none}.board-caption{color:#b9cbb9;display:flex;flex-direction:column;gap:5px;text-shadow:0 2px 10px #082b35}.board-caption .eyebrow{color:#9bbdb0;font-size:9px}.board-caption strong{font:22px Georgia,serif;color:#f0ead4}.board-caption span.small{font-size:10px}.board-legend{display:flex;gap:6px;flex-wrap:wrap;max-width:200px;justify-content:end}.legend-dot{width:6px;height:6px;border-radius:50%;background:var(--resource)}.legend-chip{display:flex;align-items:center;gap:5px;color:#bbd0c0;font-size:9px;border:1px solid #b7ceb01c;background:#123e4870;border-radius:5px;padding:5px 7px}.board-controls{position:absolute;right:18px;bottom:21px;z-index:3;display:flex;gap:5px}.board-controls .icon-btn{border-color:#78969235;background:#173f46e0;color:#d6debe;width:33px;height:33px}.board-controls .icon-btn:hover{background:#2d5860}.board-instruction{position:absolute;bottom:22px;left:20px;right:140px;z-index:3;display:flex;align-items:center;gap:8px;font-size:11px;color:#e8e7cd;pointer-events:none}.board-instruction .icon svg{width:17px;height:17px}.board-instruction span{background:#123b43dc;backdrop-filter:blur(8px);border:1px solid #70928530;border-radius:8px;padding:9px 12px}.board-badge{background:#153e4380;padding:6px 9px;border:1px solid #87a89740;border-radius:6px;color:#d0dbc1;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.dice-area{display:flex;gap:9px;align-items:center;justify-content:center;margin:17px 0}.die{width:43px;height:43px;border-radius:9px;background:var(--paper);box-shadow:0 3px 0 #d6d6c7,0 6px 12px #1845360d;display:grid;grid-template-columns:repeat(3,6px);grid-template-rows:repeat(3,6px);gap:5px;align-content:center;justify-content:center;border:1px solid #e2e3d7}.die i{width:6px;height:6px;border-radius:50%;background:var(--ink)}.dice-sum{font:25px Georgia,serif;margin-left:7px}.build-list{display:grid;gap:7px}.build-button{padding:10px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);width:100%;text-align:left;display:flex;align-items:center;gap:10px;transition:.15s}.build-button .build-icon{width:31px;height:33px;display:flex;align-items:center;justify-content:center;color:#7e9274}.build-button .build-info{flex:1}.build-button strong{font-size:11px;font-weight:700;display:block;margin-bottom:4px}.build-button .available{font-size:10px;color:#8d9885;font-variant-numeric:tabular-nums}.build-button.active{background:#eaf0df;border-color:#88a17b;box-shadow:0 0 0 1px #b4c6a360}.build-button:hover:not(:disabled){border-color:#adbda2}.cost{display:flex;gap:3px}.cost-dot{height:10px;min-width:10px;border-radius:3px;background:var(--resource);box-shadow:inset 0 -1px 0 #0001}.development-panel{display:grid;gap:7px;margin-top:13px}.dev-card{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;background:#faf7ec;border:1px solid var(--line);border-radius:7px;padding:9px}.dev-card strong{font-size:11px;display:block}.dev-card small{font-size:9px;color:var(--muted)}.roster{display:grid;gap:8px}.player-card{padding:11px 10px;border:1px solid var(--line);border-radius:9px;background:#fffdf780;position:relative}.player-card.active{border-color:#9eb28b;background:#fffef6}.player-top{display:flex;align-items:center;gap:9px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--player-color,#58795e);color:white;text-shadow:0 1px 2px #0005;font-size:11px;font-weight:800;border:1px solid #ffffff80;box-shadow:inset 0 -3px 0 #00000013;flex-shrink:0}.player-name{min-width:0;flex:1}.player-name strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-name small{display:block;margin-top:3px;font-size:9px;color:#9ba28e}.points{font-family:Georgia,serif;font-size:23px;text-align:right}.points small{font:8px "Segoe UI",sans-serif;display:block;margin-top:1px;color:#9aa38d;letter-spacing:.1em}.player-stats{display:flex;align-items:center;gap:11px;font-size:9px;color:#8e9984;margin-top:9px;padding-left:39px}.player-stats span{display:flex;align-items:center;gap:3px}.player-stats svg{width:12px;height:12px}.achievement{background:#f1e8c9;color:#99824a;padding:3px 5px;border-radius:4px;font-size:8px}.player-achievements{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0 0 39px}.invite-card{margin-top:11px;border:1px dashed #bdcbb3;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:12px;color:#788d6b;font-size:11px}.trade-empty{text-align:center;padding:12px 3px 4px;color:#9ca58f}.trade-empty .icon{color:#a4b193;margin-bottom:8px}.trade-empty p{font-size:10px;line-height:1.6}.trade-card{padding:12px;border-radius:9px;background:var(--paper);border:1px solid #dfe3d4;margin-bottom:9px}.trade-card-header{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:10px;margin-bottom:9px}.trade-card-header strong{font-size:10px;max-width:130px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.trade-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0;font-size:10px}.trade-line>span:first-child{min-width:32px;color:#a0a48e;font-size:9px}.mini-resource{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:10px;color:#596952}.mini-resource .resource-mini{background:var(--resource);border-radius:3px;width:10px;height:13px;display:inline-block}.trade-actions{display:flex;gap:4px;margin-top:10px}.trade-actions .btn{flex:1;font-size:9px;padding:7px 6px}.activity-list{display:flex;flex-direction:column;gap:10px;max-height:195px;overflow:auto;scrollbar-width:thin}.activity-item{font-size:10px;line-height:1.55;color:#8a9480;display:flex;gap:7px}.activity-item:before{content:"";margin-top:6px;flex:0 0 3px;height:3px;background:#b6c0a8;border-radius:50%}.activity-item:first-child{color:#5c7058}.resource-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 25px;background:var(--paper);border-top:1px solid var(--line);z-index:4;box-shadow:0 -5px 22px #123c3503}.resource-title{min-width:120px;display:flex;flex-direction:column;gap:7px}.resource-title h3{font:23px Georgia,serif;letter-spacing:-.6px}.resource-title .small{font-size:10px}.resource-hand{display:flex;gap:9px;justify-content:center;flex:1}.resource-card{border:1px solid #e2e4d5;border-radius:10px;background:#f7f7ed;min-width:86px;padding:11px 11px 9px;display:grid;grid-template-columns:22px 1fr;column-gap:9px;row-gap:6px;position:relative;transition:.2s}.resource-card:before{position:absolute;content:"";width:21px;height:3px;top:-1px;left:12px;border-radius:0 0 3px 3px;background:var(--resource)}.resource-card .resource-glyph{color:var(--resource);grid-row:span 2;display:flex;align-items:center}.resource-card .resource-glyph svg{width:25px;height:28px;fill:currentColor;stroke:none}.resource-card strong{font:26px Georgia,serif;text-align:right;line-height:1}.resource-card small{font-size:9px;color:#859078;text-align:right}.resource-bar-actions{min-width:176px;display:flex;gap:7px;justify-content:end}.lobby-resource{color:#adb4a0}.resource-tooltip{display:block;font-size:9px;color:#93a083;margin-top:7px}
/* Dialogs and trading */
.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a292f99;backdrop-filter:blur(7px);animation:fade-in .15s ease}.modal{width:min(580px,100%);max-height:90dvh;overflow:auto;border:1px solid #fff7e9;border-radius:17px;background:var(--cream);box-shadow:0 30px 110px #001f2f55;padding:28px;animation:modal-in .2s ease}.modal.wide{width:min(690px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:19px}.modal-header h2{font-size:32px;letter-spacing:-1px;margin-top:7px}.modal-header .icon-btn{background:transparent}.modal-intro{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:20px}.modal-footer{display:flex;justify-content:end;gap:8px;margin-top:22px}.modal-form{display:grid;gap:16px}.trade-composer{display:grid;gap:16px}.trade-section-title{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:10px}.trade-section-title h3{font-size:12px;font-weight:700}.trade-section-title span{font-size:10px;color:var(--muted)}.trade-resource-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.trade-resource{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--resource);border-radius:8px;padding:12px 5px 7px;text-align:center}.trade-resource.selected{background:#edf1e3;border-color:#c0d0ac;border-top-color:var(--resource)}.trade-resource .resource-glyph{color:var(--resource);display:inline-flex}.trade-resource .resource-glyph svg{width:25px;height:26px;fill:currentColor;stroke:none}.trade-resource label{display:block;font-size:9px;color:#7d8c75;margin:6px 0 8px}.stepper{display:flex;align-items:center;justify-content:center;gap:3px}.stepper button{width:22px;height:25px;padding:0;border-radius:4px;background:#f0f1e7;font-size:17px;color:#697e5b}.stepper button:hover:not(:disabled){background:#d9e4cd}.stepper input{font:17px Georgia,serif;color:var(--ink);width:26px;padding:2px 0;border:0;background:transparent;text-align:center;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.trade-arrow{display:flex;align-items:center;justify-content:center;color:#8b9c7d}.trade-arrow:before,.trade-arrow:after{content:"";height:1px;background:var(--line);flex:1}.trade-arrow .icon{margin:0 15px;background:#e8edde;border-radius:50%;padding:7px}.trade-summary{padding:12px 14px;background:#eaf0df;border:1px solid #d2dfc2;border-radius:8px;font-size:11px;line-height:1.65;color:#6a7b5d}.bank-exchange{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:14px}.bank-exchange .icon{margin-top:17px;color:#8d9f78}.bank-rate{border:1px solid #d9dfca;background:#edf0e3;padding:14px;border-radius:10px;text-align:center;line-height:1.7;font-size:12px}.bank-rate strong{color:#5e7b4d}.resource-choice{display:flex;flex-wrap:wrap;gap:8px}.resource-choice .btn.active{border-color:var(--forest);background:#e4edd9}.victim-card{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:14px;text-align:left;margin:8px 0}.victim-card span:nth-child(2){flex:1;font-size:13px}.victim-card small{color:var(--muted);font-size:11px}.rules-section{margin-bottom:22px}.rules-section h3{font:21px Georgia,serif;margin-bottom:8px}.rules-section p,.rules-section li{font-size:12px;color:#76836e;line-height:1.8}.rules-section ol{padding-left:18px}.rules-costs{width:100%;font-size:11px;border-collapse:collapse;margin-top:12px}.rules-costs th,.rules-costs td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--line);line-height:1.5}.rules-costs th{font-size:10px;color:#9b9f8a}.winner-crown{text-align:center;color:var(--gold);margin:10px 0 18px}.winner-crown svg{width:60px;height:60px}.winner-name{text-align:center;font:38px Georgia,serif;letter-spacing:-1px}.winner-sub{text-align:center;color:var(--muted);font-size:12px;line-height:1.7;margin:12px 0 24px}.result-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.result-row strong{flex:1;font-size:12px}.result-row .result-points{font:22px Georgia,serif}.empty-lobby-note{font-size:11px;color:#8b987e;line-height:1.7;margin-top:10px}.share-link{display:flex;gap:8px}.share-link input{flex:1;min-width:0;font-size:11px;background:var(--paper);border:1px solid var(--line);padding:10px;border-radius:7px;color:#5a715a}#toast-root{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:80;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;max-width:calc(100vw - 32px)}.toast{background:#183f3bee;color:#f8f7e9;border:1px solid #ffffff25;padding:13px 18px;border-radius:10px;box-shadow:0 8px 30px #122d3830;font-size:12px;line-height:1.5;max-width:480px;animation:modal-in .18s ease}.toast.error{background:#854c3d}.toast.leaving{opacity:0;transition:.25s}.hidden{display:none!important}.loading-dot{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.notice{background:#f2e8ce;border:1px solid #e1d4ae;border-radius:9px;padding:12px;font-size:11px;color:#8b7951;line-height:1.7;margin-bottom:13px}.leave-message{font-size:12px;line-height:1.8;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1600px){.game-body{grid-template-columns:285px minmax(0,1fr) 290px}.sidebar{padding:26px}.resource-bar{padding-left:28px;padding-right:28px}.resource-card{min-width:105px}.home-main{padding-top:70px}}
@media(max-width:1150px){.game-body{grid-template-columns:223px minmax(0,1fr) 224px}.sidebar{padding:19px 14px}.game-header{padding:0 18px}.game-header .logo-title{font-size:19px}.game-header .logo-sub{font-size:7px}.board-legend{display:none}.resource-card{min-width:70px;padding:11px 8px 9px;gap:6px}.resource-title{min-width:105px}.resource-bar{padding:14px 18px;gap:9px}.resource-bar-actions{min-width:147px}.resource-bar-actions .btn{padding:10px;font-size:11px}.resource-hand{gap:7px}.home-main{gap:38px}.home-board-wrap{height:475px}.home-copy h1{font-size:55px}.art-badge.one{left:-18px}.art-badge.two{right:-12px}}
@media(max-width:950px){.header-center .pill{display:none}.game-header{gap:8px}.header-actions .help-label{display:none}.game-body{grid-template-columns:206px minmax(0,1fr) 200px}.sidebar{padding:18px 12px}.logo-mark{width:29px}.game-header .logo-title{font-size:18px}.resource-title{display:none}.resource-card{min-width:76px}.home-main{grid-template-columns:1fr 1fr;gap:25px;padding-top:25px}.home-copy h1{font-size:46px}.home-board-wrap{height:430px}.home-header{padding-top:22px;padding-bottom:18px}.art-badge{padding:10px}.art-badge.one{top:47px}.art-badge.two{bottom:60px}.art-badge .icon{padding:6px}.art-badge strong{font-size:10px}.home-features{gap:13px}.home-feature{font-size:9px}.home-header-right{gap:12px}}
@media(max-width:800px){.game{height:auto;min-height:100dvh;display:flex;flex-direction:column;overflow:visible}.game-header{height:65px;position:sticky;top:0;flex-shrink:0;padding:0 13px}.game-header .logo-mark{display:none}.game-header .logo-title{font-size:19px}.game-header .logo-sub{font-size:6px}.header-center{margin-left:auto}.room-code{font-size:0;gap:4px}.room-code strong{font-size:11px}.header-actions{gap:3px}.header-actions .btn{padding:8px;font-size:10px;min-height:32px}.header-actions .btn .icon svg{width:16px;height:16px}.header-actions .btn-ghost{padding:6px}.game-body{display:grid;grid-template-columns:1fr 1fr;min-height:0}.game-stage{grid-column:1/-1;grid-row:1;height:65dvh;min-height:400px}.sidebar.left{grid-column:1;grid-row:2;border-right:1px solid var(--line)}.sidebar.right{grid-column:2;grid-row:2;border-left:0}.sidebar{overflow:visible;padding:20px 17px}.resource-bar{position:sticky;bottom:0;flex-wrap:wrap;padding:10px 12px;gap:8px;box-shadow:0 -4px 20px #16362a13}.resource-hand{justify-content:center;gap:7px}.resource-card{min-width:65px;padding:9px 7px 7px;grid-template-columns:18px 1fr;gap:4px}.resource-card .resource-glyph svg{width:21px;height:24px}.resource-card strong{font-size:22px}.resource-card small{font-size:8px}.resource-bar-actions{min-width:auto}.resource-bar-actions .btn{padding:10px 12px}.resource-bar-actions .btn-secondary{display:none}.board-topbar{top:16px}.board-caption strong{font-size:20px}.home-main{display:flex;flex-direction:column;padding:24px 7% 32px;gap:40px;align-items:stretch}.home-copy h1{font-size:56px;max-width:none}.home-copy>.eyebrow{margin-bottom:16px}.hero-description{max-width:440px;margin:18px 0 23px}.entry-card{max-width:none}.home-art{max-width:570px;width:100%;align-self:center}.home-board-wrap{height:480px;border-radius:160px 160px 24px 24px}.home-features{justify-content:center;gap:22px}.home-feature{font-size:10px}.home-header{padding:22px 7%}.home-header-right .pill{display:none}.home-footer{padding:0 7% 22px}.home-footer span:last-child{display:none}.art-badge.one{left:-13px}.art-badge.two{right:-13px}}
@media(max-width:500px){.game-header .logo-title{font-size:16px}.game-header .logo-sub{display:none}.header-actions>.btn-primary{font-size:0;gap:0;padding:8px}.header-actions>.btn-primary .icon{font-size:12px}.header-actions .btn-ghost{padding:5px}.room-code strong{letter-spacing:.1em;font-size:10px}.game-stage{height:58dvh;min-height:360px}.board-canvas{min-height:360px}.board-topbar{left:13px;right:13px;top:13px}.board-caption strong{font-size:18px}.board-caption .eyebrow{font-size:8px}.board-instruction{bottom:15px;left:12px;right:117px;font-size:9px}.board-instruction span{padding:8px 10px}.board-controls{bottom:16px;right:12px;gap:4px}.board-controls .icon-btn{width:29px;height:29px;padding:6px}.sidebar{padding:18px 12px}.section-title h2{font-size:21px}.sidebar-section+.sidebar-section{padding-top:18px;margin-top:20px}.status-card{padding:12px;margin-bottom:14px}.status-card h3{font-size:18px}.status-card p{font-size:10px}.build-button{padding:8px 6px;gap:6px}.build-button .build-icon{width:24px}.build-button strong{font-size:10px}.player-card{padding:10px 8px}.player-top{gap:6px}.avatar{width:26px;height:28px;border-radius:7px;font-size:10px}.player-name strong{font-size:10px}.player-stats{padding-left:0;gap:9px;justify-content:center}.player-achievements{margin-left:0}.points{font-size:20px}.resource-hand{width:100%;gap:5px}.resource-card{min-width:0;flex:1;max-width:82px;padding:8px 6px 6px;grid-template-columns:16px 1fr}.resource-card .resource-glyph svg{width:18px;height:22px}.resource-card strong{font-size:21px}.resource-bar-actions{width:100%;display:flex;justify-content:center;gap:8px}.resource-bar-actions .btn{flex:1;max-width:220px;padding:8px;min-height:32px;font-size:10px}.resource-bar-actions .btn-secondary{display:inline-flex}.resource-bar{padding:8px 10px 10px;gap:6px}.modal-backdrop{padding:12px;align-items:center}.modal{padding:20px;max-height:92dvh;border-radius:13px}.modal-header h2{font-size:27px}.trade-resource-grid{gap:5px}.trade-resource{padding:9px 2px 6px}.trade-resource label{font-size:8px}.stepper{gap:0}.stepper button{width:19px;font-size:16px}.stepper input{width:22px;font-size:16px}.trade-section-title span{font-size:9px}.trade-summary{font-size:10px}.bank-exchange{gap:8px;grid-template-columns:1fr 22px 1fr}.home-copy h1{font-size:48px;letter-spacing:-2px}.home-header .logo-title{font-size:22px}.home-header .logo-mark{width:30px}.home-header-right .btn{font-size:10px;padding:8px}.home-main{padding-top:17px}.home-board-wrap{height:380px}.home-features{gap:13px}.home-feature{font-size:9px}.art-badge{padding:10px 11px;gap:7px}.art-badge.one{top:45px;left:-10px}.art-badge.two{bottom:50px;right:-10px}.art-badge .icon{display:none}.art-badge span.small{font-size:9px}.home-art-label{font-size:8px}.home-footer{font-size:9px}.trade-actions{flex-wrap:wrap}.trade-actions .btn{min-width:45%;font-size:9px}.settings-form .field-label,.field label{font-size:10px}.template-btn{font-size:9px}.template-btn svg{width:43px}.form-row{gap:7px}.status-label{font-size:8px}.board-badge{font-size:8px;padding:5px 7px}}
.board-canvas .hh-board-hint,.home-preview .hh-board-hint{display:none!important}.saved-seats{max-height:180px;overflow:auto;scrollbar-width:thin}.saved-seats .btn{justify-content:start;font-size:10px}
.modal{display:flex;flex-direction:column;overflow:hidden}.modal-header{flex-shrink:0}.modal-content{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#c4cdb6 transparent;padding-right:3px}.modal>.modal-footer{flex-shrink:0;padding-top:14px;margin-top:16px;border-top:1px solid var(--line);background:var(--cream)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.editor-step{display:flex;align-items:center;gap:8px}.editor-step>.icon{width:24px;height:24px;background:#dce7cd;border-radius:6px;color:#597549;flex-shrink:0}.editor-step>.icon svg{width:15px;height:15px}
/* RI game picker copied from /assets/index-CxmqP5Qf.css, including its cover-art overrides. */
.game-menu{position:relative;z-index:80;display:flex;align-items:center;gap:12px}.game-menu-trigger{width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:#0c0c12cc;display:grid;place-content:center;gap:4px;cursor:pointer;box-shadow:0 10px 30px #00000038}.game-menu-trigger i{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,width .2s ease}.game-menu:hover .game-menu-trigger i:nth-child(2),.game-menu.is-open .game-menu-trigger i:nth-child(2){width:13px}.game-menu-brand{display:flex;align-items:center}.game-drawer{position:absolute;left:0;top:calc(100% + 12px);width:min(390px,calc(100vw - 32px));padding:16px;border-radius:22px;background:#0a0c14f7;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 70px #00000080;color:#fff;opacity:0;visibility:hidden;transform:translate(-18px) scale(.98);transform-origin:top left;transition:opacity .2s ease,transform .24s cubic-bezier(.2,.8,.2,1),visibility .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.game-menu:hover .game-drawer,.game-menu:focus-within .game-drawer,.game-menu.is-open .game-drawer{opacity:1;visibility:visible;transform:translate(0) scale(1)}.game-drawer header{padding:2px 4px 13px;display:flex;flex-direction:column}.game-drawer header span{color:#72dcff;font:700 10px/1.2 Space Grotesk,sans-serif;letter-spacing:.18em}.game-drawer header strong{font:700 22px/1.3 Fredoka,sans-serif}.game-tile{position:relative;min-height:105px;margin:8px 0;display:grid;grid-template-columns:112px 1fr auto;align-items:center;gap:13px;overflow:hidden;border-radius:15px;border:1px solid rgba(255,255,255,.12);background:#171a26;color:#fff;text-decoration:none;transition:transform .18s ease,border-color .18s ease}.game-tile:hover,.game-tile:focus-visible{transform:translateY(-2px);border-color:#72dcff;outline:none}.game-tile.active{border-color:#ffffff59}.game-tile img{width:112px;height:105px;object-fit:cover}.game-tile span{min-width:0;display:flex;flex-direction:column}.game-tile b{font:800 15px/1.2 Space Grotesk,sans-serif;letter-spacing:.04em}.game-tile small{margin-top:5px;color:#ffffffa6;font-size:11px}.game-tile em{margin-right:12px;padding:6px 8px;border-radius:7px;background:#ffffff1a;font:800 9px/1 Space Grotesk,sans-serif;letter-spacing:.1em;font-style:normal}.trivia-tile em{background:#ff5c55;color:#10131c}.court-tile em{background:#ff7a1a;color:#17110e}.game-drawer>p{margin:13px 4px 2px;color:#ffffff73;font-size:11px}@media(max-width:560px){.game-menu-brand .brand{font-size:20px}.game-tile{grid-template-columns:90px 1fr}.game-tile img{width:90px}.game-tile em{display:none}}
.mouth-tile{background:#2d1423!important}
.mouth-tile img{filter:saturate(1.2)}
.town-tile{background:#272820!important}
.town-tile em{background:#ae3f34!important;color:#fff}
.town-tile-art{width:112px;height:105px;position:relative;background:radial-gradient(circle at 65% 30%,#cfc28c 0 17%,transparent 18%),linear-gradient(#48483a,#181915);overflow:hidden}
.town-tile-art:before{content:"";position:absolute;left:31px;bottom:0;width:42px;height:77px;background:#090a08;clip-path:polygon(15% 0,85% 0,100% 22%,78% 33%,94% 100%,0 100%,22% 33%,0 22%)}
.town-tile-art:after{content:"";position:absolute;left:26px;top:17px;width:55px;height:15px;background:#090a08;box-shadow:14px -7px 0 -1px #090a08}
.town-tile-art i{position:absolute;right:8px;top:8px;color:#b7473c;border:2px solid #b7473c;padding:3px;font-size:7px;font-style:normal;letter-spacing:1px;transform:rotate(9deg)}
/* game-picker-tile-overrides */
.game-menu {
  flex: 1 1 auto;
  min-width: 0;
}

.game-menu-trigger,
.game-drawer header,
.game-drawer > p,
.game-tile em {
  display: none !important;
}

.game-menu-brand {
  flex: 0 0 auto;
}

.game-drawer {
  position: static !important;
  width: auto !important;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 !important;
  margin-left: clamp(10px, 2vw, 22px);
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: inherit;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  scrollbar-width: thin;
}

.game-tile {
  flex: 0 0 clamp(128px, 14vw, 190px);
  min-height: 0 !important;
  height: 72px;
  margin: 0 !important;
  display: block !important;
  border-radius: 10px !important;
  border-color: rgba(255, 255, 255, .18) !important;
  background: #090b12 !important;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .45), 0 10px 22px rgba(0, 0, 0, .24);
}

.game-tile.active {
  border-color: var(--gold, #ffcf3f) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 207, 63, .35), 0 0 22px rgba(255, 207, 63, .2);
}

.game-tile img,
.game-tile .town-tile-art {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  filter: saturate(1.08) contrast(1.04);
}

.spell-tile img {
  content: url("/assets/tiles/spell-riot.png");
}

.trivia-tile img {
  content: url("/assets/tiles/headline-havoc.png");
}

.court-tile img {
  content: url("/assets/tiles/chaos-court.png");
}

.mouth-tile img {
  content: url("/assets/tiles/bad-mouth-world-tour.png");
}

.game-tile .town-tile-art {
  background: url("/assets/tiles/town-that-lies.png") center / cover no-repeat !important;
}

.game-tile .town-tile-art i {
  display: none !important;
}

.game-tile span {
  position: absolute;
  inset: auto 0 0 0;
  padding: 18px 9px 8px;
  display: block !important;
  min-width: 0;
  color: #fff;
  background: linear-gradient(to top, rgba(0, 0, 0, .86), rgba(0, 0, 0, .18), transparent);
  text-shadow: 0 2px 8px rgba(0, 0, 0, .9);
}

.game-tile b {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font: 800 10px/1.15 Space Grotesk, sans-serif !important;
  letter-spacing: .05em !important;
}

.game-tile small {
  display: none !important;
}

.game-tile:hover,
.game-tile:focus-visible {
  transform: translateY(-2px) !important;
  border-color: #72dcff !important;
}

@media (max-width: 820px) {
  .game-menu {
    width: 100%;
    flex-wrap: wrap;
  }

  .game-menu-brand {
    width: 100%;
  }

  .game-drawer {
    order: 3;
    width: 100% !important;
    margin-left: 0;
    padding-bottom: 3px !important;
  }

  .game-tile {
    flex-basis: 136px;
    height: 68px;
  }
}



/* game-picker-tile-overrides-v2 */
.game-tile {
  flex-basis: clamp(150px, 15vw, 214px);
  height: 76px;
}

.game-tile b {
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.05 !important;
}

.game-tile .town-tile-art {
  background-position: 34% center !important;
}

@media (max-width: 820px) {
  .game-tile {
    flex-basis: 150px;
    height: 72px;
  }
}

/* game-picker-tile-overrides-v3 */
@media (min-width: 821px) {
  .game-tile {
    flex-basis: clamp(130px, 11.5vw, 170px);
    height: 72px;
  }

  .game-drawer {
    gap: 8px;
  }
}

/* game-picker-tile-overrides-v4 */
.game-tile .town-tile-art::before,
.game-tile .town-tile-art::after {
  display: none !important;
  content: none !important;
}

/* game-picker-tile-overrides-v5: restore hamburger drawer, keep image tiles */
.game-menu {
  position: relative !important;
  z-index: 80 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 0 0 auto !important;
}

.game-menu-trigger {
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 13px !important;
  background: #0c0c12cc !important;
  display: grid !important;
  place-content: center !important;
  gap: 4px !important;
  box-shadow: 0 10px 30px #00000038 !important;
}

.game-menu-trigger i {
  display: block !important;
}

.game-menu-brand {
  flex: 0 0 auto !important;
  width: auto !important;
}

.game-drawer {
  position: absolute !important;
  left: 0 !important;
  top: calc(100% + 12px) !important;
  width: min(420px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  padding: 16px !important;
  display: block !important;
  overflow: visible !important;
  border-radius: 22px !important;
  background: #0a0c14f7 !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  box-shadow: 0 24px 70px #00000080 !important;
  color: #fff !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-18px) scale(.98) !important;
  transform-origin: top left !important;
  transition: opacity .2s ease, transform .24s cubic-bezier(.2, .8, .2, 1), visibility .2s !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
}

.game-menu:hover .game-drawer,
.game-menu:focus-within .game-drawer,
.game-menu.is-open .game-drawer {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(0) scale(1) !important;
}

.game-drawer header {
  padding: 2px 4px 13px !important;
  display: flex !important;
  flex-direction: column !important;
}

.game-drawer > p {
  display: block !important;
}

.game-tile {
  position: relative !important;
  min-height: 105px !important;
  height: auto !important;
  margin: 8px 0 !important;
  display: grid !important;
  grid-template-columns: 112px 1fr auto !important;
  align-items: center !important;
  gap: 13px !important;
  overflow: hidden !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  background: #171a26 !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  flex: none !important;
}

.game-tile.active {
  border-color: rgba(255, 255, 255, .45) !important;
  box-shadow: 0 0 22px rgba(255, 207, 63, .18) !important;
}

.game-tile img,
.game-tile .town-tile-art {
  width: 112px !important;
  height: 105px !important;
  object-fit: cover !important;
}

.game-tile span {
  position: static !important;
  inset: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  color: inherit !important;
  background: transparent !important;
  text-shadow: none !important;
}

.game-tile b {
  display: block !important;
  overflow: visible !important;
  white-space: normal !important;
  font: 800 15px/1.2 Space Grotesk, sans-serif !important;
  letter-spacing: .04em !important;
}

.game-tile small {
  display: block !important;
  margin-top: 5px !important;
  color: #ffffffa6 !important;
  font-size: 11px !important;
}

.game-tile em {
  display: block !important;
  margin-right: 12px !important;
  padding: 6px 8px !important;
  border-radius: 7px !important;
  background: #ffffff1a !important;
  font: 800 9px/1 Space Grotesk, sans-serif !important;
  letter-spacing: .1em !important;
  font-style: normal !important;
}

@media (max-width: 820px) {
  .game-menu {
    width: auto !important;
    flex-wrap: nowrap !important;
  }

  .game-menu-brand {
    width: auto !important;
  }

  .game-drawer {
    order: initial !important;
    width: min(390px, calc(100vw - 24px)) !important;
    margin-left: 0 !important;
  }
}

/* game-picker-tile-overrides-v6: image-only picker tiles */
.game-tile {
  grid-template-columns: 1fr !important;
  min-height: 118px !important;
  background: #090b12 !important;
}

.game-tile img,
.game-tile .town-tile-art {
  width: 100% !important;
  height: 118px !important;
  object-fit: cover !important;
}

.game-tile span,
.game-tile em {
  display: none !important;
}

/* game-picker-tile-overrides-v7: no drawer copy, images only */
.game-drawer header,
.game-drawer > p {
  display: none !important;
}

.game-drawer {
  width: min(410px, calc(100vw - 32px)) !important;
  padding: 10px !important;
}

.game-tile {
  margin: 8px 0 !important;
  min-height: 112px !important;
}

.game-tile img,
.game-tile .town-tile-art {
  height: 112px !important;
}

/* game-picker-tile-overrides-v8: preserve full tile art */
.game-drawer {
  max-height: calc(100vh - 104px) !important;
  overflow-y: auto !important;
}

.game-tile {
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  height: auto !important;
}

.game-tile img,
.game-tile .town-tile-art {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Hearth header integration; RI menu artwork and card layout above stay unchanged. */
.game-menu{color:#fff}.game-menu-brand{color:var(--ink)}.game-menu-trigger{padding:0;flex-shrink:0}.game-menu-trigger:focus-visible{outline:3px solid #72dcff;outline-offset:3px}.game-menu:not(.is-open) .game-drawer{opacity:0!important;visibility:hidden!important;transform:translate(-18px) scale(.98)!important}
@media(max-width:1150px){.game-header .game-menu-brand .logo-mark{display:none}}
@media(max-width:500px){.home-header{gap:12px}.home-header .logo-title{font-size:20px}.home-header .logo-mark{display:none}.home-header-right .btn{font-size:0;gap:0;padding:8px}.home-header-right .btn .icon svg{width:18px;height:18px}.game-header .game-menu-brand .logo-title{font-size:14px}.game-header .room-code strong{font-size:9px}.game-header .header-actions{gap:1px}.game-header{padding:0 10px}}
@media(max-width:370px){.game-header .game-menu-brand .logo-title{font-size:12px}.game-header .game-menu{gap:8px!important}.home-header .logo-title{font-size:18px}}

/* Turn and harvest feedback: motion respects the device preference. */
.end-turn-highlight:not(:disabled){animation:end-turn-glow 2.4s ease-in-out infinite;position:relative}
@keyframes end-turn-glow{0%,100%{box-shadow:0 0 0 0 #d6b24f00}50%{box-shadow:0 0 0 4px #d6b24f65,0 0 22px #d6b24f35}}
.material-gain{position:fixed;z-index:1100;pointer-events:none;display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:22px;background:#fff9e6;color:#244c42;border:2px solid var(--resource);font:bold 20px system-ui;box-shadow:0 4px 20px #082b3430;transform:translate(-50%,-100%);animation:material-rise 2.1s ease-out both}
.material-gain .resource-glyph{color:var(--resource);width:22px;height:25px;display:inline-flex}
.material-gain svg{width:100%;height:100%}
@keyframes material-rise{0%{opacity:0;transform:translate(-50%,0) scale(.6)}18%{opacity:1;transform:translate(-50%,-100%) scale(1.12)}32%,75%{opacity:1;transform:translate(-50%,-115%) scale(1)}100%{opacity:0;transform:translate(-50%,-170%) scale(.95)}}
.turn-arrival{position:fixed;z-index:1050;top:90px;left:50%;pointer-events:none;padding:13px 32px;background:#173f42;color:#fff0b7;border:1px solid #d6b24f;border-radius:40px;font:600 24px Georgia,serif;box-shadow:0 8px 30px #082b3440;animation:turn-arrival 2.4s ease both;transform:translateX(-50%)}
@keyframes turn-arrival{0%{opacity:0;transform:translate(-50%,-16px) scale(.92)}15%,80%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px)}}
.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}
@media(prefers-reduced-motion:reduce){.end-turn-highlight:not(:disabled){animation:none;box-shadow:0 0 0 3px #d6b24f80}.material-gain,.turn-arrival{animation:none}}
