
:root{color-scheme:dark;--bg:#101315;--panel:#191d20;--line:#2b3033;--muted:#949d9e;--text:#eef1e9;--lime:#cef593;--purple:#b5a1e8;--danger:#ff9f98;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--lime)}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:32px 21px;display:flex;flex-direction:column;background:#14181a}.brand{display:flex;align-items:center;gap:8px;font-size:28px;letter-spacing:-1.5px;font-weight:650}.brand-mark{font-size:42px;color:var(--lime);line-height:1}.alpha{color:var(--muted);font-size:8px;letter-spacing:1px;border:1px solid var(--line);padding:3px;margin-left:3px}.nav-caption{color:#6b7577;font-size:10px;letter-spacing:1.5px;margin:56px 12px 17px}nav{display:grid;gap:7px}nav a{display:flex;gap:13px;align-items:center;padding:13px 14px;border-radius:8px;color:#adb5b6;font-size:16px}nav a span{font-size:13px}nav a.active{background:#2b3329;color:var(--lime)}nav a:hover{background:#22292b}nav a .tiny{font-size:8px;background:#353d2a;padding:4px;border-radius:3px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:22px 9px 0;font-size:11px;line-height:1.8;color:#737e80}.sidebar-bottom a{color:#a4afaf}.engine-label{display:flex;align-items:center;gap:9px;color:#d0d5cf}.engine-label i{width:6px;height:6px;border-radius:50%;background:#dca16c}.engine-label i.ready{background:var(--lime);box-shadow:0 0 10px #c5eb7960}.shell{margin-left:236px}header{height:88px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{font-size:10px;letter-spacing:1.4px;color:#777f81;display:flex;gap:16px}.breadcrumb b{font-weight:500;color:#c7cdcc;letter-spacing:0;font-size:12px}.header-right{display:flex;gap:18px;align-items:center}.subtle{font-size:11px;color:var(--muted)}main{max-width:1500px;margin:auto;padding:40px 42px;min-height:calc(100vh - 150px)}footer{padding:16px 42px 26px;font-size:11px;color:#5f696b;border-top:1px solid #202629}.button{border:0;border-radius:6px;padding:11px 17px;font-weight:600;background:var(--lime);color:#24311a;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}.button:hover{filter:brightness(1.08)}.button.secondary{background:#242a2d;border:1px solid #3c4447;color:#e4e8e2}.button.ghost{background:transparent;color:#d1d8d3;border:1px solid var(--line)}.button.danger{color:var(--danger);background:#352424}.button.small{padding:8px 12px;font-size:12px}.hero{border:1px solid #394238;background:radial-gradient(ellipse at 80% 10%,#40524055,transparent 55%),linear-gradient(125deg,#252d26,#1a2120);border-radius:14px;min-height:280px;display:flex;overflow:hidden;position:relative;padding:38px 36px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--lime);font-weight:600;display:flex;align-items:center;gap:8px}.eyebrow:before{content:'';width:5px;height:5px;background:var(--lime);border-radius:50%}h1{font-size:clamp(30px,3.1vw,46px);letter-spacing:-1.7px;line-height:1.12;margin:20px 0 15px;font-weight:550}h1 em{font-style:normal;color:var(--lime)}.hero p{max-width:410px;color:#b0bbb1;line-height:1.7;font-size:13px}.hero .button{margin-top:12px}.hero-art{position:absolute;right:35px;top:23px;width:290px;height:270px;pointer-events:none}.art-card{width:150px;height:212px;position:absolute;border:1px solid #8882a9;border-radius:12px;background:#272835;box-shadow:0 15px 40px #0007;padding:9px;transform:rotate(-13deg);left:12px;top:30px}.art-card.two{left:108px;top:6px;transform:rotate(12deg);background:#283327;border-color:#79986b}.art-frame{height:122px;border-radius:5px;background:radial-gradient(ellipse at 50% 40%,#bfabe5 0 2%,transparent 3%),repeating-conic-gradient(from 30deg at 50% 60%,#7464a940 0deg 5deg,transparent 5deg 45deg),radial-gradient(ellipse at center,#796695,#292337 70%);display:grid;place-items:center;font-size:78px;color:#d5c5ff;text-shadow:0 0 30px #c5aeff}.two .art-frame{background:radial-gradient(ellipse at 50% 25%,#bcc67e,#3a5541 50%,#213c31);color:#d9efb0}.art-card b{font-size:10px;display:block;margin:10px 0}.art-card .lines{height:4px;background:#87958650;border-radius:3px;margin:7px 0}.art-card .lines:last-child{width:60%}.art-badge{position:absolute;bottom:18px;left:30px;transform:rotate(-5deg);font-size:10px;border:1px solid #657252;border-radius:30px;padding:10px 17px;color:var(--lime);background:#263122;box-shadow:0 4px 25px #0006}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:23px 0 40px}.quick{display:flex;align-items:center;gap:18px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;color:var(--text)}.quick:hover{border-color:#526245}.quick-icon{height:43px;width:43px;background:#2c3328;border:1px solid #424b37;display:grid;place-items:center;border-radius:10px;font-size:24px;color:var(--lime)}.quick-icon.purple{background:#2d2939;border-color:#494157;color:var(--purple)}.quick b{font-size:14px;font-weight:550;display:block;margin-bottom:7px}.quick small{font-size:11px;color:var(--muted)}.arrow{margin-left:auto;color:#7a8684;font-size:20px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.section-top h2{font-size:20px;font-weight:550;margin:0;letter-spacing:-.5px}.section-top p{color:var(--muted);font-size:12px}.count{font-size:11px;background:#252e28;padding:3px 8px;border-radius:20px;margin-left:8px;color:var(--lime)}.filters{display:flex;gap:9px}.chip{background:transparent;color:var(--muted);border:1px solid var(--line);padding:8px 12px;border-radius:6px;font-size:11px}.chip.selected{background:#282f25;color:var(--lime);border-color:#46523a}.table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.table-head,.lobby-row{display:grid;grid-template-columns:2fr 1fr 1fr .7fr;align-items:center;gap:10px;padding:18px 23px}.table-head{color:#747e80;font-size:9px;letter-spacing:1.2px;background:#181d1f}.lobby-row{border-top:1px solid var(--line);font-size:12px}.lobby-row b{font-weight:550}.lobby-row small{display:block;color:var(--muted);margin-top:6px}.tag{font-size:10px;padding:5px 9px;border-radius:5px;border:1px solid #41493a;color:#bfda9b;width:fit-content}.tag.official{border-color:#39424c;color:#a4bdcf}.empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:12px;line-height:1.8}.empty .empty-icon{color:#687765;font-size:31px;margin-bottom:12px}.empty strong{display:block;color:#d5ded1;font-size:14px;font-weight:500}.page-heading{margin-bottom:28px}.page-heading h1{font-size:34px;margin:0 0 12px}.page-heading p{font-size:13px;color:var(--muted);line-height:1.8}.panel{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:25px}.panel h2{font-size:17px;margin:0 0 10px;font-weight:550}.panel p{font-size:12px;line-height:1.8;color:var(--muted)}.work-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:24px}.step-label{color:var(--muted);font-size:10px;letter-spacing:1.4px;margin-bottom:22px}.step-label b{color:var(--lime);padding-right:8px}.drop{border:1px dashed #53614a;border-radius:9px;background:#20271e;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:290px;padding:24px;cursor:pointer}.drop.drag{border:2px solid var(--lime)}.drop .drop-symbol{font-size:46px;color:var(--lime);margin-bottom:15px}.drop strong{font-weight:500;font-size:16px}.drop span{color:var(--muted);font-size:12px;margin:10px 0}.drop img{max-width:100%;max-height:330px;border-radius:10px}.ai-note{font-size:11px!important;padding:12px;border-radius:6px;background:#23272c;color:#b9c0c9!important}.field{display:block;margin:18px 0;color:#cbd2cb;font-size:12px}.field>span{display:block;margin-bottom:9px}.field input,.field textarea,.field select,input.search,select.select{background:#121719;border:1px solid #384144;color:#e0e7df;border-radius:6px;padding:11px 12px;width:100%}.field textarea{resize:vertical;line-height:1.7;min-height:100px}textarea.code{font-family:Consolas,monospace;font-size:12px;min-height:270px;color:#c3dfb4}.field input:focus,.field textarea:focus{border-color:var(--lime);outline:0}.form-row{display:flex;gap:14px}.form-row>*{flex:1}.check{display:flex;gap:10px;align-items:flex-start;color:#afb9af;font-size:12px;line-height:1.6;margin:20px 0}.check input{accent-color:var(--lime);margin-top:4px}.full{width:100%}.notice{padding:13px 17px;border:1px solid #565032;border-radius:7px;font-size:12px;line-height:1.7;background:#2c291c;color:#e2d8a8;margin:18px 0}.notice.success{background:#233022;border-color:#435b38;color:#c7e5b4}.search-row{display:flex;gap:12px;margin:20px 0}.search-row input{flex:1}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}.library-card{border:1px solid var(--line);border-radius:10px;background:#1e2522;overflow:hidden}.library-card img{width:100%;max-height:330px;object-fit:contain;background:#0c100e}.library-card .card-detail{padding:18px}.library-card h3{font-size:14px;line-height:1.5;margin:0 0 10px}.library-card .cost{font-size:12px;color:var(--lime)}.library-card p{color:#aeb9ae;font-size:12px;white-space:pre-wrap;line-height:1.6}.library-card small{font-size:10px;color:#879386}.deck-layout{display:grid;grid-template-columns:250px 1fr;gap:22px}.deck-item{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:20px;border-radius:8px;margin-bottom:10px}.deck-item:hover{border-color:var(--lime)}.deck-item small{display:block;color:var(--muted);margin-top:8px}.deck-actions{display:flex;gap:10px;align-items:center}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.seat{background:#171d1a;border:1px solid #3c4b34;border-radius:9px;padding:25px}.seat .avatar{font-size:25px;color:var(--lime);margin-bottom:12px}.seat h3{font-size:16px;font-weight:550}.muted{color:var(--muted)}.tabletop{border:1px solid #364936;background:radial-gradient(ellipse,#213225,#141e18);border-radius:12px;padding:20px}.player-area{padding:15px 0;border-bottom:1px solid #3e4f3d}.player-bar{display:flex;gap:15px;align-items:center;margin-bottom:15px}.life{font-size:24px;color:var(--lime)}.player-target{background:none;border:0;color:#e1ebdb;font-size:14px}.zone-title{font-size:10px;color:#869984;letter-spacing:1px;margin:17px 0 10px}.card-row{display:flex;gap:9px;min-height:85px;overflow-x:auto;padding:5px 3px 15px}.play-card{flex:0 0 125px;min-height:164px;text-align:left;background:#d1d0bb;border:3px solid #101812;color:#182117;border-radius:8px;box-shadow:0 3px 7px #0007;padding:9px;transition:transform .15s}.play-card:hover{transform:translateY(-5px);box-shadow:0 0 0 2px var(--lime)}.play-card.tapped{transform:rotate(9deg);opacity:.75}.play-card.attacking{border-color:#d79964}.play-card b{display:block;font-size:11px}.play-card small{font-size:9px;display:block;margin:10px 0}.play-card p{font-size:9px;line-height:1.5;max-height:60px;overflow:hidden}.play-card .mana{font-size:10px;color:#465134;margin-top:7px}.play-card img{width:100%;max-height:150px;object-fit:cover}.game-toolbar{background:#202a22;border:1px solid #3d5238;border-radius:9px;position:sticky;bottom:12px;margin-top:15px;padding:15px;display:flex;gap:12px;align-items:center;z-index:2}.game-toolbar p{flex:1;margin:0;font-size:12px;line-height:1.5;white-space:pre-wrap}.choice-box{border:1px solid var(--lime);border-radius:10px;padding:22px;background:#293225;margin-bottom:20px}.choice-options{display:grid;gap:10px;margin:20px 0}.choice-options label{display:flex;align-items:center;gap:10px;font-size:13px}.phase-bar{display:flex;gap:15px;font-size:12px;align-items:center;margin-bottom:20px}.phase-bar b{color:var(--lime)}#toast{position:fixed;bottom:24px;right:24px;background:#28362a;border:1px solid #6f8860;color:#e5f2dc;border-radius:8px;padding:15px 22px;max-width:480px;z-index:20;display:none;font-size:13px;line-height:1.7}#toast.error{background:#392626;border-color:#a16460;color:#ffd4d0}dialog{background:#1c2224;color:var(--text);border:1px solid #48514e;border-radius:14px;max-width:480px;width:calc(100% - 30px);padding:35px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}dialog h2{margin-top:0;font-size:25px;font-weight:500}.close{position:absolute;right:14px;top:9px;background:transparent;border:0;color:#8b9692;font-size:25px}.dialog-note{font-size:12px;color:var(--muted);line-height:1.7}.text-button{background:transparent;color:var(--lime);border:0;font-size:12px;padding:15px 0}.auth-error{color:var(--danger);font-size:12px;line-height:1.7}.hidden{display:none!important}.stack{font-size:12px;color:#d8c9f5;line-height:1.6;padding:12px 0;white-space:pre-wrap}.loading{padding:50px;text-align:center;color:var(--muted)}
@media(min-width:1450px){.hero-art{right:100px}.hero{padding:45px;min-height:315px}.hero-art{transform:scale(1.1);top:35px}}@media(max-width:1150px){.sidebar{width:205px;padding:28px 15px}.shell{margin-left:205px}main{padding:30px 25px}header{padding:0 25px}.hero-art{right:5px;opacity:.5}.hero>div:first-child{z-index:1}.hero p{max-width:340px}.breadcrumb{font-size:9px}.header-right .subtle{display:none}.work-grid{grid-template-columns:1fr 1.1fr}}@media(max-width:850px){.sidebar{position:relative;width:100%;height:auto;padding:15px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:24px}.nav-caption,.sidebar-bottom{display:none}nav{display:flex;gap:4px;margin-top:14px}nav a{padding:10px;font-size:15px;gap:6px}nav a span{font-size:11px}.tiny{display:none}.shell{margin-left:0}header{height:65px}.hero-art{opacity:.28}.quick-grid{gap:10px}.quick{padding:17px;gap:12px}.quick small{font-size:10px}.work-grid,.deck-layout{grid-template-columns:1fr}.deck-layout>div:first-child{display:flex;gap:10px;flex-wrap:wrap}.deck-item{width:auto}.library-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.room-grid{grid-template-columns:1fr}.game-toolbar{flex-wrap:wrap}.game-toolbar p{flex-basis:100%}}@media(max-width:540px){main{padding:25px 15px}.hero{padding:27px 23px}.hero h1{font-size:35px}.hero-art{right:-40px}.hero p{max-width:270px}.quick-grid{grid-template-columns:1fr}.section-top{flex-wrap:wrap}.filters{width:100%}.table-head,.lobby-row{grid-template-columns:1.4fr 1fr .6fr;padding:16px 12px}.table-head>:nth-child(3),.lobby-row>:nth-child(3){display:none}.breadcrumb{letter-spacing:.5px;font-size:8px;gap:8px}header{padding:0 15px}nav{justify-content:space-between}nav a{padding:8px 5px}nav a span{font-size:10px}nav a .tiny{display:none}.form-row{display:block}.panel{padding:20px}.play-card{flex-basis:112px}.header-right .button{padding:8px 11px;font-size:11px}}

/* Table-first layout, informed by the user's Endstep reference. */
:root{--bg:#100f0c;--panel:#1b1812;--line:#383022;--muted:#a29b87;--text:#eee6ce;--lime:#d7b467;--purple:#c7b397;background:#100f0c}.sidebar{position:relative;inset:auto;width:100%;height:76px;padding:0 28px;flex-direction:row;align-items:center;gap:42px;background:#100f0c;border-bottom:1px solid var(--line);border-right:0}.brand{font-size:22px;letter-spacing:3px;text-transform:uppercase;color:#d6b76e}.brand-mark{font-size:32px}.alpha{font-size:7px}.nav-caption,.sidebar-bottom{display:none}nav{display:flex;align-items:center;gap:8px}nav a{padding:10px 13px;border-radius:3px;font-size:13px}nav a.active{background:#342b18;color:#e1c279}nav a:hover{background:#282218}nav a span{font-size:12px}nav .tiny{display:none}.shell{margin-left:0;background:radial-gradient(ellipse at 50% 0%,#3b2c1533,transparent 55%),#100f0c}header{height:55px;border-bottom:1px solid #30291c;padding:0 32px}.breadcrumb{color:#a29067}.button{background:linear-gradient(#dab96d,#bc9448);border:1px solid #d5b568;color:#1b160b;border-radius:4px;letter-spacing:.4px}.button.secondary{background:#282219;border-color:#52452d;color:#e8dec3}.button.ghost{background:#18160f;border-color:#423824;color:#d9c89d}.button:hover{box-shadow:0 0 18px #d3a85022}.button.small{font-size:11px}.panel{background:#191710;border-color:#3a3121;border-radius:5px;margin-bottom:20px}h1,h2,h3,.mode-tile b{font-family:Georgia,Times New Roman,serif}.page-heading h1{font-size:40px;font-style:italic;font-weight:500;letter-spacing:-1px}.page-heading p{color:#a9a18e}.table-hero{text-align:center;padding:20px 0 42px}.table-hero .eyebrow{justify-content:center;color:#c5a459}.table-hero .eyebrow:before{display:none}.table-hero h1{font-family:Georgia,serif;font-size:58px;font-style:italic;font-weight:500;color:#e5cc88;text-shadow:0 0 24px #c99d3938;margin:13px 0}.table-hero p{font-family:Georgia,serif;color:#b2a992}.section-top h2{font-family:inherit;font-size:11px;letter-spacing:2px;color:#c9bb99}.mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 38px}.mode-tile{padding:24px 20px;text-align:left;border:1px solid #3c3221;border-radius:4px;background:linear-gradient(120deg,#211c13,#17140e);color:#e9ddbb;min-height:100px;display:flex;flex-direction:column;justify-content:center;gap:9px}.mode-tile b{font-size:18px;font-weight:500}.mode-tile span{font-family:Georgia,serif;font-size:13px;color:#b2a78d}.mode-tile:hover{border-color:#a18449;box-shadow:0 0 22px #b58a2520}.mode-tile#practice{border-color:#937338;background:#2b2315}.table{border-color:#3d3424;border-radius:5px}.table-head{background:#1d190f;color:#a69877}.lobby-row{border-color:#302819}.tag,.count{background:#2c2516;color:#dbc17d;border-color:#645131}.tag.official{background:#1b2422;color:#aac4b7}.chip{border-color:#493d28;border-radius:3px}.chip.selected{background:#352a17;border-color:#846733;color:#e5c77e}.empty{color:#a49a84}.empty strong{color:#e1d5b3}.play-notes{margin-top:25px;color:#a99b7d;font-size:12px;line-height:1.8}.field input,.field textarea,.field select,input.search,select.select{background:#100f0b;border-color:#4a3d27;color:#e5dec8}.drop{border-color:#80683c;background:#211b11}.drop.drag{border-color:#e3bc64}.step-label{color:#a49474}.drop .drop-symbol{color:#d9b66a}.ai-note{background:#282319;color:#d1c3a4!important}.field input:focus,.field textarea:focus{border-color:#cfaa5c}.code{color:#d5c59a!important}.notice{background:#2e2412;border-color:#775e2d;color:#dfc797}.notice.success{background:#21291a;color:#c0d2a4;border-color:#53633b}.deck-picker-bar{display:flex;gap:14px;overflow:auto;margin:10px 0 24px;padding-bottom:10px}.deck-choice{display:flex;align-items:center;gap:15px;min-width:230px;padding:10px;border:1px solid #493b25;background:#201a11;border-radius:5px;text-align:left;color:var(--text)}.deck-cover{width:54px;height:76px;object-fit:cover;border-radius:4px}.deck-choice small{display:block;color:var(--muted);font-size:11px;margin-top:8px}.deck-head{display:flex;align-items:center;gap:20px;justify-content:space-between}.deck-head .field{flex:1;max-width:400px}.visual-deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:20px;padding:15px 0}.visual-card{position:relative;min-width:0;background:#1e1911;border:1px solid #4a3c25;border-radius:9px;overflow:hidden}.card-art{width:100%;display:block;aspect-ratio:488/680;object-fit:contain;border-radius:8px;background:#18140e}.card-caption{padding:10px;font-size:11px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-caption b{color:#e2bc64;padding-right:5px}.quantity-controls{display:flex;justify-content:space-between;align-items:center;padding:0 9px 8px;color:#d5bd86}.quantity-controls button{background:#2b2315;color:#e5d4a9;border:1px solid #574323;border-radius:3px;width:28px;height:26px}.visual-deck.stacked{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px}.stacked .visual-card{height:115px}.stacked .card-art{position:absolute;top:0}.stacked .card-caption,.stacked .quantity-controls{position:relative;background:#17130de8}.stacked .card-caption{margin-top:52px}.mini-gallery{display:flex;gap:9px;overflow-x:auto;padding:6px 0 12px;max-height:230px}.mini-gallery .visual-card,.mini-gallery .search-card{flex:0 0 110px}.mini-gallery .card-art{height:154px}.mini-gallery .card-caption{font-size:9px;padding:6px}.search-card{padding:0;border:1px solid #604c29;border-radius:6px;background:#231b10;color:#dfcfaa;overflow:hidden;font-size:10px}.search-card span{display:block;padding:8px}.missing-art{height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;background:radial-gradient(ellipse,#514429,#1d180f);font-family:Georgia,serif;text-align:center;font-size:17px}.missing-art small{font-family:inherit;font-size:10px;color:#aa986b;margin-top:16px}.seat{background:#221c12;border-color:#554329}.check{color:#c7bba0}dialog{background:#1c180f;border-color:#67512c;border-radius:5px;max-width:700px;max-height:92vh;overflow:auto}.text-button{color:#d9b66a}.play-card{position:relative;flex-basis:130px;width:130px;height:183px;min-height:183px;background:#30291b;color:#ddd1ae;overflow:hidden;border:1px solid #605032;padding:9px;border-radius:8px;transition:transform .15s;isolation:isolate}.play-card.illustrated{padding:0;border:0}.play-card.illustrated>img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:fill;border-radius:8px;z-index:1}.play-card .card-fallback{display:block;padding:7px}.play-card .pt-badge{position:absolute;bottom:8px;right:7px;border:1px solid #c2ae6d;background:#211a0de8;color:#eee0b4;padding:2px 6px;border-radius:4px;font-size:11px;z-index:3}.play-card .status-badge{position:absolute;top:45%;left:0;right:0;padding:5px;background:#1a0e09dd;color:#f3bd83;font-size:10px;text-align:center;z-index:3}.play-card.tapped{transform:rotate(12deg);opacity:.85;margin-right:12px}.play-card.attacking{outline:2px solid #e2a16d}.play-card:hover{transform:translateY(-7px);z-index:4}.tabletop{background:radial-gradient(ellipse at center,#323020,#171711);border-color:#51452a;padding:15px 22px;border-radius:5px}.player-area{border-color:#574b2d;min-height:230px}.player-area:last-of-type{border-bottom:0}.player-bar{margin-bottom:9px}.player-target{color:#e3d6b5}.life{color:#ddbd75;font-family:Georgia,serif;font-size:34px}.zone-title{color:#a8966d;font-size:9px;letter-spacing:1.6px}.card-row{min-height:110px;overflow-x:auto;overflow-y:hidden;padding:10px 4px 18px}.game-toolbar{background:#1d190fee;border-color:#7f6531;box-shadow:0 0 20px #0008;backdrop-filter:blur(10px);border-radius:5px;flex-wrap:wrap}.game-toolbar p{flex-basis:35%;color:#e6d9b7}.game-toolbar .button{font-size:11px;padding:9px 12px}.phase-bar{color:#bca77c}.phase-bar b{color:#e5c883}.in-game main{max-width:none;padding:15px 22px}.in-game .sidebar{height:52px}.in-game header{display:none}.in-game footer{display:none}.in-game .brand{font-size:16px}.in-game .brand-mark{font-size:22px}.in-game .game-toolbar{bottom:8px}.choice-box{background:#332916;border-color:#ad8a42;border-radius:5px}.library-card{background:#201b12;border-color:#433821}.library-card .card-detail{padding:14px}.library-card p{color:#bbad8b}.library-card .cost{color:#d6b671}footer{border-color:#30271b;color:#8e7e5c}#toast{background:#292516;border-color:#a68b4c;color:#efdfb2}.sidebar nav a{white-space:nowrap}.in-game .card-row:empty{min-height:90px}
@media(min-width:1200px){main{padding:35px 48px}.table-hero{padding-top:25px}.visual-deck{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}}@media(max-width:950px){.sidebar{padding:12px 20px;height:auto;gap:20px;flex-wrap:wrap}.sidebar nav{margin:0;gap:4px}.sidebar nav a{padding:7px 8px}.mode-grid{grid-template-columns:repeat(2,1fr)}.deck-head{flex-wrap:wrap}.deck-head .field{max-width:none}.in-game .sidebar{height:auto}.table-hero h1{font-size:46px}.game-toolbar p{flex-basis:100%}}@media(max-width:600px){.sidebar{gap:10px;padding:14px 15px}.sidebar nav{flex-wrap:wrap;justify-content:flex-start;gap:2px}.sidebar nav a span{font-size:11px}.sidebar .brand{font-size:18px}.sidebar .brand-mark{font-size:26px}.sidebar nav a{font-size:11px;padding:7px}.mode-tile{padding:17px 14px}.mode-tile b{font-size:17px}.mode-tile span{font-size:11px}.table-hero{padding-bottom:28px}.table-hero h1{font-size:43px}.visual-deck{grid-template-columns:repeat(2,1fr);gap:12px}.deck-actions{flex-wrap:wrap}.play-card{flex-basis:105px;width:105px;height:146px;min-height:146px}.in-game main{padding:12px 10px}.tabletop{padding:12px}.game-toolbar .button{font-size:10px;padding:8px}.breadcrumb{font-size:9px}.header-right .subtle{display:none}.page-heading h1{font-size:32px}}

.phase-steps{display:flex;gap:0;margin-bottom:9px;border:1px solid #453820;border-radius:3px;overflow:hidden}.phase-steps span{flex:1;text-align:center;padding:8px 4px;font-size:9px;color:#9e8e67;border-right:1px solid #2b2518}.phase-steps span.active{background:#5a421c;color:#f1d18b;border-bottom:2px solid #e4ba5d}.in-game .sidebar{display:none}.in-game main{height:100vh;display:flex;flex-direction:column;padding:8px 12px;min-height:0;overflow:hidden}.in-game .phase-bar{margin-bottom:7px;font-size:11px;min-height:30px;flex-shrink:0}.in-game .phase-bar .button{margin-left:auto}.in-game .tabletop{padding:0;flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid #5b4621;border-radius:2px;overflow:auto;background:#0f100d}.in-game .player-area{position:relative;min-height:170px;flex:1;display:flex;flex-direction:column;padding:8px 12px;border-bottom:1px solid #9c7e41;background:linear-gradient(#24374599,transparent 55%),#10110e}.in-game .player-area:last-of-type{background:linear-gradient(0deg,#54380755,transparent 60%),#11100b;border-bottom:0;flex:1.2;min-height:285px}.in-game .player-bar{gap:12px;flex-shrink:0}.in-game .life{font-size:22px}.in-game .zone-title{margin:5px 0;font-size:8px}.in-game .card-row{min-height:85px;max-height:160px;overflow:auto;flex:1;padding:7px 3px}.in-game .play-card{width:100px;height:139px;min-height:139px;flex-basis:100px}.in-game .game-toolbar{position:relative;bottom:auto;flex-shrink:0;margin-top:7px;padding:10px;border-radius:3px;gap:7px}.in-game .game-toolbar p{font-size:11px;white-space:normal;flex-basis:35%}.in-game .game-toolbar .button{font-size:10px;padding:10px}.in-game .stack:empty{display:none}.in-game .stack{margin:0;padding:4px 12px;font-size:10px;max-height:65px;overflow:auto}.in-game .choice-box{position:absolute;top:60px;left:50%;transform:translateX(-50%);z-index:12;max-width:550px;width:90%;max-height:70vh;overflow:auto;box-shadow:0 15px 50px #000c}.in-game main>.notice{position:absolute;top:55px;left:50%;transform:translateX(-50%);z-index:10;max-width:75%;box-shadow:0 8px 30px #0009}#card-zoom{position:fixed;right:20px;top:90px;width:275px;max-height:75vh;object-fit:contain;z-index:30;pointer-events:none;filter:drop-shadow(0 8px 25px #000);border-radius:12px;display:none}#card-zoom.visible{display:block}@media(min-height:900px){.in-game .card-row{max-height:210px}.in-game .play-card{width:125px;height:175px;flex-basis:125px;min-height:175px}}@media(max-width:650px){.in-game main{padding:4px}.phase-steps span{font-size:8px;padding:6px 2px}.in-game .phase-bar{font-size:10px;gap:9px}.in-game .player-area{padding:6px}.in-game .play-card{width:88px;height:123px;min-height:123px;flex-basis:88px}.in-game .game-toolbar p{flex-basis:100%;font-size:10px}.in-game .game-toolbar .button{font-size:9px;padding:8px 7px}.in-game .player-area:last-of-type{min-height:260px}#card-zoom{width:180px;right:8px;top:75px}}

.in-game .player-area:last-of-type > .card-row:last-of-type{flex:0 0 158px;min-height:158px;max-height:158px;overflow-y:hidden}.in-game .player-area:last-of-type{min-height:320px}@media(min-height:900px){.in-game .player-area:last-of-type > .card-row:last-of-type{flex-basis:193px;min-height:193px;max-height:193px}.in-game .player-area:last-of-type{min-height:355px}}
/* Arcana identity: indigo workspace, mint actions, left navigation. */
:root{--bg:#0c1020;--panel:#141b30;--line:#2b3652;--text:#edf2ff;--muted:#9baac8;--lime:#75ecd2;--purple:#b1a3ff;color-scheme:dark}
body{background:radial-gradient(ellipse at 85% 0,#24304d44,transparent 55%),#0c1020;color:#edf2ff;font-family:Segoe UI,system-ui,sans-serif}
.sidebar{position:fixed;inset:0 auto 0 0;width:212px;height:100vh;padding:28px 16px;display:flex;flex-direction:column;align-items:stretch;background:#10172a;border-right:1px solid #29334e;border-bottom:0;gap:0}
.brand{font-size:25px;letter-spacing:1px;color:#edf2ff}.brand-mark{color:#75ecd2}.alpha{color:#99a8c7;border-color:#35435e}
.nav-caption{display:block;margin:40px 12px 16px;color:#8c9bbb}.sidebar nav{display:grid;gap:7px;margin:0}.sidebar nav a{font-size:14px;padding:14px 12px;border-radius:12px;color:#aebbd5}.sidebar nav a.active{background:#293152;color:#bfb5ff;box-shadow:inset 3px 0 #a999ff}.sidebar nav a:hover{background:#1f2a43}.sidebar-bottom{display:block;margin-top:auto;color:#8e9cb9}.sidebar-bottom a{color:#75ecd2}.shell{margin-left:212px}
header{background:#0c102088;border-color:#26314b}.breadcrumb{color:#a4b1cb}.breadcrumb b{color:#e8eeff}.subtle,footer{color:#95a4c0}main{padding:36px;max-width:1560px}
h1,h2,.page-heading h1,.play-intro h1{font-family:Segoe UI,system-ui,sans-serif;font-style:normal;color:#edf2ff;letter-spacing:-1.3px}.page-heading h1,.play-intro h1{font-size:40px;font-weight:700}.page-heading p,.play-intro p{color:#aab8d3}.play-intro{text-align:left;padding:22px 0 34px}.eyebrow{color:#75ecd2;letter-spacing:2px}
.button{border:1px solid #75ecd2;background:#75ecd2;color:#08251f;box-shadow:none;border-radius:10px;font-weight:650}.button:hover{background:#9df5e1;border-color:#9df5e1}.button.secondary,.button.ghost{background:#1c2840;border-color:#354765;color:#dbe6fb}.button.ghost:hover,.button.secondary:hover{background:#283852}.button.danger{background:#f68a9f;color:#39131e;border-color:#f68a9f}
.panel,.table,.deck-item,.mode-card,.library-card,dialog{background:#141d32;border:1px solid #2c3c59;border-radius:16px;box-shadow:none}.mode-card{padding:26px;text-align:left;min-height:140px;background:linear-gradient(135deg,#1e2946,#131d32);color:#edf2ff}.mode-card:hover{border-color:#a899ff;background:#202d49}.mode-card b,.mode-card strong{color:#edf2ff}.mode-card small{color:#abbad3}.mode-grid{gap:16px}.section-top h2{letter-spacing:0}.panel h2{color:#edf2ff}.table-head{background:#1a2640;color:#a7b9d7}.lobby-row{border-color:#2a3954}.lobby-row b{color:#e6edfc}
.field input,.field textarea,.field select,input,textarea,select{background:#0e172a;color:#e6eeff;border-color:#384b6a;border-radius:9px}.field>span{color:#b8c7df}.chip{background:#162239;color:#b0c0dc;border-color:#324768}.chip.selected{background:#293452;color:#c9bfff;border-color:#8f83ca}.tag,.tag.official{background:#183830;color:#98efd9;border-color:#2e6357}.count{background:#283553;color:#b7c7e6}.check,.dialog-note{color:#b6c5dd}.text-button,a.text-button{color:#75ecd2}.drop{background:#111c33;border-color:#6c65a4;border-radius:15px}.drop-symbol,.step-label{color:#b8a7ff}.notice{background:#34273f;border-color:#aa7a9b;color:#f7d3e4}.notice.success{background:#16392f;border-color:#418975;color:#b2f5e3}
.visual-card,.search-card{background:#17243c;border-color:#35445e;border-radius:10px;color:#d8e3f8}.card-caption{color:#d8e3f8}.card-caption b,.deck-item b{color:#a9eee0}.quantity-controls{color:#c8d7ed}.quantity-controls button{background:#273956;color:#e0edff;border-color:#466187}.missing-art{background:radial-gradient(ellipse,#35476a,#14213a);color:#cbd9f0}.missing-art small{color:#a5b4cd}.art-loading{object-fit:contain!important;padding:38px;background:#18263f;opacity:.65}.mini-gallery .art-loading{padding:25px}.card-art{color:#9fb0cc}.deck-item:hover{border-color:#75ecd2}
footer{border-color:#263652}.empty,.loading{color:#a6b6d1}#toast{background:#283350;border-color:#9a8de3;color:#edf1ff}.seat{background:#18263f;border-color:#425570}.seat strong{color:#dbe8ff}.close{color:#c4d2eb}
.in-game .sidebar{height:58px;width:auto;inset:0 0 auto;position:relative;flex-direction:row;padding:9px 20px;border-right:0;border-bottom:1px solid #2a3753;gap:30px}.in-game .sidebar nav{display:flex;gap:7px;overflow-x:auto}.in-game .sidebar nav a{padding:9px 12px}.in-game .nav-caption,.in-game .sidebar-bottom{display:none}.in-game .shell{margin-left:0}.in-game main{padding:16px 22px}.tabletop{background:#0f1728;border:1px solid #2c3e5c;border-radius:16px}.in-game .player-area{background:#111e34;border-color:#354f75}.in-game .player-area:last-of-type{background:#142b30;border-color:#36685f}.player-bar{background:transparent}.player-target{color:#d9e7fe}.life{color:#aab6ff;font-family:Segoe UI,sans-serif}.player-area:last-of-type .life{color:#75ecd2}.phase-bar,.zone-title{color:#a4b8d2}.phase-bar b{color:#b7a6ff}.phase-steps{background:#131f34;border-color:#354963}.phase-steps span.active{background:#3e365b;color:#d4c7ff;border-color:#9c89d6}.game-toolbar{background:#18243cf5;border-color:#4c6080;border-radius:13px}.game-toolbar p{color:#e0ebff}.choice-box{background:#23304a;border-color:#9485cd}.play-card{background:#21324b;color:#e2ebfa;border-color:#466586}.play-card .pt-badge{background:#122a31;color:#b9fff0;border-color:#74b9ab}
@media(max-width:900px){.sidebar{position:relative;width:100%;height:auto;inset:auto;padding:16px;flex-direction:row;flex-wrap:wrap;gap:12px}.sidebar nav{display:flex;overflow-x:auto;width:100%;gap:4px}.sidebar nav a{padding:10px;font-size:12px}.nav-caption,.sidebar-bottom{display:none}.shell{margin-left:0}main{padding:24px 18px}header{padding:15px 18px}.in-game .sidebar{height:auto;gap:8px}.in-game .sidebar nav{width:100%}.page-heading h1,.play-intro h1{font-size:32px}}
.shell{background:transparent}.drop .drop-symbol{color:#b6a5ff}.drop strong,.drop span{display:block}.card-detail p{color:#b5c6e0}
body.in-game{background:#0c1020}.in-game .tabletop{border-radius:14px}.in-game .phase-steps{border-radius:9px}.in-game .game-toolbar{border-radius:12px}
/* Reserve enough space for both battlefield cards and the full hand. */
.in-game .player-area{min-height:184px;flex:.65}.in-game .player-area:last-of-type{min-height:358px;flex:1.35}.in-game .player-area>.card-row{flex:0 0 119px;min-height:119px;max-height:119px;overflow-y:hidden}.in-game .player-area>.player-bar+.zone-title+.card-row .play-card{width:76px;flex-basis:76px;height:105px;min-height:105px}.in-game .player-area>.player-bar+.zone-title+.card-row .card-fallback{font-size:8px;padding:3px}.in-game .player-area>.player-bar+.zone-title+.card-row .pt-badge{font-size:9px;bottom:4px;right:3px}
@media(min-height:900px){.in-game .player-area{min-height:230px}.in-game .player-area:last-of-type{min-height:435px}.in-game .player-area>.card-row{flex-basis:158px;min-height:158px;max-height:158px}.in-game .player-area>.player-bar+.zone-title+.card-row .play-card{width:100px;flex-basis:100px;height:139px;min-height:139px}}
/* Combatants face the center; lands sit behind them, nearest their owner. */
.in-game .player-area{flex:1 0 auto;min-height:185px}.in-game .player-area:last-of-type{flex:1 0 auto;min-height:340px}.battlefield-rows{display:grid;grid-template-columns:2fr 1fr;gap:4px 14px;padding:0 3px}.battlefield-lane.lands{grid-column:1/-1}.opponent-field .lands{order:-1}.battlefield-lane:has(.card-row:empty){display:none}.battlefield-rows:not(:has(.play-card)){min-height:85px}.battlefield-lane .zone-title{border-bottom:1px solid #6884a733;padding-bottom:3px}.in-game .battlefield-lane .card-row{flex:none;min-height:111px;max-height:111px;height:111px;overflow-x:auto;overflow-y:hidden;padding:5px 3px}.in-game .battlefield-lane .play-card{width:72px;flex-basis:72px;height:100px;min-height:100px}.in-game .battlefield-lane .card-fallback{font-size:8px;padding:3px}.in-game .player-area>.card-row{height:158px;flex:0 0 158px;min-height:158px;max-height:158px}.ability-badges{position:absolute;left:3px;top:20px;z-index:5;display:flex;flex-direction:column;gap:2px}.ability-badge{display:grid;place-items:center;width:19px;height:19px;border:1px solid #b3d7ef;background:#162136ee;color:#e4f4ff;border-radius:50%;font-size:13px;line-height:1}.loyalty-badge{position:absolute;bottom:4px;right:3px;z-index:5;background:#47306beF;color:#efdcff;border:1px solid #ccafff;border-radius:5px;padding:2px 5px;font-weight:700}.counter-badge{position:absolute;bottom:22px;right:2px;z-index:5;background:#0c3036ed;color:#b9ffef;font-size:9px;padding:2px;border-radius:3px}.play-card.selectable{outline:3px solid #71f8dc;outline-offset:1px;box-shadow:0 0 14px #71f8dc88}.in-game .battlefield-lane .pt-badge{font-size:9px;bottom:3px;right:2px}.in-game .play-card.tapped{transform:rotate(12deg)}
@media(min-height:900px){.in-game .battlefield-lane .card-row{height:142px;min-height:142px;max-height:142px}.in-game .battlefield-lane .play-card{width:93px;flex-basis:93px;height:130px;min-height:130px}}
.in-game .player-area,.in-game .player-area:last-of-type{min-height:0;flex:1 0 auto}.battlefield-rows:not(:has(.play-card)){min-height:25px}.hand-rack{flex:0 0 169px;height:169px;padding:0 10px;background:#13232e;border:1px solid #344f60;border-radius:10px;margin-top:7px;overflow:hidden}.in-game .hand-rack>.card-row{height:144px;min-height:144px;max-height:144px;padding:3px;overflow-y:hidden;display:flex;gap:9px}.in-game .hand-rack .play-card{width:94px;flex-basis:94px;height:131px;min-height:131px}.hand-rack .zone-title{margin:6px 0 3px}.in-game .battlefield-lane .card-row{height:102px;min-height:102px;max-height:102px}.in-game .battlefield-lane .play-card{height:91px;min-height:91px;width:66px;flex-basis:66px}
.in-game .battlefield-lane .zone-title{margin:2px 0;line-height:10px;padding-bottom:2px}.in-game .player-bar{margin-bottom:4px}.in-game .battlefield-lane .play-card.tapped{transform:rotate(90deg) scale(.9);margin:0 15px 0 10px}.in-game .battlefield-lane .play-card.tapped:hover{transform:rotate(90deg) scale(.95)}
.sickness-badge{position:absolute;z-index:6;top:4px;right:3px;padding:2px 4px;border-radius:6px;background:#233c6dee;color:#d3e4ff;border:1px solid #9abbef;font-size:10px;font-weight:800;letter-spacing:1px;text-shadow:0 1px 2px #000}.damage-target{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #53658066}.damage-target small{display:block;color:#acbfd9;font-size:11px;margin-top:4px}.damage-target input{width:85px;padding:9px}.damage-choice p{font-size:13px;line-height:1.5}
/* Visible decisions and live, engine-confirmed combat assignments. */
.battle-stage{position:relative;flex:1;min-height:150px;overflow:hidden;display:flex}.in-game .battle-stage .tabletop{flex:1;min-height:0;overflow:auto}.combat-arrows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:9;overflow:hidden}.combat-arrows>path{fill:none;stroke-width:3;filter:drop-shadow(0 1px 2px #000);opacity:.9}.combat-arrows .attack{stroke:#ff6868}.combat-arrows .block{stroke:#5ab7ff}.combat-arrows marker .attack{fill:#ff6868}.combat-arrows marker .block{fill:#5ab7ff}.play-card.selected-card{outline:3px solid #ffe16a!important;outline-offset:2px;box-shadow:0 0 16px #ffe16aaa!important}.turn-guidance{flex:1 1 320px;min-width:240px;display:grid;gap:4px;padding:4px 8px;border-left:3px solid #9bafff}.turn-guidance strong{font-size:16px;color:#fff}.turn-guidance span{font-size:12px;line-height:1.4;color:#d4e0f3}.turn-guidance small{font-size:11px;color:#9eb4cd}.in-game .game-toolbar{flex-wrap:wrap;flex-shrink:0}.in-game .phase-bar{flex-shrink:0}
.match-result-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#070d1ad9;backdrop-filter:blur(7px)}.match-result{max-width:560px;width:100%;text-align:center;border:1px solid #7184b7;border-radius:24px;padding:48px 32px;background:radial-gradient(circle at 50% 0,#334873,#10192e 75%);box-shadow:0 30px 100px #0009}.match-result.win{border-color:#76e4c5;background:radial-gradient(circle at 50% 0,#285e62,#10192e 75%)}.result-emblem{display:block;font-size:70px;color:#a5b8fc;margin-bottom:18px}.win .result-emblem{color:#92ffe0}.match-result h1{font-size:56px;letter-spacing:-2px;margin:16px 0}.match-result p{color:#d3dfef;font-size:16px;line-height:1.6}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}.result-actions a{flex-basis:100%}@media(max-width:600px){.match-result{padding:30px 20px}.match-result h1{font-size:42px}}
/* Multiplayer seats and deliberate turn controls. */
.in-game .multiplayer-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-content:start;gap:12px}.in-game .multiplayer-table .player-area{min-height:200px;border:1px solid #53658066;border-radius:10px;padding:10px}.in-game .multiplayer-table .your-seat{grid-column:1/-1;order:2}.room-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.phase-stop{border:0;background:transparent;color:#c2cee0;padding:8px;cursor:pointer;flex:1;font:inherit;font-size:10px}.phase-stop.active{background:#5b5184;color:#fff}.phase-stop.skipped{opacity:.55;text-decoration:line-through}.phase-help{font-size:10px;color:#aebcd2;padding:4px 6px;flex-shrink:0}.in-game .game-toolbar{gap:12px;padding:14px}.in-game .game-toolbar .button{padding:11px 15px;min-height:40px}.in-game .turn-guidance{flex-basis:100%;border-bottom:1px solid #60749644;padding-bottom:8px}.in-game .game-toolbar [data-action="undo"]{margin-left:auto}.game-toolbar [data-action="stopYield"]{border-color:#e9ba78}.lobby-row{position:relative}.lobby-row>a{margin:5px}.field small{color:var(--muted);line-height:1.5}footer{line-height:1.6}footer p{margin:8px 0}
.in-game .multiplayer-table .player-area{min-height:96px}.spectator-view .hand-rack,.spectator-view .game-toolbar button{display:none}.spectator-view .turn-guidance{margin:0}.spectator-view .phase-help{display:none}.in-game .multiplayer-table .stack:empty{display:none}

[hidden]{display:none!important}

.library-choice{position:fixed;inset:110px 24px 200px;z-index:45;background:#172438;border:2px solid #7fdac3;border-radius:14px;box-shadow:0 12px 60px #000b;padding:18px;display:flex;flex-direction:column;overflow:hidden}.library-choice h2{margin:0 0 8px}.library-choice p{margin:0 0 12px;white-space:pre-line}.library-choice .card-row{overflow:auto;flex-wrap:wrap;align-content:flex-start;min-height:0}.library-choice .play-card{flex-shrink:0}@media(max-height:650px){.library-choice{inset:60px 12px 170px;padding:10px}}

/* Optional support stays in the page footer, outside the match interface. */
.support-section{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;margin-bottom:20px;border-bottom:1px solid #344158}
.support-section h2{margin:0 0 8px;color:#e3ecff;font-size:18px;letter-spacing:0}
.support-section p{max-width:600px;margin:0 0 8px;font-size:13px;line-height:1.6;color:#b3c1d8}
.support-note{font-size:12px;color:#93a7c2}.support-link{flex-shrink:0;white-space:nowrap;text-decoration:none}.support-link:focus-visible{outline:3px solid #83e2c6;outline-offset:4px}
.site-credits{font-size:11px;line-height:1.65}.site-credits p{margin:8px 0}
.library-choice .card-row{flex:1;max-height:none;height:auto}
@media(max-width:640px){.support-section{align-items:flex-start;flex-direction:column;gap:16px}.support-link{width:100%;justify-content:center}}

.community-actions,.legal-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.community-preview{display:block;max-width:260px;width:100%;margin:16px auto}.script-view{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;padding:16px;background:#111822;border-radius:8px}.legal-copy{max-width:850px;line-height:1.8}.card-detail{overflow-wrap:anywhere}

.community-tabs{justify-content:flex-start;flex-wrap:wrap;gap:10px}.community-search{align-items:flex-end;flex-wrap:wrap}.community-search .field{margin:0;flex:0 0 145px}.community-search .search,.community-search .button,.community-search select{height:42px;background:#0e172a;border-color:#384b6a}.community-search .search{min-width:180px}.community-search .button:not(.secondary){background:var(--lime)}

#modal{width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box} .printing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px}.printing-option{cursor:pointer;background:transparent;color:inherit;border:1px solid #726759;border-radius:10px;padding:8px}.printing-option img{width:100%;border-radius:8px}.printing-option span{display:block;padding-top:6px}.community-actions{flex-wrap:wrap}@media(max-width:600px){.printing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-actions button{min-height:44px}#modal input,#modal select,#modal textarea{max-width:100%;box-sizing:border-box}}

/* Authoritative waiting state and readable battlefields. */
.waiting-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;margin:8px 0;border:1px solid #536580;border-radius:12px;background:#162638;flex-shrink:0}.waiting-banner strong{font-size:clamp(20px,2vw,28px);color:#fff}.waiting-banner p{margin:5px 0;color:#ccdaec}.waiting-banner.your-action{border:2px solid #8ce7c5;background:#153c37}.waiting-action strong:before{content:'●';display:inline-block;color:#e2bc71;margin-right:10px;animation:wait-pulse 1.8s ease-in-out infinite}.game-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:13px}.game-information{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex-shrink:0;margin:8px 0}.game-information section{background:#162536;border:1px solid #465871;border-radius:10px;padding:10px 14px;max-height:180px;overflow:auto}.game-information h2{font-size:15px;margin:0 0 8px}.game-information p,.game-information ol{margin:0;font-size:13px;line-height:1.5}.game-information ol{padding-left:20px}.visible-stack li{white-space:pre-line}.activity-feed li{padding:3px 0}.in-game .player-area.active-turn{border-left:4px solid #bb9cff}.in-game .player-area.awaiting-player{box-shadow:inset 0 0 0 2px #8ce7c5;border-radius:8px}.player-bar{flex-wrap:wrap}.in-game .battlefield-lane .play-card{width:clamp(100px,9vw,140px);flex-basis:clamp(100px,9vw,140px);height:clamp(140px,12.6vw,196px);min-height:140px}.in-game .battlefield-lane .card-row{height:auto;min-height:158px;max-height:none;padding:10px 8px 18px}.in-game .hand-rack{height:205px;flex-basis:205px}.in-game .hand-rack>.card-row{height:180px;max-height:180px}.in-game .hand-rack .play-card{width:115px;flex-basis:115px;height:160px;min-height:160px}.inspect-card{position:absolute;right:3px;top:3px;z-index:7;background:#102035ee;color:white;border:1px solid #9db2cc;border-radius:5px;padding:4px 8px;font-size:17px}.game-card-preview{display:grid;grid-template-columns:minmax(200px,330px) 1fr;gap:24px}.game-card-preview img{width:100%;max-height:68vh;object-fit:contain}.rules-text{white-space:pre-line;line-height:1.6}.in-game #card-zoom{width:320px;max-height:80vh}.in-game .play-card .pt-badge{font-size:12px}.in-game main{overflow-y:auto}.in-game .battle-stage{min-height:350px;flex:1 0 350px}.in-game .battle-stage .tabletop{overflow:auto}.game-toolbar [disabled]{opacity:.45}.in-game .turn-guidance small{white-space:pre-line;font-size:13px}@keyframes wait-pulse{50%{opacity:.3}}
@media(max-width:700px){.waiting-banner{display:block;padding:12px}.game-facts{margin-top:10px;font-size:12px}.game-information{grid-template-columns:1fr}.game-information section{max-height:150px}.game-card-preview{grid-template-columns:1fr}.game-card-preview img{max-height:55vh}.in-game .battlefield-lane .play-card{width:105px;flex-basis:105px;height:147px}.inspect-card{min-width:36px;min-height:36px}.in-game .multiplayer-table{grid-template-columns:1fr}.in-game .player-bar .subtle{flex-basis:100%;font-size:12px}}
@media(prefers-reduced-motion:reduce){.waiting-action strong:before{animation:none}}
.in-game .waiting-banner{position:sticky;top:0;z-index:15;box-shadow:0 6px 18px #0008}.waiting-banner p{max-width:650px}.in-game .game-toolbar{position:sticky;bottom:0;z-index:12}

.in-game .priority-seat .player-bar:before{content:"PRIORITY";font-size:11px;padding:4px 7px;background:#765f36;color:#ffe3a7;border-radius:5px}

.in-game .phase-steps{flex-shrink:0;min-height:32px}
.in-game .player-bar{position:sticky;top:0;z-index:11;background:#162638;padding:7px;border-radius:6px}.in-game .your-seat .player-bar{background:#153c37}


























/* TABLETOP STYLE START */
/* A bounded tabletop: scrolling belongs to lanes and drawers, never the page. */
.digital-tabletop .more-actions{position:relative}.more-actions summary{cursor:pointer;padding:9px;border:1px solid #4f6672;border-radius:7px;min-height:36px}.more-actions>div{position:absolute;right:0;bottom:42px;width:240px;padding:12px;display:grid;gap:8px;background:#152d38;border:1px solid #66818b;border-radius:9px;box-shadow:0 10px 35px #0009;z-index:35}.digital-tabletop .more-actions button{margin:0!important;width:100%}
.in-game .shell{margin:0}.in-game main.digital-tabletop{height:100dvh;max-height:100dvh;padding:8px 14px;display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto;gap:5px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#223c3f,#0b171f 75%)}
.digital-tabletop .phase-bar{margin:0;min-height:30px;gap:10px}.digital-tabletop .phase-bar .button{margin-left:0}.digital-tabletop .phase-bar a{margin-right:auto}
.digital-tabletop .waiting-banner{position:static;margin:0;padding:8px 16px;border-radius:9px;box-shadow:none}.digital-tabletop .waiting-banner strong{font-size:20px}.digital-tabletop .waiting-banner p{font-size:12px;margin:2px 0}.digital-tabletop .game-facts{font-size:11px;gap:3px 14px}
.digital-tabletop .phase-help{display:none}.digital-tabletop .phase-steps{margin:0;gap:4px;min-height:26px}.digital-tabletop .phase-stop{min-height:26px;padding:3px 8px}
.table-controls{display:flex;gap:8px;min-width:0;align-items:center}.seat-strip{display:flex;gap:6px;flex:1;overflow-x:auto;min-width:0}.seat-tab{flex:0 0 auto;max-width:245px;min-width:130px;text-align:left;color:#dce9ed;border:1px solid #3d5663;border-radius:8px;padding:6px 10px;background:#182934}.seat-tab span,.seat-tab small{display:block;font-size:10px;margin-top:3px}.seat-tab.focused{border-color:#d9b76c;background:#3d3525}.seat-tab.my-seat{border-left:3px solid #83d6bd}.view-tools{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.view-tools button,.zone-dock button{background:#1a2c35;color:#d5e6e6;border:1px solid #3e5961;border-radius:6px;min-height:30px;padding:5px 9px;font-size:11px}
.stack-focus{display:flex;gap:12px;align-items:center;min-height:24px;font-size:12px;padding:3px 12px;color:#b4c8ca;background:#152831;border-radius:5px}.stack-focus strong{color:#f2d395}.stack-focus span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.digital-tabletop .battle-stage{flex:initial;min-height:0;height:100%;overflow:hidden}.digital-tabletop .battle-stage .tabletop{height:100%;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1.1fr);gap:8px;overflow:hidden;border:0;background:none}.digital-tabletop .player-area,.digital-tabletop .player-area:last-of-type{min-height:0;min-width:0;padding:6px 9px;border:1px solid #47606b;border-radius:10px;background:linear-gradient(110deg,#182e3a,#102028);overflow:auto;flex:initial}.digital-tabletop .player-area.your-seat{background:linear-gradient(110deg,#173833,#102a2c);border-color:#51857c}.digital-tabletop .player-area[hidden]{display:none}.digital-tabletop .player-bar{position:static;gap:8px;background:none;padding:0;min-height:30px}.digital-tabletop .player-bar .subtle{font-size:10px;flex:1}.digital-tabletop .life{font-size:24px;color:#fff}.digital-tabletop .player-target{font-size:13px}.digital-tabletop .zone-dock{display:flex;gap:5px;justify-content:flex-end;margin:2px 0}.digital-tabletop .battlefield-rows{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:5px;min-height:145px}.digital-tabletop .battlefield-lane{min-width:0;min-height:0;border:0;border-radius:6px;background:#091b2366;padding:2px 4px}.digital-tabletop .battlefield-lane.lands{grid-column:1/-1}.digital-tabletop .zone-title{font-size:9px;margin:2px 0;color:#bed0ce}.digital-tabletop .battlefield-lane .card-row{min-height:0;height:auto;max-height:none;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:3px 5px 8px;gap:8px;align-items:flex-start}.digital-tabletop .battlefield-lane .play-card{--card-size:130px;width:var(--card-size);flex-basis:var(--card-size);height:calc(var(--card-size)*1.4);min-height:calc(var(--card-size)*1.4);flex-shrink:0}.digital-tabletop .lands .play-card{--card-size:83px}.digital-tabletop .lands .card-row{height:73px}.digital-tabletop .lands .card-row:hover,.digital-tabletop .lands .card-row:focus-within{height:125px}.digital-tabletop[data-density=large] .battlefield-lane:not(.lands) .play-card{--card-size:155px}.digital-tabletop[data-density=compact] .battlefield-lane:not(.lands) .play-card{--card-size:108px}.digital-tabletop .card-row:empty{height:24px;min-height:24px}.digital-tabletop .card-row:empty:after{content:'Clear';font-size:11px;color:#789499;padding:4px}.digital-tabletop .battle-stage .overview-board{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(260px,auto);overflow:auto}.digital-tabletop .overview-board .player-area{overflow:visible}.digital-tabletop .overview-board .play-card{--card-size:100px}
.digital-tabletop .hand-rack{height:135px;min-height:0;flex:initial;margin:0;border-radius:8px;padding:3px 9px;background:#0b1d28;border:1px solid #385262}.digital-tabletop .hand-rack>.card-row{height:112px;max-height:112px;min-height:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:3px 8px;gap:6px}.digital-tabletop .hand-rack .play-card{height:140px;min-height:140px;width:100px;flex-basis:100px;flex-shrink:0}.digital-tabletop .game-toolbar{position:static;margin:0;padding:7px 10px;gap:7px;min-height:54px;background:#13252d;box-shadow:none;flex-wrap:wrap}.digital-tabletop .turn-guidance{flex:1 1 270px;min-width:0}.digital-tabletop .turn-guidance span{display:none}.digital-tabletop .turn-guidance strong{font-size:13px}.digital-tabletop .turn-guidance small{font-size:11px;max-height:42px;overflow:auto}.digital-tabletop .game-toolbar button{font-size:11px;padding:7px 9px;min-height:32px}.digital-tabletop .game-toolbar button[data-action=ok]{min-width:130px}.digital-tabletop .game-toolbar button[data-action=endTurn]{margin-left:12px}
.table-drawer{position:fixed;right:10px;top:115px;bottom:80px;width:min(360px,calc(100vw - 20px));padding:20px;background:#101f2af5;border:1px solid #708a94;border-radius:12px;box-shadow:0 10px 60px #000b;z-index:30;overflow:auto}.table-drawer[hidden]{display:none}.drawer-close{position:sticky;float:right;top:0;border:1px solid #738c95;border-radius:6px;background:#213d48;color:white;font-size:24px;width:38px;height:38px;z-index:3}.drawer-content h2{font-size:18px}.drawer-content p{line-height:1.6;font-size:13px}.drawer-content .pinned-card{width:100%;max-height:48vh;object-fit:contain}.drawer-cards{display:flex;flex-wrap:wrap;gap:8px}.drawer-cards .play-card{width:135px;height:189px;min-height:189px}.drawer-content .visible-stack,.drawer-content .activity-feed{max-height:none;background:none;padding:0}.drawer-content ol{padding-left:20px;line-height:1.6;font-size:13px}.open-zone-choices,.digital-tabletop .library-choice,.digital-tabletop .choice-box{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 24px));max-height:65dvh;overflow:auto;background:#152d38;z-index:26;padding:18px;box-shadow:0 12px 60px #000b;border:1px solid #d6bb7a;border-radius:10px}.digital-tabletop .library-choice .card-row,.open-zone-choices .card-row{flex-wrap:wrap;max-height:none;height:auto}.digital-tabletop .notice{position:fixed;top:100px;left:25%;z-index:35;max-width:70vw}.digital-tabletop #card-zoom{z-index:45}
@media(min-height:950px){.digital-tabletop .battlefield-lane .play-card{--card-size:155px}.digital-tabletop .hand-rack{height:180px}.digital-tabletop .hand-rack>.card-row{height:155px}}
@media(max-width:800px){.in-game main.digital-tabletop{padding:4px 6px;gap:4px}.digital-tabletop .phase-bar>span,.digital-tabletop .phase-bar>b,.digital-tabletop .phase-bar .tag{display:none}.digital-tabletop .waiting-banner{display:flex;padding:6px 9px}.digital-tabletop .waiting-banner strong{font-size:16px}.digital-tabletop .waiting-banner p{font-size:10px;max-width:200px}.digital-tabletop .game-facts{display:none}.table-controls{display:block}.seat-tab{min-width:115px;padding:5px 7px}.seat-tab small{display:none}.view-tools{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-top:4px}.view-tools button{flex-shrink:0;min-height:34px}.digital-tabletop .phase-steps{overflow-x:auto;flex-wrap:nowrap}.digital-tabletop .phase-stop{flex-shrink:0}.digital-tabletop .player-bar .subtle{display:none}.digital-tabletop .player-bar .player-target{font-size:12px}.digital-tabletop .player-area{padding:4px 5px}.digital-tabletop .zone-dock{justify-content:flex-start}.digital-tabletop .zone-dock button{font-size:10px;padding:4px 7px;min-height:32px}.digital-tabletop .battlefield-lane .play-card{--card-size:98px}.digital-tabletop .lands .play-card{--card-size:72px}.digital-tabletop .lands .card-row{height:53px}.digital-tabletop .battlefield-rows{min-height:125px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.digital-tabletop .battle-stage .overview-board{grid-template-columns:1fr}.digital-tabletop .hand-rack{height:103px}.digital-tabletop .hand-rack>.card-row{height:83px}.digital-tabletop .hand-rack .play-card{width:82px;flex-basis:82px;height:115px;min-height:115px}.digital-tabletop .game-toolbar{max-height:112px;overflow:auto;padding:5px;gap:5px}.digital-tabletop .turn-guidance{flex-basis:100%}.digital-tabletop .game-toolbar button{min-height:36px}.digital-tabletop .game-toolbar button[data-action=ok]{min-width:110px}.table-drawer{top:100px;bottom:50px}.digital-tabletop .inspect-card{padding:2px;min-width:30px;min-height:30px}}
@media(max-height:650px){.digital-tabletop .seat-tab small,.digital-tabletop .waiting-banner p{display:none}.digital-tabletop .hand-rack{height:80px}.digital-tabletop .hand-rack>.card-row{height:62px}.digital-tabletop .battle-stage .tabletop{overflow:auto;grid-auto-rows:minmax(200px,auto);grid-template-rows:minmax(200px,1fr) minmax(200px,1fr)}}
.digital-tabletop .player-bar .subtle{display:none}.digital-tabletop .zone-dock{position:absolute;right:8px;top:5px;margin:0}.digital-tabletop .player-bar{padding-right:330px;min-height:34px}.digital-tabletop .battlefield-rows{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(110px,.8fr);grid-template-rows:minmax(0,1fr);min-height:0}.digital-tabletop .battlefield-lane.lands{grid-column:auto}.digital-tabletop .lands .card-row,.digital-tabletop .lands .card-row:hover,.digital-tabletop .lands .card-row:focus-within{height:auto;max-height:none}.digital-tabletop .lands .card-row{flex-wrap:nowrap}.digital-tabletop .tabletop .player-area{display:block}.digital-tabletop .hand-rack{height:112px}.digital-tabletop .hand-rack>.card-row{height:90px}.digital-tabletop .game-toolbar{flex-wrap:nowrap;min-height:56px}.digital-tabletop .turn-guidance{flex:1;min-width:0}.digital-tabletop .game-toolbar .turn-guidance small{max-height:28px}.digital-tabletop .seat-tab small{display:none}.digital-tabletop .waiting-banner p{display:none}.digital-tabletop .waiting-banner{min-height:42px}.digital-tabletop .view-tools{flex-wrap:nowrap}.digital-tabletop .battlefield-lane .play-card{--card-size:130px}.digital-tabletop .lands .play-card{--card-size:88px}
@media(max-height:800px){.digital-tabletop .battlefield-lane .play-card{--card-size:112px}.digital-tabletop .lands .play-card{--card-size:85px}.digital-tabletop .hand-rack{height:97px}.digital-tabletop .hand-rack>.card-row{height:76px}}
@media(max-width:800px){.digital-tabletop .player-bar{padding-right:0;min-height:28px}.digital-tabletop .zone-dock{position:static;margin:2px 0}.digital-tabletop .battlefield-rows{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:auto auto}.digital-tabletop .battlefield-lane.lands{grid-column:1/-1}.digital-tabletop .lands .card-row,.digital-tabletop .lands .card-row:hover{height:39px}.digital-tabletop .battlefield-lane .play-card{--card-size:90px}.digital-tabletop .lands .play-card{--card-size:65px}.digital-tabletop .game-toolbar{flex-wrap:wrap;max-height:100px;overflow:visible}.digital-tabletop .turn-guidance{flex-basis:100%}.digital-tabletop .more-actions{margin-left:auto}.digital-tabletop .waiting-banner{min-height:34px}.digital-tabletop .hand-rack{height:93px}.digital-tabletop .hand-rack>.card-row{height:72px}.digital-tabletop .table-controls .seat-tab span{font-size:10px}.digital-tabletop .tabletop .player-area{overflow:auto}}
.in-game main.digital-tabletop{grid-template-rows:auto auto auto minmax(0,1fr) auto auto}.digital-tabletop .stack-focus{position:absolute;top:6px;left:210px;max-width:35vw;z-index:10;background:#263e46}.digital-tabletop .stack-focus:has(span:only-child){display:none}.digital-tabletop .more-actions .phase-steps{flex-wrap:wrap;overflow:visible;padding:4px;height:auto}.digital-tabletop .more-actions .phase-stop{width:55px;min-width:0;margin:0;padding:4px}.digital-tabletop .more-actions>div{max-height:70vh;overflow:auto;width:260px}.digital-tabletop .battlefield-lane{order:0!important}.digital-tabletop .battlefield-lane.creatures{grid-column:1}.digital-tabletop .battlefield-lane.permanents{grid-column:2}.digital-tabletop .battlefield-lane.lands{grid-column:3}
@media(max-height:800px) and (min-width:801px){.digital-tabletop .battlefield-lane .play-card{--card-size:104px}.digital-tabletop .lands .play-card{--card-size:85px}}
@media(max-width:800px){.digital-tabletop .battlefield-lane.lands{grid-column:1/-1}.digital-tabletop .stack-focus{position:fixed;top:80px;left:auto;right:10px;max-width:55vw}.digital-tabletop .more-actions>div{max-height:65dvh}}
@media(max-width:800px){.digital-tabletop .game-facts{display:block;font-size:10px}.digital-tabletop .game-facts span{display:none}.digital-tabletop .game-facts span:nth-child(2){display:block}.digital-tabletop .waiting-banner strong{font-size:14px}.seat-tab b{font-size:11px}}
.digital-tabletop .battlefield-lane{display:block!important}.digital-tabletop .seat-tab small{display:block;font-size:9px}.digital-tabletop .seat-tab{padding:4px 8px}.digital-tabletop .view-tools button{min-height:34px}
@media(max-width:800px){.digital-tabletop .seat-tab small{display:none}.digital-tabletop .zone-dock button{min-height:34px}.digital-tabletop .player-bar{font-size:12px}}
.digital-tabletop .battle-stage .tabletop.single-view{grid-template-rows:minmax(0,1fr)}
/* Correction: restore phase progression and allocate full card height to the hand. */
.in-game main.digital-tabletop{grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto}.digital-tabletop>.phase-steps{display:flex;min-height:32px;gap:3px;overflow-x:auto;flex-wrap:nowrap;flex-shrink:0}.digital-tabletop>.phase-steps button{min-width:75px;width:auto;margin:0;min-height:30px;font-size:11px;flex-shrink:0}.digital-tabletop .hand-rack{height:171px;min-height:171px}.digital-tabletop .hand-rack>.card-row{height:148px;max-height:148px;overflow-y:hidden;align-items:flex-start}.digital-tabletop .hand-rack .play-card{height:140px;min-height:140px}.order-item{display:flex;align-items:center;gap:12px;border:1px solid #496578;border-radius:8px;padding:8px;margin:8px 0}.order-item img{width:60px;height:84px;object-fit:contain}.order-item>div:first-of-type{flex:1;min-width:0}.order-item p{font-size:12px;white-space:pre-line;overflow-wrap:anywhere;margin:4px 0}.order-buttons{display:flex;gap:5px}.order-buttons button{min-width:44px;min-height:44px;border:1px solid #66838b;background:#223c49;color:white;border-radius:6px}.order-choice{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(740px,calc(100vw - 20px));max-height:75dvh;overflow:auto;z-index:40;background:#17313e;padding:20px;border:1px solid #ddc27c;border-radius:10px}
@media(max-width:800px){.digital-tabletop .hand-rack{height:144px;min-height:144px}.digital-tabletop .hand-rack>.card-row{height:123px;max-height:123px}.digital-tabletop .hand-rack .play-card{height:115px;min-height:115px}.order-item{gap:8px}.order-item img{width:45px;height:63px}.order-buttons{flex-direction:column}.digital-tabletop>.phase-steps button{min-height:36px}}
.digital-tabletop .battlefield-rows{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) minmax(110px,.8fr)}.digital-tabletop .battlefield-lane.enchantments{grid-column:3}.digital-tabletop .battlefield-lane.lands{grid-column:4}@media(max-width:800px){.digital-tabletop .battlefield-rows{grid-template-columns:repeat(3,minmax(0,1fr))}.digital-tabletop .battlefield-lane.lands{grid-column:1/-1}}
.order-item>.missing-art{width:60px;height:84px;flex:0 0 60px;overflow:hidden;font-size:10px;overflow-wrap:anywhere}.order-item>div:not(.missing-art):not(.order-buttons){flex:1;min-width:0}.order-item>.order-buttons{flex:none}@media(max-width:800px){.order-item>.missing-art{width:45px;height:63px;flex-basis:45px;font-size:8px}}

/* Gameplay status, persistent player summaries, and independent permanent piles. */
.in-game main.digital-tabletop{grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto}
.digital-tabletop .stack-focus{position:static;inset:auto;max-width:none;z-index:auto;min-width:0}
.digital-tabletop .stack-focus:has(span:only-child){display:flex;min-height:18px}
.digital-tabletop .sickness-badge{z-index:9;top:28px;right:5px;padding:4px 7px;font-size:13px;background:#243968;border:2px solid #c2d9ff;box-shadow:0 2px 8px #000b;pointer-events:none}
.damage-badge{position:absolute;z-index:8;bottom:27px;right:3px;background:#8c2028;color:#fff5e9;border:1px solid #ffb3a6;padding:3px 5px;border-radius:5px;font-size:12px;font-weight:800;pointer-events:none}
.digital-tabletop .player-bar{position:sticky;top:0;z-index:10;background:#142b33;padding:4px;border-radius:5px}
.seat-tab.my-seat span{font-size:15px;font-weight:800;color:#c5ffef}.seat-tab small{white-space:normal}
.stack-live{display:block;max-height:112px;overflow:auto;border:1px solid #b99a61}.stack-open{color:#f7da9b;background:none;border:0;cursor:pointer;font-size:12px;font-weight:bold}.stack-inline{display:flex;gap:9px;overflow-x:auto}.stack-mini{display:flex;gap:6px;min-width:195px;max-width:260px;flex-shrink:0}.stack-mini button,.stack-inspect{padding:0;border:0;background:none;cursor:pointer}.stack-mini img{width:40px;height:56px;object-fit:cover;border-radius:3px}.stack-mini span{white-space:normal;overflow:visible}.stack-mini small,.stack-entry small{display:block;color:#abc6ce;font-size:10px}.stack-mini b{font-size:11px}.stack-entry{display:flex;gap:9px;margin:12px 0;list-style:none}.stack-entry img{width:76px;border-radius:4px}.stack-entry p{font-size:11px;line-height:1.4}.stack-entry b{font-size:13px}.stack-targeted{outline:2px solid #dcb859;outline-offset:2px}
.permanent-pile{flex-shrink:0;position:relative;min-width:100px;max-width:180px;border:1px solid #647882;border-radius:7px;padding:4px;background:#10252e}.permanent-pile summary{cursor:pointer;display:grid;position:relative;min-height:95px}.permanent-pile summary img{width:80px;height:110px;object-fit:cover;border-radius:4px;box-shadow:4px 3px #304754,8px 6px #516069}.permanent-pile summary b,.permanent-pile summary small{display:block;font-size:11px;white-space:normal;position:relative;z-index:2;background:#142831dd;padding:3px;border-radius:3px}.permanent-pile summary small{font-size:9px}.permanent-pile[open]{max-width:none}.pile-members{display:flex;gap:8px;padding:7px}.digital-tabletop .lands .card-row:has(.permanent-pile){height:130px}.digital-tabletop .lands .card-row:has(.permanent-pile[open]){height:160px}
@media(max-width:800px){.stack-inline .stack-mini:not(:first-child){display:none}.stack-mini img{width:27px;height:38px}.stack-live{max-height:65px}.seat-tab{min-width:105px}.seat-tab span{font-size:11px}.seat-tab small{display:block;font-size:9px}.seat-tab small:last-child{display:none}.digital-tabletop .damage-badge{font-size:10px}.digital-tabletop .sickness-badge{font-size:11px;top:24px;padding:2px 4px}.permanent-pile summary{min-height:85px}}

.stack-mini button{min-width:28px;min-height:36px;color:#e6cd8a}.stack-inspect{min-width:45px;min-height:50px;color:#e6cd8a}

.permanent-pile[open]{display:flex;align-items:flex-start;gap:8px}.permanent-pile[open]>summary{width:96px;flex-shrink:0}.permanent-pile[open]>.pile-members{align-items:flex-start;padding:3px;min-width:0}

/* Viewport allocation: headers stay in their own rows; only the board scrolls. */
body.in-game{height:100dvh;overflow:hidden}
body.in-game .shell{height:100%;min-height:0;min-width:0}
body.in-game main.digital-tabletop{width:100%;max-width:none;margin:0;min-height:0;height:100%;max-height:100%;grid-template-rows:auto auto auto auto auto minmax(0,1fr) minmax(72px,clamp(72px,20dvh,171px)) auto}
.digital-tabletop>*{min-width:0;min-height:0}
.digital-tabletop .battle-stage .tabletop{grid-template-rows:minmax(0,1fr) minmax(0,1.1fr);grid-auto-rows:minmax(0,1fr);overflow:hidden}
.digital-tabletop .battle-stage .tabletop.single-view{grid-template-rows:minmax(0,1fr)}
.digital-tabletop .tabletop .player-area{display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}
.digital-tabletop .player-bar{position:static;inset:auto;z-index:auto;padding:3px 4px;min-height:26px;min-width:0;flex-wrap:nowrap}
.digital-tabletop .player-bar .player-target{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.digital-tabletop .zone-dock{position:static;inset:auto;margin:2px 0;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;min-width:0}
.digital-tabletop .zone-dock button{flex-shrink:0}
.digital-tabletop .battlefield-rows{min-height:0;overflow:auto;align-content:start}
.digital-tabletop .hand-rack{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}
.digital-tabletop .hand-rack>.card-row{height:100%;max-height:none;min-height:0;overflow:auto}
.digital-tabletop .game-toolbar{min-height:0;max-height:none;flex-wrap:nowrap;overflow:visible;padding:5px 8px}
.digital-tabletop .turn-guidance{flex:1 1 0;min-width:0}
.digital-tabletop .game-toolbar button[data-action=ok]{min-width:92px}
.digital-tabletop .more-actions{flex-shrink:0}
.digital-tabletop .seat-tab{max-width:220px}
.digital-tabletop .seat-tab b,.digital-tabletop .seat-tab span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.digital-tabletop .seat-tab b{font-size:12px}
body.in-game main.digital-tabletop .tabletop .player-area{min-height:0;padding:4px 6px;grid-template-rows:max-content max-content minmax(0,1fr)}
.digital-tabletop .zone-dock{min-height:30px;flex-shrink:0}
.digital-tabletop .player-bar .player-target{padding:2px 5px;min-height:24px}
.digital-tabletop .table-controls{min-height:0}
.digital-tabletop .battle-stage .overview-board{grid-template-rows:none;grid-auto-rows:minmax(230px,auto);overflow:auto}
.digital-tabletop .overview-board .player-area{overflow:hidden;min-height:230px}
@media(max-height:720px){
 .digital-tabletop .seat-tab small{display:none}
 .digital-tabletop .waiting-banner{padding:4px 9px;min-height:0}
 .digital-tabletop .waiting-banner strong{font-size:14px}
 .digital-tabletop .game-facts{display:none}
 .digital-tabletop .stack-live{max-height:62px}
 .digital-tabletop .player-area{padding:3px 5px}
 .digital-tabletop .zone-dock button{min-height:26px;padding:3px 7px}
 .digital-tabletop .phase-bar{min-height:26px}
 .digital-tabletop .seat-tab{padding:3px 6px}
 body.in-game main.digital-tabletop .tabletop .player-area{padding:2px 4px}
 .digital-tabletop .player-bar{min-height:24px;padding:1px 3px}
 .digital-tabletop .life{font-size:20px}
 .digital-tabletop .seat-tab span{font-size:11px}
}
@media(max-width:800px){
 body.in-game main.digital-tabletop{grid-template-rows:auto auto auto auto auto minmax(0,1fr) minmax(72px,clamp(72px,19dvh,144px)) auto}
 .digital-tabletop .table-controls{display:grid;grid-template-rows:auto auto;gap:3px}
 .digital-tabletop .view-tools{margin:0}
 .digital-tabletop .game-toolbar .turn-guidance{flex:1 1 0;font-size:11px}
 .digital-tabletop .turn-guidance strong{font-size:11px}
 .digital-tabletop .turn-guidance small{max-height:28px;overflow:auto;font-size:10px}
 .digital-tabletop .game-toolbar{gap:4px;padding:4px;flex-wrap:nowrap}
 .digital-tabletop .game-toolbar button{padding:5px;min-height:32px}
 .digital-tabletop .more-actions summary{padding:6px;font-size:10px;min-height:32px}
 .digital-tabletop .phase-bar{flex-wrap:nowrap;overflow-x:auto}
 .digital-tabletop .player-bar{min-height:24px}
 .digital-tabletop .life{font-size:20px}
}
@media(max-height:650px){
 body.in-game main.digital-tabletop{padding:4px 6px;gap:3px;grid-template-rows:auto auto auto auto auto minmax(0,1fr) 80px auto}
 .digital-tabletop .player-bar{margin:0;min-height:22px;padding:1px 3px}
 .digital-tabletop .life{font-size:18px;line-height:20px}
 .digital-tabletop .zone-dock{min-height:26px;margin:1px 0}
 .digital-tabletop .zone-dock button{min-height:26px;padding:2px 6px}
 .digital-tabletop .turn-guidance{padding:2px 5px;gap:2px;min-height:0}
 .digital-tabletop .turn-guidance strong{font-size:11px;line-height:14px}
 .digital-tabletop .turn-guidance small{font-size:10px;line-height:12px;max-height:14px;overflow:auto}
 .digital-tabletop .game-toolbar{padding:3px 5px}
 .digital-tabletop .more-actions summary{min-height:32px;padding:5px}
 .digital-tabletop .phase-bar .button{padding:5px 8px;min-height:28px}
 .digital-tabletop .seat-tab{padding:2px 5px}
 .digital-tabletop .seat-tab span{font-size:10px}
 .digital-tabletop .seat-tab b{font-size:11px}
 .digital-tabletop .battle-stage .tabletop{gap:5px}
}

/* Viewer-owned layouts never change Forge state. */
body.in-game main.digital-tabletop .battle-stage .tabletop{position:relative;height:100%;min-height:0;display:grid;grid-auto-rows:unset;overflow:hidden;gap:8px;padding:0}
body.in-game main.digital-tabletop .battle-stage .player-area{min-width:0;min-height:0;overflow:hidden;grid-template-rows:auto auto minmax(0,1fr);padding:4px;border:1px solid #48546a;order:initial}
body.in-game main.digital-tabletop .battle-stage .player-area[hidden]{display:none}
.digital-tabletop .board-role{color:#a9bded;font-size:10px;white-space:nowrap}
.digital-tabletop .horde-progress{font-size:10px;color:#dcc08b;flex-basis:100%;line-height:1.3}
.digital-tabletop .focus-board{font-size:10px;padding:2px 5px;margin-left:auto}
.digital-tabletop .view-tools label{display:flex;align-items:center;gap:5px;font-size:11px}
.digital-tabletop #board-layout{padding:4px;max-width:165px}
body.in-game main.digital-tabletop .player-area .player-bar{flex-wrap:wrap;gap:3px;max-height:76px;overflow:auto}
body.in-game main.digital-tabletop .player-area .player-bar .subtle{font-size:10px}
body.in-game main.digital-tabletop .player-area .zone-dock{overflow:auto;white-space:nowrap;flex-wrap:nowrap;min-height:24px;margin:1px 0}
body.in-game main.digital-tabletop .player-area .battlefield-rows{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:3px}
body.in-game main.digital-tabletop .player-area[data-compact=true] .battlefield-rows{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(75px,1fr))}
body.in-game main.digital-tabletop .player-area .battlefield-lane{min-height:0;min-width:0;overflow:auto;padding:2px}
body.in-game main.digital-tabletop .player-area .card-row{min-height:0;overflow:auto;align-items:start;flex-wrap:nowrap}
body.in-game main.digital-tabletop .player-area .play-card{--card-size:var(--panel-card-size,90px)!important;width:var(--card-size)!important;min-width:var(--card-size)!important;height:calc(var(--card-size)*1.4)!important;min-height:0!important}
body.in-game main.digital-tabletop .player-area .lands .play-card{--card-size:var(--panel-land-size,65px)!important}
body.in-game main.digital-tabletop .player-area .permanent-pile{width:var(--panel-card-size,90px);min-width:var(--panel-card-size,90px)}
body.in-game main.digital-tabletop .player-area .permanent-pile summary img{width:100%;height:auto}
.digital-tabletop .board-divider{position:absolute;z-index:6;background:#778bba55;border:1px solid #a4b7db66;border-radius:3px;touch-action:none}
.digital-tabletop .board-divider:hover,.digital-tabletop .board-divider:focus-visible{background:#e6bc59;outline:2px solid #ffe2a2}
.digital-tabletop .board-divider.cols{top:0;bottom:0;width:7px;transform:translateX(-50%);cursor:col-resize}
.digital-tabletop .board-divider.rows{left:0;right:0;height:7px;transform:translateY(-50%);cursor:row-resize}
@media(max-width:700px){.digital-tabletop .board-divider{display:none}.digital-tabletop .view-tools{overflow-x:auto;flex-wrap:nowrap}.digital-tabletop .seat-strip{max-height:60px}.digital-tabletop .player-bar .player-target{max-width:130px}.digital-tabletop .player-area .zone-title{font-size:9px}}

body.in-game main.digital-tabletop .player-area .battlefield-lane{grid-column:auto;grid-row:auto}

.digital-tabletop .horde-progress{order:2}.digital-tabletop .focus-board{order:1}.digital-tabletop .player-area[data-horde=true] .life{display:none}

/* Internal zone controls: viewer state, native card ids and stable containers. */
body.in-game main.digital-tabletop .player-area .battlefield-rows{position:relative;align-content:stretch;overflow:auto;overflow-anchor:none;grid-template-columns:minmax(0,1fr)}
body.in-game main.digital-tabletop .player-area .battlefield-lane{position:relative;display:grid!important;grid-template-rows:26px minmax(0,1fr);overflow:hidden;min-height:0;padding:0 3px 4px}
body.in-game main.digital-tabletop .player-area .battlefield-lane[data-expanded=false]{grid-template-rows:26px;padding-bottom:0;background:#112830}
body.in-game main.digital-tabletop .player-area .battlefield-lane .zone-title{display:flex;align-items:center;gap:5px;margin:0;min-width:0;letter-spacing:0;overflow:hidden}
.digital-tabletop .zone-toggle{font:inherit;color:#d6e6e5;background:transparent;border:0;padding:4px;text-align:left;white-space:nowrap;cursor:pointer;width:100%;min-height:26px}
.digital-tabletop .zone-toggle:disabled{opacity:1;cursor:default;color:#ffe09b}
.digital-tabletop .zone-required{font-size:9px;color:#ffe09b;white-space:nowrap}
body.in-game main.digital-tabletop .player-area .battlefield-lane .card-row{height:100%;max-height:none;min-height:0;overflow:auto;overflow-anchor:none;padding:3px 8px;gap:8px}
body.in-game main.digital-tabletop .player-area .battlefield-lane .card-row[hidden]{display:none!important}
body.in-game main.digital-tabletop .player-area .battlefield-lane .play-card{--card-size:var(--zone-card-size,80px)!important;width:var(--card-size)!important;flex-basis:var(--card-size)!important;height:calc(var(--card-size)*1.4)!important;min-width:var(--card-size)!important}
body.in-game main.digital-tabletop .player-area .battlefield-lane .permanent-pile{width:var(--zone-card-size,80px);min-width:var(--zone-card-size,80px)}
.digital-tabletop .zone-divider{position:absolute;bottom:0;left:0;right:0;height:6px;background:#6d93aa66;cursor:row-resize;z-index:5;touch-action:none;border-radius:3px}
.digital-tabletop .zone-divider:hover,.digital-tabletop .zone-divider:focus-visible{background:#dfbd73;outline:1px solid #ffde91}
.digital-tabletop .battle-stage,.digital-tabletop .player-area,.digital-tabletop .card-row{overflow-anchor:none}
@media(max-width:700px){.digital-tabletop .zone-divider{display:none}.digital-tabletop .zone-toggle{min-height:28px;font-size:11px}.digital-tabletop .zone-required{font-size:9px}}

body.in-game main.digital-tabletop .player-area .battlefield-lane[data-expanded=false]{position:sticky;bottom:0;z-index:3}
/* Preserve full official imagery and its embedded artist/copyright markings. */
.play-card.illustrated>img,.deck-cover,.stack-mini img,.permanent-pile summary img{object-fit:contain}
.legal-copy p{line-height:1.7;overflow-wrap:anywhere}.legal-copy h2{margin-top:24px;font-size:19px}

.legal-details{margin:14px 0;padding:12px 0;border-top:1px solid #ffffff20}.legal-details summary{cursor:pointer;font-weight:600}.legal-details[open] summary{margin-bottom:12px}
fieldset[data-copyright-fields]{border:0;margin:0;padding:0;min-width:0}

.leaderboard-modes{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:4px 0 12px;margin-bottom:12px}.leaderboard-modes .button{flex-shrink:0}.leaderboard-pages{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}

.seo-about{max-width:900px;margin:0 auto 28px;text-align:left}.seo-about h2{font-size:19px;color:var(--text)}.seo-about p{font-size:14px;line-height:1.7;color:var(--muted)}
