/* A bounded game viewport. Only drawers and card rows scroll, never the page. */
@font-face{font-family:GaoxiaoBrush;src:url('/fonts/gaoxiao-brush.woff2') format('woff2');font-weight:400;font-display:swap}
.gxf-online .game-calligraphy{font-family:GaoxiaoBrush,KaiTi,serif;font-weight:400}.gxf-online h1.game-calligraphy{font-size:clamp(52px,6vw,88px)}.game-motto{font-size:23px!important}.table-brand{font-size:29px;color:#f2e3be;margin-right:18px;white-space:nowrap}.gxf-online h2,.gxf-online h3,.mode-card strong,.gxf-archive-grid b{font-family:KaiTi,"STKaiti","Microsoft YaHei",serif}.gxf-online .gxf-muted{font-size:12px;color:#626959}
body.playing-gaoxiao{overflow:hidden;background:#172e29}body.playing-gaoxiao>.site-header,body.playing-gaoxiao>.site-footer,body.playing-gaoxiao>.cursor-glow,body.playing-gaoxiao>.starfield{display:none!important}
.gxf-online.in-room{position:fixed;inset:0;z-index:200;max-width:none;height:100dvh;margin:0;padding:12px 18px;background:radial-gradient(ellipse at 45% 35%,#426154,#1c3730);font-size:14px;overflow:hidden}
.in-room #room{height:100%;display:flex;flex-direction:column;gap:9px;min-height:0}.in-room .gxf-room-header{flex:none;padding:0;color:#ece4cd;gap:12px;min-height:44px}.in-room .gxf-room-header h2{color:#f7efd8;font-family:system-ui,"Microsoft YaHei",sans-serif;font-size:20px;margin:0}.in-room .gxf-room-header .gxf-eyebrow{color:#c7cfb8;font-size:10px;letter-spacing:1px}.in-room .gxf-room-tools{align-items:center;flex-direction:row}.in-room .gxf-room-tools button{color:#ece4cd;border-color:#80927d;min-height:36px;font-size:12px}.in-room .gxf-room-tools button:hover{color:#203e31;background:#e4dcc4}
.in-room .era-track{flex:none;margin:0;border-color:#7f96716b}.in-room .era-stop{padding:5px 4px;color:#b9c4ac;font-size:14px}.in-room .era-stop small{display:none}.in-room .era-stop.current{background:#e1c590;color:#20372b}.in-room .era-stop.current:after{display:none}.in-room .era-stop.past{color:#e4d2a6}
.in-room .gxf-game-grid{display:grid;flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:stretch}.in-room .table-column{display:grid;min-height:0;grid-template-rows:106px minmax(0,1fr) 190px;gap:10px}.in-room .table-caption{display:none}.in-room .gxf-players{display:flex;gap:8px;margin:0;grid-row:auto;min-height:0}.in-room .gxf-player{flex:1;padding:9px 12px;background:#f3eedc;position:relative;overflow:hidden}.in-room .gxf-player.active{border:2px solid #dbb863;box-shadow:0 0 16px #d9b55455}.in-room .gxf-player header{display:flex}.in-room .gxf-player header b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.in-room .gxf-player header span{font-size:10px}.in-room .gxf-player h3{font-size:18px;margin:2px 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:46px}.in-room .gxf-player .score{position:absolute;right:10px;top:28px;font:22px Georgia,serif}.in-room .gxf-player .score small,.in-room .gxf-player>p{display:none}.in-room .gxf-resources{margin-top:3px;font-size:12px;gap:7px;white-space:nowrap}.in-room .gxf-player .inspect-player{position:absolute;bottom:3px;right:8px;font-size:10px;min-height:23px;padding:2px 4px;border:0;background:transparent;color:#576550}
.in-room .felt-table{min-height:0;grid-row:auto;display:flex;flex-direction:column;border:2px solid #9f956a;border-radius:18px;padding:12px 14px 8px;background:#24483a88;box-shadow:inset 0 0 30px #12332140}.in-room .felt-heading{flex:none;margin-bottom:8px}.in-room .felt-heading h2{font-size:21px}.in-room .felt-heading .gxf-eyebrow{display:none}.in-room .felt-heading>span{font-size:12px;color:#d1d5bd}.in-room .gxf-projects,.in-room .gxf-projects:has(>:nth-child(5)){display:flex;gap:10px;min-height:0;flex:1;overflow:auto;align-items:stretch;overscroll-behavior:contain;padding-bottom:4px}.in-room .gxf-item.project{flex:1 0 150px;min-width:150px;padding:10px;overflow:auto;scrollbar-width:thin;display:flex;flex-direction:column}.in-room .gxf-item h3{font-size:17px;min-height:0;margin-bottom:5px;line-height:1.3}.in-room .gxf-item p{font-size:12px;margin-bottom:6px;line-height:1.5}.in-room .gxf-item .gxf-tag{font-size:10px;letter-spacing:0;margin-bottom:5px;color:#58654e}.in-room .gxf-item.project .project-pool{font-size:25px;margin:0 0 4px}.in-room .gxf-item.project .project-pool small{font-size:11px}.in-room .project-rates{font-size:11px;margin:3px 0}.in-room .bid-line,.in-room .bid-empty{font-size:11px;padding:2px 0}.in-room .card-actions{margin-top:auto;padding-top:7px;flex-wrap:nowrap}.in-room .gxf-item button{font-size:12px;min-height:32px;padding:5px 7px}.in-room .last-move{flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#e2e3ca;line-height:1.5;padding-top:5px}
.in-room .my-desk{grid-row:auto;margin:0;padding:10px 14px;background:#f0e8d3;border:1px solid #b8ac85;border-radius:12px;min-height:0;display:grid;grid-template-rows:26px 33px minmax(0,1fr);gap:5px}.in-room .my-desk>header{display:flex;justify-content:space-between;align-items:center;gap:10px}.in-room .my-desk .gxf-eyebrow{display:none}.in-room .my-desk h2{font-size:19px;white-space:nowrap}.in-room .human-badge{font-size:11px;white-space:nowrap}.in-room .my-resources{display:flex;gap:22px;margin:0;padding:0;border:0;align-items:center}.in-room .my-resource b{font-size:24px}.in-room .my-resource span{font-size:12px;color:#59644e}.in-room .gxf-campus{display:flex;gap:8px;overflow:auto;min-height:0;overscroll-behavior:contain;padding-bottom:2px}.in-room .gxf-campus .gxf-item{flex:1 0 178px;padding:7px 10px;min-width:178px;overflow:auto}.in-room .gxf-campus .gxf-item .gxf-tag{font-size:10px;margin-bottom:2px}.in-room .gxf-campus .gxf-item h3{font-size:16px;margin:0}.in-room .gxf-campus .gxf-item p{display:none}.in-room .gxf-campus .card-actions{padding-top:3px;margin-top:0}.in-room .gxf-campus button{min-height:26px;font-size:11px;padding:3px 7px}
.in-room .control-column{display:flex;flex-direction:column;min-height:0;background:#fbf6e9;border:1px solid #cfc3a0;border-radius:12px;overflow:hidden;grid-row:auto}.desk-tabs{display:flex;flex:none;border-bottom:1px solid #cdc3a8;padding:5px}.gxf-online .desk-tabs button{flex:1;border:0;background:transparent;font-size:14px;padding:9px 3px;min-height:42px;border-radius:6px}.gxf-online .desk-tabs button[aria-selected=true]{background:#345646;color:#fff4da}.desk-content{overflow:auto;min-height:0;flex:1;overscroll-behavior:contain;scrollbar-width:thin}.desk-content>.gxf-panel{border:0;box-shadow:none;border-radius:0;margin:0}.in-room .gxf-actions{position:static;padding:16px}.in-room .gxf-actions h2{font-size:25px;margin:5px 0}.in-room #turn-status{font-size:14px;min-height:44px}.in-room .gxf-actions label{font-size:13px;margin-top:10px}.in-room .gxf-actions select{font-size:14px;padding:9px 8px}.in-room #action-hint,.in-room #action-description{font-size:13px}.in-room #action-hint{margin-bottom:8px}.in-room #action-description{margin:10px 0;min-height:38px}.in-room .gxf-actions>button{font-size:14px;min-height:43px}.in-room .gxf-actions>.gxf-muted{font-size:12px;line-height:1.6}.in-room .ap-dots{margin:10px 0}.in-room .ap-dots span{font-size:12px;color:#62694f}.in-room .gxf-market{grid-template-columns:1fr 1fr}.in-room .gxf-market .gxf-item{padding:10px}.in-room .gxf-market .card-actions{flex-wrap:wrap}.in-room .gxf-market h3{font-size:16px}.in-room .gxf-market p{font-size:12px}.in-room .market-tabs button{font-size:13px}.in-room .event-strip{display:block;margin:0;padding:16px;color:#354d3b;border:0}.in-room .event-strip>div:first-child h3{color:#354d3b;margin-bottom:10px}.in-room .gxf-events{display:grid;gap:10px}.in-room #game-log{max-height:none;font-size:13px;overflow:visible}.in-room .gxf-archive{margin:0;padding:16px}.in-room .gxf-archive-header{display:block}.in-room .gxf-archive h2{font-size:20px}.in-room .gxf-archive-header>p{font-size:12px;margin-top:8px}.in-room .gxf-archive-filters{grid-template-columns:85px 1fr;gap:8px;margin-top:15px}.in-room .gxf-archive-grid{grid-template-columns:1fr 1fr;gap:8px}.in-room .gxf-archive-grid button{padding:10px;min-height:100px}.in-room .gxf-archive-grid small{font-size:11px}.in-room .gxf-archive-grid b{font-size:16px}
.in-room .ready-panel{position:absolute;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,90vw);display:block;text-align:center;padding:28px;background:#faf3de;box-shadow:0 0 0 100vmax #102e25b8}.in-room .ready-panel button{margin-top:20px}.in-room #results{position:absolute;inset:75px 10%;z-index:25;overflow:auto;box-shadow:0 0 0 100vmax #16352acc}.in-room #game-error{position:absolute;z-index:50;bottom:12px;left:24px;max-width:min(700px,90vw);margin:0!important;padding:12px 16px;box-shadow:0 5px 25px #132c2850}.in-room .mobile-table-nav{display:none}
@media(min-width:901px) and (max-height:790px){.in-room .table-column{grid-template-rows:95px minmax(0,1fr) 164px}.in-room .gxf-game-grid{grid-template-columns:minmax(0,1fr) 295px}.in-room .gxf-player{padding:6px 8px}.in-room .gxf-actions{padding:12px}.in-room .gxf-actions h2{font-size:21px}.in-room .gxf-actions>.gxf-muted{display:none}.in-room #action-hint{margin:4px 0;font-size:12px}.in-room .ap-dots{margin:7px 0}.in-room .gxf-actions label{margin-top:7px}.in-room .gxf-actions select{margin-top:3px;min-height:40px}.in-room #action-description{min-height:28px;margin:7px 0}.in-room .gxf-item.project{min-width:155px}.in-room .my-desk{grid-template-rows:23px 28px minmax(0,1fr)}.in-room .gxf-campus .gxf-item .gxf-tag{display:none}}
@media(max-width:900px){.gxf-online.in-room{padding:8px 10px 66px}.in-room .table-brand{display:none}.in-room .gxf-room-header h2{font-size:17px}.in-room .gxf-room-header .gxf-eyebrow{font-size:9px;max-width:190px}.in-room .gxf-room-tools{gap:4px}.in-room .gxf-room-tools button{font-size:10px;padding:5px;min-height:34px}.in-room #fullscreen-toggle{display:none}.in-room .gxf-game-grid{display:block;min-height:0}.in-room .table-column{height:100%;display:grid;grid-template-rows:100px minmax(0,1fr);gap:10px}.in-room .gxf-players{overflow-x:auto;min-height:0}.in-room .gxf-player{min-width:155px;flex:1 0 155px}.in-room .felt-table{height:100%;padding:12px 10px}.in-room .gxf-projects,.in-room .gxf-projects:has(>:nth-child(5)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto;align-content:start}.in-room .gxf-item.project{min-width:0;overflow:visible}.in-room .gxf-item h3{font-size:17px}.in-room .my-desk,.in-room .control-column{display:none}.in-room[data-mobile-view=campus] .table-column{display:block}.in-room[data-mobile-view=campus] .gxf-players,.in-room[data-mobile-view=campus] .felt-table{display:none}.in-room[data-mobile-view=campus] .my-desk{display:grid;height:100%;grid-template-rows:auto auto minmax(0,1fr);gap:14px;padding:14px}.in-room .my-desk>header{flex-wrap:wrap}.in-room .my-resources{flex-wrap:wrap;gap:12px}.in-room .gxf-campus{display:grid;grid-template-columns:1fr 1fr;align-content:start;overflow:auto}.in-room .gxf-campus .gxf-item{min-width:0;padding:12px 10px}.in-room .gxf-campus .gxf-item .gxf-tag{display:block}.in-room .gxf-campus .gxf-item p{display:block;font-size:12px;margin-top:8px}.in-room[data-mobile-view=tools] .table-column{display:none}.in-room[data-mobile-view=tools] .control-column{display:flex;height:100%}.in-room .gxf-actions{padding:18px}.in-room .gxf-actions>.gxf-muted{display:block}.in-room .mobile-table-nav{display:flex;position:absolute;bottom:8px;left:10px;right:10px;gap:5px;padding:5px;background:#f5eedc;border-radius:10px;border:1px solid #b7b894}.in-room .mobile-table-nav button{flex:1;background:transparent;color:#36533e;font-size:13px;min-height:40px;border:0;padding:6px}.in-room .mobile-table-nav button[aria-pressed=true]{background:#345646;color:#fff4de}.in-room #results{inset:70px 10px 65px;padding:15px}.in-room .ready-panel{padding:22px}.in-room #game-error{bottom:66px;left:10px}.in-room .gxf-archive-grid{grid-template-columns:1fr 1fr}.in-room .era-stop{font-size:12px}}

.in-room .faculty-strength{font:11px system-ui,sans-serif;color:#536345;white-space:nowrap}.gxf-online.in-room .mobile-table-nav button:hover{background:#dedac6;color:#294633}.gxf-online.in-room .mobile-table-nav button[aria-pressed=true],.gxf-online.in-room .mobile-table-nav button[aria-pressed=true]:hover{background:#345646;color:#fff4de}
