
:root{color-scheme:dark;--gold:#d7b779;--ink:#101918;--paper:#e9dfc8;--muted:#abb4a6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 40% 0,#34443c 0, #15221f 43%,#0b1314 100%);color:var(--paper);font-family:Georgia,serif;min-height:100vh}header{padding:24px 4vw 18px;border-bottom:1px solid #ad8c4b55;display:flex;align-items:center;justify-content:space-between;background:#0b1314aa}h1{letter-spacing:.25em;font-size:40px;margin:4px 0;color:var(--gold)}header p{margin:0;font-style:italic;color:#c2c9b8}small,.eyebrow{font:10px system-ui;letter-spacing:2px;color:var(--gold)}button,select,input{font:13px system-ui;padding:9px 12px;border:1px solid #a28d5c66;border-radius:4px;background:#1b2a27;color:var(--paper)}button{cursor:pointer}button:hover:not(:disabled){background:#415244;border-color:var(--gold)}button:disabled{opacity:.35;cursor:default}button:focus-visible{outline:2px solid #f9dc95;outline-offset:3px}.primary{background:#c4a368;color:#141e1c;font-weight:700}nav{display:flex;gap:8px}main{max-width:1500px;margin:auto;padding:20px 3vw}.status{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.status h2{margin:0;font-size:21px}.status strong{color:var(--gold)}.zone{border:1px solid #a28d5c40;border-radius:7px;padding:14px;margin-bottom:14px;background:#101b1999}.board,.hand{display:flex;gap:10px;overflow-x:auto;padding:8px 0;min-height:90px}.card{flex:0 0 158px;border:1px solid #a7987180;background:linear-gradient(155deg,#35473b,#1c2926);border-radius:7px;padding:12px;position:relative;box-shadow:0 4px 9px #0003}.card.ruin{background:linear-gradient(155deg,#533c36,#282423)}.card.knowledge{background:linear-gradient(155deg,#344750,#1b292f)}.card h3{font-size:15px;min-height:36px;margin:6px 0}.card .crest{height:43px;text-align:center;font-size:33px;color:var(--gold);border-top:1px solid #b39c6355;border-bottom:1px solid #b39c6355}.card p{font-size:12px;line-height:1.4;min-height:32px}.card button{padding:6px;font-size:11px;margin-top:5px;width:100%}.card.selected{outline:2px solid var(--gold)}.card.tapped{opacity:.58}.stats{display:flex;justify-content:space-between;font:12px system-ui;color:#f3dfae}.cost{float:right;border-radius:50%;background:#d4bc83;color:#15201c;width:23px;height:23px;display:grid;place-items:center}.sites{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:12px 0}.site{padding:18px;border:1px solid #b6a16b77;border-radius:6px;background:linear-gradient(140deg,#45544788,#182825);min-height:165px;position:relative}.site h3{margin:10px 0;color:#e2c894}.site .landscape{font-size:28px;color:#a9b597;float:right}.progress{font:12px system-ui;margin:8px 0}progress{width:100%;height:6px;accent-color:var(--gold)}.muted{color:var(--muted);font:12px/1.5 system-ui}.bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.notice{padding:13px 18px;border-left:3px solid var(--gold);background:#b2954b18;margin-bottom:14px;font:14px/1.5 system-ui}.log{max-height:140px;overflow:auto;font:12px/1.7 system-ui;color:var(--muted)}dialog{background:#172522;color:var(--paper);border:1px solid var(--gold);border-radius:10px;max-width:600px;width:90vw;padding:30px}dialog::backdrop{background:#050c0de8}dialog p,li{line-height:1.6}label{display:flex;flex-direction:column;gap:6px;font:13px system-ui;margin:12px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.victory{font-size:24px;color:var(--gold)}@media(max-width:700px){header{padding:16px;align-items:start}h1{font-size:28px}header small{font-size:8px}nav{flex-direction:column}.sites{grid-template-columns:1fr}.site{min-height:110px;padding:12px}main{padding:12px}.status{gap:10px}.card{flex-basis:145px}}

.type-line{font:11px/1.4 system-ui;color:#c8c6ae;min-height:31px;margin:0 0 7px}.site-effect{font:13px/1.5 system-ui;color:#e2dcc8;max-width:290px;min-height:58px}.result-emblem{font-size:65px;color:var(--gold);text-shadow:0 0 35px #d7b77966}#result{text-align:center;max-width:560px;border:2px solid var(--gold);box-shadow:0 0 90px #c9ab4c33}#result h2{font-size:38px;color:#f0d7a4;margin:18px 0 8px}#result[data-outcome="loss"]{border-color:#b78c82}#resultFaction{font-style:italic;font-size:20px}#resultReason{font:16px/1.5 system-ui}.result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:25px}.victory{position:sticky;top:8px;z-index:2;background:#263d30;box-shadow:0 4px 18px #0008}.victory button{margin-left:12px}

.location-picker{padding:20px;border:2px solid var(--gold);border-radius:8px;background:#1c3029;margin:16px 0;scroll-margin-top:15px}.location-picker>p{font:14px/1.5 system-ui;color:var(--muted)}.location-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.location-options button{width:100%;white-space:normal}.passive{padding:9px;border-left:2px solid var(--gold);background:#d7b77912;font:12px/1.5 system-ui;color:#e7d2a4}.location-options .site-effect{min-height:60px}@media(max-width:850px){.location-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.location-options{grid-template-columns:1fr}}

.ability-text{display:block;color:#f0d7a4;margin-top:6px}.card button[data-activate]{border-color:#d7b779;background:#435039}

.relic-zone{border-bottom:1px solid #d7b77944;margin-bottom:14px}.relic-zone .card{border-color:#d7b779}.relic-zone .board{min-height:40px}

/* EIDOLON · Atlas das Terras Esquecidas */
:root{--gold:#c9ab70;--paper:#e9e0cc;--muted:#b3b8ae;--ink:#102120;--order:#c7aa69;--ruin:#a65f4b;--knowledge:#729eae}
body{background:radial-gradient(ellipse at 50% -20%,#33453c 0,transparent 60%),repeating-linear-gradient(90deg,#ffffff02 0 1px,transparent 1px 80px),#101b1c;color:var(--paper)}
header{padding:16px 3vw;background:#0b1618e8;border-bottom:1px solid #bd9d5c55;box-shadow:0 6px 30px #0003}.brand{display:flex;align-items:center;gap:18px}.brand-seal{font-size:52px;color:var(--gold);width:65px;height:65px;border:1px solid #c9ab7077;display:grid;place-items:center;transform:rotate(0deg);border-radius:50%;box-shadow:inset 0 0 0 5px #102120,inset 0 0 0 6px #c9ab7033}h1{font-size:34px;letter-spacing:.22em;font-weight:normal;margin:5px 0 2px}header small{font-size:9px;letter-spacing:2.8px}header p{font-size:13px;letter-spacing:1px;color:#b8bba9}
main{max-width:1700px;padding:16px 2.5vw}h2{font-weight:normal;letter-spacing:.03em;font-size:24px}button{transition:background .15s,border-color .15s,box-shadow .15s;border-radius:3px;min-height:34px}button:hover:not(:disabled){background:#3b5148;box-shadow:0 2px 12px #0002}button:disabled{opacity:.48}.primary{background:linear-gradient(#d9c08b,#b89b62);color:#172320;border-color:#deca9a}.primary:hover:not(:disabled){background:#ead3a1;color:#172320}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #f1cf83;outline-offset:3px}
.zone{background:linear-gradient(115deg,#20332c66,#101e2099);border:1px solid #b59a6038;border-radius:5px;padding:12px 16px}.status{gap:10px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #b59a6033;font:12px system-ui}.status h2{font:21px Georgia;margin-right:8px}.status>span:not(.muted){border:1px solid #b59a602b;background:#09161880;padding:6px 8px;border-radius:3px}.status strong{font-size:16px}.status .muted{margin-left:auto;font-size:11px}.opponent-zone{border-left:3px solid #9b6754}.own-zone{border-left:3px solid var(--gold)}
.board,.hand{gap:12px;padding:8px 3px 12px;scrollbar-width:thin;scrollbar-color:#9d8858 #142422;align-items:stretch}.board:has(>.muted){min-height:42px;padding:0}.board>.muted{font-style:italic;color:#86998d}.card{--accent:#9a7a38;flex:0 0 170px;width:170px;padding:10px;border:1px solid #bda66b;border-radius:7px;background:linear-gradient(110deg,#f0e6ce,#d9cbaa);color:#25312c;box-shadow:0 4px 12px #0006,inset 0 0 0 3px #c6b68e,inset 0 0 0 4px #f8eed160;position:relative}.card.ruin{--accent:#8b4737;background:linear-gradient(115deg,#ead9c6,#ccb6a0);border-color:#ad7460}.card.knowledge{--accent:#386775;background:linear-gradient(115deg,#dfe5df,#bfcfca);border-color:#759da3}.card>small{font:9px system-ui;letter-spacing:1.5px;color:var(--accent);font-weight:700}.card h3{font:700 15px/1.2 Georgia;color:#25302a;min-height:36px;margin:8px 22px 5px 0}.cost{position:absolute;right:8px;top:26px;background:#263a32;border:2px solid #e3d4ae;color:#fff1d1;width:26px;height:26px;font:700 14px Georgia;box-shadow:0 1px 3px #0005}.ruin .cost{background:#663c32}.knowledge .cost{background:#2d5362}.type-line{font:10px/1.3 system-ui;color:#45524a;min-height:26px;margin-bottom:5px}.card .crest{height:92px;margin:0 -2px 8px;border:1px solid #8c8059;background:#18302b;overflow:hidden;border-radius:3px}.crest img{width:100%;height:100%;object-fit:cover}.ruin .crest img{filter:sepia(.35) hue-rotate(325deg)}.knowledge .crest img{filter:hue-rotate(25deg)}.card p{font:12px/1.4 Georgia;color:#273b32;margin:8px 0;min-height:0}.ability-text{color:#4d4328;border-top:1px solid #8d80523d;padding-top:5px;margin-top:5px}.knowledge .ability-text{color:#274e5b}.ruin .ability-text{color:#65382b}.stats{margin-top:9px;border-top:1px solid #7e71575c;padding-top:7px;color:#29372e;gap:3px;font:700 11px system-ui}.stats span{background:#fff7de66;border:1px solid #93856a55;border-radius:3px;padding:4px 3px;flex:1;text-align:center}.card button{background:#eee4cc;color:#344334;border-color:#8d7e5c80;font-size:11px;min-height:30px;padding:5px 3px}.card button:hover:not(:disabled){background:#fff2ce;color:#183326;border-color:#826d36}.card button:disabled{background:#c4bba680;color:#37473c;opacity:.55}.card button[data-activate],.card button[data-attach]{background:#324b3c;color:#f1e4c3;border-color:#435b43}.card .muted{font:10px/1.4 system-ui;color:#4a564c;min-height:0}.card.selected{outline:3px solid #f6d58a;outline-offset:2px;box-shadow:0 0 22px #d1af5f55}.card.tapped{opacity:1;filter:saturate(.35);border-style:dashed}.card.tapped:after{content:'ESGOTADA';position:absolute;top:89px;right:9px;left:9px;transform:rotate(-9deg);background:#172526ed;border:1px solid #b8a27a;color:#dfd3b9;text-align:center;font:10px/25px system-ui;letter-spacing:2px;pointer-events:none}.card.tapped .crest{opacity:.65}
.player-zone{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 18px}.player-zone>.status{grid-column:1/-1}.player-zone>.relic-zone{grid-column:2;grid-row:2;border-left:1px solid #c9ab7030;border-bottom:0;padding-left:14px;margin:0;max-width:380px}.player-zone>.board{grid-column:1;grid-row:2;min-width:0}.player-zone>.bar{grid-column:1/-1;border-top:1px solid #b59a6030;padding-top:10px}.relic-zone .card{flex-basis:150px;width:150px}.relic-zone .crest{height:65px}.relic-zone>small{font-size:9px}.relic-zone:has(.board>.muted){width:180px}.relic-zone .board{max-width:350px}
.sites{gap:14px;margin:10px 0 18px}.site{background:#20352f;border:1px solid #b1a06b77;border-radius:5px;overflow:hidden;padding:12px 16px;min-height:0;box-shadow:0 3px 10px #0003}.site-art{height:75px;margin:-12px -16px 10px;background-size:cover;background-position:center 58%;border-bottom:1px solid #c6ab6c66}.site h3{font:20px Georgia;margin:6px 0;color:#edddae}.site small{font-size:9px}.site-effect{font:12px/1.45 system-ui;margin:8px 0;min-height:0;max-width:none;color:#d9dfce}.passive{font-size:11px;padding:7px 9px;margin:8px 0;color:#e0cca1}.progress{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;font-size:10px;color:#b9c5b5}progress{height:7px;accent-color:#c7aa69}progress:nth-of-type(2){accent-color:#b16e58}.site button{margin-top:5px;width:100%;font-size:12px}.notice{background:#22362e;border:1px solid #a38e4f66;border-left:3px solid #c9ab70;border-radius:3px;padding:11px 15px;font-size:13px}.bar>.eyebrow{font-size:9px;letter-spacing:1.8px}.location-picker{background:#162a25;border:1px solid #c6ab70;border-top:3px solid #c6ab70;padding:20px}.location-picker>h2{margin:7px 0}.location-options .site-effect{min-height:36px}.location-options .site-art{height:65px}
dialog{background:linear-gradient(135deg,#263c33,#132525);border:1px solid #c8ad70;border-radius:6px;box-shadow:0 30px 100px #000b;padding:28px;max-height:90vh;overflow:auto}dialog::backdrop{background:#050e10d9;backdrop-filter:blur(5px)}dialog h2{color:#ead3a2;font-size:30px;margin:10px 0}.setup-art{height:110px;background:linear-gradient(0deg,#1f3429,transparent),url(assets/knowledge-land.svg) center 48%/cover;margin:-28px -28px 22px;border-bottom:1px solid #b69b5c55}#setup>p{font-style:italic;color:#bdc5b5}label{font-size:12px;color:#d1d4c2}select,input{background:#102422;border-color:#6e795e;color:#eee5ce;min-height:40px;width:100%}.fields{gap:0 16px}.victory{background:#2b4435}.log{font-size:12px}.hand{padding:10px 4px 20px;min-height:160px}summary{cursor:pointer;color:#c9b77e;font-size:14px;padding:5px 0}#result{background:radial-gradient(ellipse at top,#4e5435,#142b26 70%)}#result h2{font-size:38px}.result-emblem{font-size:56px}
@media(min-width:1500px){.card{flex-basis:182px;width:182px}.card .crest{height:103px}}@media(max-width:1000px){.player-zone{display:block}.player-zone>.relic-zone{border-left:0;border-bottom:1px solid #c9ab7030;padding:0;max-width:none}.relic-zone .board{max-width:none}.relic-zone:has(.board>.muted){width:auto}.status .muted{margin-left:0}.sites{gap:9px}.site{padding:10px}.site-art{margin:-10px -10px 8px}.card{flex-basis:165px;width:165px}}@media(max-width:700px){.brand-seal{display:none}header{padding:15px}h1{font-size:27px}header small{font-size:8px;letter-spacing:1.4px}main{padding:12px}.sites{grid-template-columns:1fr}.site-art{height:80px}.site h3{font-size:20px}.status>span:not(.muted){padding:4px 6px}.status h2{width:100%;font-size:20px}.location-picker{padding:12px}.card{flex-basis:164px}.fields{gap:0 10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:1000px){.relic-zone:has(.board>.muted){display:flex;align-items:center;gap:14px;padding:3px 0 7px}.relic-zone:has(.board>.muted) .board{padding:0;min-height:0}.relic-zone:has(.board>.muted) .muted{margin:0}.player-zone>.board:has(>.muted){min-height:35px}}
progress{appearance:none;-webkit-appearance:none;border:0;border-radius:3px;overflow:hidden;background:#0c201c}progress::-webkit-progress-bar{background:#0c201c;border:1px solid #8d9a7144;border-radius:3px}progress::-webkit-progress-value{background:#c7aa69}progress:nth-of-type(2)::-webkit-progress-value{background:#b16e58}progress::-moz-progress-bar{background:#c7aa69}progress:nth-of-type(2)::-moz-progress-bar{background:#b16e58}
/* Card grammar · portrait permanents, landscape locations */
.portrait-card{--frame:#796333;--frame-dark:#344533;--surface:#e6d9b9;--rules:#f1e7d0;--card-ink:#26312a;flex:0 0 228px;width:228px;min-width:228px;padding:8px;background:linear-gradient(135deg,#8b7747,#3b4935);border:1px solid #cbb77c;box-shadow:inset 0 0 0 2px #1f302a,0 5px 14px #0006;display:flex;flex-direction:column;gap:8px;color:var(--card-ink)}
.portrait-card.ruin{--frame:#865245;--frame-dark:#512f29;--surface:#dcc4ae;--rules:#ead9c6;background:linear-gradient(135deg,#985d49,#3f2928);border-color:#bb8168}
.portrait-card.knowledge{--frame:#777466;--frame-dark:#424841;--surface:#d4d0bf;--rules:#e7e4d6;background:linear-gradient(135deg,#878779,#373e3b);border-color:#b8b6a0}
.card-face{border:1px solid #d6c79799;border-radius:4px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column;min-height:343px}.card-heading{position:relative;min-height:51px;background:linear-gradient(100deg,var(--frame-dark),var(--frame));display:flex;align-items:center;padding:8px 7px 8px 40px;border-bottom:1px solid #dfc990}.portrait-card .card-heading h3{color:#f5ecd7;font:700 15px/1.18 Georgia;margin:0;min-height:0;overflow-wrap:anywhere}.portrait-card .cost{position:absolute;left:6px;right:auto;top:10px;width:28px;height:28px;background:var(--frame-dark);color:#fff4d9;border:2px solid #d6c18d;font:700 16px Georgia;margin:0;box-shadow:0 1px 4px #0008}
.portrait-card .crest{height:125px;flex:none;margin:0;border:0;border-bottom:2px solid var(--frame);border-radius:0;background:#182e29}.portrait-card .crest img{object-fit:contain;background:#162c2b;width:100%;height:100%}.portrait-card.knowledge .crest img{filter:grayscale(.8)}.identity-band{padding:6px 7px;background:var(--surface);border-bottom:1px solid #82755780;display:flex;flex-direction:column;gap:3px}.guild-mark{font:700 10px/1.2 system-ui;color:var(--frame-dark);letter-spacing:.4px}.portrait-card .type-line,.location-card .type-line{font:10px/1.3 system-ui;margin:0;min-height:0;color:#393d34}
.rules-area{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:6px;background:var(--surface);flex:1;min-height:112px}.rules-area.has-stats{grid-template-columns:43px minmax(0,1fr)}.rules-box{background:var(--rules);border:1px solid #93836380;border-radius:2px;padding:7px;color:var(--card-ink);min-width:0}.portrait-card .rules-box p{font:12px/1.42 Georgia;margin:0 0 7px;color:var(--card-ink)}.portrait-card .rules-box p:last-child{margin-bottom:0}.no-ability{font-style:italic;opacity:.75}.stat-rail{display:flex;flex-direction:column;gap:4px;justify-content:center}.stat-medallion{display:grid;grid-template-columns:17px 1fr;align-items:center;padding:3px 2px;background:var(--frame-dark);color:#f6e9c9;border:1px solid #b89a62;border-radius:4px;min-height:30px}.stat-medallion img{width:17px;height:20px}.stat-medallion strong{font:700 15px Georgia;text-align:center}.stat-medallion small{grid-column:1/-1;font:7px system-ui;letter-spacing:1px;color:#e0d5b7;text-align:center}.zero-stat{opacity:.55}.card-actions{margin-top:auto;padding:1px 2px}.portrait-card .card-actions button{min-height:31px}.card-state{font:10px system-ui!important;color:#f0e3c4!important;margin:3px 0!important}.portrait-card .card-actions .muted,.portrait-card .card-actions small{color:#eee0bd}.portrait-card.tapped:after{top:110px;left:18px;right:18px}.relic-zone .portrait-card{flex:0 0 228px;width:228px}.relic-zone .portrait-card .crest{height:125px}.relic-zone .board{max-width:245px}.player-zone>.relic-zone{max-width:260px}
.sites,.location-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));align-items:start;gap:14px}.location-card{--frame:#786538;--frame-dark:#354534;--surface:#dacead;--rules:#eee3c9;--card-ink:#2a342b;border:1px solid #bea568;padding:8px;background:linear-gradient(130deg,#59613d,#253d30);min-width:0;min-height:0;box-shadow:0 4px 15px #0004}.location-card.ruin-site{--frame:#895645;--frame-dark:#512f29;--surface:#d9bfa5;--rules:#ead8bf;background:linear-gradient(130deg,#7c4d3c,#382727);border-color:#b47b61}.location-face{display:grid;grid-template-columns:46% 54%;grid-template-rows:42px minmax(170px,auto);border:1px solid #d1ba81;border-radius:4px;overflow:hidden;background:var(--surface)}.location-heading{grid-column:1/-1;position:relative;background:linear-gradient(90deg,var(--frame-dark),var(--frame));padding:8px 10px 8px 45px;display:flex;align-items:center;border-bottom:1px solid #d1ba81}.location-card .location-heading h3{color:#f5e5c1;margin:0;font:700 17px/1.15 Georgia}.difficulty{position:absolute;top:5px;left:7px;width:30px;height:30px;border:2px solid #d9c18b;background:var(--frame-dark);border-radius:5px;display:grid;place-items:center;color:#fff0cc;font:700 20px Georgia;box-shadow:0 2px 4px #0006}.location-art{grid-column:1;grid-row:2;min-height:170px;background:#1c302a;border-right:2px solid var(--frame)}.location-art img{width:100%;height:100%;object-fit:cover;display:block}.location-copy{grid-column:2;grid-row:2;display:flex;flex-direction:column;min-width:0;padding:6px;gap:6px}.location-copy .identity-band{padding:0 1px 5px}.location-copy .rules-box{flex:1;padding:8px}.location-copy .rules-box p{font:12px/1.4 Georgia;margin:0 0 7px}.location-copy .rules-box p:last-child{margin-bottom:0}.location-copy .rules-box .passive{padding:7px 0 0;margin:7px 0 0;border:0;border-top:1px solid #8c745457;background:none;color:var(--card-ink);font-size:11px}.site-controls{padding:7px 1px 0}.location-card .progress{margin:0 0 6px;font-size:10px}.location-card button{margin:0;min-height:30px}.location-card .primary{margin-top:0}.location-picker .location-options .site-effect{min-height:0}
@media(min-width:1500px){.sites{grid-template-columns:repeat(3,minmax(0,1fr))}.portrait-card{flex-basis:238px;width:238px;min-width:238px}.portrait-card .crest{height:135px}}@media(max-width:1000px){.relic-zone .board{max-width:none}.player-zone>.relic-zone{max-width:none}}@media(max-width:550px){.location-card{padding:5px}.location-face{grid-template-columns:42% 58%;grid-template-rows:42px minmax(155px,auto)}.location-art{min-height:155px}.location-copy{padding:5px;gap:4px}.location-copy .rules-box{padding:6px}.location-copy .rules-box p{font-size:11px}.location-copy .rules-box .passive{font-size:10px}.location-card .location-heading h3{font-size:15px}.portrait-card{flex-basis:222px;width:222px;min-width:222px}.relic-zone .portrait-card{flex-basis:222px;width:222px}}
/* Illuminated atlas frames — artwork extends beneath every panel. */
.brand-seal img{width:44px;height:44px;display:block}
.portrait-card{--frame-wash:#3c4937b8;--panel-wash:#e9dbb9d6;--ink-wash:#f2e7cfda;position:relative;padding:9px;background-image:linear-gradient(135deg,#9c875875,#10231b99),var(--card-art);background-position:center;background-size:cover;border-color:#c4ab72;border-radius:10px;box-shadow:0 7px 15px #0007,inset 0 0 0 2px #111d1899,inset 0 0 0 4px #bba26b66}
.portrait-card.ruin{--frame-wash:#5f362cbd;--panel-wash:#dac2a8d6;--ink-wash:#edddc5dc;background-image:linear-gradient(135deg,#984d3e88,#301d2599),var(--card-art)}
.portrait-card.knowledge{--frame-wash:#4b4b41bf;--panel-wash:#dbd6c2d6;--ink-wash:#ece8d9dc;background-image:linear-gradient(135deg,#88867488,#29332f99),var(--card-art)}
.portrait-card:before{content:'';position:absolute;inset:0;z-index:3;background:url(assets/frame-ornament.svg) center/100% 100% no-repeat;pointer-events:none;border-radius:9px}
.portrait-card .card-face{position:relative;background-image:var(--card-art);background-size:cover;background-position:center;border:1px solid #d2b57c99;border-radius:6px;box-shadow:inset 0 0 22px #0006;isolation:isolate}
.portrait-card .card-face:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0001,transparent 60%,#0003);z-index:-1;pointer-events:none}
.portrait-card .card-heading{background:linear-gradient(100deg,var(--frame-wash),#76633c8c);border-bottom:1px solid #e7cc8a99;min-height:48px;padding:7px 8px 7px 39px;box-shadow:inset 0 2px 7px #0006,inset 0 -2px 1px #fff1}
.portrait-card .card-heading h3{font-size:13.5px;line-height:1.23;letter-spacing:.1px;text-shadow:0 1px 2px #0009;margin:0}
.portrait-card .cost{width:27px;height:27px;left:6px;top:9px;font-size:15px;background:radial-gradient(circle,#344331bb,#101f1acc);box-shadow:0 0 0 2px #211f1999,0 0 0 3px #d2b47766,inset 0 0 8px #e4c48422;border-color:#d9bf89}
.portrait-card .crest,.relic-zone .portrait-card .crest{background:transparent;border-bottom:1px solid #d5ba7599;box-shadow:inset 0 0 28px #0003;height:137px;margin:0}
.portrait-card .crest img{opacity:0;background:transparent}
.portrait-card .identity-band{background-image:url(assets/map-grain.svg),linear-gradient(var(--panel-wash),var(--panel-wash));border-top:1px solid #edd8a799;border-bottom:1px solid #6d563f99;box-shadow:inset 0 1px 4px #fff2;padding:6px 8px}
.portrait-card .rules-area{background:linear-gradient(#b0a17c30,#65583933);padding:7px 6px;gap:6px;min-height:118px}
.portrait-card .rules-area.has-stats{grid-template-columns:42px minmax(0,1fr)}
.portrait-card .rules-box{background-image:url(assets/map-grain.svg),linear-gradient(var(--ink-wash),var(--ink-wash));background-size:cover;border:1px solid #c4af7aaa;outline:1px solid #58462b66;outline-offset:-3px;border-radius:5px 2px 5px 2px;box-shadow:inset 0 0 14px #81603233,0 1px 4px #0005;padding:9px 8px}
.portrait-card .rules-box p{font-size:12px;line-height:1.45;color:#253028}
.stat-rail{gap:8px;justify-content:flex-start;padding-top:4px}
.stat-medallion{grid-template-columns:19px 1fr;min-height:35px;padding:4px 3px;background:linear-gradient(140deg,#40513cbd,#15291dcc);border:1px solid #d0b57c;border-radius:9px 3px;box-shadow:0 0 0 2px #1b211a88,inset 0 0 7px #d8bf7233;color:#fff0c9}
.ruin .stat-medallion{background:linear-gradient(140deg,#69402ec9,#2f2222dd)}.knowledge .stat-medallion{background:linear-gradient(140deg,#55594bcb,#232c29dd)}
.stat-medallion img{width:19px;height:25px}.stat-medallion strong{font-size:15px;text-shadow:0 1px 2px #000}.stat-medallion small{display:none}
.portrait-card .card-actions{padding:4px 3px 3px;z-index:4}.portrait-card .card-actions button{background:#e5d7b8df;border-color:#b49b65;color:#293a2b;box-shadow:inset 0 0 9px #b0945833;border-radius:5px 2px;font-family:Georgia}.portrait-card .card-actions button[data-activate],.portrait-card .card-actions button[data-attach]{background:#283f30d9;color:#f2e0b8}
.location-card{--frame-wash:#435134b8;--panel-wash:#e4d7b8cb;--ink-wash:#f2e7ccd6;position:relative;background-image:linear-gradient(120deg,#8f814b55,#263c2e66),var(--card-art);background-position:center;background-size:cover;border:1px solid #c3ab72;border-radius:9px;padding:9px;box-shadow:inset 0 0 0 3px #18261b88,inset 0 0 0 5px #c8b48055,0 7px 16px #0005}
.location-card.ruin-site{--frame-wash:#663d31bd;--panel-wash:#ddc3a7d0;--ink-wash:#ebdac1d6;background-image:linear-gradient(120deg,#88553e66,#39272977),var(--card-art)}
.location-card:before{content:'';position:absolute;inset:0;background:url(assets/frame-ornament.svg) center/100% 100%;pointer-events:none;z-index:2;opacity:.8}
.location-face{background-image:var(--card-art);background-position:center;background-size:cover;border-radius:5px;border-color:#d3b778a6;box-shadow:inset 0 0 28px #0006}
.location-heading{background:linear-gradient(90deg,var(--frame-wash),#6c613f7a);border-color:#dec38a99;box-shadow:inset 0 2px 8px #0004}
.location-card .location-heading h3{font-size:15px;line-height:1.23;text-shadow:0 1px 3px #0009}
.difficulty{background:#283e2fbb;box-shadow:0 0 0 2px #1b231c99,inset 0 0 8px #a38c5555;border-radius:8px 2px;font-size:18px}
.ruin-site .difficulty{background:#4b3029bb}.location-art{background:transparent;border-right:1px solid #d4b77b66}.location-art img{opacity:0}
.location-copy{background:linear-gradient(90deg,transparent,#322a1d22);padding:7px;gap:6px}.location-copy .identity-band{background-image:url(assets/map-grain.svg),linear-gradient(var(--panel-wash),var(--panel-wash));border:1px solid #c4aa7399;border-radius:3px;padding:5px 7px}
.location-copy .rules-box{background-image:url(assets/map-grain.svg),linear-gradient(var(--ink-wash),var(--ink-wash));background-size:cover;border-color:#bfa46c99;border-radius:5px 2px;padding:9px;box-shadow:inset 0 0 13px #80613133,0 1px 3px #0004;outline:1px solid #57462e44;outline-offset:-3px}.site-controls{position:relative;z-index:3}
@media(max-width:550px){.portrait-card .card-heading h3{font-size:13px}.location-card .location-heading h3{font-size:14px}.location-copy{padding:5px}.location-copy .rules-box{padding:7px}.location-copy .identity-band{padding:4px 5px}}
/* Standard physical card format: 63 × 88 mm; locations rotated. */
.portrait-card,.relic-zone .portrait-card{--card-width:63mm;box-sizing:border-box;flex:0 0 var(--card-width);width:var(--card-width);min-width:var(--card-width);padding:0;gap:0;background:none;border:0;box-shadow:none;overflow:visible}
.portrait-card:before{height:88mm;bottom:auto}
.portrait-card .card-face,.catalog-cards .portrait-card .card-face{box-sizing:border-box;width:100%;height:88mm;min-height:88mm;max-height:88mm;aspect-ratio:63/88;flex:none;border:2px solid #bea56d;box-shadow:inset 0 0 0 3px #1c271d88,0 4px 14px #0006;overflow:hidden;display:grid;grid-template-rows:45px 113px 40px minmax(0,1fr)}
.portrait-card .card-heading{min-height:0;height:45px;padding:5px 8px 5px 40px}.portrait-card .card-heading h3{font-size:13px}.portrait-card .cost{top:8px}
.portrait-card .crest,.relic-zone .portrait-card .crest{height:113px;min-height:0}.portrait-card .identity-band{box-sizing:border-box;min-height:0;padding:4px 8px;justify-content:center;gap:2px}.portrait-card .type-line{font-size:9px;line-height:1.2}.portrait-card .guild-mark{font-size:9px}
.portrait-card .rules-area{min-height:0;padding:6px;overflow:hidden}.portrait-card .rules-box{padding:7px;min-height:0}.portrait-card .rules-box p{font-size:11px;line-height:1.35;margin-bottom:6px}.stat-rail{gap:5px;padding-top:1px}.stat-medallion{min-height:30px;padding:3px 2px}.stat-medallion img{height:22px}.stat-medallion strong{font-size:14px}
.portrait-card .card-actions{margin:8px 0 0;padding:4px 6px 6px;background:#172a23c9;border:1px solid #a58d5655;border-radius:4px}.portrait-card.selected{outline:0;box-shadow:none}.portrait-card.selected .card-face{outline:3px solid #f6d58a;outline-offset:2px}.portrait-card.tapped:after{top:95px}
.location-card{padding:0;border:0;box-shadow:none;background:none!important;overflow:visible}.location-card:before{bottom:auto;height:auto;aspect-ratio:88/63}.location-face{box-sizing:border-box;width:100%;height:auto;aspect-ratio:88/63;grid-template-rows:42px minmax(0,1fr);grid-template-columns:46% 54%;border:2px solid #baa16b;box-shadow:inset 0 0 0 3px #18271d77,0 4px 12px #0005}.location-art{min-height:0;overflow:hidden}.location-copy{min-height:0;overflow:hidden}.location-copy .rules-box{min-height:0}.site-controls{padding:8px;background:#172a23c9;margin-top:8px;border:1px solid #a58d5655;border-radius:4px}
.sites,.location-options,.catalog-sites{grid-template-columns:repeat(auto-fit,minmax(min(100%,332.6px),1fr))}.catalog-sites .location-face{max-width:none}
@media(max-width:550px){.portrait-card,.relic-zone .portrait-card{--card-width:63mm}.portrait-card .card-heading h3{font-size:13px}.location-face{grid-template-columns:43% 57%;grid-template-rows:38px minmax(0,1fr)}.location-card .location-heading h3{font-size:13px}.location-copy .rules-box p{font-size:10px;line-height:1.3}.location-copy .rules-box .passive{font-size:10px}.location-art{min-height:0}}
@media print{
 @page{size:A4;margin:10mm}
 html,body{background:white!important;color:black!important;margin:0!important;padding:0!important}
 body>header,main>p,main>h2,.card-actions,.site-controls,dialog,.notice,nav{display:none!important}
 main{max-width:none!important;padding:0!important;margin:0!important}
 .catalog-cards,.catalog-sites{display:flex!important;flex-wrap:wrap!important;gap:3mm!important;align-items:flex-start!important}
 .portrait-card,.relic-zone .portrait-card{--card-width:63mm;flex:0 0 63mm!important;width:63mm!important;min-width:63mm!important;margin:0!important;break-inside:avoid;page-break-inside:avoid}
 .portrait-card .card-face,.catalog-cards .portrait-card .card-face{width:63mm!important;height:88mm!important;min-height:88mm!important;max-height:88mm!important}
 .portrait-card:before{height:88mm!important}
 .location-card{width:88mm!important;flex:0 0 88mm!important;break-inside:avoid;page-break-inside:avoid;margin:0!important}
 .location-face{width:88mm!important;height:63mm!important;aspect-ratio:auto!important}
 .location-card:before{width:88mm!important;height:63mm!important}
 .location-copy .rules-box p,.location-copy .rules-box .passive{font-size:10px;line-height:1.3}
 .catalog-sites{margin-top:4mm!important}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Locations share the same physical format as portrait cards, rotated. */
.location-card{box-sizing:border-box;width:88mm;min-width:88mm;max-width:88mm;flex:0 0 88mm}
.location-face,.catalog-sites .location-face{width:88mm;height:63mm;min-height:63mm;max-height:63mm}
.location-card:before{width:88mm;height:63mm}
.sites,.location-options,main .catalog-sites{grid-template-columns:repeat(auto-fit,88mm);justify-content:start}
.location-copy .rules-box{padding:6px}
.location-copy .rules-box p,.location-copy .rules-box .passive{font-size:10px;line-height:1.3}
/* Keep painted faces below the title while continuing the art under translucent rules. */
.portrait-card .card-face{background-position:center 27px;background-repeat:no-repeat;background-color:#30392d}
/* Slim parchment panels reveal more of the painting without fading the text. */
.portrait-card,.portrait-card.ruin,.portrait-card.knowledge,.location-card,.location-card.ruin-site{--panel-wash:#e9dbb9bf;--ink-wash:#f2e7cfcc}
.portrait-card.ruin,.location-card.ruin-site{--panel-wash:#dac2a8bf;--ink-wash:#edddc5cc}
.portrait-card.knowledge{--panel-wash:#dbd6c2bf;--ink-wash:#ece8d9cc}
.portrait-card .card-face,.catalog-cards .portrait-card .card-face{grid-template-rows:36px 150px 30px minmax(0,1fr)}
.portrait-card .card-heading{box-sizing:border-box;height:36px;padding:3px 8px 3px 40px}
.portrait-card .cost{top:3px}
.portrait-card .crest,.relic-zone .portrait-card .crest{height:150px}
.portrait-card .identity-band{padding:2px 8px;gap:1px;background-color:transparent}
.portrait-card .rules-area{padding:5px 6px;background:transparent}
.portrait-card .rules-box{padding:5px 7px;background-color:transparent}
.portrait-card .rules-box p{margin-bottom:4px}
.portrait-card .stat-rail{gap:4px;padding-top:0}
.portrait-card .stat-medallion{min-height:28px}
.location-face{grid-template-rows:34px minmax(0,1fr)}
.location-heading{padding:3px 8px 3px 43px}
.location-card .difficulty{top:2px;width:27px;height:27px;font-size:17px}
.location-copy{gap:4px}
.location-copy .identity-band{padding:3px 6px;gap:1px;background-color:transparent}
.location-copy .rules-box{flex:0 1 auto;padding:5px 6px;background-color:transparent}
.location-copy .rules-box p{margin-bottom:5px}
.location-copy .rules-box .passive{margin-top:5px;padding-top:5px}
.portrait-card.scholar,.location-card.scholar{--frame-wash:#263954c9;--panel-wash:#ccd8e1bf;--ink-wash:#e3e7eccc;--frame-dark:#283e59}
.portrait-card.instinct,.location-card.instinct{--frame-wash:#244b35c9;--panel-wash:#ccd9b8bf;--ink-wash:#e1e9cecc;--frame-dark:#285137}
.scholar .stat-medallion{background:#283e59cc}.instinct .stat-medallion{background:#285137cc}
.essence-pool{padding:5px 9px;border:1px solid #a38d57;border-radius:5px;background:#172a23}
