@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0c1615;--panel:#152321;--line:#31413a;--gold:#dfbe76;--text:#ede9dc;--muted:#a1b0a5;--jade:#86c7aa}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 30% 0,#20382e,transparent 55%),var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px}button,a,input,select{touch-action:manipulation}button,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#21352e;color:var(--text);border-radius:8px;padding:10px 15px;transition:.16s}button:hover:not(:disabled){border-color:var(--gold);background:#304638}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);background:#0b1512bb}.brand{color:var(--gold);text-decoration:none;display:flex;gap:13px;align-items:center;font-size:30px}.brand span{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:2px;font-size:24px}.brand b{font-weight:500}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:3px;margin-top:5px}nav{display:flex;gap:10px}nav button{background:transparent;font-size:12px}.outline{border-color:#9d8653}main{max-width:1600px;margin:auto;padding:30px 4% 55px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:39px;font-weight:600;margin:8px 0 8px}p{line-height:1.6;color:var(--muted);margin-bottom:10px}.intro p{font-size:12px}.prototype{color:var(--gold);font-size:10px;letter-spacing:1px;text-align:right}.prototype span{display:block;color:var(--muted);letter-spacing:0;margin-top:8px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.table{border:1px solid #435144;border-radius:16px;background:radial-gradient(ellipse at center,#28453966,#10201cdd 65%),repeating-linear-gradient(45deg,transparent,transparent 17px,#ffffff02 18px,#ffffff02 19px);overflow:hidden;min-width:0;box-shadow:0 15px 70px #0004}.playerbar{display:flex;gap:14px;align-items:center;padding:15px 22px;background:#0d1c18b0;border-bottom:1px solid #283d32;flex-wrap:wrap}.avatar{width:43px;height:43px;border:1px solid var(--gold);display:grid;place-items:center;border-radius:50%;font-size:24px;color:var(--gold)}.player-name{font-weight:700}.player-name small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}.life{margin-left:auto;font-size:27px;font-family:'Cormorant Garamond',Georgia,serif;color:var(--gold)}.life small{font-family:'DM Sans';font-size:9px;display:block;color:var(--muted);letter-spacing:1px}.resources{display:flex;gap:12px;font-size:11px;align-items:center}.resources b{color:var(--gold);font-size:15px}.resources button{padding:5px 8px;font-size:10px}.battlefield{min-height:180px;padding:20px;display:flex;flex-wrap:wrap;gap:13px;align-content:center}.battlefield:empty:after{content:'El campo aguarda tus invocaciones';width:100%;text-align:center;color:#71877b;font-size:12px;font-style:italic}.enemy:empty:after{content:'Las unidades de la corte rival aparecerán aquí'}.divider{display:flex;align-items:center;gap:13px;margin:0 25px;color:#9b8350}.divider span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#6d6543,transparent)}.unit{width:92px;border:1px solid #786b44;background:#101c17;padding:0;border-radius:7px;position:relative;box-shadow:0 5px 10px #0006;overflow:visible}.unit img{width:100%;display:block;border-radius:6px 6px 0 0;aspect-ratio:1/1.13;object-fit:cover;object-position:top}.unit .mini-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;padding:4px}.unit .statline{display:flex;justify-content:center;gap:8px;font-size:11px;padding:2px 2px 5px;color:var(--gold)}.unit.tapped{filter:saturate(.5);transform:rotate(6deg)}.unit.selected{outline:3px solid var(--jade);transform:translateY(-6px)}.unit.attacking{outline:2px solid #d48565}.unit .status{position:absolute;top:3px;right:3px;background:#07170ee8;padding:3px 5px;border-radius:4px;font-size:9px;color:#e9ca87}.hand-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.hand-header h2{font-size:13px}.hand-header h2 span{color:var(--gold);margin-left:7px}.hand-header>span{font-size:10px;color:var(--muted)}.hand{padding:8px 18px 22px;display:flex;gap:9px;overflow-x:auto;min-height:177px;background:linear-gradient(transparent,#08120f);align-items:flex-start}.hand-card{width:103px;flex-shrink:0;border:1px solid #5b654a;padding:0;border-radius:7px;background:#182d22;transition:transform .18s;position:relative}.hand-card:hover{transform:translateY(-6px)}.hand-card img{display:block;width:100%;border-radius:6px}.hand-card.playable{box-shadow:0 0 0 2px #8fc69f80,0 0 16px #8fc69f28}.hand-card .costtag{position:absolute;bottom:3px;right:3px;background:#071910;color:var(--gold);padding:3px 6px;border-radius:4px;font-size:10px}aside{display:flex;flex-direction:column;gap:14px}.panel{background:linear-gradient(135deg,#1d2c26,#121f1b);border:1px solid var(--line);border-radius:12px;padding:19px}.turn-panel h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;margin:8px 0}.turn-panel p{font-size:12px;min-height:36px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-title h3{font-size:12px;margin:0}.panel-title span{color:var(--gold);font-size:11px}#controls{display:flex;flex-direction:column;gap:8px}.primary{background:var(--gold);border-color:var(--gold);color:#19251b;font-weight:700}.primary:hover:not(:disabled){background:#edcf8e;color:#19251b}label.auto{display:flex;gap:8px;line-height:1.5;font-size:10px;color:var(--muted);margin-top:15px;align-items:flex-start}input{accent-color:#b3cf97}.stack-item{padding:9px;border-left:2px solid var(--gold);background:#ffffff05;margin-bottom:5px;font-size:11px}.stack-item small{display:block;color:var(--muted);margin-top:4px}.empty{color:#7d9185;font-size:11px;font-style:italic}.text-button{background:none;border:none;color:var(--gold);font-size:10px;padding:0}.log-panel{flex:1}#log{max-height:240px;overflow:auto}#log p{font-size:10px;border-bottom:1px solid #ffffff08;padding-bottom:7px;margin-bottom:7px;line-height:1.5}#log p:first-child{color:var(--text)}.footnote{font-size:10px;line-height:1.6;padding:0 3px}.block-row{font-size:11px;margin:8px 0}.block-row label{display:block;margin-bottom:5px}.block-row select{width:100%;padding:8px;border-radius:6px;background:#0b1a12;color:var(--text);border:1px solid var(--line);font-size:11px}dialog{width:min(920px,94vw);max-height:90vh;border:1px solid #a58d55;border-radius:15px;background:#13221c;color:var(--text);padding:30px;box-shadow:0 20px 100px #000c}dialog::backdrop{background:#030a07ce;backdrop-filter:blur(5px)}.close{position:absolute;right:10px;top:8px;font-size:22px;padding:1px 9px;background:none;border:none;z-index:2}.detail{display:grid;grid-template-columns:minmax(160px,290px) 1fr;gap:28px;align-items:start}.detail>img{width:100%;border-radius:11px}.detail h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;margin:8px 0}.detail p{font-size:13px}.detail .rules-text{background:#eae2cb;color:#263b2e;padding:18px;border-radius:9px;line-height:1.7;margin:18px 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{font-size:12px}.choices{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.choices button{max-width:180px}.choices img{width:80px;display:block;margin:0 auto 5px}.collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:12px}.collection button{padding:0;background:none;overflow:hidden}.collection img{width:100%;display:block}.collection small{display:block;padding:5px;font-size:9px}.modal-heading{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;margin-bottom:8px}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.filterbar button{font-size:11px}.mulligan{display:flex;gap:9px;overflow:auto;margin:20px 0}.mulligan img{width:120px;border-radius:6px}.rules-list{line-height:1.8;color:var(--muted);padding-left:20px}.rules-list li{margin-bottom:9px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#e5c57e;color:#15251b;border-radius:8px;padding:12px 20px;box-shadow:0 6px 30px #0008;z-index:10;display:none;max-width:90vw;font-size:12px}.victory{padding:12px;background:#334c33;border:1px solid var(--gold);border-radius:8px}.damage{color:#f59a87}.badge{font-size:10px;border:1px solid var(--line);padding:4px 8px;border-radius:5px;display:inline-block;margin:3px}.keyword{color:var(--gold)}
@media(min-width:1450px){.unit{width:108px}.battlefield{min-height:210px}.hand-card{width:115px}}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 260px;gap:12px}main{padding:22px 20px}h1{font-size:30px}.playerbar{padding:12px;gap:8px}.resources{gap:7px}.unit{width:78px}.battlefield{padding:14px;gap:10px}.prototype{display:none}.hand-card{width:90px}}@media(max-width:740px){header{padding:12px 15px;height:auto;gap:15px;align-items:flex-start;flex-wrap:wrap}.brand span{font-size:20px}nav{gap:6px}nav button{padding:7px 10px;font-size:11px}main{padding:20px 12px}.intro{margin-bottom:18px}h1{font-size:29px}.layout{display:flex;flex-direction:column}.table{order:1}aside{display:contents}.turn-panel{order:0;padding:13px}.turn-panel h2{font-size:22px;margin:5px 0}.turn-panel p{min-height:0;margin-bottom:8px}.turn-panel #controls{flex-direction:row;flex-wrap:wrap}.turn-panel .auto{margin-top:8px}.panel:not(.turn-panel){order:2}.footnote{order:3}.battlefield{min-height:140px}.unit{width:75px}.playerbar{gap:9px}.player-name{font-size:12px}.resources{font-size:10px}.avatar{width:32px;height:32px;font-size:18px}.life{font-size:23px}.hand-header>span{display:none}.hand{min-height:160px}.detail{grid-template-columns:1fr}.detail>img{max-width:210px;margin:auto}.detail h2{font-size:28px}.choices{max-height:45vh;overflow:auto}dialog{padding:24px 18px}.mulligan img{width:95px}.block-row{min-width:170px}}
.resource-zone{padding:15px 20px 18px;border-bottom:1px solid var(--line);background:#0b1914}.land-heading h2{font-size:13px;margin:0 0 5px}.land-heading h2 span{font-weight:400;font-size:10px;color:var(--gold);margin-left:8px}.land-heading p{font-size:11px;margin-bottom:12px}.land-and-deck{display:flex;gap:16px;align-items:stretch}.land-list{display:flex;gap:8px;overflow-x:auto;flex:1;padding:3px;min-width:0}.land-card{padding:0;width:67px;flex-shrink:0;position:relative;border-radius:6px;overflow:hidden;border:1px solid #66764e;background:#213627}.land-card img{width:100%;display:block;aspect-ratio:1/.94;object-fit:cover;object-position:top}.land-card span{display:block;font-size:7px;letter-spacing:.2px;padding:6px 1px;color:#ddcca1}.land-card.reserve{border-style:dashed;opacity:.67}.land-card.can-place{border:2px solid var(--gold);opacity:1;box-shadow:0 0 9px #dbbd6940}.land-card.inplay{border-color:#92cba6}.land-card.spent{filter:grayscale(.8);opacity:.6}.deck-pile{width:75px;flex-shrink:0;background:repeating-linear-gradient(45deg,#1d3527,#1d3527 4px,#213c2b 5px,#213c2b 6px);border:2px solid #a18c56;box-shadow:3px 3px #07150b,5px 5px #7b6d42;padding:7px}.deck-pile strong{display:block;font-size:23px;color:var(--gold)}.deck-pile b{display:block;font-size:19px}.deck-pile span{font-size:7px;display:block;margin-top:5px}.enemy:empty,.friendly:empty{min-height:125px}@media(max-width:740px){.resource-zone{padding:12px}.land-card{width:58px}.land-and-deck{gap:9px}.deck-pile{width:60px}.land-heading h2 span{display:block;margin:4px 0}}

/* Rules 0.3 */
.battlefield{display:block;min-height:0}.field-zone h3{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#ddc580;margin:8px 0}.zone-cards{display:flex;gap:8px;flex-wrap:wrap}.empty-slot{width:90px;min-height:90px;border:1px dashed #475d50;border-radius:8px;display:grid;place-items:center;font-size:10px;color:#94a99a}.support-slot{min-height:55px}.hidden-trap{min-height:170px;background:repeating-linear-gradient(45deg,#102d29,#102d29 8px,#193c34 8px,#193c34 10px);border:2px solid #b99b52;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#e5cf86;gap:18px}.hidden-trap b{font-size:42px}.hidden-trap span,.hidden-trap small{font-size:10px}.card-visual{position:relative;display:block;aspect-ratio:0.7;overflow:hidden;border-radius:9px;container-type:inline-size;width:100%}.card-visual>img{display:block;width:100%!important;height:100%!important;object-fit:fill}.card-rules{position:absolute;inset:62% 3% 3%;background:#f3eedc;color:#1d3027;border:1px solid #ba994e;display:flex;flex-direction:column;text-align:left;overflow:hidden;font-size:3.1cqw;line-height:1.18}.card-rules>b{display:block;background:#123c34;color:#f4df9e;font-size:3.2cqw;padding:2%}.card-rules>span{padding:3%;flex:1}.card-rules>strong{padding:2% 3%;font-size:3.5cqw;display:flex;justify-content:space-between;align-items:center}.card-rules small{font-size:2cqw}.detail>.card-visual{width:100%;max-width:440px}.unit .card-visual,.hand-card .card-visual{width:100%}.choices button>.card-visual{width:130px}.mulligan>.card-visual{width:130px;flex-shrink:0}.land-card .card-rules{display:none}.land-card>.card-visual{aspect-ratio:0.7}.land-card>.card-visual>img{height:100%!important}.collection button>.card-visual{width:100%}#deckChoice,#opponentChoice{display:block;width:100%;margin:10px 0 20px;padding:12px}#surrenderBtn{font-size:12px}@media(max-width:600px){.empty-slot{width:52px;min-height:60px;font-size:8px}.zone-cards{gap:5px}.hidden-trap{min-height:110px}.hidden-trap b{font-size:22px}}

[hidden]{display:none!important}.room-form{display:grid;gap:16px;max-width:560px}.room-form label{display:grid;gap:8px;color:#e2c88d}.room-form input,.room-form select,#inviteLink{padding:14px;border:1px solid #667c6b;background:#10261e;color:#f6eed5;border-radius:8px;font:inherit}#inviteLink{width:min(100%,640px);margin:16px 0}.connection-status{padding:12px 32px;margin:0;background:#183c2b;color:#d3e7d9;font-size:13px}.connection-status.error,#lobbyError{color:#ffbd9a}.room-form button{min-height:44px}

.clock-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 4%;border-bottom:1px solid var(--line);background:#0b1512bb;font-size:13px;color:var(--muted)}.clock-bar b{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;color:var(--gold);min-width:64px}.clock-bar b.urgent{color:#e08a7a}.clock-bar .present{color:var(--jade)}.clock-bar .absent{color:#e08a7a}.clock-bar button{margin-left:auto}
