:root{color-scheme:dark;--bg:#101a17;--panel:#17231f;--line:#334039;--gold:#d2b477;--paper:#eee5d1;--muted:#9fa99c;--green:#bdd1ad;--red:#d39887;font-family:Segoe UI,Arial,sans-serif;color:var(--paper);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 10%,#263a2d55,transparent 65%),var(--bg);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#22342b;color:var(--paper);padding:11px 17px;border-radius:5px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#324738;border-color:var(--gold)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--gold);border-color:var(--gold);color:#182119;font-weight:650}button.primary:hover:not(:disabled){background:#e5ca91}button.quiet{background:transparent;padding:7px 12px}a{color:var(--gold)}input,select{width:100%;border:1px solid #475246;background:#101b16;color:var(--paper);padding:12px;border-radius:5px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}label{display:block;color:#c4ccbd;font-size:13px;margin:15px 0 7px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(38px,5vw,68px);line-height:1.08}h2{font-size:29px}h3{font-size:15px;font-weight:500}p{line-height:1.65;color:var(--muted)}.masthead{height:92px;max-width:1540px;margin:auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;color:var(--paper);font-family:Georgia,serif;font-size:35px;letter-spacing:5px;display:flex;align-items:center;gap:24px}.wordmark span{font:10px Segoe UI,sans-serif;letter-spacing:2px;color:var(--muted);border-left:1px solid var(--line);padding-left:24px}.header-right{display:flex;align-items:center;gap:18px}.version{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.connection{font-size:12px;color:var(--green)}.connection::before{content:'●';font-size:8px;margin-right:7px}main{max-width:1540px;margin:auto;padding:35px 40px;min-height:calc(100vh - 160px)}footer{max-width:1540px;margin:auto;padding:20px 40px;display:flex;justify-content:space-between;color:#768575;font-size:11px;border-top:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:2.7px;color:var(--gold);margin-bottom:22px}.lobby{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;max-width:1180px;margin:35px auto}.intro{padding-top:25px}.intro p{max-width:440px}.hero-cards{height:300px;position:relative;margin-top:40px}.hero-cards :is(img,video){position:absolute;width:145px;height:265px;object-fit:cover;border-radius:10px;box-shadow:0 12px 35px #0009;border:1px solid #9f835d;left:65px;transform:rotate(-12deg)}.hero-cards :is(img,video):nth-child(2){left:170px;top:-10px;transform:rotate(3deg)}.hero-cards :is(img,video):nth-child(3){left:270px;top:16px;transform:rotate(15deg)}.panel{background:linear-gradient(135deg,#1b2a22,#16221c);border:1px solid var(--line);border-radius:9px;padding:26px}.tabs{display:flex;gap:6px;margin-bottom:25px;border-bottom:1px solid var(--line);padding-bottom:15px}.tabs button{flex:1;background:none;border-color:transparent}.tabs button.active{border-color:var(--gold);color:var(--gold)}.checks{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.checks label{display:flex;align-items:center;gap:8px;margin:0}.checks input{width:auto;accent-color:var(--gold)}.full{width:100%;margin-top:18px}.note{font-size:12px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.waiting{max-width:650px;margin:70px auto;text-align:center}.room-code{font:48px Georgia,serif;letter-spacing:8px;color:var(--gold);margin:30px}.share{display:flex;gap:8px;margin:15px 0}.share input{font-size:13px}.game-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.game-top h1{font-size:31px;margin:0}.game-top .eyebrow{margin-bottom:8px}.game-top .status{font-size:14px;color:var(--gold)}.game-layout{display:grid;grid-template-columns:180px minmax(0,1fr) 240px;gap:18px;align-items:start}.player-panel{padding:18px;margin-bottom:14px}.player-name{font-family:Georgia,serif;font-size:21px;margin-bottom:12px;overflow-wrap:anywhere}.statline{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:10px 0}.score{font:45px Georgia,serif;color:var(--gold)}.win{color:var(--gold);letter-spacing:4px}.leader-thumb{display:block;margin:15px auto 9px;width:76px;height:133px;object-fit:cover;border:1px solid #9b8863;border-radius:5px;cursor:zoom-in}.used{filter:grayscale(1);opacity:.45}.battlefield{border:1px solid #536047;border-radius:9px;overflow:hidden;background:radial-gradient(ellipse,#344c3333,transparent)}.side-title{padding:11px 15px;display:flex;justify-content:space-between;background:#27382a66;font-size:11px;letter-spacing:.5px}.row{min-height:111px;display:flex;align-items:center;border-top:1px solid #384a36;position:relative;gap:8px;padding:9px 13px 9px 40px}.row-number{position:absolute;left:12px;font:17px Georgia,serif;color:#8a9b7a}.row-title{font-size:11px;color:#72816d;letter-spacing:1px}.row-cards{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.middle{padding:9px 13px;background:#0c1510;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:12px;color:var(--gold);font-size:10px;letter-spacing:1px;min-height:30px;flex-wrap:wrap}.card{position:relative;display:inline-flex;padding:0;border:1px solid #7e7256;border-radius:5px;background:#2e3024;flex-shrink:0;overflow:visible}.card:hover:not(:disabled){transform:translateY(-4px);background:transparent}.card :is(img,video){display:block;width:59px;height:90px;object-fit:cover;border-radius:4px}.card .power{position:absolute;top:-7px;left:-5px;border-radius:50%;background:var(--paper);color:#152019;font:bold 14px Georgia,serif;border:2px solid #9d854f;min-width:25px;height:25px;display:grid;place-items:center}.card.selected{outline:3px solid var(--gold);transform:translateY(-6px)}.card.can-play{border-color:#d3be83}.hand-area{margin-top:19px}.hand-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:13px;color:var(--muted)}.hand{display:flex;gap:10px;overflow-x:auto;padding:10px 4px 15px;min-height:155px}.hand .card :is(img,video){width:79px;height:125px}.hand .card{align-self:flex-start}.card-name{position:absolute;bottom:0;width:100%;padding:4px 2px;background:#0c160deb;color:var(--paper);font-size:9px;line-height:1.2;border-radius:0 0 4px 4px}.action-panel{padding:18px;margin-top:16px}.action-panel select{font-size:12px}.action-panel .buttons{display:flex;gap:10px;margin-top:13px}.action-panel .buttons button{flex:1}.right-panel{padding:19px}.detail-title{font-family:Georgia,serif;font-size:23px;line-height:1.2;margin-bottom:12px}.detail-image{display:block;width:100%;max-height:260px;object-fit:contain;margin-bottom:16px;cursor:zoom-in}.detail-text{font-size:12px;line-height:1.65;color:#bdc6b4;white-space:pre-line}.tags{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.tag{font-size:10px;background:#304031;padding:4px 7px;border-radius:3px;color:#cad6bb}.log{padding-top:19px;margin-top:19px;border-top:1px solid var(--line)}.log p{font-size:11px;line-height:1.5;margin-bottom:9px}.small{font-size:11px;color:var(--muted)}.warning{color:#d7b88b;font-size:12px}.error{color:var(--red)}.mulligan{padding:17px 22px;border:1px solid var(--gold);border-radius:6px;margin:16px 0;background:#463c2333}.mulligan p{font-size:13px;margin-bottom:10px}.history{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.history span{border:1px solid var(--line);padding:6px 9px;font-size:11px;color:var(--muted);border-radius:4px}dialog{color:var(--paper);background:#16221b;border:1px solid #79734f;border-radius:9px;max-width:min(1000px,94vw);width:750px;max-height:90vh;padding:32px}dialog::backdrop{background:#030b08cc}.close{position:absolute;right:10px;top:8px;background:none;border:0;font-size:24px}.zoom-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px}.zoom-layout :is(img,video){width:100%;max-height:72vh;object-fit:contain}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:13px;max-height:65vh;overflow:auto;padding:10px}.gallery .card :is(img,video){width:100%;height:170px}.gallery .card{width:100%}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#ece2c9;color:#17231b;padding:15px 25px;border-radius:6px;max-width:90vw;z-index:10;box-shadow:0 5px 30px #0006}.loading{text-align:center;padding:80px}.finished{border-color:var(--gold)}
@media(min-width:1600px){.row{min-height:116px}.card :is(img,video){width:64px;height:96px}}@media(max-width:1120px){.game-layout{grid-template-columns:150px minmax(0,1fr)}.right-panel{grid-column:1/-1;display:grid;grid-template-columns:180px 1fr;gap:20px}.right-panel .log{margin:0;border:0;padding:0}.right-panel .detail-image{max-height:190px}.lobby{gap:35px}.hero-cards :is(img,video){width:115px;height:220px;left:15px}.hero-cards :is(img,video):nth-child(2){left:95px}.hero-cards :is(img,video):nth-child(3){left:175px}}@media(max-width:750px){.masthead{padding:15px 18px;height:75px}.wordmark{font-size:27px}.wordmark span,.version{display:none}.header-right{gap:5px}.connection{font-size:10px}main{padding:23px 14px}.lobby{display:block;margin:5px auto}.intro{padding:0}.intro h1{font-size:41px}.intro p{font-size:13px}.hero-cards{display:none}.lobby .panel{margin-top:25px}.game-layout{display:flex;flex-direction:column;gap:12px}.players{display:flex;width:100%;gap:10px}.player-panel{flex:1;padding:12px;margin:0}.player-panel .leader-thumb{display:none}.player-name{font-size:18px}.score{font-size:29px}.statline{margin:5px 0}.player-panel button{font-size:11px;padding:7px}.board-column{width:100%}.right-panel{width:100%;display:block}.right-panel .detail-image{max-height:220px}.right-panel .log{margin-top:20px}.game-top{align-items:flex-start}.game-top h1{font-size:23px}.game-top .status{font-size:12px;max-width:140px;text-align:right}.row{min-height:89px;padding-left:27px;padding-right:7px}.row-number{left:8px;font-size:13px}.row-title{font-size:9px}.card :is(img,video){width:46px;height:72px}.row-cards{gap:4px}.hand .card :is(img,video){width:70px;height:112px}.action-panel .buttons{flex-wrap:wrap}.zoom-layout{display:block}.zoom-layout :is(img,video){max-height:55vh;margin-bottom:20px}footer{padding:20px 15px}footer span{display:none}.share{flex-wrap:wrap}.share input{min-width:0}.game-top .quiet{font-size:11px}}
.game-top h1 button{font:12px Segoe UI,Arial,sans-serif;margin-left:10px;vertical-align:middle}
.gallery [data-gallery][hidden]{display:none!important}
