/* ABALONE: the approved midnight-blue and aged-gold council. */
body[data-view=game]{--gold:#c9a563;--gold-light:#f0d69e;--line:#bf9c5b42;background:#061524}
body[data-view=game] .world-bg{background:radial-gradient(ellipse at 50% 32%,#13304688,transparent 68%),linear-gradient(130deg,#04111fe8,#081f30e6),url('/abalone/assets/council-grain.svg') center/300px;opacity:1}
body[data-view=game] .topbar{border-color:#bc985545}
body[data-view=game] .brand{color:#f4e5c8}
.roundtable-panel{--table-line:#b9914f66;max-width:720px;padding:4px 0 12px}
.table-heading{padding:0 13px 12px}.table-heading .eyebrow{color:#bcb9aa}
.council-table{container-type:inline-size}
.table-surface{inset:8%;border:2px solid #c29c57;background:linear-gradient(110deg,#193c50aa,#072337bb 55%,#1a4050aa),url('/abalone/assets/council-grain.svg') center/240px;box-shadow:0 0 0 2px #092033,0 0 0 3px #8c704347,inset 0 0 0 3px #0b2231,inset 0 0 0 5px #d1aa6266,inset 0 0 0 7px #071c2b,0 15px 28px #0007}
.table-surface:before{content:'';position:absolute;inset:-8%;border-radius:50%;background:url('/abalone/assets/council-inlay.svg') center/100% no-repeat;pointer-events:none;opacity:.8}
.table-surface:after{inset:7%;border:1px solid #c8a568;background:radial-gradient(ellipse at 40% 25%,#102e40b8,#041a2cde),url('/abalone/assets/council-grain.svg') center/270px;box-shadow:0 0 0 2px #041b2b,0 0 0 4px #aa814caa,0 0 0 6px #e1bb7644,inset 0 3px 16px #0005}
.table-center{inset:25% 20% 23%}
.table-center .board-head h2{font-size:clamp(16px,4.8cqw,32px);color:#f6e8cc;letter-spacing:.04em}
.table-center .board-head:after{content:'◆';display:block;color:#ddbd7e;font-size:clamp(7px,1.5cqw,10px);line-height:1.6;background:linear-gradient(90deg,transparent,#b18c4a 20%,#b18c4a 44%,transparent 44%,transparent 56%,#b18c4a 56%,#b18c4a 80%,transparent) center/100% 1px no-repeat}
.table-center .score-line{padding:clamp(7px,2.3cqw,16px) 0;gap:4px}
.table-center .score-line>span{color:#d3d9d8;font-size:clamp(9px,2.2cqw,15px);gap:clamp(3px,.8cqw,6px)}
.table-center .score-line b{color:#f3e2bc;font-size:clamp(22px,5.6cqw,38px)}
.table-center .score-line small{color:#b7c5ca;font-size:clamp(9px,2cqw,14px)}
.table-center .score-divider{color:#c6a567!important}.table-center .good-dot,.table-center .evil-dot{width:clamp(4px,1.5cqw,9px);height:clamp(4px,1.5cqw,9px)}
.table-center .quest-track{gap:clamp(4px,1.4cqw,10px);margin-bottom:clamp(9px,3cqw,21px)}
.table-center .quest-item>div{width:clamp(24px,8.7cqw,57px);height:clamp(28px,10cqw,65px);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);border:0;border-radius:0;background:#7e806b;box-shadow:none;color:#aeb4a8;font-size:clamp(13px,3.9cqw,26px)}
.table-center .quest-item>div:before{display:block;inset:1px;background:linear-gradient(120deg,#152d36,#0a202d)}
.table-center .quest-item.current>div{border:0;background:#e7c578;color:#f5e2ae;filter:drop-shadow(0 0 3px #d8ad4a33);box-shadow:none}
.table-center .quest-item.current>div:before{background:linear-gradient(115deg,#685632,#353c31)}
.table-center .quest-item.success>div{background:#9dc4aa;color:#c6e0c9}.table-center .quest-item.success>div:before{background:#28483f}
.table-center .quest-item.fail>div{background:#c59182;color:#f0c6b8}.table-center .quest-item.fail>div:before{background:#4b3134}
.table-center .quest-item>strong{color:#eee2c7;font-size:clamp(9px,2.5cqw,16px);margin-top:clamp(4px,1cqw,7px);font-weight:400}
.table-center .quest-item>small{font-size:clamp(7px,1.8cqw,12px);color:#b7bcb5}
.table-center .quest-item>small:not(:empty){line-height:1.3}
.table-center .rejection-line{padding-top:clamp(8px,2.7cqw,18px);gap:clamp(5px,1.6cqw,11px);font-size:clamp(8px,2.2cqw,14px);color:#c3d1d5;border-color:#bb985d99}
.table-center .rejection-line>div{gap:clamp(3px,.9cqw,6px)}
.table-center .rejection-line i{height:clamp(4px,1.1cqw,7px);flex:1;border:1px solid #8094a433;border-radius:10px;background:#304655b0}
.table-center .rejection-line i.filled{background:#bb8574;border-color:#dfac95}
.table-center .rejection-line strong{color:#efcd84;font-size:clamp(11px,3cqw,20px)}
.table-seat{width:17.5%;max-width:none;min-width:44px;min-height:44px;aspect-ratio:1;padding:0;gap:0;border-radius:50%;color:#f4e7d0}
.seat-medallion{width:100%;height:100%;flex-direction:column;padding:15% 7%;gap:2px;border:1px solid #7394ab;background:radial-gradient(ellipse at 35% 20%,#1d3b4cc4,#071c2eec 75%),url('/abalone/assets/council-grain.svg') center/130px;box-shadow:inset 0 0 0 3px #041a2bb3,inset 0 0 0 4px #7295a12b,0 0 0 2px #031521,0 0 0 3px #a17b454d,0 5px 9px #0009}
.seat-number{font-size:clamp(10px,2.55cqw,18px);line-height:1.2;color:#bfccd1}
.seat-name{font-family:Georgia,'Noto Serif SC',serif;font-size:clamp(11px,3.05cqw,21px);line-height:1.25;font-weight:500;color:#f5eee0;max-width:100%;width:100%;min-width:0;letter-spacing:0}
.is-leader .seat-name{color:#f5eee0}.is-leader .seat-medallion{padding-top:26%;border-color:#dcc08a}
.in-expedition .seat-medallion{padding:15% 7%;border:2px solid #f2d590;box-shadow:inset 0 0 0 2px #061b2b,inset 0 0 0 3px #e4c78e8c,0 0 0 2px #92733e,0 0 0 3px #f3d8978c,0 5px 10px #0009}
.is-leader.in-expedition .seat-medallion{padding-top:26%}
.seat-crown{top:4%;left:50%;transform:translateX(-50%);padding:0;background:none;color:#f1c46c}
.seat-crown .icon{width:clamp(12px,3.1cqw,22px);height:clamp(12px,3.1cqw,22px);fill:#caa35255}
.seat-check{top:0;right:-2%;bottom:auto;left:auto;transform:none;width:29%;height:29%;border:1.5px solid #f3ce77;border-radius:50%;color:#f5cd76;background:#061c2d;box-shadow:0 2px 4px #0006}
.seat-check .icon{width:75%;height:75%;stroke-width:3}
.table-legend{font-size:12px;color:#c5cdd0;margin-top:12px}.table-legend .icon{color:#ecc57f}
.table-instruction{color:#b8c7ce}.table-instruction strong{color:#efd49d}.table-lady .icon{color:#e8c584}.table-note{color:#8d9fab}
body[data-view=game] .game-main .btn.primary{background:linear-gradient(115deg,#f0d796db,#c39a4ae8),url('/abalone/assets/council-grain.svg') center/160px;color:#10212b;border:1px solid #ffe2a1;box-shadow:inset 0 1px 0 #fff2bf8c,0 3px 9px #0004;font-weight:700}
body[data-view=game] .game-main .btn.primary:hover:not(:disabled){background:#f1d794;color:#10212b;border-color:#ffe9b5}
body[data-phase=TEAM_SELECTION] .game-layout{display:flex;flex-direction:column;align-items:stretch;max-width:760px;gap:18px}
body[data-phase=TEAM_SELECTION] .game-heading{max-width:760px;margin:auto;padding-bottom:10px}
body[data-phase=TEAM_SELECTION] .game-heading h1{font-size:clamp(28px,4vw,40px);color:#f4e5c9}
body[data-phase=TEAM_SELECTION] .game-heading .eyebrow{font-family:Georgia,'Noto Serif SC',serif;font-size:13px;letter-spacing:.08em;color:#bdc9cd}
body[data-phase=TEAM_SELECTION] .phase-pill{border-color:#b89450;color:#eed093;background:#b68c3412;box-shadow:inset 0 0 0 3px #061724,inset 0 0 0 4px #b8945044;padding:9px 18px}
body[data-phase=TEAM_SELECTION] .game-layout aside{width:100%}
body[data-phase=TEAM_SELECTION] .roundtable-panel{position:static}
body[data-phase=TEAM_SELECTION] .table-heading{display:none}
body[data-phase=TEAM_SELECTION] .game-content:has(.table-selection-hint){border:1px solid #b28d4d;border-radius:12px;padding:25px 30px 18px;background:linear-gradient(125deg,#102a3bba,#06192ae6),url('/abalone/assets/council-grain.svg') center/250px;box-shadow:inset 0 0 0 7px #061928,inset 0 0 0 8px #b58b4229}
body[data-phase=TEAM_SELECTION] .game-content:has(.table-selection-hint) .content-heading{margin-bottom:8px}
body[data-phase=TEAM_SELECTION] .content-heading h2{color:#f0cf88;font-size:28px;margin-top:0}
body[data-phase=TEAM_SELECTION] .content-heading .eyebrow{display:none}
body[data-phase=TEAM_SELECTION] .content-heading p{font-size:15px;margin:8px 0 0;color:#e2e4db}
.table-selection-hint{border:0;padding:0!important;margin:10px 0;font-size:11px;color:#99adb8}
body[data-phase=TEAM_SELECTION] .selection-summary{display:none}
body[data-phase=TEAM_SELECTION] .game-content .btn.full{margin-top:9px;min-height:56px;font-size:19px}
body[data-phase=TEAM_SELECTION] .game-tools .btn{border:1px solid #8fa7b855;border-radius:6px;flex:1;min-width:0;background:#081e2d80;color:#d5dbd7;font-size:12px;padding:9px}
body[data-phase=TEAM_SELECTION] .game-tools{gap:10px}
@media(max-width:480px){
 .roundtable-panel{padding-top:4px}.table-center{inset:24% 20% 26%}.table-surface{border-width:1.5px}
 .table-center .board-head h2{line-height:1.3}.table-center .board-head:after{font-size:7px;line-height:1}
 .table-center .score-line{padding:6px 0}.table-center .score-line b{line-height:1.15}
 .table-center .quest-item>strong{line-height:1.2}.table-center .quest-item>small{line-height:1.2}
 .table-center .rejection-line{padding-top:6px}.table-center .rejection-line strong{line-height:1.3}
 .table-seat{width:17.5%;max-width:none;min-height:44px;min-width:44px;gap:0}.seat-medallion{width:100%;height:100%;padding:15% 7%;gap:1px}
 .seat-number{font-size:clamp(9px,2.55cqw,12px)}.seat-name{font-size:clamp(10px,3.05cqw,13px);max-width:100%;line-height:1.25}
 .seat-crown{top:3%}.seat-crown .icon{width:12px;height:12px}.seat-check{top:0;right:-2%;bottom:auto;width:29%;height:29%}.seat-check .icon{width:75%;height:75%}
 .table-legend{font-size:9px;gap:4px}.table-legend .icon{width:12px;height:12px}.table-instruction{font-size:10px;margin-top:8px}.table-note{font-size:8px;margin:7px 5px 0}
 body[data-phase=TEAM_SELECTION] .game-heading{padding-top:20px;gap:8px}body[data-phase=TEAM_SELECTION] .game-heading .eyebrow{font-size:10px}body[data-phase=TEAM_SELECTION] .game-heading h1{font-size:28px}body[data-phase=TEAM_SELECTION] .phase-pill{font-size:10px;padding:7px 11px;white-space:nowrap}
 body[data-phase=TEAM_SELECTION] .game-layout{gap:10px}body[data-phase=TEAM_SELECTION] .game-content:has(.table-selection-hint){padding:19px 16px 12px;border-radius:9px}body[data-phase=TEAM_SELECTION] .content-heading h2{font-size:23px}body[data-phase=TEAM_SELECTION] .content-heading p{font-size:12px}body[data-phase=TEAM_SELECTION] .game-content .btn.full{font-size:16px;min-height:50px}body[data-phase=TEAM_SELECTION] .game-tools{gap:6px}body[data-phase=TEAM_SELECTION] .game-tools .btn{font-size:10px;gap:5px;padding:7px 5px}.game-tools .icon{width:16px;height:16px}
}
@media(max-width:360px){.table-center{inset:23% 20% 27%}.table-center .board-head h2{font-size:14px}.table-center .score-line{padding:4px 0}.table-center .score-line b{font-size:20px}.table-center .quest-track{margin-bottom:7px}.table-center .rejection-line strong{font-size:10px}.table-center .quest-item>strong{margin-top:3px}}
