@charset "UTF-8";
:root{--paper:#f7f5ed;--paper-deep:#ede8da;--ink:#303b34;--muted:#8b8c7d;--jade:#397b69;--jade-dark:#225d50;--jade-light:#e7eee4;--gold:#bba374;--line:#d9d2bd;--red:#af4d3c;--blue:#3c5362;--serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","STSong","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;--shadow:0 7px 22px #50442c0c;--radius:9px}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55;min-width:340px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}button,input,select,textarea{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--jade);outline-offset:3px}button{touch-action:manipulation}button:not(.chess-point):not(.hand-card){-webkit-tap-highlight-color:transparent}button,select,input{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}a{color:var(--jade)}svg{display:block}.hidden{display:none!important}.paper-wash{position:fixed;inset:0;z-index:-2;background:url('assets/landscape.png') center bottom/cover no-repeat;opacity:.56;pointer-events:none}.paper-wash:after{content:"";position:absolute;inset:0;background:linear-gradient(#f7f5edab,#f7f5ed3b 42%,#f7f5ed10)}#app{max-width:1660px;margin:auto;padding:0 34px}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:26px}.brand{display:flex;align-items:center;gap:13px;border:0;background:transparent;text-align:left;padding:0;flex-shrink:0}.brand-seal{width:46px;height:50px;display:grid;place-items:center;font:36px var(--serif);color:#f5efda;background:linear-gradient(145deg,#719b85,#2b6b59);border:1px solid #568571;border-radius:10px 10px 7px 7px;box-shadow:inset 0 0 0 3px #edf1d747,0 3px 9px #36654720}.brand-title{display:block;font:700 30px var(--serif);letter-spacing:5px;line-height:1.2;color:#2e3b2f}.brand-kicker{display:block;font-size:8px;letter-spacing:2px;margin-top:6px;color:#858d7f}.main-nav{display:flex;gap:12px;margin-left:auto;margin-right:auto}.nav-item{min-width:102px;padding:13px 20px 8px;border:0;background:transparent;color:#747d6e;font:600 17px var(--serif);position:relative;letter-spacing:2px}.nav-item span{display:block;font:9px var(--sans);letter-spacing:2px;margin-top:4px;opacity:.6}.nav-item:after{content:"";height:2px;position:absolute;bottom:-9px;left:24px;right:24px;background:transparent}.nav-item.active{color:var(--jade-dark)}.nav-item.active:after{background:var(--jade)}.nav-item:hover{background:#e7ebdf6e}.top-actions{display:flex;gap:10px;align-items:center}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:11px 20px;min-height:42px;background:var(--jade);color:#fffdf2;border:1px solid var(--jade);border-radius:5px;font-weight:600;letter-spacing:.5px}.button:hover:not(:disabled){background:var(--jade-dark);border-color:var(--jade-dark);box-shadow:0 4px 12px #2f705622}.button:disabled{opacity:.43}.button.small{padding:8px 13px;min-height:35px;font-size:12px}.button.outline{background:#fffdf46e;color:var(--jade-dark);border-color:#a9b9a1}.button.outline:hover:not(:disabled){background:#e5eddf}.button.subtle{background:transparent;border-color:transparent;color:#75816d}.button.subtle:hover:not(:disabled){background:#e6ebdf;border-color:transparent;color:var(--jade-dark)}.button.danger{background:var(--red);border-color:var(--red)}.button.full{width:100%}.icon-button{width:35px;height:35px;display:grid;place-items:center;border:1px solid transparent;background:transparent;border-radius:50%;color:#748371}.icon-button:hover{background:#e7ecdf}.icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.plus{font-size:18px;font-weight:400}.match-caption{display:flex;align-items:center;gap:10px;padding:20px 3px 14px;color:#8d907d;font-size:11px;letter-spacing:1px}.tiny-seal{border:1px solid #b08967;color:#a37451;font:12px var(--serif);padding:0 2px}.caption-rule{height:1px;background:linear-gradient(90deg,var(--line),transparent);flex:1;max-width:90px}#save-label{margin-left:auto;font-size:10px;letter-spacing:.2px}.play-layout{display:grid;grid-template-columns:minmax(170px,210px) minmax(390px,1fr) minmax(255px,300px);gap:22px 30px;align-items:start}.paper-panel{border:1px solid #c9c9b3;border-radius:var(--radius);background:linear-gradient(155deg,#fffef4d9,#f4f2e7e8);box-shadow:var(--shadow);position:relative}.paper-panel:before{content:"";position:absolute;inset:5px;border:1px solid #d8d6be66;pointer-events:none;border-radius:4px}.left-panel{padding-top:66px}.turn-panel{padding:23px 18px 18px;text-align:center}.turn-label{font-family:var(--serif);font-size:19px;letter-spacing:2px}.turn-number{font-family:Georgia,var(--serif);font-size:50px;line-height:1.1;color:var(--jade-dark);margin:0 7px;vertical-align:baseline;font-weight:400}.turn-name{margin:10px 0 18px;font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:7px}.status-dot{width:6px;height:6px;display:inline-block;flex-shrink:0;background:var(--jade);border-radius:50%;box-shadow:0 0 0 3px #5881700a}.status-dot.red{background:var(--red)}.status-dot.thinking{animation:pulse 1.2s infinite}.ornamental-divider{height:1px;position:relative;background:var(--line);margin:15px 4px}.ornamental-divider:after{content:"◆";font-size:7px;background:#faf8ec;position:absolute;left:50%;top:-7px;padding:0 8px;transform:translateX(-50%);color:var(--gold)}.section-label{font-size:11px;letter-spacing:2px;color:#777f6a}.mana-row{display:flex;justify-content:center;gap:5px;margin:14px 0 9px;flex-wrap:nowrap}.mana-gem{width:18px;height:18px;flex-shrink:0;transform:rotate(45deg);border:1px solid #d7d5c0;border-radius:4px;background:#eae9dd;box-shadow:inset 0 0 0 2px #f9f7eb}.mana-gem.full{background:linear-gradient(135deg,#80a897,#34745f);border-color:#5d8868;box-shadow:inset 0 0 0 2px #cad8aa,0 1px 3px #56764c20}.mana-gem.spent{background:#bec8b6;border-color:#aab49c}.mana-number{font-size:12px;color:var(--muted);margin-top:9px}.mana-number strong{font-weight:600;color:var(--jade-dark);font-size:19px}.resource-rows{margin-top:18px;display:grid;gap:11px;text-align:left;font-size:12px}.resource-row{display:flex;justify-content:space-between;align-items:center;color:#8b8c7d}.resource-row strong{font-weight:500;color:#566852}.resource-row .token{width:6px;height:6px;border:1px solid var(--gold);display:inline-block;transform:rotate(45deg);margin-left:6px}.resource-row .token.filled{background:var(--gold)}.effect-tag{display:block;padding:6px 8px;background:#e7eddf;border-radius:4px;color:var(--jade-dark);font-size:11px;margin-top:8px;text-align:left}.deck-panel{margin-top:16px;padding:16px 15px}.panel-title{font:600 15px var(--serif);display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-title small{font:11px var(--sans);color:var(--muted)}.panel-title:before{content:"";height:12px;width:3px;background:var(--gold);margin-right:8px}.panel-title span{margin-right:auto}.deck-stack{width:75px;height:103px;border:1px solid #b39b71;border-radius:5px;position:relative;background:linear-gradient(155deg,#f8f2dd,#e7e2d0);box-shadow:-4px 2px 0 -1px #e6dfc9,-5px 2px 0 #b9a278,-8px 4px 0 -1px #e8e0ca,-9px 4px 0 #b9a278;display:grid;place-items:center;margin:12px auto 20px}.deck-stack:after{content:"楚河弈策";writing-mode:vertical-rl;letter-spacing:5px;font:17px var(--serif);height:86px;border:1px solid #b0ab8c78;padding:4px 17px;color:#53634a;background:linear-gradient(165deg,#eff0df99,#fffcdf00)}.deck-stack:before{content:"";position:absolute;inset:0;background:url('assets/landscape.png') left bottom/350%;opacity:.55}.deck-caption{font-size:11px;text-align:center;color:#7e826d}.captured-list{display:flex;gap:5px;flex-wrap:wrap;min-height:30px}.captured-piece{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font:17px var(--serif);background:#f1e8d5;border:1px solid #c9b58f;color:var(--blue);box-shadow:0 1px 2px #574b2218}.captured-piece.r{color:var(--red)}.empty-note{font-size:11px;color:#a0a18f;padding:5px 0}.left-tip{font-size:11px;line-height:1.8;color:#8b907a;text-align:center;margin:14px 7px 0}.board-column{min-width:0}.opponent-strip{height:54px;border:1px solid #d4ccb5;border-radius:7px;background:linear-gradient(90deg,#fffdf3ea,#f7f5ecca);display:flex;align-items:center;gap:11px;padding:8px 13px;margin:0 auto 12px;max-width:660px;box-shadow:var(--shadow)}.mini-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:26px var(--serif);color:var(--blue);border:1px solid #baa17b;background:radial-gradient(circle at 35% 22%,#fffef5,#e8d5b5);box-shadow:inset 0 0 0 3px #f4e7cf,0 2px 3px #6e54231a;flex-shrink:0}.mini-avatar.r{color:var(--red)}.player-name{font:600 14px var(--serif);letter-spacing:1px}.player-meta{font-size:10px;color:#929280;margin-top:1px}.opponent-hand{margin-left:auto;display:flex;gap:3px;align-items:center}.mini-card-back{height:25px;width:16px;border:1px solid #a7b29b;background:repeating-linear-gradient(45deg,#dde3cf,#dde3cf 2px,#e7eadc 2px,#e7eadc 4px);border-radius:2px;box-shadow:inset 0 0 0 2px #f5f2e4}.known-card{font:12px var(--serif);background:#f7eeda;color:var(--ink);display:grid;place-items:center;border-color:#baa47e}.opponent-mana{border-left:1px solid var(--line);padding-left:10px;font-size:11px;color:var(--jade);white-space:nowrap}.opponent-mana strong{font-size:16px;font-weight:500}.board-shell{width:100%;max-width:min(660px,calc((100dvh - 300px)*.90));min-width:380px;margin:auto;border:9px solid #b79a6a;border-radius:4px;background:#f4ead2;box-shadow:inset 0 0 0 2px #f5ddb3,0 0 0 1px #887442,0 0 0 3px #d9c8a7,0 12px 23px #57432724,0 2px 5px #6f522c30;position:relative;isolation:isolate}.board-shell:before{position:absolute;content:"";inset:-8px;z-index:-1;border:2px solid #d6bc89;box-shadow:inset 0 0 0 1px #a28557;pointer-events:none}.frame-corner{position:absolute;width:26px;height:26px;z-index:8;border:2px solid #907443;background:#c2a576;box-shadow:inset 0 0 0 3px #ddc599;pointer-events:none}.frame-corner:after{position:absolute;content:"";inset:7px;border:1px solid #91764c}.frame-corner.tl{left:-10px;top:-10px}.frame-corner.tr{right:-10px;top:-10px}.frame-corner.bl{left:-10px;bottom:-10px}.frame-corner.br{right:-10px;bottom:-10px}.chess-board{aspect-ratio:9/10;position:relative;user-select:none;background:radial-gradient(ellipse at 50% 30%,#fffae68c,transparent 70%),linear-gradient(130deg,#f5ecd8,#eee0c2);overflow:hidden}.chess-board:before{content:"";position:absolute;inset:0;background:url('assets/landscape.png') center bottom/cover;opacity:.16;pointer-events:none}.board-grid{position:absolute;inset:0;width:100%;height:100%;color:#ad986d;pointer-events:none}.board-grid line,.board-grid path.board-lines{stroke:#a78e61;stroke-width:1.6;fill:none}.board-grid .outer-line{stroke-width:2.2}.board-grid .palace-line{opacity:.7}.board-grid .coordinate{font:13px Georgia,serif;fill:#a59166;opacity:.75}.board-grid .river-text{font:38px var(--serif);fill:#a48a5e;letter-spacing:16px;opacity:.7}.chess-point{position:absolute;width:8.7%;aspect-ratio:1/1;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;z-index:2}.chess-point.empty{z-index:1}.chess-point .piece-disc,.moving-ghost .piece-disc{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;font-family:var(--serif);font-size:clamp(21px,2.5vw,36px);font-weight:700;border:1px solid #b79762;color:var(--blue);background:radial-gradient(circle at 36% 25%,#fffef5 0%,#f5e7c9 60%,#e7c99a 100%);box-shadow:inset 0 0 0 3px #fff8e3,inset 0 0 0 4.5px #be9d63,0 3px 3px #69532a40,0 5px 8px #68533319;text-shadow:0 1px #fff8ec;transition:filter .15s,box-shadow .15s}.chess-point.r .piece-disc,.moving-ghost.r .piece-disc{color:var(--red)}.chess-point:hover .piece-disc{filter:brightness(1.05);box-shadow:inset 0 0 0 3px #fff8e3,inset 0 0 0 4.5px #be9d63,0 5px 7px #69532a40}.chess-point.selected:after{position:absolute;content:"";inset:-7px;border:2px solid var(--jade);border-radius:50%;box-shadow:0 0 0 4px #4b947015}.chess-point.ready-target:after{position:absolute;content:"";inset:-6px;border:2px dashed #659076;border-radius:50%}.chess-point.legal.empty:after{content:"";width:18%;height:18%;background:#4c8b71a1;box-shadow:0 0 0 5px #4d956820;border-radius:50%;transition:transform .15s}.chess-point.legal.empty:hover:after{transform:scale(1.5)}.chess-point.legal.occupied:after{content:"";position:absolute;inset:-5px;border:2px solid var(--red);border-radius:50%;box-shadow:0 0 0 4px #b5503913}.chess-point.waiting .piece-disc{filter:saturate(.65)}.rest-badge{position:absolute;right:-1px;bottom:-2px;background:#e4eddc;color:#577348;border:1px solid #92a980;border-radius:8px;padding:0 4px;font:9px var(--sans);z-index:2;box-shadow:0 1px 3px #40542b20}.chess-point.in-check:before{content:"";position:absolute;inset:-7px;border:2px solid #b65445;border-radius:50%;animation:pulse 1.5s infinite}.chess-point.last-from:before{position:absolute;content:"";width:33%;height:33%;border:1px solid #8b9665;border-radius:50%;background:#a7bb7440}.chess-point.last-to .piece-disc{box-shadow:inset 0 0 0 3px #fff8e3,inset 0 0 0 4.5px #899156,0 3px 3px #69532a40,0 0 0 4px #8ea76932}.chess-point.ghost-hidden .piece-disc{visibility:hidden}.moving-ghost{position:absolute;width:8.7%;aspect-ratio:1/1;z-index:12;pointer-events:none;transform:translate(-50%,-50%)}.advisor-route{stroke:#327c60;stroke-width:5;fill:none;stroke-linecap:round;stroke-dasharray:10 7;opacity:.8}.advisor-drop{fill:#4d946626;stroke:#488166;stroke-width:3;stroke-dasharray:8 5}.board-message{min-height:31px;text-align:center;font-size:11px;color:#889276;padding:8px 4px 0;letter-spacing:.4px}.board-message.check{color:var(--red);font-weight:600}.advisor-panel{min-height:445px;margin-top:66px;border-color:#b8c7ad;overflow:hidden}.advisor-heading{position:relative;padding:20px 20px 18px;border-bottom:1px solid #d3ddc8;background:linear-gradient(105deg,#eef2e4d9,#f9f7eb50)}.advisor-heading:before{content:"";position:absolute;inset:0;background:url('assets/landscape.png') right bottom/280%;opacity:.28;pointer-events:none}.advisor-heading>div,.advisor-heading>span{position:relative}.eyebrow{font:9px var(--sans);letter-spacing:2px;color:#8c987e;display:block;margin-bottom:4px}.advisor-heading h2{font:600 30px var(--serif);letter-spacing:6px;margin:2px 0 5px;color:#3e5948}.advisor-heading p{font-size:11px;margin:0;color:#7a8a72;letter-spacing:.5px}.red-seal{display:inline-grid;place-items:center;font:12px var(--serif);border:1px solid #af7059;color:#af7059;letter-spacing:0;width:16px;height:19px;vertical-align:middle;margin-left:6px}.advisor-emblem{position:absolute!important;right:21px;top:26px;border:1px solid #bdc9ae;border-radius:50%;height:54px;width:54px;display:grid;place-items:center;font:31px var(--serif);color:#6e8b69;background:#f9f7e6a6;box-shadow:inset 0 0 0 5px #f0f1e2}.advisor-idle{padding:20px;position:relative}.advisor-quote{font:17px/1.8 var(--serif);color:#658060;letter-spacing:1px;margin:8px 0 18px}.advisor-copy{font-size:11px;color:#8a917b;line-height:1.9;margin:12px 0}.advisor-features{display:grid;gap:12px;margin:20px 0 25px}.advisor-features div{display:flex;align-items:center;gap:10px;font-size:12px;color:#6f8167}.advisor-features .icon{width:16px;height:16px;color:#668e73}.advisor-loading{padding:37px 20px;text-align:center;color:#6d8168}.loading-seal{font:35px var(--serif);width:65px;height:65px;border:1px solid #b7c4a7;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;animation:breathe 1.8s infinite}.advisor-result{padding:14px 15px 12px;position:relative}.recommendation{padding:13px;border:1px solid #d5d9c6;background:#fffcf177;border-radius:5px;margin-bottom:9px}.recommendation.primary{border-color:#90b39c;background:#edf3e6d9}.recommendation.selected{box-shadow:0 0 0 2px #3f7d6333}.rec-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font:600 13px var(--serif);color:var(--jade-dark);margin-bottom:8px}.rec-head small{font:10px var(--sans);color:#93a18a;font-weight:400}.rec-actions{padding:0;margin:0;list-style:none;display:grid;gap:6px;font-size:11px;color:#5d6a54}.rec-actions li{display:flex;gap:8px;align-items:start}.step-dot{width:16px;height:16px;flex-shrink:0;text-align:center;border:1px solid #c5cfb9;font-size:10px;color:#819174;border-radius:50%;line-height:14px}.rec-reason{font-size:10px;color:#8b917f;line-height:1.8;margin:9px 0 0;padding-top:8px;border-top:1px solid #d3dbc780}.rec-buttons{display:flex;gap:7px;margin-top:10px}.rec-buttons .button{flex:1;font-size:10px;min-height:30px;padding:5px}.advisor-stats{display:flex;justify-content:space-between;color:#9b9f8c;font-size:9px;padding:6px 2px}.advisor-note{font-size:10px;color:#a0a28f;line-height:1.7;padding:0 16px 16px}.hand-bar{grid-column:1/-1;display:grid;grid-template-columns:minmax(155px,210px) minmax(300px,1fr) minmax(205px,300px);gap:30px;align-items:end;margin-top:-4px;min-height:170px}.own-status{align-self:center}.own-player{display:flex;gap:11px;align-items:center}.own-player .mini-avatar{width:45px;height:45px;font-size:31px}.own-label{font-size:10px;color:#8b8f7e;margin:12px 0 4px}.hand-count{font-size:11px;color:#92937e;margin-top:10px}.hand-count b{color:var(--jade-dark);font-weight:500}.hand-center{min-width:0}.selection-hint{min-height:27px;display:flex;justify-content:center;align-items:center;gap:10px;margin:0 0 8px;font-size:11px;color:#7b886e}.selection-hint .button{padding:3px 10px;min-height:25px;font-size:10px}.selection-hint strong{font-weight:600;color:#4a7058}.hand-cards{display:flex;justify-content:center;align-items:end;min-height:155px;padding:10px 0 0}.hand-card{position:relative;flex:0 0 112px;width:112px;height:157px;padding:9px 9px 8px;background:linear-gradient(150deg,#fff9e9,#efe2c5);border:1px solid #bda47a;border-radius:6px;box-shadow:0 4px 6px #65512926,inset 0 0 0 3px #fffae799;transform-origin:50% 100%;transition:transform .2s,border-color .2s,filter .2s,box-shadow .2s;text-align:left;margin-left:-13px;color:var(--ink);z-index:2}.hand-card:first-child{margin-left:0}.hand-card:hover,.hand-card:focus-visible{transform:translateY(-13px) rotate(0deg)!important;z-index:20;box-shadow:0 10px 18px #5d4f2830}.hand-card.selected{border:2px solid var(--jade);transform:translateY(-12px)!important;box-shadow:0 0 0 2px #99b4948c,0 9px 14px #657b412a;z-index:12;padding:8px}.hand-card.unaffordable{filter:saturate(.45);opacity:.76}.hand-card.targetable{border-color:var(--jade);box-shadow:0 0 0 2px #7fa586aa}.card-cost{position:absolute;left:-8px;top:-8px;width:29px;height:31px;background:linear-gradient(135deg,#599581,#246454);border:1px solid #b7ab76;border-radius:8px 3px 8px 3px;color:#fffbe3;font:22px Georgia,serif;display:grid;place-items:center;box-shadow:inset 0 0 0 2px #b8c395,0 2px 3px #4d583128;z-index:2}.card-cost.discounted{color:#fcffbf;background:#538341}.card-name{font:600 15px var(--serif);text-align:center;display:block;white-space:nowrap;letter-spacing:1px;margin:0 0 3px 6px;height:22px}.card-name.long{font-size:12px;letter-spacing:0}.card-art{height:74px;margin:0 -5px 6px;background-image:url('assets/card-atlas.png');background-size:400% 200%;background-repeat:no-repeat;mix-blend-mode:multiply;position:relative}.card-art:after{position:absolute;content:"";inset:0;background:linear-gradient(transparent 73%,#f5e8ce)}.card-description{font-size:9px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#6b654e;letter-spacing:.1px;position:relative}.card-kind{position:absolute;bottom:4px;right:7px;font-size:7px;color:#aa9a78;letter-spacing:1px}.hand-card .cost-lock{position:absolute;right:3px;top:3px;font-size:9px;color:#a39680}.hand-empty{min-height:130px;display:flex;align-items:center;justify-content:center;color:#9ca28c;font:16px var(--serif);letter-spacing:2px;width:100%;border:1px dashed #d5d5bd;background:#f6f3e951;border-radius:7px}.turn-actions{padding:0 8px 6px;align-self:center;text-align:center}.end-turn{width:100%;min-height:63px;background:linear-gradient(135deg,#619985,#2b715f);border:1px solid #ac9666;border-radius:9px;box-shadow:inset 0 0 0 3px #acc9a666,inset 0 0 0 4px #a5ad79,0 5px 11px #3e705929;font:600 24px var(--serif);letter-spacing:4px;color:#fff9df;padding:10px 14px}.end-turn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.04)}.end-turn:disabled{background:linear-gradient(135deg,#aab8a3,#839a83);color:#f0f0dfaa;border-color:#abb098;box-shadow:inset 0 0 0 3px #d8dfbc40,inset 0 0 0 4px #b4b897,0 2px 4px #3e705912;cursor:default}.end-turn-note{font-size:10px;color:#91957b;margin:12px 0 0;display:flex;justify-content:center;align-items:center;gap:9px;letter-spacing:1px}.end-turn-note:before,.end-turn-note:after{content:"";height:1px;width:22px;background:#c5c7ad}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:10px;color:#979b89;margin:23px 0 15px;padding-top:12px;border-top:1px solid #d6d5c48a}.game-footer>span{font:12px var(--serif);letter-spacing:2px}.game-footer>div{display:flex;gap:13px;align-items:center}.game-footer button{background:transparent;border:0;font-size:10px;color:#829074;padding:3px 0}.game-footer button:hover{color:var(--jade-dark)}.toast-stack{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);z-index:100;display:grid;gap:8px;max-width:min(500px,92vw);pointer-events:none}.toast{padding:12px 21px;background:#315f4feF;border:1px solid #9eb294;color:#fffbe9;border-radius:8px;box-shadow:0 5px 25px #2f41282c;font-size:12px;text-align:center;animation:toast-in .22s ease-out}.toast.error{background:#915949ef;border-color:#c8a58a}.modal-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#3148364a;backdrop-filter:blur(4px);padding:24px;overflow-y:auto;animation:fade-in .15s}.modal{width:min(660px,100%);max-height:calc(100dvh - 48px);overflow:auto;position:relative;background:linear-gradient(140deg,#fffdf3,#f1edde);border:1px solid #bbb598;border-radius:13px;padding:29px 33px;box-shadow:0 25px 80px #273c342b,inset 0 0 0 5px #faf9ed;animation:modal-in .2s}.modal:before{content:"";position:absolute;inset:7px;border:1px solid #d6d2b969;border-radius:8px;pointer-events:none}.modal>*{position:relative}.modal.wide{width:min(1000px,100%)}.modal-close{position:absolute;right:18px;top:18px;border:0;background:transparent;font:25px var(--sans);color:#969c87;padding:0 5px;z-index:2}.modal-title{font:600 29px var(--serif);letter-spacing:3px;margin:3px 0 10px;color:#395943}.modal-subtitle{font-size:12px;line-height:1.9;color:#88917c;margin:0 0 22px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal-actions.center{justify-content:center}.menu-brand{display:flex;gap:16px;align-items:center;margin-bottom:23px}.menu-brand .brand-seal{width:49px;height:56px;font-size:38px}.menu-brand h1{font:600 35px var(--serif);letter-spacing:6px;margin:0;color:#334a34}.menu-brand p{margin:5px 0 0;font:12px var(--serif);color:#91997d;letter-spacing:3px}.field-label{display:block;font-size:11px;color:#7b866b;letter-spacing:1px;margin-bottom:8px}.mode-switch{display:flex;background:#e6e8da;border-radius:5px;padding:4px;margin-bottom:20px}.mode-switch button{flex:1;padding:10px 8px;background:transparent;border:0;border-radius:3px;color:#8b917f;font-size:12px}.mode-switch button.active{background:#fcfaf0;color:var(--jade-dark);box-shadow:0 2px 5px #445d3420}.deck-choices{display:grid;gap:8px;margin-bottom:20px}.deck-choice{display:flex;align-items:center;gap:12px;background:#fffdf44d;border:1px solid #d8d5bf;border-radius:5px;padding:12px 14px;text-align:left;width:100%;position:relative}.deck-choice.selected{border-color:#739a79;background:#e9eedfa1;box-shadow:inset 3px 0 var(--jade)}.deck-choice:hover{background:#ebeedf}.deck-glyph{width:39px;height:39px;border:1px solid #c2c5ab;background:#eff0df;border-radius:50%;display:grid;place-items:center;font:25px var(--serif);color:#6b8464;flex-shrink:0}.deck-choice-title{font:600 15px var(--serif);letter-spacing:1px}.deck-choice-subtitle{font-size:10px;color:#95977f;margin-top:3px}.deck-choice-count{margin-left:auto;font-size:10px;color:#969b83}.check-mark{color:var(--jade);margin-left:5px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.select-control,.text-control{width:100%;border:1px solid #d1d1b8;background:#fffdf5;border-radius:5px;padding:10px 11px;color:#596c51;font-size:12px;min-height:41px}.start-button{width:100%;margin-top:24px;font:600 20px var(--serif);letter-spacing:3px;padding:14px}.small-note{font-size:10px;color:#9a9e88;line-height:1.8;margin:12px 0 0}.continue-bar{padding:12px;background:#e6eddb;border-radius:5px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:#78866b;font-size:11px;gap:12px}.mulligan-cards{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:23px 0 14px}.mulligan-cards .hand-card{margin:0;transform:none!important}.mulligan-cards .hand-card.marked{border:2px solid #a8664c;box-shadow:0 0 0 3px #bd8a6633}.mulligan-mark{position:absolute;inset:45px 12px auto;padding:5px;background:#9a5e43dd;border:1px solid #edd5a8;color:#fffae9;text-align:center;font:14px var(--serif);transform:rotate(-9deg);z-index:6}.choice-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:18px 0}.choice-grid .hand-card{margin:0;transform:none!important}.replay-controls{display:flex;gap:12px;align-items:center;justify-content:center;margin:13px 0}.replay-controls input{flex:1;accent-color:var(--jade)}.replay-banner{grid-column:1/-1;border:1px solid #c8d1b5;background:#edf1e4;padding:11px 14px;border-radius:6px;display:flex;align-items:center;gap:14px}.replay-banner strong{font:16px var(--serif);color:var(--jade-dark)}.replay-banner input{flex:1;accent-color:var(--jade)}.replay-banner button{white-space:nowrap}.tutorial-strip{grid-column:1/-1;border:1px solid #c1ccb1;background:#f0f2e5ed;padding:13px 17px;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:-5px}.tutorial-strip h3{font:600 17px var(--serif);color:#4a7156;margin:0 0 3px}.tutorial-strip p{font-size:11px;color:#859175;margin:0}.tutorial-strip .button{flex-shrink:0}.result-seal{width:90px;height:90px;border:2px solid #8ea481;border-radius:50%;box-shadow:inset 0 0 0 5px #eceddc;display:grid;place-items:center;margin:15px auto 22px;font:48px var(--serif);color:var(--jade-dark)}.result-seal.loss{border-color:#c8a188;color:var(--red)}.result-summary{text-align:center}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.result-stats div{border:1px solid #d9d7be;border-radius:5px;padding:15px 6px;text-align:center;color:#939880;font-size:11px}.result-stats strong{display:block;font:26px Georgia,var(--serif);color:var(--jade-dark);margin-bottom:5px}.card-tooltip{position:fixed;z-index:90;width:255px;background:#fffcf0f5;border:1px solid #baa980;border-radius:8px;box-shadow:0 10px 40px #514a2225;padding:15px;pointer-events:none;color:#667254}.card-tooltip h3{font:600 17px var(--serif);color:#3e6148;margin:0 0 7px}.card-tooltip p{font-size:11px;line-height:1.9;margin:6px 0}.tooltip-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.tooltip-tags span{background:#e6ecdb;color:#79906b;font-size:9px;border-radius:3px;padding:2px 5px}.tooltip-flavor{font:12px/1.8 var(--serif)!important;color:#a49676!important;border-top:1px solid #dfdcc5;padding-top:8px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:33px 0 25px}.page-heading h1{font:600 32px var(--serif);letter-spacing:4px;margin:0 0 7px;color:#3d5840}.page-heading p{font-size:12px;color:#929780;margin:0}.page-heading-actions{display:flex;gap:9px}.deck-workbench{display:grid;grid-template-columns:minmax(500px,1fr) 320px;gap:32px;align-items:start}.catalog-filters{display:flex;gap:8px;align-items:center;margin-bottom:21px;flex-wrap:wrap}.filter-button{font-size:11px;border:1px solid #d2d3b9;background:#f9f8eb;padding:7px 15px;border-radius:4px;color:#8a917b}.filter-button.active{background:var(--jade);border-color:var(--jade);color:#fff8e4}.filter-spacer{flex:1}.catalog-count{font-size:10px;color:#989c84}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:21px 16px;padding:9px 4px 30px}.catalog-card{width:100%;height:215px;margin:0!important;padding:12px 13px 10px;transform:none!important}.catalog-card .card-art{height:115px;margin-bottom:8px}.catalog-card .card-name{font-size:18px}.catalog-card .card-name.long{font-size:15px}.catalog-card .card-description{font-size:10px;line-height:1.65;-webkit-line-clamp:3}.catalog-card .card-cost{width:33px;height:35px;font-size:25px}.card-added{position:absolute;right:7px;top:7px;z-index:2;background:#e1e9d8;border:1px solid #a5b693;border-radius:3px;padding:1px 6px;font-size:10px;color:#618158}.catalog-card.at-limit{opacity:.62}.deck-editor{padding:20px;position:sticky;top:20px}.deck-editor .text-control{font-family:var(--serif);font-size:19px;letter-spacing:1px;background:transparent;border-color:#d0d2b8}.editor-summary{display:flex;justify-content:space-between;margin:13px 0 18px;font-size:11px;color:#8a957b}.editor-summary strong{font:23px Georgia,serif;color:var(--jade-dark);margin-right:3px}.editor-summary.invalid strong{color:var(--red)}.deck-card-list{display:grid;gap:5px;max-height:420px;overflow:auto;padding-right:3px}.deck-row{display:flex;align-items:center;gap:9px;background:#eeeee033;border:1px solid #dcddc6;border-radius:4px;padding:6px 8px;font-size:11px}.small-cost{height:20px;width:20px;background:#648d74;color:#fff8de;font:15px Georgia,serif;display:grid;place-items:center;border-radius:4px;flex-shrink:0}.deck-row-name{flex:1;font-family:var(--serif);font-size:13px}.deck-row-num{color:#9aa187;font-size:10px}.quantity-button{background:#e8ebdb;border:1px solid #c9d0b5;border-radius:3px;height:22px;width:22px;font:15px var(--sans);padding:0;color:#6f8a62}.quantity-button:hover{background:#dbe4cb}.mana-curve{display:flex;gap:7px;align-items:end;height:73px;margin:20px 0 12px;border-bottom:1px solid #c9ceb5;padding-bottom:14px}.curve-column{flex:1;position:relative;height:100%;display:flex;align-items:end;justify-content:center}.curve-bar{width:72%;max-width:29px;min-height:2px;background:linear-gradient(#94ad89,#547f61);border-radius:3px 3px 0 0;position:relative}.curve-bar b{position:absolute;top:-16px;font-size:9px;color:#859477;width:100%;text-align:center;font-weight:400}.curve-column>span{position:absolute;bottom:-16px;font-size:9px;color:#8c957b}.editor-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.editor-buttons .button{font-size:11px;padding:8px;min-height:34px}.editor-buttons .full{grid-column:1/-1}.validation-note{color:var(--red);font-size:10px;line-height:1.8;margin-top:9px}.book-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-bottom:30px}.book-panel{padding:25px}.book-panel h2{font:600 21px var(--serif);margin:0 0 18px;color:#4b6c51;letter-spacing:2px}.lesson-list{display:grid;gap:10px}.lesson-card{display:flex;gap:16px;align-items:center;border:1px solid #d1d5bd;border-radius:6px;padding:17px;background:#fbfaec99;text-align:left}.lesson-card:hover{background:#e7eedb;border-color:#a8bba0}.lesson-number{width:37px;height:41px;display:grid;place-items:center;font:25px Georgia,serif;border:1px solid #bbc8a7;color:#729064;flex-shrink:0;border-radius:4px}.lesson-name{font:600 16px var(--serif);color:#526e4f;display:block;margin-bottom:5px}.lesson-desc{font-size:10px;color:#959b83}.lesson-arrow{margin-left:auto;color:#8ca276;font-size:20px}.rule-list{display:grid;gap:14px}.rule-item{display:flex;gap:12px;font-size:12px;line-height:1.9;color:#7a876b}.rule-item b{font:20px Georgia,serif;color:#a0ad8a;flex-shrink:0}.rule-item strong{color:#526c49;font-weight:500}.piece-guide{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding:20px 0 5px}.piece-guide div{text-align:center}.piece-guide .captured-piece{height:40px;width:40px;font-size:26px;margin:0 auto 6px}.piece-guide small{font-size:10px;color:#8e997b;display:block}.rules-details{font-size:12px;line-height:1.9;color:#7c886f;border-top:1px solid #dadcc4;padding-top:16px;margin-top:14px}.rules-details summary{cursor:pointer;font:600 15px var(--serif);color:#56734e;margin-bottom:10px}.rules-details p{margin:7px 0}.book-bottom-note{font-size:11px;color:#929a82;text-align:center;margin:20px 0 35px}.action-log{display:grid;gap:8px;max-height:320px;overflow:auto}.log-line{font-size:11px;color:#829073;display:flex;gap:10px;padding:7px 0;border-bottom:1px solid #e2e1cc}.log-line span:first-child{color:#a5ab96;flex-shrink:0;font-size:9px;min-width:27px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #d9dcc7;gap:25px}.setting-row>span{font-size:12px;color:#6d8060}.setting-row small{display:block;font-size:10px;color:#9a9f88;margin-top:5px}.setting-row select{width:180px}.toggle{width:42px;height:24px;border-radius:20px;background:#c7d0b8;border:0;padding:3px;position:relative}.toggle:before{position:absolute;content:"";width:18px;height:18px;border-radius:50%;background:#fbfaee;left:3px;top:3px;transition:left .2s}.toggle.on{background:var(--jade)}.toggle.on:before{left:21px}.hand-private{min-height:155px;display:flex;align-items:center;justify-content:center;gap:8px}.hand-private .mini-card-back{width:59px;height:85px;border-radius:5px}.round-badge{font-size:10px;border:1px solid #d3d7be;color:#879778;border-radius:3px;padding:3px 7px}.noscript{padding:30px;background:#fff1d6;color:#6a5937;margin:30px;border:1px solid #c0a26c}.inline-seal{display:inline-grid;place-items:center;font:12px var(--serif);background:#bf7960;color:#fff2d4;height:18px;width:18px;border-radius:2px}.tutorial-success{padding:10px 14px;background:#e1ebd6;border:1px solid #b1c2a1;border-radius:5px;color:#5a8052;font-size:12px;margin-top:12px}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.42}}@keyframes breathe{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1650px){#app{padding:0 55px}.play-layout{grid-template-columns:230px minmax(440px,1fr) 320px;column-gap:38px}.hand-bar{grid-template-columns:230px minmax(360px,1fr) 320px;gap:38px}.hand-card{width:124px;flex-basis:124px;height:171px}.hand-card .card-art{height:83px}.card-description{font-size:10px}.card-name{font-size:16px}.hand-cards{min-height:171px}}
@media(max-height:850px) and (min-width:1150px){.topbar{height:74px}.match-caption{padding-top:13px;padding-bottom:10px}.board-shell{max-width:calc((100dvh - 278px)*.9);min-width:345px}.advisor-panel{min-height:395px}.advisor-heading{padding:16px 17px}.advisor-heading h2{font-size:27px}.advisor-idle{padding:15px 17px}.advisor-features{margin:12px 0 17px;gap:9px}.advisor-quote{font-size:15px;margin:4px 0 12px}.left-panel,.advisor-panel{margin-top:0;padding-top:0}.left-panel{padding-top:62px}.advisor-panel{margin-top:62px}.turn-panel{padding:16px 14px}.deck-stack{height:77px;width:60px;margin-top:8px;margin-bottom:12px}.deck-stack:after{height:66px;font-size:13px;letter-spacing:3px;padding:3px 13px}.deck-panel{padding:11px 13px;margin-top:12px}.turn-number{font-size:40px}.turn-name{margin-bottom:10px}.hand-card{height:143px;width:106px;flex-basis:106px}.hand-card .card-art{height:61px}.hand-bar{margin-top:-6px;min-height:146px}.hand-cards{min-height:141px}.game-footer{margin-top:15px;padding-top:10px}.selection-hint{margin-bottom:4px}.left-tip{display:none}}
@media(max-width:1250px){#app{padding:0 22px}.play-layout{grid-template-columns:165px minmax(360px,1fr) 255px;gap:20px}.hand-bar{grid-template-columns:165px minmax(280px,1fr) 255px;gap:20px}.main-nav{gap:0}.nav-item{min-width:85px;padding-left:12px;padding-right:12px}.topbar{gap:15px}.brand-title{font-size:26px;letter-spacing:3px}.brand-kicker{font-size:7px;letter-spacing:1.2px}.brand-seal{width:40px;height:45px;font-size:32px}.top-actions{gap:4px}.mana-row{gap:4px}.mana-gem{width:15px;height:15px}.turn-panel{padding:18px 11px}.hand-card{width:103px;flex-basis:103px;margin-left:-24px;height:152px}.hand-card .card-art{height:69px}.hand-card .card-name{font-size:14px}.hand-card .card-name.long{font-size:11px}.advisor-panel{min-height:415px}.advisor-heading{padding:18px 15px}.advisor-heading h2{font-size:28px}.advisor-emblem{right:15px;width:45px;height:45px;top:30px;font-size:26px}.advisor-heading p{font-size:10px}.advisor-idle{padding:17px}.rec-actions{font-size:10px}.recommendation{padding:10px}.deck-workbench{grid-template-columns:minmax(440px,1fr) 295px;gap:23px}.catalog-grid{gap:17px 13px}.catalog-card{height:206px}.catalog-card .card-art{height:107px}}
@media(max-width:1000px){.play-layout{grid-template-columns:minmax(350px,1fr) 265px;gap:22px}.left-panel{grid-column:1/-1;display:flex;gap:16px;padding-top:0}.turn-panel{display:flex;align-items:center;gap:20px;flex:1;text-align:left;padding:12px 18px}.turn-panel .ornamental-divider,.turn-panel .section-label,.turn-panel .turn-name,.turn-panel .mana-number{display:none}.turn-label{font-size:15px;white-space:nowrap}.turn-number{font-size:33px;margin:0 6px}.mana-row{margin:0;gap:6px}.mana-gem{width:18px;height:18px}.resource-rows{margin:0;flex:1;display:flex;gap:18px;justify-content:flex-end;white-space:nowrap}.resource-row{font-size:10px;gap:9px}.effect-tag{margin:0;font-size:10px}.deck-panel,.left-tip{display:none}.board-column{grid-column:1;grid-row:2}.advisor-panel{grid-column:2;grid-row:2;margin-top:66px;min-height:420px}.board-shell{max-width:520px;min-width:0}.hand-bar{grid-template-columns:1fr 205px;gap:20px;grid-column:1/-1;grid-row:3}.own-status{display:none}.hand-card{width:113px;flex-basis:113px;margin-left:-23px;height:158px}.hand-card .card-art{height:74px}.chess-point .piece-disc,.moving-ghost .piece-disc{font-size:31px}.nav-item{min-width:77px;font-size:15px}.top-actions .subtle{display:none}.brand-kicker{display:none}.brand-title{font-size:26px}.main-nav{margin-left:10px;margin-right:auto}.deck-workbench{grid-template-columns:minmax(340px,1fr) 275px;gap:20px}.catalog-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}.catalog-card{height:198px}.catalog-card .card-art{height:101px}.book-grid{grid-template-columns:1fr}.book-panel{padding:22px}.game-footer{margin-top:20px}}
@media(max-width:730px){#app{padding:0 15px}.topbar{height:72px;gap:10px;flex-wrap:wrap;position:relative;padding-bottom:0}.brand{gap:8px}.brand-seal{width:32px;height:37px;font-size:27px;border-radius:7px}.brand-title{font-size:23px;letter-spacing:2px}.main-nav{margin:0 0 0 auto;gap:0}.nav-item{font-size:13px;min-width:57px;padding:9px 6px 6px;letter-spacing:0}.nav-item span{font-size:7px;letter-spacing:1px}.nav-item:after{left:12px;right:12px;bottom:-12px}.top-actions{display:none}.match-caption{padding:14px 2px 12px;font-size:9px;letter-spacing:.2px}#save-label{font-size:8px}.play-layout{grid-template-columns:1fr;gap:15px}.left-panel{grid-column:1;grid-row:1}.turn-panel{padding:10px 12px;gap:14px}.turn-label{font-size:13px}.turn-number{font-size:28px}.mana-row{gap:5px}.mana-gem{width:13px;height:13px}.resource-rows{gap:12px}.resource-row{font-size:9px}.resource-row .token{width:4px;height:4px;margin-left:3px}.effect-tag{display:none}.board-column{grid-column:1;grid-row:2}.opponent-strip{height:45px;padding:6px 9px;margin-bottom:10px}.mini-avatar{width:30px;height:30px;font-size:22px}.player-name{font-size:12px}.player-meta{font-size:9px}.mini-card-back{height:21px;width:13px}.opponent-mana{font-size:9px;padding-left:7px}.opponent-mana strong{font-size:14px}.board-shell{max-width:490px;border-width:7px}.frame-corner{height:22px;width:22px}.frame-corner.tl{top:-8px;left:-8px}.frame-corner.tr{top:-8px;right:-8px}.frame-corner.bl{bottom:-8px;left:-8px}.frame-corner.br{bottom:-8px;right:-8px}.frame-corner:after{inset:6px}.chess-point .piece-disc,.moving-ghost .piece-disc{font-size:clamp(23px,5.8vw,32px);box-shadow:inset 0 0 0 2px #fff8e3,inset 0 0 0 3px #be9d63,0 3px 3px #69532a40}.board-message{font-size:10px;min-height:25px;padding-top:7px}.hand-bar{grid-column:1;grid-row:3;display:flex;flex-direction:column;gap:9px;align-items:stretch;margin-top:-3px;min-height:0}.hand-center{width:100%}.hand-cards{min-height:139px;justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding:13px 7px 8px;scrollbar-width:thin;scrollbar-color:#bdc7a8 transparent}.hand-card{margin-left:8px;width:101px;flex-basis:101px;height:142px;transform:none!important}.hand-card:first-child{margin-left:0}.hand-card:hover{transform:translateY(-5px)!important}.hand-card.selected{transform:translateY(-5px)!important}.hand-card .card-art{height:58px}.card-description{font-size:9px}.selection-hint{min-height:21px;margin-bottom:0;justify-content:flex-start;padding-left:3px;font-size:10px}.turn-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px}.end-turn{min-height:47px;max-width:210px;font-size:20px;letter-spacing:3px;border-radius:7px}.end-turn-note{margin:0;font-size:9px;letter-spacing:.3px}.end-turn-note:before,.end-turn-note:after{display:none}.advisor-panel{grid-column:1;grid-row:4;margin:2px 0 0;min-height:0}.advisor-heading{padding:15px 18px}.advisor-heading h2{font-size:25px;letter-spacing:4px;margin:0}.advisor-heading p{font-size:10px;margin-top:4px}.advisor-heading .eyebrow{font-size:8px;margin-bottom:2px}.advisor-emblem{right:20px;top:19px;width:44px;height:44px}.advisor-idle{padding:16px 18px}.advisor-quote{display:none}.advisor-features{display:flex;flex-wrap:wrap;gap:13px;margin:0 0 15px}.advisor-features div{font-size:10px;gap:5px}.advisor-copy{margin:10px 0 0;font-size:10px}.advisor-result{display:grid;grid-template-columns:1fr;gap:8px;padding:13px}.recommendation{margin:0}.rec-actions{font-size:11px}.advisor-stats{grid-column:1/-1}.game-footer{margin:19px 0 18px;font-size:9px;display:block;text-align:center}.game-footer>span{display:none}.game-footer>div{justify-content:center;gap:15px}.tutorial-strip{grid-column:1;grid-row:auto;padding:11px 12px;gap:10px}.tutorial-strip h3{font-size:14px}.tutorial-strip p{font-size:10px}.tutorial-strip .button{padding:6px 9px;font-size:10px;min-height:30px}.play-layout.has-tutorial .left-panel{grid-row:2}.play-layout.has-tutorial .board-column{grid-row:3}.play-layout.has-tutorial .hand-bar{grid-row:4}.play-layout.has-tutorial .advisor-panel{grid-row:5}.replay-banner{grid-column:1;flex-wrap:wrap;padding:10px}.replay-banner strong{font-size:14px}.replay-banner input{min-width:100px}.play-layout.has-replay .left-panel{grid-row:2}.play-layout.has-replay .board-column{grid-row:3}.play-layout.has-replay .hand-bar{grid-row:4}.play-layout.has-replay .advisor-panel{grid-row:5}.modal-backdrop{padding:13px}.modal{padding:23px 21px;max-height:calc(100dvh - 26px);border-radius:10px}.modal-close{right:14px;top:12px}.modal-title{font-size:24px}.modal-subtitle{font-size:11px;margin-bottom:16px}.menu-brand{gap:12px;margin-bottom:20px}.menu-brand h1{font-size:29px;letter-spacing:4px}.menu-brand p{font-size:10px;letter-spacing:2px}.menu-brand .brand-seal{width:43px;height:48px;font-size:32px}.two-fields{gap:11px}.deck-choice{padding:10px 11px}.deck-choice-title{font-size:14px}.deck-choice-subtitle{font-size:9px}.deck-choice-count{font-size:9px}.deck-glyph{width:34px;height:34px;font-size:23px}.deck-choices{margin-bottom:16px}.mode-switch{margin-bottom:15px}.mode-switch button{padding:8px;font-size:11px}.select-control{font-size:11px;min-height:37px}.start-button{margin-top:20px;padding:12px}.mulligan-cards{gap:12px}.mulligan-cards .hand-card{height:153px;width:112px;flex-basis:112px}.mulligan-cards .card-art{height:73px}.choice-grid{gap:13px}.choice-grid .hand-card{height:154px;width:112px;flex-basis:112px}.choice-grid .card-art{height:73px}.card-tooltip{display:none!important}.page-heading{padding-top:25px;padding-bottom:20px;align-items:start;flex-direction:column}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.page-heading-actions{flex-wrap:wrap}.page-heading-actions .button{font-size:10px;padding:7px 10px}.deck-workbench{display:flex;flex-direction:column-reverse;gap:20px}.deck-editor{position:static;width:100%;padding:16px}.deck-card-list{max-height:190px;grid-template-columns:1fr 1fr;gap:4px}.deck-row{padding:5px;gap:5px}.deck-row-name{font-size:11px}.deck-row-num{font-size:9px}.quantity-button{width:19px;height:20px}.small-cost{width:17px;height:18px;font-size:13px}.editor-summary{margin:10px 0 12px}.mana-curve{height:50px;margin:17px 0 9px}.catalog-grid{grid-template-columns:repeat(3,minmax(85px,1fr));gap:18px 12px;padding:8px 3px 20px;width:100%}.card-catalog{width:100%}.catalog-card{height:179px;min-width:0;padding:9px 8px}.catalog-card .card-name{font-size:15px;margin-left:4px}.catalog-card .card-name.long{font-size:12px}.catalog-card .card-art{height:88px;margin-top:2px;margin-bottom:4px}.catalog-card .card-description{font-size:8px}.catalog-card .card-cost{width:25px;height:28px;font-size:20px;left:-5px;top:-7px}.card-added{font-size:8px;top:4px;right:4px;padding:1px 4px}.catalog-filters{gap:6px}.filter-button{font-size:10px;padding:6px 10px}.catalog-count{font-size:9px}.book-grid{gap:17px}.book-panel{padding:19px}.book-panel h2{font-size:19px}.lesson-card{padding:13px 11px;gap:11px}.lesson-name{font-size:14px}.lesson-desc{font-size:9px}.lesson-number{width:31px;height:35px;font-size:22px}.piece-guide{grid-template-columns:repeat(4,1fr);row-gap:15px}.rule-item{font-size:11px}.result-stats{gap:8px}.result-stats div{padding:11px 4px;font-size:10px}.result-stats strong{font-size:23px}.setting-row{gap:15px}.setting-row select{width:146px}.setting-row>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact layouts keep the timeline above the board and hands inside their column. */
.mobile-only{display:none}.deck-workbench>section{min-width:0;width:100%}
@media(max-width:1250px){.hand-cards{max-width:100%;overflow-x:auto;justify-content:flex-start;padding:15px 8px 10px;scrollbar-width:thin;scrollbar-color:#bdc7a8 transparent}}
@media(min-width:731px) and (max-width:1000px){.play-layout.has-tutorial .left-panel,.play-layout.has-replay .left-panel{grid-row:2}.play-layout.has-tutorial .board-column,.play-layout.has-replay .board-column,.play-layout.has-tutorial .advisor-panel,.play-layout.has-replay .advisor-panel{grid-row:3}.play-layout.has-tutorial .hand-bar,.play-layout.has-replay .hand-bar{grid-row:4}}
@media(max-width:730px){.mobile-only{display:inline-block}.game-footer>div{flex-wrap:wrap;row-gap:8px}.tutorial-strip{flex-wrap:wrap}.tutorial-strip>div{flex:1 1 100%}.hand-cards{padding:14px 8px 10px}}
@media(max-width:380px){.brand-title{font-size:20px;letter-spacing:1px}.brand{gap:6px}.nav-item{min-width:50px;padding-left:4px;padding-right:4px}.resource-rows{gap:7px}.turn-panel{gap:9px;padding:10px}.mana-row{gap:4px}.mana-gem{width:11px;height:11px}}
@media(max-width:730px){.opponent-hand{max-width:74px;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.opponent-hand .mini-card-back{flex:0 0 13px}.opponent-strip>div:nth-child(2){min-width:0}.player-meta{white-space:nowrap}}
@media(max-width:400px){.opponent-mana{display:none}.resource-row:last-child{display:none}}
