:root{color-scheme:dark;--bg:#111c1c;--surface:#172424;--surface2:#1c2b2a;--line:#ffffff12;--text:#eae8dc;--muted:#93a39c;--green:#aacfb6;--gold:#cdb589;--display:Georgia,'Songti SC','STSong',serif;--body:'Avenir Next','PingFang SC','Microsoft YaHei',sans-serif;--white:#cfdcdb;--blue:#71b9de;--red:#d68786;--black:#a1a9c0}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:14px;line-height:1.6}body:has(dialog[open]){overflow:hidden}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}button:disabled{cursor:default;opacity:.38}button:not(:disabled),a{transition:background .2s,color .2s,border-color .2s,transform .2s}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #cbdcc0;outline-offset:4px}a{color:var(--green);text-decoration:none}button:not(:disabled):active{transform:translateY(1px)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--display)}.muted{color:var(--muted);line-height:1.9}.centered{text-align:center}.full{width:100%}.gem{width:32px;height:32px;display:block;flex:none}.site-header{height:100px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 56px;gap:28px}.brand{display:flex;gap:12px;align-items:center;text-align:left;padding:0}.brand>.gem{height:42px;width:42px}.brand>span{font-family:var(--display);font-size:23px;letter-spacing:3px;line-height:1.25}.brand small{display:block;font-family:var(--body);font-size:9px;font-weight:400;letter-spacing:4px;margin-top:5px;color:#a7b8ad}.site-header nav{display:flex;align-items:center;gap:36px;margin-left:40px}.nav-link{font-size:13px;color:var(--muted);position:relative;height:100px;padding:0 2px}.nav-link.active{color:var(--text)}.nav-link.active:after{content:'';position:absolute;width:22px;height:2px;background:var(--green);bottom:0;left:calc(50% - 11px)}.nav-link span{margin-left:8px;color:#62766c}.header-right{display:flex;gap:25px;align-items:center}.edition{font-size:9px;letter-spacing:2px;color:#7c9588}.icon-button{display:inline-grid;place-items:center;border:1px solid var(--line);width:34px;height:34px;border-radius:50%;font-size:18px;color:var(--muted)}.icon-button:hover{background:#ffffff0a;color:var(--text)}.home{max-width:1328px;padding:0 56px;margin:auto}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:480px;position:relative;align-items:center;padding:45px 0 36px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:500;color:var(--green);display:flex;align-items:center;gap:10px}.eyebrow>span:empty{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%}.hero h1{font-size:68px;line-height:1.25;letter-spacing:3px;margin:25px 0 23px;font-weight:400}.hero h1>span{color:var(--green)}.hero-description{color:#a5b3a9;font-size:14px;line-height:2.05;letter-spacing:.5px}.hero-meta{display:flex;align-items:center;gap:17px;font-size:11px;color:#8c9d94;margin-top:31px}.hero-meta i{height:12px;width:1px;background:#ffffff19}.hero-art{height:410px;position:relative;background:radial-gradient(ellipse at 50% 50%,#29524535,transparent 65%)}.orbit{position:absolute;border:1px solid #a9c1aa12;border-radius:50%;transform:rotate(-25deg)}.orbit-one{width:410px;height:285px;top:56px;left:35px}.orbit-two{width:270px;height:385px;top:10px;left:115px;transform:rotate(37deg)}.orbit:after{content:'';position:absolute;width:4px;height:4px;background:#b9ccaa;border-radius:50%;top:40px;left:50px;box-shadow:0 0 10px #d6ddb5}.float-gem{position:absolute;filter:drop-shadow(0 30px 23px #0006);animation:float 8s ease-in-out infinite}.float-gem .gem{width:100%;height:100%}.gem-main{width:225px;height:225px;top:75px;left:143px;transform:rotate(-12deg)}.gem-blue{width:100px;height:100px;top:34px;left:64px;transform:rotate(14deg);animation-delay:-3s}.gem-red{width:95px;height:95px;right:28px;top:192px;transform:rotate(19deg);animation-delay:-6s}.gem-white{width:68px;height:68px;top:281px;left:82px;transform:rotate(-20deg);animation-delay:-5s}.gem-gold{width:50px;height:50px;top:7px;right:66px;transform:rotate(-9deg);animation-delay:-1s}.art-caption{position:absolute;top:15px;left:205px;font-size:8px;letter-spacing:2px;line-height:1.7;color:#789082}.art-cross{position:absolute;color:#829378;font-size:21px;font-weight:200}.cross-one{left:2px;top:205px}.cross-two{right:18px;top:50px}.art-number{position:absolute;right:90px;bottom:11px;font-size:64px;font-family:var(--display);font-style:italic;color:#b3bb9455;line-height:1}.art-number small{font-family:var(--body);font-style:normal;display:block;font-size:8px;color:#92a48d;letter-spacing:2px;margin-top:11px}.art-note{position:absolute;bottom:17px;left:15px;font-size:9px;letter-spacing:3px;color:#728779}.play-section{margin-top:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.section-heading h2{font-family:var(--body);font-size:17px;letter-spacing:1px}.section-heading h2 span{font-size:8px;letter-spacing:2px;color:#718a7e;margin-left:16px;font-weight:400}.text-button{color:var(--green);padding:3px 0;font-size:12px}.text-button:not(:disabled):hover{color:#e6f4d9}.play-options{display:grid;grid-template-columns:1fr 1fr;gap:22px}.play-option{position:relative;display:flex;gap:23px;text-align:left;overflow:hidden;padding:31px 30px 27px;border:1px solid #a9cfa722;border-radius:7px;background:#1b2d29}.play-option:hover{border-color:#aacfb67a;background:#20372f}.play-option.practice{background:#202b29;border-color:#b9b69425}.play-option.practice:hover{border-color:#c5ba8577;background:#2a342e}.option-icon{font-size:28px;color:var(--green);width:51px;height:51px;display:grid;place-items:center;border:1px solid #bbdab51c;background:#b5d4b008;border-radius:50%;flex:none}.practice .option-icon{color:#cbbf9a;border-color:#cbbf9a26}.option-content{position:relative;display:flex;flex-direction:column;z-index:1}.overline{font-size:8px;letter-spacing:2px;color:#8fa78e;margin-bottom:9px}.option-content strong{font-family:var(--display);font-size:22px;letter-spacing:1px;font-weight:400;color:#e5e8d7}.option-content>span:not(.overline){font-size:11px;color:#94a99c;margin-top:8px;line-height:1.8}.option-content em{font-style:normal;font-size:12px;color:#c0d9ba;margin-top:22px}.option-content em b{margin-left:22px;font-size:17px;font-weight:400}.practice .option-content em{color:#d0c6a8}.card-watermark{position:absolute;font-size:190px;line-height:1;right:-25px;bottom:-47px;transform:rotate(-18deg);opacity:.025}.join-strip{display:flex;align-items:center;justify-content:center;gap:15px;margin:22px 0 32px;font-size:11px;color:#8c9c91}.join-strip .text-button{font-size:11px}.join-strip .text-button span{margin-left:8px}.join-note{margin-left:12px;padding-left:26px;border-left:1px solid #ffffff12;color:#718679;font-size:10px}.steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.steps>div{display:flex;align-items:flex-start;gap:20px}.steps>div>span{font-family:var(--display);font-style:italic;color:#78918388;font-size:32px;line-height:1.2}.steps strong{font-size:12px;font-weight:400;letter-spacing:1px}.steps small{display:block;color:#819689;font-size:10px;margin-top:5px}footer{padding:26px 0 30px;display:flex;justify-content:space-between;color:#819487;font-size:10px}footer small{font-size:9px;color:#637d6e}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:11px 23px;border-radius:4px;font-size:12px;letter-spacing:.3px}.button.primary{background:#b6cfb3;color:#1b3024;border:1px solid #b6cfb3}.button.primary:not(:disabled):hover{background:#cce0c1;border-color:#cce0c1}.button.secondary{border:1px solid #b9cfb333;color:#c4d5ba;background:#b6cfb307}.button.secondary:not(:disabled):hover{background:#b6cfb312}.loading{height:100vh;display:grid;align-content:center;justify-content:center;text-align:center;font-size:40px;color:var(--green)}.loading p{font-size:14px;letter-spacing:1px}.connection{font-size:10px;color:#b9936e;display:flex;align-items:center;gap:6px;white-space:nowrap}.connection i{display:block;width:5px;height:5px;border-radius:50%;background:currentColor}.connection.online{color:#9abea1}.lobby{max-width:920px;margin:50px auto;padding:0 36px;text-align:center}.lobby>.text-button{display:block;margin-bottom:48px}.lobby>.eyebrow{justify-content:center}.lobby h1{font-size:44px;margin:15px 0 14px}.room-code{position:relative;display:block;margin:32px auto 38px;border:1px solid #b9d0a928;border-radius:8px;padding:20px 65px;background:#b9d0a907}.room-code small{display:block;font-size:10px;color:#94a990;letter-spacing:1px}.room-code strong{font-family:var(--display);display:block;font-size:44px;letter-spacing:10px;font-weight:400;color:#cddbb9;margin-top:6px}.room-code>span{position:absolute;right:24px;bottom:34px;color:#849978}.lobby-seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px}.seat{background:#162322;border:1px dashed #bad3af24;min-height:200px;border-radius:7px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px}.seat.occupied{border-style:solid;background:#1c2b27}.avatar{width:39px;height:39px;border:1px solid #a4b49432;background:#4b614344;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:18px;color:#d0d9b6;flex:none}.avatar.a1{background:#44616b44;color:#a4cad4;border-color:#8aa9b832}.avatar.a2{background:#78544d44;color:#dcb0a6;border-color:#ba9a8a32}.avatar.a3{background:#64556f44;color:#bdacd0;border-color:#a996b832}.seat .avatar{width:58px;height:58px;font-size:26px;margin-bottom:5px}.seat>strong{font-weight:500;font-size:13px}.seat>span{font-size:11px;color:var(--muted)}.lobby-actions{display:flex;justify-content:center;gap:14px;margin:32px 0 17px}.lobby-help{color:#718a7a;font-size:11px}.waiting-text{color:var(--green)}.game{max-width:1440px;margin:0 auto;padding:27px 48px 35px}.game-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.game-heading .eyebrow{font-size:8px;letter-spacing:2px;color:#8fa88e}.game h1{font-size:27px;letter-spacing:1px;margin-top:5px}.game h1>span{font-size:10px;font-family:var(--body);color:#99ad9a;border-left:1px solid #ffffff20;margin-left:16px;padding-left:16px;letter-spacing:0}.game-heading-right{display:flex;gap:23px;align-items:center}.room-pill{font-size:10px;color:#b2c2a7;letter-spacing:1px;padding:7px 13px;border:1px solid var(--line);border-radius:4px}.game-heading-right>.text-button{font-size:10px;color:#879d8d}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:28px}.turn-banner{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;background:#1a2927;border:1px solid #c3d4ae14;border-radius:5px;font-size:11px;margin-bottom:23px;gap:12px}.turn-banner>div{display:flex;align-items:center;gap:10px}.turn-banner strong{font-size:12px;font-weight:500;white-space:nowrap}.turn-banner>div>span:last-child{color:#89a08e;font-size:10px}.turn-indicator{width:6px;height:6px;background:#687f6e;border-radius:50%;flex:none}.your-turn{background:#283a2b;border-color:#bbd6a52b}.your-turn .turn-indicator{background:#b6d6a6;box-shadow:0 0 8px #aec68a44}.your-turn strong{color:#c6ddb5}.round-number{color:#8aa088;font-size:10px;white-space:nowrap}.round-number b{font-size:16px;color:#bbceac;font-family:var(--display);font-weight:400;margin:0 4px}.table-label{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;font-size:11px;color:#bccbb6;letter-spacing:.5px}.table-label small{color:#738d7b;font-size:9px;letter-spacing:0}.nobles-row{display:flex;gap:12px;margin-bottom:23px}.noble{display:flex;align-items:center;gap:12px;border:1px solid #c3bb9826;border-radius:5px;background:linear-gradient(115deg,#30372a,#212c26);padding:12px;flex:1;min-width:0;text-align:left;overflow:hidden}.noble:hover{border-color:#cab87965}.noble.eligible{border-color:#b4d89c}.noble-portrait{font-size:40px;line-height:1;color:#c0b48a;filter:drop-shadow(0 3px 4px #0005)}.noble-title{font-size:10px;color:#c1c9ac;display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:8px}.noble-title>span{font-size:17px;line-height:1;font-family:var(--display);color:#dbd1a9;white-space:nowrap}.noble-title small{font-size:8px;font-family:var(--body)}.costs{display:flex;gap:5px;align-items:center}.cost-chip{--chip:#8aab9f;display:inline-flex;align-items:center;justify-content:center;gap:1px;min-width:24px;height:23px;padding:0 3px;border:1px solid #ffffff22;background:#122323aa;border-radius:4px;color:#edf0dd;flex:none;position:relative}.cost-chip .gem{width:15px;height:15px}.cost-chip b{font-size:11px;font-weight:500;line-height:1}.cost-chip.white{--chip:#d4e3de}.cost-chip.blue{--chip:#6da8be}.cost-chip.red{--chip:#c4817c}.cost-chip.green{--chip:#7eb394}.cost-chip.black{--chip:#b2adc5}.cost-chip.gold{--chip:#c5ab72}.cost-chip{border-bottom:2px solid var(--chip)}.cost-chip.met{box-shadow:0 0 0 1px #bfd69b66}.market-row{display:grid;grid-template-columns:46px repeat(4,minmax(0,1fr));gap:12px;margin-bottom:13px}.deck{position:relative;border:1px solid #a3b59435;border-radius:5px;background:repeating-linear-gradient(45deg,#81997608 0px,#81997608 1px,transparent 1px,transparent 5px),#1f302a;display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:156px;box-shadow:3px 2px 0 #15201e,4px 3px 0 #6c876d33;color:#aac29b}.tier-2 .deck{background-color:#37352a;color:#c6b687;border-color:#bdac7b3a}.tier-3 .deck{background-color:#27343b;color:#a2b5ca;border-color:#a2b5ca3a}.deck>span{letter-spacing:2px;font-size:9px}.deck>div{font-size:30px;font-family:var(--display);line-height:1.9}.deck b{font-family:var(--display);font-size:17px;font-weight:400}.deck small{font-size:8px;opacity:.5;margin-top:3px}.development{--art:#50967d;position:relative;min-width:0;min-height:156px;border:1px solid #6398805c;border-radius:6px;overflow:hidden;background:radial-gradient(ellipse at 65% 20%,color-mix(in srgb,var(--art) 38%,transparent),transparent 75%),#1e2f2a;display:flex;flex-direction:column;text-align:left;padding:0;box-shadow:0 4px 6px #0002;isolation:isolate}.development.blue{--art:#5186aa;background-color:#202e38;border-color:#6293b852}.development.white{--art:#aeb7a2;background-color:#303930;border-color:#a1b19a52}.development.red{--art:#b37570;background-color:#3c2e2c;border-color:#b08a7852}.development.black{--art:#8d88a4;background-color:#2c2b36;border-color:#a7a1bf52}.development:not(:disabled):hover{transform:translateY(-3px);border-color:#d5d9b6aa;box-shadow:0 6px 15px #0004}.development.affordable{box-shadow:0 0 0 1px #b4d6a744,0 4px 8px #0003}.development:disabled{opacity:1}.card-top{display:flex;align-items:center;justify-content:space-between;z-index:2;padding:9px 11px 0}.prestige{font-family:var(--display);font-size:31px;color:#f3efdb;line-height:1;text-shadow:0 2px 4px #0003}.prestige i{color:#dce8ce55;font-style:normal}.bonus-gem{background:#0003;border:1px solid #e2f0d930;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.bonus-gem .gem{width:24px;height:24px}.card-art{position:absolute;top:8px;left:15%;width:70%;height:114px;display:grid;place-items:center;z-index:-1;overflow:hidden}.card-art>.gem{width:89px;height:89px;transform:rotate(-12deg);opacity:.85;filter:drop-shadow(0 8px 8px #0004)}.card-halo{width:99px;height:99px;border:1px solid #f3ffe716;border-radius:50%;position:absolute;transform:rotate(-20deg)}.card-halo:before{content:'';position:absolute;inset:10px -22px;border:1px solid #e0f4df12;border-radius:50%;transform:rotate(-35deg)}.art-rays{position:absolute;background:repeating-conic-gradient(from 20deg at 50% 50%,#e8f9e003 0deg,#e8f9e003 1deg,transparent 1deg,transparent 22deg);width:200px;height:200px;border-radius:50%}.card-bottom{margin-top:auto;padding:9px 9px 7px;background:linear-gradient(transparent,#0e1b1bd9 26%);padding-top:28px}.card-bottom .costs{gap:4px;flex-wrap:wrap}.card-label{display:block;color:#a6b7a8;font-size:8px;letter-spacing:.3px;margin-top:5px}.affordable .card-label{color:#c7dfab}.bank{margin-top:23px;padding:17px 19px 0;border:1px solid #a6c29d1c;border-radius:6px;background:#182824}.token-row{display:flex;align-items:start;justify-content:space-around;gap:10px;padding:4px 2px 13px}.token-button{display:flex;flex-direction:column;align-items:center;position:relative;opacity:1!important;min-width:0;padding:5px}.token-disc{width:61px;height:61px;border-radius:50%;border:1px solid #b6d7be70;background:radial-gradient(circle at 35% 20%,#386c57,#142f27);box-shadow:0 3px 0 #0e1a18,0 4px 0 #456b4f,0 7px 8px #0003;display:grid;place-items:center;position:relative;transition:transform .2s}.token-button.white .token-disc{border-color:#b5c1b87a;background:radial-gradient(circle at 35% 20%,#788f84,#384e45);box-shadow:0 3px 0 #1d3026,0 4px 0 #a0ad94,0 7px 8px #0003}.token-button.blue .token-disc{border-color:#91b5d079;background:radial-gradient(circle at 35% 20%,#3a7599,#20354a);box-shadow:0 3px 0 #13212d,0 4px 0 #4b708c,0 7px 8px #0003}.token-button.red .token-disc{border-color:#b988787a;background:radial-gradient(circle at 35% 20%,#8d554f,#432c2d);box-shadow:0 3px 0 #2d1c1b,0 4px 0 #866158,0 7px 8px #0003}.token-button.black .token-disc{border-color:#9d9bae7a;background:radial-gradient(circle at 35% 20%,#626478,#2d3042);box-shadow:0 3px 0 #1c1d29,0 4px 0 #616074,0 7px 8px #0003}.token-button.gold .token-disc{border-color:#d7b8716a;background:radial-gradient(circle at 35% 20%,#877548,#443b25);box-shadow:0 3px 0 #2e2c17,0 4px 0 #8e7d50,0 7px 8px #0003}.token-disc:before{content:'';position:absolute;inset:5px;border:1px dashed #e9f1cc35;border-radius:50%}.token-disc>.gem{width:37px;height:37px;filter:drop-shadow(0 2px 2px #0003)}.stock{position:absolute;right:-3px;bottom:-3px;width:22px;height:22px;border:1px solid #93a68566;background:#172921;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:500;color:#d7e2c6}.token-button>span{font-size:10px;color:#c1ccb7;margin-top:11px}.token-button>small{font-size:8px;color:#788f7c;margin-top:2px}.token-button:not(:disabled):hover .token-disc{transform:translateY(-4px)}.token-button:disabled:not(.gold){filter:saturate(.6)}.token-button.selected .token-disc{outline:2px solid #c5dbb3;outline-offset:4px;transform:translateY(-4px)}.selection-count{position:absolute;top:-10px;right:-6px;width:23px;height:23px;background:#c3d7af;color:#263b28;border-radius:50%;font-size:11px;display:grid;place-items:center}.bank-action{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;color:#819980;font-size:10px}.bank-action>div{display:flex;align-items:center;gap:18px}.bank-action .button{min-height:35px;padding:7px 18px;font-size:10px}.bank-action>.text-button{font-size:10px}.board-note{font-size:9px;color:#7b947f;margin-top:15px;display:flex;justify-content:space-between;gap:10px}.board-note .text-button{font-size:9px;color:#78937a}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;color:#c1cdb7;font-size:11px;letter-spacing:.5px;margin-bottom:12px}.sidebar-heading>span{color:#7a927f;font-size:9px;letter-spacing:0}.player-panel{background:#192825;border:1px solid #b4c8a516;border-radius:6px;margin-bottom:12px;padding:14px}.player-panel.is-turn{border-color:#a9c89b60;background:#213225}.player-panel.self:not(.is-turn){border-color:#a9c89b35}.player-heading{display:flex;align-items:center;gap:10px}.player-name{flex:1;min-width:0}.player-name>strong{display:block;font-size:12px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.player-name>strong small{font-size:8px;color:#afc29f;background:#bedba00c;border:1px solid #bedba030;padding:0 4px;border-radius:3px;margin-left:3px}.player-name>span{font-size:9px;color:#7d9781}.is-turn .player-name>span{color:#bbd2a5}.player-score{font-size:28px;font-family:var(--display);color:#d7dbbb;line-height:1;white-space:nowrap}.player-score>small{font-size:10px;color:#7a9279;font-family:var(--body);margin-left:3px}.score-track{height:2px;background:#98b78a15;margin:13px 0}.score-track i{display:block;background:#b2cc8b;height:100%;transition:width .4s}.holdings{display:flex;align-items:center;justify-content:space-between;gap:3px;margin:7px 0}.holdings>span:first-child{font-size:9px;color:#7d967f;min-width:23px}.holdings .cost-chip{padding:0 2px;min-width:28px;height:24px;gap:1px;background:#1020195c;border-color:#ffffff0c;border-bottom-color:var(--chip)}.holdings .cost-chip .gem{width:13px;height:13px}.holdings .cost-chip b{font-size:10px}.bonus-row .cost-chip{background:#9cad9008;border-style:dashed;border-bottom-style:solid}.noble-count{width:28px;font-size:10px;color:#bbaa7b;white-space:nowrap}.player-foot{display:flex;justify-content:space-between;border-top:1px solid #b8c9a80a;padding-top:8px;margin-top:10px;font-size:9px;color:#7e9681}.player-foot button{padding:0;color:#93ac8d;font-size:9px}.reserved-panel{margin-top:22px}.reserved-cards{display:flex;gap:7px}.reserved-empty{border:1px dashed #adcd9326;border-radius:5px;text-align:center;width:100%;padding:13px 5px;color:#78916d;font-size:25px}.reserved-empty p{font-size:9px;color:#8ba182;margin:3px 0}.reserved-empty small{display:block;font-size:8px;color:#5e7d65}.small-card{flex:1;min-height:116px;max-width:100px}.small-card .card-top{padding:6px}.small-card .prestige{font-size:21px}.small-card .bonus-gem{width:22px;height:22px}.small-card .bonus-gem .gem{width:17px;height:17px}.small-card .card-art{height:83px;left:8%;width:84%}.small-card .card-art>.gem{width:55px;height:55px}.small-card .card-halo{width:63px;height:63px}.small-card .costs{gap:2px}.small-card .cost-chip{height:18px;min-width:20px;padding:0 2px}.small-card .cost-chip .gem{width:11px;height:11px}.small-card .cost-chip b{font-size:9px}.small-card .card-bottom{padding:21px 5px 5px}.small-card .card-label{font-size:7px}.activity{margin-top:24px}.activity-list{max-height:228px;overflow:auto;scrollbar-width:thin;scrollbar-color:#506847 #13231b}.activity-list p{font-size:9px;color:#8ca286;margin-bottom:12px;line-height:1.8;display:flex;gap:10px}.activity-list p>span{font-family:var(--display);color:#5a745c;flex:none}.empty-card{align-items:center;justify-content:center;background:none;border:1px dashed #b4c9a322;box-shadow:none;color:#7b9378;font-size:10px}.modal{border:1px solid #b5c7a82e;border-radius:10px;background:#192825;color:var(--text);width:min(540px,calc(100vw - 32px));max-height:90dvh;padding:34px;box-shadow:0 40px 100px #0009;overflow:auto;scrollbar-width:thin;scrollbar-color:#687d59 #192825}.modal::backdrop{background:#071311ba;backdrop-filter:blur(7px)}.modal-close{position:absolute;top:18px;right:18px}.modal>.eyebrow{font-size:9px;letter-spacing:2px;margin:4px 35px 12px 0}.modal>h2{font-size:28px;line-height:1.4;margin-bottom:15px;letter-spacing:.5px}.modal>.muted{font-size:12px;margin-bottom:21px}.modal label{display:block;font-size:11px;color:#bacbb0;margin:20px 0 9px}.modal input{display:block;width:100%;margin-top:9px;background:#11211c;border:1px solid #aac59e33;border-radius:4px;padding:12px 14px;color:#e0e9ce;outline-offset:2px;font-size:13px;min-height:46px}.modal input::placeholder{color:#5f7b67}.code-input{font-family:var(--display)!important;font-size:23px!important;letter-spacing:5px;text-transform:uppercase}.capacity-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0 23px}.capacity-options button{border:1px solid #a1ba9430;background:#12211a44;border-radius:5px;padding:12px 5px;font-size:18px;font-family:var(--display);color:#a9c097}.capacity-options button small{display:block;font-family:var(--body);font-size:9px;color:#738e72;margin-top:5px}.capacity-options button.chosen{background:#9dbb8520;border-color:#b5d09290;color:#dce8c0}.capacity-options button.chosen small{color:#abc697}#form-error{font-size:11px;color:#d79e86;margin:10px 0}.rules-list{display:flex;flex-direction:column;gap:22px;margin:26px 0}.rules-list article{display:flex;gap:18px}.rules-list article>b{font-size:25px;font-family:var(--display);font-style:italic;color:#93ac7f80;min-width:28px;font-weight:400;line-height:1.2}.rules-list h3{font-size:13px;color:#cedabb;margin-bottom:6px}.rules-list p{font-size:11px;color:#99ad91;line-height:1.9}.source-link{font-size:10px;display:inline-block;padding-top:16px;border-top:1px solid var(--line);width:100%}.card-detail{display:flex;gap:26px;align-items:center;margin:22px 0}.card-detail>.development{width:166px;height:191px;flex:none}.card-detail .card-art{top:29px}.card-detail>div>p{font-size:11px;line-height:1.8;color:#abbc9e;margin:8px 0}.card-detail>div>p.detail-prestige{font-size:41px;font-family:var(--display);color:#d2dab5}.detail-prestige small{font-size:10px;font-family:var(--body);margin-left:10px;color:#a7b393}.payment{background:#12221b77;border:1px solid #b7cea31a;border-radius:5px;padding:15px;margin:20px 0}.payment-chips{display:flex;gap:8px;min-height:26px;align-items:center}.payment-chips .cost-chip{min-width:38px;height:29px;gap:4px}.payment-chips .cost-chip .gem{width:19px;height:19px}.payment>.muted{font-size:10px;margin-top:9px}.payment details{font-size:10px;color:#90a784;margin-top:13px}.payment summary{cursor:pointer}.payment details>.muted{font-size:10px;margin-top:9px}.pay-row{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.pay-row>span{display:flex;align-items:center;gap:8px}.pay-row .icon-button{width:26px;height:26px;margin-left:4px;font-size:14px}.modal-actions{display:flex;gap:12px;margin-top:23px;align-items:center}.modal-actions>.button{flex:1}.modal-actions+.muted{font-size:10px;margin-top:13px}.free-label{font-size:11px;color:#d2e0ae}.mystery-gem{width:100px;height:100px;margin:25px auto;filter:drop-shadow(0 10px 18px #be9b4444)}.mystery-gem>.gem{width:100%;height:100%}.discard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.discard-token{padding:13px 10px;border:1px solid #b6c69f28;border-radius:6px;display:flex;flex-direction:column;align-items:center;background:#12221b55;gap:5px}.discard-token>.gem{width:40px;height:40px}.discard-token>strong{font-size:11px;font-weight:400}.discard-token>small{font-size:9px;color:var(--muted)}.discard-token>b{font-size:10px;color:var(--green);font-weight:400}.discard-token.chosen{border-color:#b0ce90;background:#9ab7861a}.noble-choices{display:flex;flex-direction:column;gap:14px}.noble-choices>div{display:flex;gap:13px}.noble-choices .button{padding:8px 15px;font-size:10px}.modal-noble-info>.noble{width:100%;margin:25px 0}.noble-progress p{display:flex;gap:13px;align-items:center;border-top:1px solid #a9be950c;padding:10px 0;font-size:12px;color:#99b38a}.noble-progress b{margin-left:auto}.modal-collection{width:min(830px,calc(100vw - 32px))}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.result-crown{font-size:72px;color:#d0be8c;text-align:center;margin-top:10px}.results{margin:26px 0}.results>div{display:flex;align-items:center;gap:18px;padding:13px 5px;border-bottom:1px solid var(--line)}.results>div>b{font-family:var(--display);font-size:22px;color:#94ac7c;font-weight:400}.results strong{font-size:12px;font-weight:400;flex:1}.results small{font-size:10px;color:#86a077}.results>div>span{font-family:var(--display);font-size:26px;min-width:58px;text-align:right}.results>div>span small{font-family:var(--body);font-size:10px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,14px);border:1px solid #c2d4ad45;background:#2c4133;color:#e0e9ce;box-shadow:0 10px 30px #0005;padding:13px 23px;border-radius:6px;max-width:calc(100vw - 32px);font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -12px}}
@media(min-width:1500px){.hero{min-height:530px}.hero h1{font-size:77px}.hero-art{transform:scale(1.07)}.market-row{gap:15px}.development{min-height:165px}.deck{min-height:165px}.small-card{min-height:116px}.card-detail>.development{min-height:191px}}
@media(max-width:1200px){.site-header{padding:0 32px;height:85px}.nav-link{height:85px}.home{padding:0 38px}.hero h1{font-size:61px}.hero-art{scale:.9;transform-origin:center right}.hero{min-height:465px}.play-option{padding:24px 23px;gap:17px}.option-content strong{font-size:20px}.option-content>span:not(.overline){max-width:300px}.game{padding:24px}.game-layout{gap:20px;grid-template-columns:minmax(0,1fr) 270px}.market-row{gap:9px;grid-template-columns:37px repeat(4,minmax(0,1fr))}.development,.deck{min-height:144px}.card-bottom{padding-left:6px;padding-right:6px}.card-bottom .costs{gap:3px}.cost-chip{min-width:22px;padding:0 2px}.cost-chip .gem{width:12px}.noble{gap:8px;padding:9px}.noble-portrait{font-size:30px}.noble-title{gap:8px}.nobles-row{gap:8px}.noble-title small{display:none}.turn-banner>div>span:last-child{display:none}.sidebar .holdings .cost-chip{min-width:26px}.small-card{min-height:116px}.card-detail>.development{min-height:191px}.token-disc{width:55px;height:55px}.token-disc>.gem{width:32px;height:32px}}
@media(max-width:960px){.edition{display:none}.hero-art{scale:.77;margin-left:-50px;transform-origin:center right}.hero h1{font-size:54px}.hero-meta{font-size:10px;gap:10px}.hero{min-height:435px;padding:20px 0}.play-option{gap:13px;padding:22px 19px}.option-icon{width:38px;height:38px;font-size:24px}.option-content strong{font-size:17px}.overline{font-size:7px}.option-content>span:not(.overline){font-size:10px}.section-heading h2 span{display:none}.steps{gap:20px}.steps>div{gap:13px}.steps small{font-size:9px}.game-layout{grid-template-columns:minmax(0,1fr)}.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sidebar>.sidebar-heading{grid-column:1/-1;margin:8px 0 0}.player-panel{margin:0}.reserved-panel,.activity{margin-top:8px}.player-panel .holdings{justify-content:flex-start;gap:8px}.player-panel .holdings>span:first-child{margin-right:6px}.player-panel .holdings .cost-chip{flex:1}.development,.deck{min-height:161px}.small-card{min-height:116px}.noble-title small{display:inline}.noble{padding:12px}.card-bottom .cost-chip{min-width:26px}.game-heading{margin-bottom:18px}.card-art>.gem{width:94px;height:94px}.card-art{height:120px}.token-disc{width:63px;height:63px}.market-row{grid-template-columns:43px repeat(4,minmax(0,1fr));gap:12px}.card-detail>.development{min-height:191px}}
@media(max-width:640px){.site-header{height:76px;padding:0 20px;gap:13px}.brand{gap:8px}.brand>.gem{width:32px;height:32px}.brand>span{font-size:17px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:3px;margin-top:3px}.site-header nav{margin:0;gap:18px}.nav-link{font-size:10px;height:76px}.nav-link span{display:none}.nav-link:first-child{display:none}.header-right{gap:8px}.icon-button{width:29px;height:29px;font-size:15px}.connection{font-size:8px}.home{padding:0 23px}.hero{grid-template-columns:1fr;padding:38px 0 12px;min-height:0}.hero-copy{z-index:1}.hero h1{font-size:53px;line-height:1.3;margin:21px 0 18px}.hero-description{font-size:12px}.hero>.hero-copy>.eyebrow{font-size:8px;letter-spacing:2px}.hero-meta{margin-top:23px;gap:11px;font-size:9px}.hero-art{position:absolute;right:-2px;top:82px;width:300px;height:350px;scale:.57;transform-origin:right top;opacity:.57;pointer-events:none}.gem-main{left:75px}.gem-blue{left:12px}.gem-red{right:-46px}.gem-white{left:13px}.gem-gold{right:0}.orbit-one{width:310px;left:-10px}.orbit-two{width:230px;left:29px}.art-caption,.art-number,.art-note,.art-cross{display:none}.hero-copy h1,.hero-copy .hero-description{max-width:245px}.hero-copy .hero-description{position:relative}.play-section{margin-top:35px}.section-heading{margin-bottom:16px}.section-heading h2{font-size:15px;letter-spacing:0}.section-heading .text-button{font-size:10px}.play-options{grid-template-columns:1fr;gap:13px}.play-option{padding:22px 20px;gap:18px}.option-content strong{font-size:20px}.option-content>span:not(.overline){max-width:245px;font-size:10px}.option-icon{width:43px;height:43px}.option-content em{margin-top:16px;font-size:11px}.overline{font-size:7px}.join-strip{margin:22px 0 28px;flex-wrap:wrap;gap:5px 12px;font-size:10px}.join-note{width:100%;margin:3px 0 0;padding:0;border:0;text-align:center;font-size:9px}.steps{grid-template-columns:1fr;gap:21px;padding:23px 0}.steps>div{gap:18px;align-items:center}.steps>div>span{font-size:29px}.steps strong{font-size:11px}.steps small{font-size:10px;margin-top:3px}footer{flex-direction:column;gap:10px;padding:22px 0;font-size:9px}footer small{font-size:8px}.lobby{margin:25px auto;padding:0 22px}.lobby>.text-button{margin-bottom:35px}.lobby h1{font-size:34px}.lobby>.muted{font-size:12px}.room-code{padding:16px 43px;margin:27px auto}.room-code strong{font-size:34px;letter-spacing:7px}.room-code small{font-size:9px}.room-code>span{right:15px;bottom:27px}.lobby-seats{grid-template-columns:repeat(2,1fr);gap:10px}.seat{min-height:171px}.game{padding:20px 12px 30px}.game-heading{margin-bottom:17px;padding:0 3px;align-items:end}.game h1{font-size:21px;letter-spacing:.5px}.game h1>span{font-size:8px;padding-left:8px;margin-left:8px}.game-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.game-heading-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.room-pill{padding:3px 6px;font-size:8px;letter-spacing:.5px}.game-heading-right>.text-button{font-size:8px}.game-layout{gap:17px}.turn-banner{padding:11px 12px;margin-bottom:18px}.turn-banner strong{font-size:11px}.turn-banner .text-button{font-size:10px}.round-number{font-size:8px}.round-number b{font-size:14px}.table-label{font-size:10px;margin-bottom:10px}.table-label small{font-size:8px}.nobles-row{gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:15px;scrollbar-width:thin}.noble{flex:none;min-width:108px;padding:8px;gap:7px;flex-direction:column;align-items:flex-start;position:relative}.noble-portrait{font-size:25px;position:absolute;right:6px;top:6px;opacity:.23}.noble-title{font-size:8px;margin-bottom:8px;gap:17px}.noble-title>span{font-size:15px}.noble-title small{display:none}.noble .costs{gap:4px}.noble .cost-chip{height:20px;min-width:24px;padding:0 3px}.noble .cost-chip b{font-size:10px}.market-row{grid-template-columns:25px repeat(4,minmax(0,1fr));gap:6px;margin-bottom:9px}.development,.deck{min-height:120px;border-radius:4px}.card-top{padding:6px 5px 0}.prestige{font-size:23px}.bonus-gem{width:23px;height:23px}.bonus-gem .gem{width:18px;height:18px}.card-art{width:100%;height:85px;top:7px;left:0}.card-art>.gem{width:61px;height:61px}.card-halo{width:60px;height:60px}.card-bottom{padding:19px 4px 5px}.card-bottom .costs{gap:2px;min-height:19px}.card-bottom .cost-chip{min-width:24px;height:18px;padding:0 2px;gap:1px;border-radius:3px;border-bottom-width:1px}.card-bottom .cost-chip .gem{width:11px;height:11px}.card-bottom .cost-chip b{font-size:9px}.card-label{font-size:7px;letter-spacing:0;white-space:nowrap;overflow:hidden;margin-top:4px}.deck>span{font-size:7px;letter-spacing:1px}.deck>div{font-size:21px}.deck>b{font-size:14px}.deck>small{font-size:7px}.bank{margin-top:16px;padding:12px 10px 0}.bank .table-label small{font-size:7px}.token-row{gap:4px;padding:4px 0 12px;justify-content:space-between}.token-button{padding:3px 1px}.token-disc{width:43px;height:43px}.token-disc:before{inset:4px}.token-disc>.gem{width:27px;height:27px}.stock{width:18px;height:18px;font-size:9px;right:-1px;bottom:-2px}.token-button>span{font-size:8px;margin-top:10px}.token-button>small{font-size:6px;white-space:nowrap}.selection-count{width:19px;height:19px;font-size:9px}.bank-action{font-size:8px;padding:10px 0}.bank-action .button{min-height:33px;font-size:9px;padding:7px 12px;gap:13px}.bank-action .text-button{font-size:9px}.bank-action>div{gap:13px}.board-note{font-size:8px;line-height:1.8}.board-note .text-button{font-size:8px;white-space:nowrap}.sidebar{gap:10px;grid-template-columns:minmax(0,1fr)}.sidebar>.sidebar-heading{margin-top:3px;font-size:10px}.player-panel{padding:12px}.player-panel .holdings{gap:8px;justify-content:flex-start}.player-panel .holdings .cost-chip{max-width:43px;height:25px}.player-panel .holdings .cost-chip .gem{width:16px;height:16px}.player-panel .holdings .cost-chip b{font-size:11px}.player-foot,.player-foot button{font-size:9px}.player-score{font-size:29px}.reserved-cards{gap:10px}.small-card{min-height:122px;max-width:100px}.activity-list{max-height:170px}.activity-list p{font-size:10px}.modal{padding:27px 22px;max-height:90dvh}.modal>h2{font-size:25px;margin-right:12px}.modal>.eyebrow{font-size:8px;letter-spacing:1.8px}.modal>.muted{font-size:11px}.modal-close{top:15px;right:15px}.card-detail{gap:19px}.card-detail>.development{width:133px;height:174px;min-height:174px}.card-detail .card-art{height:103px;top:23px}.card-detail .card-art>.gem{width:86px;height:86px}.card-detail .card-bottom .cost-chip{height:23px;min-width:25px}.card-detail>div>p{font-size:10px}.card-detail>div>p.detail-prestige{font-size:34px}.payment{padding:12px}.payment .sidebar-heading{font-size:10px}.payment .sidebar-heading>span{font-size:8px}.modal-actions{gap:9px}.modal-actions>.button{font-size:10px;padding:10px 13px;gap:10px}.collection-grid{grid-template-columns:repeat(3,1fr);gap:9px}.noble-choices>div{gap:9px}.noble-choices .noble{flex:1}.noble-choices .button{font-size:9px;gap:10px}.modal-noble-info .noble{min-height:73px}.modal-noble-info .noble-portrait{font-size:50px}.results>div{gap:10px}.results strong{font-size:11px}.results>div>small{font-size:8px}.rules-list p{font-size:11px}#toast{font-size:11px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The edition choice is shared by the home page and room setup. */
.variant-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}.variant-options>button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;border:1px solid #adc7b528;border-radius:6px;background:#ffffff03;padding:15px 18px}.variant-options>button.chosen{border-color:#aacfb69c;background:#accfb612;box-shadow:inset 3px 0 #aacfb6}.variant-options>button>span{font-size:15px;color:#d2dcc9}.variant-options>button>small{font-size:11px;color:var(--muted)}.variant-description{margin:12px 0 20px;color:var(--muted);font-size:11px;line-height:1.8}.modal .variant-options{margin:20px 0}.modal .variant-options>button{padding:11px 12px}.modal .variant-options>button>span{font-size:12px}.modal .variant-options>button>small{font-size:9px}@media(max-width:600px){.variant-options{gap:8px}.variant-options>button{padding:12px 11px}.variant-options>button>span{font-size:12px}.variant-options>button>small{font-size:9px}.variant-description{font-size:10px}}
