:root{--ink:#17282d;--night:#122127;--deep:#0c171c;--panel:#1b3037;--paper:#f2ecdd;--muted:#b4bcb6;--gold:#d9b978;--line:#ffffff19;--ice:#8fc9cb;--ember:#d89e8d;--red:#cf8773;--green:#99bd95;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}body{margin:0;background:var(--deep);color:var(--paper);font:14px/1.45 'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:#ffffff09;color:inherit;padding:10px 14px;transition:background .15s,transform .15s}button:hover{background:#ffffff16}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}.primary:hover{background:#ebcc8b}.quiet{background:none}.small{font-size:12px;padding:6px 10px}.label{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);font-weight:700}.muted{color:var(--muted)}.gold{color:var(--gold)}.ice{color:var(--ice)}.ember{color:var(--ember)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}.emblem{width:45px;height:45px;color:var(--gold)}.brand{display:flex;align-items:center;gap:11px}.brand h1{font-size:25px;letter-spacing:4px}.brand .label{font-size:8px;letter-spacing:2px}.topbar{height:75px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--night)}.tools{display:flex;align-items:center;gap:7px}.tag{display:inline-block;border:1px solid var(--line);border-radius:4px;padding:3px 7px;font-size:10px;color:var(--muted);letter-spacing:.7px}.home{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(440px,.9fr);background:radial-gradient(ellipse at 20% 50%,#24454b 0,transparent 65%),var(--deep)}.home-art{padding:60px clamp(35px,5vw,100px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.home-art:after{content:"";position:absolute;inset:12% 8%;border:1px solid #d9b97822;transform:rotate(32deg);border-radius:50%;pointer-events:none}.home-art h1{font-size:clamp(62px,7vw,100px);letter-spacing:12px;margin:30px 0 12px}.home-art h2{font-size:26px;color:var(--gold)}.home-art p{max-width:430px;color:#c0cdc7;margin-top:24px;font-size:16px;line-height:1.8}.home-art .world-lines{margin-top:70px;display:flex;gap:26px;border-top:1px solid var(--line);padding-top:22px;color:var(--gold);font-family:var(--serif);font-size:18px}.home-form{display:flex;align-items:center;justify-content:center;padding:45px;background:#09141977}.home-box{width:100%;max-width:455px}.home-box h2{font-size:32px;margin:14px 0 12px}.home-box p{color:var(--muted);margin:10px 0 25px}.field{margin:17px 0}.field label{display:block;font-size:12px;margin-bottom:6px;color:#d6d8cc}.field input,.field select{width:100%;border:1px solid #ffffff30;border-radius:6px;background:#ffffff08;color:var(--paper);padding:13px 14px}.field input::placeholder{color:#7c9092}.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:12px;margin:22px 0}.check input{accent-color:var(--gold);margin-top:4px}.home-box .primary{width:100%;padding:15px}.home-box .resume{width:100%;margin-top:10px}.scope{border-top:1px solid var(--line);padding-top:20px;margin-top:28px!important;font-size:12px;line-height:1.7}.players{display:grid;grid-template-columns:1fr 140px 1fr;gap:20px;padding:18px 28px;background:var(--night)}.player{display:grid;grid-template-columns:1fr auto;gap:6px 20px;border-left:3px solid var(--ice);padding-left:15px}.player.p1{border-color:var(--ember)}.player h2{font-size:23px}.player .faction{font-size:11px;color:var(--muted)}.resources{display:flex;gap:28px;text-align:right}.resources strong{font-size:27px;font-weight:500}.resources span{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.scorebar{height:3px;background:#ffffff15;grid-column:1/-1}.scorebar i{display:block;height:100%;background:var(--ice);max-width:100%}.p1 .scorebar i{background:var(--ember)}.deckcount{font-size:10px;color:var(--muted);grid-column:1/-1}.turn-number{text-align:center;align-self:center}.turn-number strong{font:28px var(--serif);display:block}.turn-number span{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.stages{display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--night);padding:9px 20px}.stage{padding:6px 15px;font-size:11px;color:#9baaab;border-radius:4px}.stage.active{background:#d9b97819;color:var(--gold)}.stage .number{margin-right:7px;opacity:.5}.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100vh - 246px)}.tabletop{min-width:0;background:radial-gradient(ellipse at center,#203b40 0,#152b30 70%);position:relative}.board-head{display:flex;align-items:center;justify-content:space-between;padding:20px 25px 4px}.board-head h2{font-size:23px}.board-head .muted{font-size:11px}.map{padding:10px 22px 18px}.continent{padding:12px 0;border-bottom:1px solid #ffffff10}.continent:last-child{border:none}.continent-title{display:flex;align-items:center;gap:12px;margin-bottom:9px}.continent-title h3{font-size:16px}.continent-title span{font-size:9px;letter-spacing:1px;color:#9caea9;text-transform:uppercase}.track{display:flex;gap:7px;align-items:stretch;overflow-x:auto;padding:3px 3px 9px;min-height:115px;scrollbar-color:#69847b #10242a}.location{width:168px;min-width:168px;padding:12px;text-align:left;background:var(--paper);color:var(--ink);border:2px solid transparent;border-radius:7px;position:relative;box-shadow:0 5px 12px #0002}.location:hover{background:#fff8e8}.location.p0{border-top:4px solid var(--ice)}.location.p1{border-top:4px solid var(--ember)}.location.selected{outline:2px solid var(--gold);outline-offset:2px}.location h3{font-size:17px;line-height:1.15;margin:4px 0 8px}.location .label{color:#6e7563;font-size:8px;letter-spacing:1px}.loc-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:#6b7468}.conquest{font-weight:800;color:#263e37}.devs{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.dev{font-size:8px;border:1px solid #203c3626;border-radius:3px;padding:2px 4px;color:#51685f}.garrison{display:flex;flex-direction:column;gap:3px;margin-top:9px}.unit-chip{display:flex;justify-content:space-between;gap:5px;font-size:9px;border-radius:3px;background:#d6e2d8;padding:4px 5px}.unit-chip.p1{background:#e4d1c3}.unit-chip.spent{opacity:.65}.wilderness{min-width:64px;width:64px;align-self:center;text-align:center;font-size:9px;color:#a8b8ad}.wild-symbol{font:24px var(--serif);padding-bottom:4px;color:var(--green)}.wilderness.d1 .wild-symbol{color:#d4bf76}.wilderness.d2 .wild-symbol{color:#d58e77}.wild-line{height:1px;background:#ffffff25;width:100%;margin:8px 0}.empty-continent{display:flex;align-items:center;justify-content:center;min-height:96px;width:100%;border:1px dashed #ffffff1d;border-radius:6px;color:#8ba09b;font-size:12px}.sidebar{background:var(--night);border-left:1px solid var(--line);padding:22px 18px;min-width:0}.decision h2{font-size:25px;margin:5px 0 8px}.decision p{font-size:12px;color:var(--muted);line-height:1.65}.sidebar .main-action{width:100%;margin:14px 0}.tabs{display:flex;margin:16px 0;border-bottom:1px solid var(--line)}.tabs button{flex:1;padding:9px 4px;border:none;border-radius:0;font-size:11px;color:var(--muted)}.tabs button.active{color:var(--gold);border-bottom:2px solid var(--gold)}.action-scroll{max-height:560px;overflow:auto;scrollbar-color:#52655e transparent}.action-group{margin:14px 0}.action-group h3{font-family:inherit;font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}.action{width:100%;display:block;text-align:left;margin:5px 0;padding:10px 12px;font-size:12px;background:#ffffff07}.action span{display:block;color:#97aaa7;font-size:10px;margin-top:4px}.inspect{border:1px solid #d9b9783b;background:#d9b97807;border-radius:7px;padding:14px;margin:15px 0}.inspect h3{font-size:21px;margin:5px 0 9px}.inspect p{font-size:12px;color:#c6cec2;line-height:1.7}.inspect .stats{margin-top:13px}.stats{display:flex;flex-wrap:wrap;gap:8px;font-size:10px}.stats span{border:1px solid var(--line);border-radius:4px;padding:4px 7px}.stats strong{font-size:13px}.selected-note{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin:12px 0}.hand-area{border-top:1px solid var(--line);background:#10232acc;padding:17px 23px 22px}.hand-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.hand-heading h2{font-size:19px}.hand-heading span{font-size:10px;color:var(--muted)}.hand{display:flex;gap:9px;overflow-x:auto;padding:3px 3px 13px;scrollbar-color:#648178 #11272d}.card{flex:0 0 147px;text-align:left;background:var(--paper);color:var(--ink);border:2px solid transparent;border-radius:7px;padding:10px;min-height:190px;display:flex;flex-direction:column;position:relative;box-shadow:0 4px 10px #0003}.card:hover{background:#fff8e8;transform:translateY(-2px)}.card.selected{outline:2px solid var(--gold);outline-offset:1px}.card .family{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#6f7c6e;display:flex;justify-content:space-between}.cost{width:22px;height:22px;border:1px solid #baaa80;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;font-size:12px;font-weight:700;background:#e9ddbf}.card h3{font-size:17px;line-height:1.15;margin:7px 0 8px;min-height:40px}.card-crest{height:27px;font:25px var(--serif);color:#809486;text-align:center;margin:4px 0 8px}.card .text{font-size:9px;color:#526259;line-height:1.45;flex:1}.card .stats{font-size:9px;gap:4px;margin-top:8px;border-top:1px solid #17282d26;padding-top:7px}.card .stats span{padding:0;border:none}.card .stats strong{font-size:11px}.card .testmark{font-size:7px;letter-spacing:1.2px;text-transform:uppercase;color:#918565;margin-top:7px}.setup{padding:32px 25px}.setup h2{font-size:32px;margin:8px 0}.setup p{color:var(--muted);max-width:600px}.setup-options{display:flex;flex-wrap:wrap;gap:14px;margin:25px 0}.setup-option{width:190px;text-align:left;min-height:145px;padding:18px;background:#f2ecdd;color:var(--ink)}.setup-option h3{font-size:23px;margin:8px 0}.setup-option .label{color:#7c806b}.setup-option p{color:#586d62;font-size:11px}.setup-option:hover{background:#fff6df}.battle-area{padding:24px}.battle-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.battle-title h2{font-size:30px}.battle-sides{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;text-align:center}.battle-side{min-height:190px;padding:17px;background:#0d1c2255;border:1px solid #91c6c62e;border-radius:8px}.battle-side.p1{border-color:#d89e8d40}.battle-side h3{font-size:20px;margin-bottom:5px}.battle-side .morale{font-size:11px;color:var(--muted);margin-bottom:16px}.battle-units{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.battle-unit{width:145px;min-height:130px;padding:11px;text-align:left;border:1px solid #ffffff24;background:#1c363e}.battle-unit.active{border-color:var(--gold);box-shadow:0 0 0 1px #d9b9784a}.battle-unit.casualty{opacity:.45}.battle-unit h3{font-size:16px;margin:5px 0 9px}.health{height:4px;background:#ffffff15;margin-top:9px}.health i{display:block;height:100%;background:var(--green)}.attachments{font-size:9px;color:var(--gold);margin-top:6px}.battle-tip{font-size:11px;color:var(--muted);padding:14px 0}.log-entry{font-size:11px;color:#bac7c1;line-height:1.65;padding:10px 0;border-bottom:1px solid var(--line)}.help p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:14px}.help h3{font-size:19px;margin:18px 0 9px}.handoff{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#29474d 0,#101e26 70%);text-align:center;padding:35px}.handoff h1{font-size:47px;margin:20px 0 13px}.handoff p{max-width:410px;color:#b9c9c3;font-size:15px;line-height:1.8;margin-bottom:30px}.handoff .primary{padding:16px 40px;min-width:280px}.handoff .seatmark{font:70px var(--serif);color:var(--gold);margin-top:30px}.victory{padding:45px;text-align:center;background:radial-gradient(ellipse at center,#48624d44,transparent)}.victory h2{font-size:52px;margin:10px 0}.victory p{color:var(--muted);margin:15px 0 25px}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--gold);font-family:var(--serif);font-size:25px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:600px;padding:12px 20px;background:var(--paper);color:var(--ink);border-radius:7px;box-shadow:0 8px 25px #0006;display:none;z-index:50;font-size:13px}dialog{width:min(600px,90vw);max-height:85vh;overflow:auto;background:var(--night);color:var(--paper);border:1px solid #d9b97850;border-radius:12px;padding:30px}dialog::backdrop{background:#061218b5;backdrop-filter:blur(4px)}dialog h2{font-size:28px;margin-bottom:15px}dialog p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:17px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}a{color:var(--gold)}.library{display:grid;grid-template-columns:1fr 1fr;gap:12px}.library-item{border:1px solid var(--line);padding:12px;border-radius:5px}.library-item h3{font-size:18px;margin:5px 0}.library-item p{font-size:11px;margin:0}.disclosure{font-size:10px;color:#98ada4;padding:12px 25px;border-top:1px solid var(--line)}.no-actions{font-size:12px;color:var(--muted);padding:15px 0;line-height:1.8}.action-filter{width:100%;background:var(--panel);color:var(--paper);border:1px solid var(--line);padding:9px;border-radius:5px;margin-bottom:5px}.battle-small-map{border-top:1px solid var(--line)}.toggle-map{margin-left:10px}.status-note{background:#d9b9780c;border-left:2px solid var(--gold);padding:10px 13px;margin:12px 0;color:#c8d2c5;font-size:12px}
@media(min-width:1700px){.layout{grid-template-columns:minmax(0,1fr) 380px}.location{width:183px;min-width:183px}.card{flex-basis:158px}}@media(max-width:1050px){.layout{grid-template-columns:minmax(0,1fr) 300px}.topbar{padding:0 18px}.players{padding:15px 18px;gap:15px;grid-template-columns:1fr 80px 1fr}.resources{gap:15px}.tools .optional{display:none}.location{width:150px;min-width:150px}.map{padding:8px 14px}.battle-sides{gap:10px}.battle-area{padding:18px}.battle-unit{width:125px}.home{grid-template-columns:1fr 1fr}.home-art{padding:40px}.home-art h1{font-size:65px}}@media(max-width:760px){.home{grid-template-columns:1fr}.home-art{padding:30px}.home-art h1{margin:15px 0;font-size:55px}.home-art p,.home-art .world-lines,.home-art:after{display:none}.home-form{padding:28px}.layout{grid-template-columns:1fr}.sidebar{border-left:none;border-top:1px solid var(--line)}.players{grid-template-columns:1fr 1fr;gap:15px}.turn-number{display:none}.player h2{font-size:20px}.resources{gap:10px}.resources strong{font-size:23px}.stage{font-size:10px;padding:4px 7px}.stage .number{display:none}.topbar .brand h1{font-size:20px}.tools .optional,.tools .tag{display:none}.card{flex-basis:140px}.battle-sides{grid-template-columns:1fr}.action-scroll{max-height:none}}
.home-art .brand h1,.handoff .brand h1{font-size:25px;letter-spacing:4px;margin:0}
.card-tags{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 9px}.card-tags span{border:1px solid #a3bdb55c;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:700;color:#d8dfd3}.card-tags .trait-warrior{border-color:#dab77a;color:#e5c790}.card-tags .trait-spellcaster{border-color:#8cbfc9;color:#a6d5e1}.card-tags .no-traits{font-weight:400;opacity:.75}.card .card-tags span,.location .card-tags span,.setup-option .card-tags span,.builder-card .card-tags span{color:#294e4f;background:#dce7df;border-color:#9faf9f}.card .card-tags .trait-warrior,.builder-card .card-tags .trait-warrior{background:#eaddc0;color:#655023;border-color:#c5b382}.card .card-tags .trait-spellcaster,.builder-card .card-tags .trait-spellcaster{background:#d1e3e9;color:#284d69;border-color:#94b4c6}.card .card-tags .no-traits,.builder-card .card-tags .no-traits{background:transparent;color:#59665c;border-color:#c5c8bd}.continent-tag{letter-spacing:.4px}.deck-name{font-size:10px;color:var(--gold);margin:4px 0}.deck-builder-launch{width:100%;border-color:var(--gold);margin:5px 0}.deck-builder{max-width:1650px;margin:auto;padding:30px}.builder-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:25px}.builder-header h1{font-size:38px;margin:7px 0}.builder-header p{color:var(--muted);max-width:730px}.builder-toolbar{display:flex;gap:14px;align-items:center;margin:10px 0 22px}.builder-toolbar .field{flex:1;max-width:460px}.builder-toolbar button{margin-top:18px}.deck-editor{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:25px}.collection-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.collection-filters .field{margin:0}.collection-note{color:var(--muted);font-size:12px;margin:14px 0 22px}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px;align-items:stretch}.builder-card{display:flex;flex-direction:column;padding:17px;background:var(--paper);color:var(--ink);border-radius:8px;min-width:0}.builder-card .family{display:flex;align-items:center;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:1px}.builder-card h3{font-size:22px;margin:10px 0 7px}.builder-card p{font-size:12px;line-height:1.6;flex:1;color:#40594e}.builder-stats{font-size:11px;line-height:1.7;border-top:1px solid #18393222;margin-top:13px;padding-top:10px}.card-count{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}.card-count button{font-size:19px;width:40px;height:37px;line-height:1;padding:4px;border-color:#a4b2a7;background:#dce4da;color:#234339}.card-count span{font-size:13px;font-weight:700}.deck-composition{align-self:start;position:sticky;top:15px;padding:20px;background:var(--night);border:1px solid var(--line);border-radius:9px;max-height:calc(100vh - 30px);overflow:auto}.deck-composition .field:first-child{margin-top:0}.deck-count{font-size:32px;color:var(--gold);font-family:var(--serif);margin-bottom:7px}.deck-count.ready{color:var(--green)}.deck-errors{color:#e6b7a4;font-size:12px;line-height:1.7;padding-left:19px;margin:12px 0}.deck-valid{color:var(--green);font-size:13px;margin:10px 0}.deck-composition .muted{font-size:11px}.deck-save-actions{display:flex;gap:8px;margin:20px 0}.deck-save-actions button{flex:1;font-size:12px;padding:10px 5px}.deck-entry{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:9px 0;font-size:12px}.deck-entry>div{display:flex;gap:10px;align-items:center}.deck-entry button{padding:3px 8px}.deck-entry strong{min-width:12px;text-align:right}
@media(max-width:1000px){.collection-filters{grid-template-columns:1fr 1fr}.deck-editor{grid-template-columns:minmax(0,1fr) 290px}.deck-builder{padding:20px}}@media(max-width:760px){.deck-editor{display:flex;flex-direction:column-reverse}.deck-composition{position:static;max-height:none;width:100%}.builder-header{align-items:start}.builder-header h1{font-size:30px}.builder-toolbar{flex-wrap:wrap}.builder-toolbar .field{flex-basis:100%;max-width:none}.builder-toolbar button{margin-top:0}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}

.deck-list{margin:12px 0 26px}.deck-list>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0;font-size:12px}.library-item .muted{font-size:10px;margin-bottom:8px}.library-stats{font-size:11px;color:var(--gold);margin:10px 0}.scope-note{font-size:10px!important;color:var(--gold)!important;margin-top:12px!important}.garrison-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.field option{background:var(--night);color:var(--paper)}

.format-note{font-size:11px;color:var(--muted);line-height:1.6;margin:8px 0 0}

.combo-status{font-size:10px;line-height:1.5;color:var(--gold);margin:5px 0 8px}.card .combo-status{color:#586533}.peek-cards{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.peek-cards .card{max-width:210px}

.permanent-strip{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px}.permanent-strip:empty{display:none}.permanent-strip button{font-size:10px;padding:3px 7px;color:var(--gold)}

.availability{font-size:12px;line-height:1.5;border-top:1px solid #ffffff20;padding-top:10px}.availability.available{color:#acd5bc}.availability.unavailable{color:#dbc99d}.builder-card:has(button[data-add]:disabled){border-color:#ffffff24}

.discovery-context,.handoff-context{border:2px solid #91adc4;background:#101d29;border-radius:12px;padding:20px;margin:20px 0;text-align:left}
.discovery-context.p1,.handoff-context.p1{border-color:#d8a06c;background:#291c16}.discovery-context h3{font-size:26px;margin:9px 0}.development-slots{display:grid;gap:8px;font-size:14px}.handoff-context strong,.handoff-context span{display:block}.handoff-context span{margin-top:10px;color:#c7cdd1}.attachment-status{font-size:12px;line-height:1.5;padding:7px 9px;margin:9px 0;background:#142b36;border:1px solid #315461;border-radius:6px}.development-scheduled{border:1px solid #c9ad75;color:#ecd7ac}
.attachment-status{color:#d8edf0}.card .attachment-status{font-size:11px;background:#dce7eb;color:#23485b;border-color:#9ab7c1}.location .development-scheduled{background:#efe2c5;color:#594522}
.board-head{justify-content:center;flex-direction:column;gap:7px;text-align:center}.continent-title{justify-content:center}.track{justify-content:safe center}.location{text-align:center}.loc-meta,.devs{justify-content:center}.unit-chip{align-items:center;text-align:center}.wilderness{padding:0 3px;border-color:transparent;background:transparent;flex-shrink:0}.wilderness:hover{border-color:var(--line)}
.battle-stages{flex-wrap:wrap;gap:4px;background:#10252c}.battle-stages .stage{padding:6px 9px}.battle-round{font-size:11px;color:var(--gold);padding:6px 12px}.effect-labels{display:grid;gap:4px;margin-top:8px;font-size:10px;color:#c5dfb5}.effect-labels span{border:1px solid #87a97366;border-radius:4px;padding:4px 6px;background:#80ad6412}
dialog.world-dialog{width:min(1320px,96vw);max-height:92vh;padding:24px}.world-reference{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}.world-reference .map{min-width:0;padding:0}.world-inspection{position:sticky;top:0;border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--deep);max-height:65vh;overflow:auto}.world-inspection h3{font-size:25px;margin:8px 0 12px}.world-inspection h4{margin:16px 0 7px;font-size:12px;color:var(--gold)}.world-inspection p{margin:9px 0;font-size:12px}.world-links{display:flex;flex-wrap:wrap;gap:6px}.world-reference .location{width:155px;min-width:155px}.world-reference .wilderness{width:57px;min-width:57px}
@media(max-width:850px){.world-reference{grid-template-columns:1fr}.world-inspection{position:static;max-height:none}.battle-stages .stage{font-size:10px;padding:5px 6px}.topbar{height:auto;min-height:75px;gap:10px;flex-wrap:wrap;padding:12px}.tools{flex-wrap:wrap}}

.world-tools{position:sticky;top:-24px;z-index:2;padding:10px 0 14px;background:var(--night);display:flex;justify-content:flex-end}.world-dialog .dialog-actions:empty{display:none}.arrival-ready{color:#d4c491!important;font-size:11px!important;margin:9px 0!important}

.unit-chip{justify-content:center;gap:8px}

/* Choose an action first; reveal only that action's legal options. */
.action-filter-label{display:block;font-size:10px;color:var(--muted);margin:12px 0 5px}
.action-guide{font-size:11px;color:var(--muted);margin:10px 0;line-height:1.6}
.action-choice{border:1px solid var(--line);border-radius:7px;background:#ffffff07;margin:6px 0;overflow:hidden}
.action-choice summary{position:relative;display:block;list-style:none;cursor:pointer;padding:11px 30px 11px 12px;font-size:12px;overflow-wrap:anywhere}
.action-choice summary::-webkit-details-marker{display:none}
.action-choice summary::after{content:'›';position:absolute;right:12px;top:11px;font-size:19px;line-height:1;color:var(--gold);transition:transform .15s}
.action-choice[open]>summary::after{transform:rotate(90deg)}
.action-choice summary:hover{background:#ffffff0c}
.action-choice summary:focus-visible{outline:2px solid var(--gold);outline-offset:-3px;border-radius:6px}
.action-choice[open]{border-color:#d9b97870}
.action-choice[open]>summary{background:#d9b9780c;border-bottom:1px solid var(--line)}
.action-title,.action-hint,.action-context{display:block}
.action-title{font-weight:600}
.action-hint{font-size:10px;color:var(--gold);margin-top:4px}
.action-context{font-size:10px;color:var(--muted);margin-top:4px}
.action-options{padding:9px;background:#06121845}
.action-prompt{color:var(--muted);font-size:10px;margin:1px 3px 8px}
.action-option{margin:5px 0;padding:10px;overflow-wrap:anywhere}
.action-option:last-child{margin-bottom:0}

.card-ruling{font-size:12px;line-height:1.45;color:var(--gold);border-left:2px solid currentColor;padding-left:10px}.card .card-ruling{max-height:none;overflow:visible}.setup .action-group{max-width:700px;margin:10px auto}
/* Dungeon overlays use the same world track and owner colors as Locations. */
.dungeon-tile{flex:0 0 210px;width:210px;text-align:center;background:#182c38;border:1px solid #a995cc;padding:13px;box-shadow:0 5px 12px #0003}.dungeon-tile:hover{background:#223a48}.dungeon-tile.selected{outline:2px solid var(--gold);outline-offset:2px}.dungeon-tile h3{font-size:18px;margin:7px 0}.dungeon-progress{display:flex;flex-direction:column;gap:4px;font-size:11px}.dungeon-progress strong{color:var(--gold);font-weight:600}.dungeon-tile .unit-chip{color:var(--ink);text-align:left}.dungeon-tile .unit-chip small{display:block;font-size:8px;line-height:1.4}.leader-status{font-size:11px;line-height:1.5;margin:8px 0;color:var(--gold)}.card .leader-status{color:#465a4e}.dungeon-details p{margin:8px 0;font-size:12px}.dungeon-company{border-left:3px solid var(--ice);padding-left:10px;margin:14px 0}.dungeon-company.p1{border-color:var(--ember)}.dungeon-company h4{margin:7px 0}.party-summary{margin:10px 0}.party-summary p{font-size:11px;margin:5px 0}.dungeon-details .world-links{gap:5px}

/* Match calculations remain beside the event that produced them. */
.log-tools{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--text)}
.log-tools label{display:flex;align-items:center;gap:8px;cursor:pointer}
.log-tools input{width:auto;margin:0;accent-color:#d0b775}
.log-entry{overflow-wrap:anywhere}
.log-calculation{margin-top:8px;border-left:2px solid #647e79;padding-left:9px;color:#d6dfd9}
.log-calculation summary{cursor:pointer;color:#d0b775;font-size:12px;padding:4px 0}
.log-calculation summary:hover{color:#f0d79a}
.log-calculation summary:focus-visible{outline:2px solid #d0b775;outline-offset:3px}
.log-calculation ul{padding:0;margin:8px 0 4px;list-style:none}
.log-calculation li{padding:5px 0;border-top:1px solid #ffffff0d;font-variant-numeric:tabular-nums;line-height:1.65}

.formation-order{margin:8px 0 12px;color:#b9cbc6;font-size:12px;line-height:1.6}

/* Public pile inspection never exposes the underlying draw order. */
.pile-count{padding:3px 5px;font-size:inherit;color:var(--paper);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
dialog.pile-dialog{width:min(1060px,94vw);max-height:90vh;padding:24px}
dialog.pile-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.pile-dialog>h2,.pile-dialog>p,.pile-dialog>.dialog-actions{flex-shrink:0}
.pile-dialog>h2{overflow-wrap:anywhere}
.pile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px;overflow:auto;min-height:0;padding:3px;scrollbar-color:#648178 #11272d}
.pile-card{padding:17px;border:1px solid var(--line);border-radius:7px;background:#ffffff05;overflow-wrap:anywhere}
.pile-card h3{font-size:23px;margin:8px 0}
.pile-faction{color:var(--muted);font-size:11px;margin-bottom:10px}
.pile-card p{margin:12px 0 0}
.pile-card .pile-text{color:var(--paper);white-space:pre-line}
.pile-card .pile-stats{font-size:11px;color:var(--gold)}
.pile-card .card-ruling{color:var(--gold)}

/* Named abilities share the same readable structure in every card view. */
.card-text{font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.card-text>p{margin:0;font-size:inherit;line-height:inherit;color:inherit;white-space:pre-line}
.card-text>p+p{margin-top:.85em}
.card-text strong{font-weight:700;color:inherit}
.card .text{font-size:10px;line-height:1.55}
.card .card-text{font-size:inherit;line-height:inherit}
.inspect>.card-text,.world-inspection>.card-text{margin:10px 0}
.builder-card>.card-text{flex:1;color:#40594e}
.setup-option>.card-text{font-size:11px;color:#586d62}
.dungeon-discovery .setup-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}
.dungeon-discovery .setup-option{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;min-width:0}
.dungeon-discovery .setup-option:last-child{grid-column:1/-1;align-items:center;text-align:center}
.dungeon-discovery .setup-option:last-child h3{margin:8px 0}
.pile-card .pile-text{margin-top:12px}

.location-developments{margin:16px 0;border-top:1px solid #ffffff20;padding-top:10px}.location-developments h4{margin:0 0 8px}.location-developments>.muted{font-size:12px}.development-detail{border:1px solid #ffffff25;border-radius:6px;margin:8px 0;padding:10px 12px}.development-detail summary{cursor:pointer;font-weight:700;line-height:1.5}.development-kind{font-size:11px;font-weight:400;color:#b7c9c8}.development-detail .card-text{margin-top:10px}.development-detail[open] summary{margin-bottom:10px}

/* Playtest reports share the game's colors and typography. */
dialog.report-dialog{width:min(1060px,94vw);max-width:94vw;max-height:90vh;overflow:auto}
.report-table-wrap{overflow-x:auto;margin:14px 0}.report-table{border-collapse:collapse;width:100%;font-size:14px}.report-table th,.report-table td{padding:9px 12px;border-bottom:1px solid #ffffff25;text-align:left;vertical-align:top}.report-table thead{color:var(--gold,#d8bc7d)}.report-table td{font-variant-numeric:tabular-nums}.playtest-report details{margin:16px 0}.playtest-report summary{cursor:pointer;font-weight:600}.report-form{display:grid;gap:14px;margin-top:22px}.report-form label{display:grid;gap:7px}.report-form textarea,.report-form input,.report-form select{width:100%;box-sizing:border-box;background:#151c25;color:#ece6d9;border:1px solid #58616c;border-radius:6px;padding:10px;font:inherit}.report-form textarea{resize:vertical}.report-note,.report-moment{white-space:pre-wrap;overflow-wrap:anywhere}.report-moment{border-bottom:1px solid #ffffff25;padding:12px 0}.playtest-report a,.report-moment a{color:#e0c58c}#moment-error{color:#ffb0a6}.report-form .muted,.playtest-report .muted{font-size:13px;line-height:1.5}

/* Loot uses words and color together. */
.rarity{border:1px solid currentColor;border-radius:4px;padding:2px 6px;font-size:11px}.rarity-uncommon{color:#72d88d}.rarity-rare{color:#80baff}.rarity-epic{color:#ce9cff}.rarity-legendary{color:#ffb268}.loot-slots dl{margin:8px 0}.loot-slots dl>div{display:grid;grid-template-columns:65px 1fr;gap:8px;padding:4px 0;border-bottom:1px solid #ffffff16;font-size:12px}.loot-slots dd{margin:0;color:#d2d8de}.loot-slots dt{color:#aab6bf}.loot-slots p,.dungeon-loot p{font-size:12px;line-height:1.6}.dungeon-loot{border-top:1px solid #ffffff24;margin-top:15px;padding-top:6px}

/* Private multiplayer lobby and connection status */
.online-home{max-width:850px;margin:4vh auto;padding:32px;background:var(--panel,#181b1d);border:1px solid #494238;border-radius:12px}.online-home h1{font-size:34px}.online-home p{line-height:1.6}.online-home label{display:block;margin:20px 0 8px}.online-home input,.online-home select,.online-home textarea{display:block;width:100%;margin:10px 0 20px;padding:12px;background:#131619;color:#e7ddcb;border:1px solid #675c48;border-radius:6px}.online-home button{margin:8px 6px 8px 0}.online-seats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.online-seats section{padding:16px;border:1px solid #675c48;border-radius:8px}.online-seats h2{font-size:20px}.room-list{margin:20px 0;display:grid;gap:10px}.room-list .action{display:flex;justify-content:space-between;width:100%;text-align:left}.online-status{background:#242c2b;padding:9px 24px;color:#e0c98e;font-size:13px}#online-error{color:#f4a29a}#dialog textarea{box-sizing:border-box;width:100%;padding:10px;background:#15191b;color:#f0e5cf;border:1px solid #746950}@media(max-width:650px){.online-home{padding:20px;margin:10px}.online-seats{grid-template-columns:1fr}}
.eruzen-launcher{max-width:1120px;margin:0 auto;padding:55px 35px 28px}.eruzen-launcher header{text-align:center}.eruzen-launcher .brand{justify-content:center}.launcher-eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:3px;font-size:11px;margin:35px 0 15px}.eruzen-launcher header>h1{font-size:52px;line-height:1.15;margin:0 0 17px}.launcher-intro{color:var(--muted);font-size:15px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:38px}.mode-card{display:flex;flex-direction:column;border:1px solid #d9b97840;border-radius:12px;padding:30px;background:linear-gradient(145deg,#243d3b,var(--night));box-shadow:0 12px 40px #0002}.mode-card h2{font-size:32px;margin:12px 0 14px}.mode-card>p{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 18px}.resume-summary,.connection-note{display:flex;flex-direction:column;gap:7px;background:#d9b9780b;border-left:2px solid var(--gold);padding:13px 15px;margin-bottom:24px;font-size:13px;line-height:1.6}.resume-summary strong,.connection-note strong{color:var(--gold)}.connection-note span,.resume-summary span{color:var(--muted)}.mode-action{display:block;width:100%;text-align:center;border:1px solid #d9b97866;border-radius:6px;padding:13px 16px;text-decoration:none;margin:0 0 11px;font-size:14px;box-sizing:border-box}.mode-card>.mode-action:first-of-type{margin-top:auto}.mode-action.primary{background:var(--gold);color:var(--night);font-weight:700}.mode-action:hover{filter:brightness(1.12)}.mode-card .mode-footnote{font-size:11px;margin:9px 0 0}.eruzen-launcher footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px;color:var(--muted);font-size:12px}.launcher-error{color:#e6b7a4;margin-top:20px}.launcher-error:empty{display:none}.home-link{display:block;margin:15px 0 22px;font-size:13px}.mode-action:focus-visible,.home-link:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@media(max-width:700px){.eruzen-launcher{padding:28px 20px}.eruzen-launcher header>h1{font-size:38px}.mode-grid{grid-template-columns:1fr;margin-top:28px}.mode-card{padding:25px}.eruzen-launcher footer{flex-direction:column;align-items:flex-start}}

.sharing-controls{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}.sharing-address{overflow-wrap:anywhere;font-size:.85em}

#connection-summary[hidden]{display:none}

.resources .influence-pools{display:inline;font-size:inherit;letter-spacing:normal;text-transform:none;color:inherit;white-space:nowrap}
.resources .temporary-influence{display:inline;font-size:.72em;letter-spacing:normal;text-transform:none;white-space:nowrap;color:var(--gold,#dbb779)}

.advanced-options{margin:18px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.advanced-options>summary{cursor:pointer;color:var(--muted);font-size:13px}.advanced-options[open]>summary{color:var(--gold);margin-bottom:12px}
