/* Epic art direction: obsidian, aged gold, illustrated cards and restrained motion. */
:root{--bg:#101011;--panel:#191818;--panel-light:#252221;--border:#484036;--text:#eee4d0;--muted:#aaa08f;--gold:#d3ac61;--teal:#87b7bb;--red:#c66d52}
body{background:#101011}button{touch-action:manipulation}.btn,.icon-button,input,select{border-radius:2px}.btn.primary{background:linear-gradient(160deg,#e3c588,#b58942);border:1px solid #e2c486;color:#211c14;box-shadow:inset 0 0 0 2px #c6a164,0 3px 14px #0005}.btn.primary:hover:not(:disabled){background:linear-gradient(160deg,#f2d7a4,#cca151);transform:translateY(-1px)}.btn.ghost:hover:not(:disabled){background:#d5b26f13;border-color:#8d7147}.brand{color:#e4c58a;text-shadow:0 2px 12px #bc8b3e25}.brand img{filter:sepia(.4) saturate(1.3)}.eyebrow{font-size:9px;letter-spacing:.18em}.nav{border-color:#6c543737;background:#0d0d0ee8}.nav-links button{color:#c1b5a0}.tag{border-color:#6e593b;color:#c4b89f}.dot{box-shadow:0 0 9px currentColor}.section-label{color:#baaa8e}input,select{background:#101113;border-color:#544736}input::placeholder{color:#817a6f}.form-note{color:#a69a86}.modal-description{color:#baae99}

/* The supplied illustration establishes the direction; the playable board is real 3D. */
.landing{background:radial-gradient(ellipse at 70% 30%,#66452230,transparent 65%),#101011}.landing .hero{grid-template-columns:40% 60%;max-width:1600px;padding:45px 5% 35px;min-height:650px}.hero-copy{padding:35px 0}.hero h1{font-size:clamp(52px,5.5vw,88px);letter-spacing:-.045em;line-height:1.01;margin:25px 0 30px}.hero h1 em{color:#e0bc77}.hero p{color:#b9ae9b;max-width:365px;font-size:14px}.hero-note{color:#9e9079}.hero-scene{width:115%;height:560px;margin-left:0;perspective:1200px;filter:none}.hero-scene:before{display:none}.hero-table-art{position:absolute;inset:0;background:url('../assets/epic/table-concept.png') center / cover;border:1px solid #8c6b3a;box-shadow:0 35px 70px #0009,0 0 65px #d89d4017;transform:rotateY(-9deg) rotateX(5deg) rotateZ(-2deg);animation:table-arrives 1.4s ease-out both}.hero-table-art:after{content:'';position:absolute;inset:5px;border:1px solid #efc77b55;pointer-events:none}.hero-caption{bottom:-38px;color:#bda57e;font-size:8px;letter-spacing:.15em}.landing-bottom{border-color:#4b3f30;padding-top:36px}.feature h3{color:#dfc69b}.feature p{color:#9c9281}.landing-foot{color:#82796b}.hero .eyebrow{max-width:330px;line-height:1.8}

.game-header{background:linear-gradient(180deg,#201d1b,#111214);border-bottom:1px solid #8e6a365c;box-shadow:0 2px 20px #0007}.room-code{color:#8f826e;border-color:#4d4030}.room-code strong{color:#cbb48e}.game-layout{grid-template-columns:190px minmax(350px,1fr) 288px}.sidebar{padding:24px 14px;background:linear-gradient(120deg,#1e1c1b,#141518);border-right:1px solid #57442c}.right-panel{padding:23px 18px;background:linear-gradient(245deg,#211e1c,#141518);border-left:1px solid #57442c}.player{padding:14px 10px;margin-bottom:13px;background:linear-gradient(115deg,#282522,#191a1d);border:1px solid #544731;border-radius:2px;box-shadow:inset 0 0 0 3px #151517,0 4px 12px #0003}.player.active{background:linear-gradient(115deg,#463522,#202023);border-color:#c3974c;box-shadow:inset 0 0 0 3px #191817,0 0 15px #c48a2722}.player.active:before{height:26px;width:3px;top:16px;background:#edc16f}.player-heading{gap:9px}.player .avatar{width:37px;height:47px;clip-path:none;border:1px solid #a38655;overflow:hidden;position:relative;box-shadow:0 2px 5px #0008}.portrait-art{position:absolute;inset:0;background-image:url('../assets/epic/battle-atlas.png');background-size:600% auto;background-position:var(--portrait) 36%}.player-name{font-size:11px}.player-sub{color:#b09b78;font-size:8px}.player-score{font-size:26px;color:#e0bc76;text-shadow:0 2px 10px #000}.player-stats{color:#c7bda9;margin-top:14px}.action-dots i{background:var(--owner);border-color:#a68d62;box-shadow:0 0 5px #0008}.sidebar-rule{border-color:#51432f}.sidebar-rule p{color:#a39780}.phase-track{gap:9px;font-size:8px;color:#8d8270;justify-content:space-between}.phase-track .current{border-bottom:1px solid #bc934e;padding-bottom:6px}.demo-strip{border-radius:2px;background:#1c1b19;color:#bda57c;font-size:9px}.demo-strip select{background:#121315;border-color:#59492f;color:#d1b98e}
.center{grid-template-rows:78px minmax(220px,1fr) 128px auto;background:radial-gradient(ellipse at 50% 50%,#51402b 0,#282421 47%,#141518 85%);transition:background 1.8s}.board-top{padding:20px 25px;position:relative;background:linear-gradient(180deg,#161719,#16171960);gap:12px}.board-top:after{content:'';height:1px;position:absolute;bottom:0;left:24px;right:24px;background:linear-gradient(90deg,transparent,#97703e77,transparent)}.board-top h2{font-size:27px;color:#e1c596}.board-top .eyebrow{color:#ab9774;font-size:8px}.board-top .tag{font-size:7px;padding:5px 6px;border-color:#79644266;color:#ad9c7e}.board-view{background:radial-gradient(ellipse at 50% 60%,transparent 50%,#10111580);isolation:isolate;min-width:0;min-height:220px}.board-view canvas{touch-action:none;cursor:grab}.board-view canvas:active{cursor:grabbing}.board-view:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 55px #090a0b55;pointer-events:none;z-index:2}.board-view[data-ambience=night]{background:radial-gradient(ellipse,#1b2a4455,#080d18b0)}.board-view[data-ambience=dawn]{background:radial-gradient(ellipse,#66423630,#201b30aa)}.ambience-tools{position:absolute;left:20px;top:10px;z-index:5;display:flex;gap:6px}.ambience-button{display:flex;align-items:center;gap:6px;min-height:34px;border:1px solid #76613d66;background:#171819df;color:#c9b58d;padding:6px 9px;font-size:9px;box-shadow:0 2px 8px #0005}.ambience-button svg{width:14px;height:14px}.ambience-button:hover,.ambience-button[aria-pressed=true],.ambience-button.previewing{border-color:#d0aa64;color:#efd5a6}.map-controls{right:16px;bottom:14px}.map-controls .icon-button{width:34px;height:34px;background:#17191ce8;border-color:#78613c8c;color:#e6c994;box-shadow:0 2px 8px #0005}.map-legend{bottom:25px;left:20px;color:#b9a98a;font-size:7px;letter-spacing:.14em;z-index:3}.map-labels{z-index:4}.zone-pin{border-radius:3px;transform:rotate(0);background:#191c23ef;color:#e9d4aa;border:1px solid #c5a16a;box-shadow:0 3px 6px #0009,0 0 0 2px #18191e88;width:22px;height:22px;font-size:10px}.zone.occupied .zone-pin{background:#141a21;color:#fff4d9;border:2px solid var(--owner);box-shadow:0 0 0 1px #e7d19f88,0 4px 8px #000c}.zone.city-zone .zone-pin{font-size:9px;width:20px;height:20px}.zone:not(.occupied):not(.city-zone) .zone-pin{width:19px;height:19px}.zone-label{font-size:7px;letter-spacing:.13em;text-transform:uppercase;padding:3px 6px;background:#10151deb;color:#f1d6a6;border:1px solid #9d7f4c70}.zone.reachable .zone-pin{background:#c99d48;color:#151515;box-shadow:0 0 12px #e2b05d99}.zone.selected .zone-pin{outline-color:#ffe9b2}.map-fallback{border-radius:0;background:linear-gradient(#0002,#0004),url('../assets/epic/terrain.png') center / cover}.map-fallback[data-ambience=night]{background:linear-gradient(#132b59b0,#070e2399),url('../assets/epic/terrain.png') center / cover}.map-fallback[data-ambience=dawn]{background:linear-gradient(#4f223963,#8f643432),url('../assets/epic/terrain.png') center / cover}
.turn-banner{background:linear-gradient(90deg,#352a1c,#17181b);border-top:1px solid #85683885;padding:12px 22px;min-height:59px;position:relative}.turn-banner:before{content:'';width:3px;background:#cda254;position:absolute;left:0;top:13px;bottom:13px}.turn-banner strong{font-family:var(--serif);font-size:17px;color:#e4ca9d}.turn-banner small{color:#ab9c83;font-size:9px}.turn-banner>svg{width:24px;height:24px;color:#d6ad65}.panel-heading{display:block;margin-bottom:16px}.panel-heading h2{font-size:25px;color:#e0c597;margin-bottom:6px}.panel-heading small{color:#a5957a;font-size:9px}.turn-docket{border-top:1px solid #705838;border-bottom:1px solid #705838;padding:14px 0 13px;margin-bottom:18px}.turn-docket>.eyebrow{font-size:8px;color:#a4947b}.turn-docket>strong{display:block;font-family:var(--serif);font-size:19px;color:#e2c798;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:7px 0 5px}.turn-docket>span:last-of-type{font-size:10px;color:#a79a82}.turn-docket.your-turn .eyebrow{color:#eac87b}.mandate-track{display:flex;gap:7px;margin-top:13px}.mandate-track i{font-style:normal;width:26px;height:24px;display:grid;place-items:center;border:1px solid #ba9356;background:linear-gradient(145deg,#685135,#33291e);color:#ead2a4;font-family:var(--serif);font-size:12px;box-shadow:inset 0 0 0 2px #30281e}.mandate-track i.spent{background:#17181a;border-color:#484137;color:#61584b;box-shadow:none}.prayer-card{padding:12px;background:linear-gradient(130deg,#30281f,#201f20);border-color:#6c5435;border-radius:2px;margin-bottom:20px}.prayer-card strong{color:#e0bc78}.prayer-card span{font-size:10px}.prayer-bar i{background:#4c4131}.action-pyramid .eyebrow{font-size:8px;line-height:1.6}.action-btn{background:linear-gradient(145deg,#383025,#242222);border:1px solid #7a6240;box-shadow:inset 0 0 0 3px #24201b;min-height:63px;width:59px;font-size:9px;border-radius:2px;transition:transform .2s,box-shadow .2s,border-color .2s}.action-btn:hover:not(:disabled){background:linear-gradient(145deg,#584329,#30291e);transform:translateY(-3px);border-color:#e3ba74;box-shadow:inset 0 0 0 3px #393024,0 5px 16px #0008}.action-btn:disabled{opacity:.45}.action-btn.spent:after{background:#15171aeb;color:#d4ab65}.action-btn.power{background:#252325}.row-label{color:#ab9270;right:-8px}.action-hint{color:#ac9e87;font-size:9px}.pyramid-summary{border-color:#53432f}.pyramid-mini span{color:#b4a68e}.hand-buttons button{background:#29241e;border-color:#665134;border-radius:2px}.hand-buttons small{color:#b7a488}.log-item{border-color:#655031;color:#baab91}.log-item small{color:#907d5e}.log-item:first-child{color:#e1c79c}

/* The card atlas is cropped in CSS; no text is baked into the artwork. */
.hand-dock{display:flex;align-items:center;gap:16px;min-width:0;padding:12px 22px 6px;background:linear-gradient(180deg,#161619,#211d19);border-top:1px solid #8e6b394d;overflow:hidden}.hand-dock-label{width:122px;flex-shrink:0}.hand-dock-label>.eyebrow{font-size:7px;letter-spacing:.12em;color:#9f8966}.hand-dock-label>strong{display:block;font:19px/1.18 var(--serif);color:#d7ba84;margin:7px 0}.hand-dock-label button{display:flex;align-items:center;gap:6px;padding:0;background:none;color:#b5a084;font-size:9px;min-height:28px}.hand-dock-label svg{width:13px;height:13px}.dock-cards{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;min-width:0;padding:6px 3px 5px;scrollbar-width:thin;scrollbar-color:#7d633c transparent}.battle-card{isolation:isolate;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;position:relative;padding:14px 12px 12px;min-height:250px;background:#111214;border:1px solid #c5a46c;border-radius:3px;color:#efdbad;box-shadow:0 5px 15px #0008,inset 0 0 0 3px #29211a;overflow:hidden;transition:transform .22s,box-shadow .22s,filter .22s}.battle-card:before{content:'';position:absolute;inset:4px;border:1px solid #dfb86a80;z-index:-1;pointer-events:none}.battle-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0001 30%,transparent 45%,#08090bef 78%,#0d0e11 100%);z-index:-2;pointer-events:none}.battle-card .card-art{position:absolute;inset:0;padding:0;z-index:-3;background-image:url('../assets/epic/battle-atlas.png');background-size:600% auto;background-position:var(--art-x) 35%;transition:transform .6s;filter:saturate(.85)}.battle-card .card-ornament{position:absolute;top:5px;left:50%;transform:translateX(-50%);color:#f2d490;text-shadow:0 2px 4px #000;font-size:14px;background:linear-gradient(90deg,transparent,#30251cc9,transparent);width:60%;text-align:center}.battle-card h3{font-size:22px;line-height:1.1;text-align:center;color:#f4d899;text-shadow:0 2px 7px #000;position:relative}.battle-card .card-type{display:block;text-align:center;font-size:6px;letter-spacing:.15em;color:#a99066;margin-top:6px}.battle-card .stats{display:flex;justify-content:space-around;gap:7px;margin-top:13px;padding-top:9px;border-top:1px solid #c1974d70;font-size:13px;color:#f1dfbb}.battle-card .stats span{gap:4px}.battle-card .stats svg{width:12px;height:12px;color:#c3a16b}.battle-card .card-selection:empty{display:none}.battle-card .card-selection{position:absolute;top:28px;left:8px;right:8px;z-index:2;text-align:center;padding:6px 2px;font-size:8px;font-weight:700;letter-spacing:.1em;background:#dac18c;color:#1a1815;box-shadow:0 3px 10px #0008}.battle-card.discard .card-selection{background:#ad654e;color:#fff0dc}.battle-card.play{outline:2px solid #ffe3a4;outline-offset:2px;box-shadow:0 0 24px #dba84e55;transform:translateY(-4px)}.battle-card.discard{opacity:.65;outline:1px solid #c37c62;filter:saturate(.35)}.battle-cards{gap:13px;margin:24px 0;perspective:1000px}.battle-card:hover:not(.discard){transform:translateY(-5px) rotateX(2deg);box-shadow:0 10px 24px #000a,0 0 15px #c69b4433}.battle-card:hover .card-art{transform:scale(1.04)}.battle-card.dock-card{width:75px;min-width:75px;min-height:102px;height:102px;padding:7px 5px;border-color:#a48656;transform-origin:bottom center}.dock-card .card-type,.dock-card .card-ornament{display:none}.dock-card h3{font-size:12px}.dock-card .stats{font-size:8px;padding-top:4px;margin-top:5px;gap:2px}.dock-card .stats span{gap:2px}.dock-card .stats svg{width:8px;height:8px}.dock-card .card-art{background-position:var(--art-x) 36%}.dock-card:after{background:linear-gradient(180deg,transparent 20%,#0b0c1044 40%,#0b0c10e8 70%,#0b0c10)}.dock-card:before{inset:2px}

dialog{background:radial-gradient(ellipse at 50% 0,#393024,#17181c 65%);border:1px solid #ad8a51;border-radius:3px;box-shadow:0 30px 120px #000c,inset 0 0 0 5px #1c1b19;padding:36px}.modal-title{color:#e9ca93}.modal-close{color:#ccb181}.modal-close:hover{background:#d3b57715}dialog::backdrop{background:#080b10cc;backdrop-filter:blur(7px)}dialog[data-kind=hand],dialog[data-kind=battle]{width:min(710px,calc(100% - 28px))}.info-box{background:#322a20;border:1px solid #735b37;color:#d0bea0;border-radius:2px}.rules-list li{color:#baad97;border-color:#53432f}.pill,.move-options button,.path-step{background:#28241f;border-color:#786342;border-radius:2px}.move-options small{color:#b5a184}.battle-banner{border-color:#a57848;background:linear-gradient(125deg,#473126,#241d1d);border-radius:2px}.battle-result>div{background:#29251f;border-color:#8e6f40;border-radius:2px}.card-legend{color:#b9a78b}.ambience-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ambience-option{min-height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid #85653e;background:linear-gradient(160deg,#57432c,#29221c);color:#dfbd80}.ambience-option[data-ambience=night]{background:linear-gradient(160deg,#25385a,#111a29);color:#adc3e5}.ambience-option[data-ambience=dawn]{background:linear-gradient(160deg,#715047,#2a2337);color:#e5b7a1}.ambience-option.selected{outline:2px solid #e9c68a;outline-offset:2px}.ambience-option strong{font:19px var(--serif)}.ambience-option small{font-size:7px;letter-spacing:.15em}.ambience-option svg{width:28px;height:28px}.lobby-wrap{background:radial-gradient(ellipse at 20% 10%,#57412844,transparent 70%)}.lobby-main h1{color:#e0c597}.invite-box,.lobby-panel{border-color:#81643b;background:#211e1b;border-radius:2px}.lobby-player{border-color:#5e4a30;background:#2b251e;border-radius:2px}.empty-seat{border-color:#5f4d32;color:#9c8868}.lobby-player .avatar{color:var(--owner)}.ready-label{color:#d2ba83}
.phase-curtain{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#111723e8,#11172350 65%,transparent);pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .6s,transform .8s;text-align:center;padding:25px}.phase-curtain.visible{opacity:1;transform:translateY(0)}.phase-curtain>span{width:70px;height:70px;display:grid;place-items:center;border:1px solid #c8a46488;transform:rotate(45deg);margin-bottom:32px}.phase-curtain svg{width:38px;height:38px;transform:rotate(-45deg);color:#e2bb72}.phase-curtain>small{font-size:8px;letter-spacing:.35em;color:#d5b579;margin-bottom:14px}.phase-curtain>strong{font:clamp(24px,3vw,41px)/1.05 var(--serif);color:#edcd91;text-shadow:0 3px 20px #000}.phase-curtain p{font-size:11px;color:#c1b49d;margin-top:15px}.turn-toast{position:absolute;left:50%;top:65px;transform:translate(-50%,-8px);max-width:90%;width:max-content;padding:12px 22px;border:1px solid #9d7c48;background:#15171ce8;box-shadow:0 8px 26px #0008;color:#eed09b;font:17px var(--serif);opacity:0;transition:opacity .3s,transform .3s;z-index:6;pointer-events:none}.turn-toast.visible{opacity:1;transform:translate(-50%,0)}#toast{background:#dac193;color:#1b1915;border-radius:2px}.mobile-tabs{background:#151518;border-color:#665030}.mobile-tabs button{color:#a39177}.mobile-tabs button.active{background:linear-gradient(180deg,#b4863022,transparent);color:#e1bd7c}
@keyframes table-arrives{from{opacity:0;transform:translateY(22px) rotateY(-9deg) rotateX(5deg) rotateZ(-2deg)}to{opacity:1;transform:translateY(0) rotateY(-9deg) rotateX(5deg) rotateZ(-2deg)}}
.battle-result>div{animation:verdict-arrives .6s ease-out both}.battle-result>div:nth-child(2){animation-delay:.15s}
@keyframes verdict-arrives{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.game-layout{grid-template-columns:220px minmax(400px,1fr) 310px}.sidebar{padding:28px 20px}.right-panel{padding:26px 22px}.hand-dock{gap:23px}.battle-card.dock-card{width:86px;min-width:86px}.hero-scene{height:620px}.landing .hero{min-height:730px}}
@media(max-width:1120px){.game-layout{grid-template-columns:160px minmax(280px,1fr) 250px}.sidebar{padding:20px 10px}.player{padding:12px 8px}.player .avatar{width:29px;height:39px}.player-name{font-size:10px}.player-heading{gap:6px}.player-score{font-size:23px}.right-panel{padding:20px 12px}.panel-heading h2{font-size:23px}.action-btn{width:51px;min-height:60px;font-size:8px}.row-label{right:-7px}.hand-dock{padding:10px 12px 5px;gap:10px}.hand-dock-label{width:92px}.hand-dock-label>strong{font-size:17px}.hero-scene{height:480px}.landing .hero{min-height:580px}.hero h1{font-size:61px}.hero-caption{font-size:7px}}
@media(max-width:850px){.game-layout{grid-template-columns:minmax(0,1fr) 255px}.sidebar{display:none}.hero-scene{height:400px}.hero h1{font-size:52px}.landing .hero{grid-template-columns:45% 55%}.hero-table-art{inset:0 -20% 0 0}.hero-buttons{flex-direction:column}.hero p{max-width:300px}.hero .eyebrow{font-size:8px}.hand-dock-label{display:none}.center{grid-template-rows:76px minmax(220px,1fr) 120px auto}.board-top{padding:18px 20px}.board-top h2{font-size:24px}.board-top .tag{max-width:105px;font-size:6px}.ambience-tools{left:12px}.ambience-button{font-size:8px}}
@media(max-width:640px){.nav{padding:0 20px;height:70px}.nav-links .tag{font-size:7px;letter-spacing:.04em}.landing .hero{display:flex;flex-direction:column;padding:37px 23px 0;align-items:stretch}.hero-copy{padding:0;max-width:none}.hero h1{font-size:57px;max-width:100%;margin:20px 0 23px}.hero .eyebrow{max-width:none;font-size:8px;letter-spacing:.12em}.hero p{max-width:340px;font-size:13px;margin-bottom:23px}.hero-buttons{flex-direction:row}.hero-buttons .btn{font-size:11px;padding:13px 11px}.hero-note{font-size:9px;margin-top:18px}.hero-scene{height:340px;width:112%;margin-left:-6%;margin-top:27px;margin-bottom:30px}.hero-table-art{inset:0;transform:rotateY(0) rotateX(3deg) rotateZ(-2deg);animation:none;background-position:center;background-size:cover}.hero-caption{bottom:-22px;font-size:6px;letter-spacing:.1em}.landing-bottom{padding:28px 24px}.feature h3{font-size:21px}.feature p{font-size:12px}.game-layout{display:block}.app-shell{min-height:580px;grid-template-rows:58px 1fr 62px}.game-header{padding:0 12px}.game-header .brand{font-size:17px}.game-header .brand img{width:26px;height:26px}.header-left{gap:9px}.room-code strong{font-size:9px}.center{height:100%;grid-template-rows:69px minmax(230px,1fr) 100px auto}.board-top{padding:16px 17px}.board-top h2{font-size:24px}.board-top .eyebrow{font-size:7px;margin-bottom:8px}.board-top .tag{font-size:6px;max-width:100px;padding:5px}.board-view{min-height:230px}.ambience-tools{top:8px;left:13px;gap:5px}.ambience-button{font-size:8px;min-height:32px;padding:6px 8px}.ambience-button svg{width:13px;height:13px}.map-controls{bottom:12px;right:12px;gap:5px}.map-controls .icon-button{width:33px;height:33px}.map-legend{left:14px;bottom:24px;font-size:6px;letter-spacing:.1em}.zone{padding:8px;min-width:38px;min-height:38px}.zone-label{font-size:6px;letter-spacing:.05em;padding:3px}.zone-pin,.zone.city-zone .zone-pin{width:19px;height:19px;font-size:9px}.zone:not(.occupied):not(.city-zone) .zone-pin{width:17px;height:17px}.hand-dock{padding:7px 13px 3px;display:block}.dock-cards{padding:4px 1px 3px;gap:6px}.battle-card.dock-card{width:64px;min-width:64px;height:84px;min-height:84px;padding:5px 4px}.dock-card h3{font-size:11px}.dock-card .stats{font-size:7px;margin-top:4px;padding-top:3px;gap:1px}.dock-card .stats svg{width:7px;height:7px}.turn-banner{min-height:67px;padding:11px 16px;gap:10px}.turn-banner strong{font-size:16px}.turn-banner small{font-size:8px;line-height:1.6}.turn-banner>svg{width:22px}.right-panel,.sidebar{padding:23px 24px;background:linear-gradient(135deg,#28221d,#14161a)}.panel-heading{display:flex;align-items:center;margin-bottom:19px}.panel-heading h2{font-size:27px}.turn-docket{margin-bottom:20px}.turn-docket strong{font-size:23px}.mandate-track i{width:31px;height:28px;font-size:14px}.right-panel .prayer-card{padding:14px;margin-bottom:20px}.prayer-card span{font-size:11px}.prayer-bar i{width:13px}.action-btn{width:69px;min-height:69px;font-size:9px}.action-btn svg{width:22px;height:22px}.action-row{gap:9px}.action-hint{font-size:10px}.player{padding:16px}.player .avatar{width:42px;height:52px}.player-name{font-size:14px}.player-sub{font-size:10px}.player-heading{gap:13px}.player-score{font-size:29px}.player-stats{font-size:12px}.phase-track{font-size:10px}.sidebar-rule p{font-size:12px}dialog{padding:31px 21px;max-height:92dvh}.modal-title{font-size:29px}.battle-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}.battle-card{min-height:175px;padding:9px 7px 10px}.battle-card h3{font-size:16px}.battle-card .card-type{font-size:5px;letter-spacing:.04em;margin-top:4px}.battle-card .stats{font-size:10px;gap:4px;padding-top:7px;margin-top:9px}.battle-card .stats svg{width:9px;height:9px}.battle-card .card-ornament{font-size:11px}.battle-card .card-selection{font-size:7px;top:23px;left:5px;right:5px}.battle-card.dock-card .stats{font-size:7px;gap:1px;padding-top:3px;margin-top:4px}.battle-card.dock-card .stats svg{width:7px;height:7px}.battle-card.dock-card h3{font-size:11px}.ambience-option{min-height:120px}.ambience-option strong{font-size:18px}.phase-curtain>strong{font-size:30px}.phase-curtain p{font-size:10px}.phase-curtain>span{width:51px;height:51px;margin-bottom:26px}.phase-curtain svg{width:27px;height:27px}.turn-toast{top:52px;font-size:15px;padding:11px 16px}.info-box{font-size:11px}.lobby-main h1{font-size:39px}.lobby-panel{padding:24px}.invite-code{font-size:35px}.mobile-tabs button{font-size:9px;min-width:85px}}
@media(max-width:360px){.game-header .brand small{display:none}.header-left{gap:6px}.header-right{gap:3px}.center{grid-template-rows:68px minmax(230px,1fr) 93px auto}.hand-dock{padding-top:5px}.battle-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-card{min-height:195px}.card-legend{gap:8px;font-size:9px}.hero-buttons{flex-direction:column}.hero-buttons .btn{width:100%}.hero h1{font-size:50px}.right-panel,.sidebar{padding:20px}.panel-heading h2{font-size:24px}.action-btn{width:59px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-table-art{transform:none}.battle-card:hover{transform:none}.battle-card:hover .card-art{transform:none}}
