:root{--bg: #1b2430;--bg-panel: #232f3f;--bg-panel-2: #2b3a4e;--fg: #e8e6e0;--muted: #9aa7b5;--accent: #e0a422;--accent-dark: #b5831a;--danger: #d4553f;--ok: #5fa85f;--card-bg: #f5efdf;--card-fg: #2a2117;--door: #8b5e34;--treasure: #b8860b;--radius: 10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:Segoe UI,system-ui,sans-serif;line-height:1.45}h1,h2,h3{margin:.2em 0 .5em}a{color:var(--accent)}.muted{color:var(--muted);font-size:.9em}.spacer{flex:1}.btn{background:var(--bg-panel-2);color:var(--fg);border:1px solid #45566b;border-radius:var(--radius);padding:8px 14px;font-size:1rem;cursor:pointer;margin:3px}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent-dark);color:#241a05;font-weight:600}.btn-ghost{background:transparent}.btn-big{font-size:1.3rem;padding:14px 24px}.btn-small{font-size:.85rem;padding:4px 10px}.btn-column{display:flex;flex-direction:column;align-items:center;gap:4px}.btn-row{display:flex;flex-wrap:wrap}.lobby{max-width:480px;margin:0 auto;padding:24px 16px;text-align:center}.panel{background:var(--bg-panel);border-radius:var(--radius);padding:16px;margin:12px 0}.panel label{display:block;text-align:left;margin-bottom:8px}.panel input[type=text],.panel input:not([type]){width:100%;padding:8px;border-radius:6px;border:1px solid #45566b;background:var(--bg);color:var(--fg);font-size:1.1rem}.room-code{font-family:ui-monospace,monospace;letter-spacing:.2em;background:var(--bg);padding:2px 10px;border-radius:6px;color:var(--accent)}.player-list{list-style:none;padding:0;text-align:left}.player-list li{padding:4px 0;border-bottom:1px solid #34435a}.set-choices{display:flex;gap:12px;justify-content:center;margin-bottom:10px}.set-choice{display:inline-flex!important;gap:6px;align-items:center}.error-banner{background:var(--danger);color:#fff;padding:10px 16px;cursor:pointer;position:sticky;top:0;z-index:50}.error-dismiss{float:right}.game{display:grid;grid-template-areas:"header header" "ribbon ribbon" "center log" "mine   log";grid-template-columns:1fr 320px;grid-template-rows:auto auto 1fr auto;min-height:100vh;gap:10px;padding:10px}.game-header{grid-area:header;display:flex;gap:16px;align-items:center;background:var(--bg-panel);border-radius:var(--radius);padding:8px 14px}.ribbon{grid-area:ribbon;display:flex;gap:8px;flex-wrap:wrap}.player-badge{background:var(--bg-panel);border:2px solid transparent;border-radius:var(--radius);padding:8px 12px;min-width:170px}.player-badge.is-turn{border-color:var(--accent)}.player-badge.is-me{background:var(--bg-panel-2)}.player-name{font-weight:600}.player-stats,.player-tags{font-size:.85rem;color:var(--muted)}.game-center{grid-area:center;background:var(--bg-panel);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.turn-panel{text-align:center}.big-message{font-size:1.6rem;font-weight:700;margin-bottom:8px}.combat{text-align:center;width:100%}.combat-monsters{justify-content:center}.strength-bar{display:flex;gap:14px;justify-content:center;align-items:baseline;font-size:1.2rem;margin:12px 0;padding:8px;border-radius:var(--radius)}.strength-bar.winning{background:#5fa85f2e}.strength-bar.losing{background:#d4553f2e}.strength-bar b{font-size:1.5rem}.vs{color:var(--muted)}.discards{display:flex;gap:16px;margin-top:8px}.discard{display:flex;flex-direction:column;align-items:center;gap:4px}.my-area{grid-area:mine;background:var(--bg-panel);border-radius:var(--radius);padding:12px}.card-row{display:flex;gap:8px;flex-wrap:wrap}.log{grid-area:log;background:var(--bg-panel);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.log-lines{flex:1;overflow-y:auto;font-size:.85rem;display:flex;flex-direction:column-reverse;flex-wrap:nowrap}.log-lines>div{padding:2px 0;border-bottom:1px dotted #34435a}.manual{margin-top:8px;font-size:.9rem}.card{--frame: #3a2213;--ink: #2b1708;background:#dd9c5e;color:var(--ink);border:7px solid var(--frame);border-radius:12px;width:176px;min-height:248px;padding:9px 8px 7px;display:flex;flex-direction:column;gap:3px;position:relative;font-size:.8rem;font-family:Georgia,Times New Roman,serif;text-align:center}.deck-treasure{background:#e0b060}.card-sm{width:134px;min-height:188px;font-size:.64rem;border-width:5px;border-radius:9px}.card-clickable{cursor:pointer}.card-clickable:hover{outline:2px solid var(--accent)}.card-selected{outline:3px solid var(--accent)}.card-name{font-family:Rockwell,Rockwell Nova,Roboto Slab,Courier New,serif;font-weight:700;text-transform:uppercase;font-size:1.22em;line-height:1.08;letter-spacing:.01em}.card-sub{font-family:Rockwell,Rockwell Nova,Roboto Slab,Courier New,serif;font-weight:700;text-transform:uppercase;font-size:.95em}.card-detail{font-size:.85em}.card-text{font-size:.92em;line-height:1.25;margin-top:2px}.card-flavor{font-style:italic;font-size:.85em}.card-gap{flex:1;min-height:6px}.card-restriction{font-family:Rockwell,Rockwell Nova,Roboto Slab,Courier New,serif;font-weight:700;font-size:.86em;line-height:1.15;width:fit-content;max-width:100%;margin:1px auto 3px;padding-bottom:2px;border-bottom:1.5px solid var(--ink)}.card-badstuff{text-align:left;font-size:.88em;line-height:1.22}.card-badstuff b{display:block;font-family:Rockwell,Rockwell Nova,Roboto Slab,Courier New,serif}.card-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:6px;min-height:1em}.card-value{font-family:Rockwell,Rockwell Nova,Roboto Slab,Courier New,serif;font-weight:700;font-size:1.05em;white-space:nowrap}.card-slot{font-size:.9em;text-align:left}.card-badge{position:absolute;top:-10px;right:-8px;background:var(--accent);color:#241a05;border-radius:10px;padding:1px 8px;font-weight:700;font-size:.75rem;font-family:Segoe UI,system-ui,sans-serif}.card-back{background:repeating-linear-gradient(45deg,#5a4630,#5a4630 8px,#4c3b28 8px,#4c3b28 16px);display:flex;align-items:center;justify-content:center}.card-back-logo{font-size:3rem;font-weight:900;color:#d8c9a8;border:3px solid #d8c9a8;border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-panel);border-radius:var(--radius);padding:20px;max-width:420px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:8px}.sell-bar{position:fixed;bottom:12px;left:50%;transform:translate(-50%);background:var(--bg-panel-2);border:1px solid var(--accent);border-radius:var(--radius);padding:8px 16px;display:flex;align-items:center;gap:12px;z-index:60}.print-page{background:#fff;color:#222;min-height:100vh;padding:8px}.print-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:10px;background:#eee;border-radius:8px;margin-bottom:10px;color:#222}.print-toolbar a{color:#7a5210}.print-sheet{display:grid;grid-template-columns:repeat(3,63mm);grid-auto-rows:88mm;gap:3mm;justify-content:center;page-break-after:always;margin-bottom:6mm}.card-print{width:63mm;min-height:88mm;height:88mm;font-size:8.4pt;border-width:2.4mm;border-radius:3mm;overflow:hidden;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4;margin:8mm}@media print{.no-print{display:none!important}.print-page{padding:0}.print-sheet{margin-bottom:0}}@media (max-width: 900px){.game{grid-template-areas:"header" "ribbon" "center" "mine" "log";grid-template-columns:1fr}.log{max-height:300px}}.editor{display:grid;grid-template-columns:280px 1fr 220px;gap:12px;padding:12px;align-items:start;min-height:100vh}.ed-list{max-height:calc(100vh - 24px);overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin:0}.ed-list input{width:100%;padding:6px;border-radius:6px;border:1px solid #45566b;background:var(--bg);color:var(--fg)}.ed-list-head{font-size:.9rem}.ed-set-head{margin:10px 0 4px;font-size:.95rem;color:var(--accent)}.ed-item{padding:4px 8px;border-radius:6px;cursor:pointer;font-size:.9rem}.ed-item:hover{background:var(--bg-panel-2)}.ed-item.active{background:var(--bg-panel-2);outline:1px solid var(--accent)}.ed-newset{display:flex;gap:6px;margin-top:12px}.ed-form{margin:0;display:flex;flex-direction:column;gap:8px}.ed-row{display:grid;grid-template-columns:190px 1fr;gap:10px;align-items:center;margin:0!important}.ed-row>span{color:var(--muted);font-size:.9rem;text-align:right}.ed-row input:not([type=checkbox]),.ed-row select,.ed-row textarea{padding:6px 8px;border-radius:6px;border:1px solid #45566b;background:var(--bg);color:var(--fg);font-size:.95rem;font-family:inherit}.ed-row input[type=checkbox]{justify-self:start;width:18px;height:18px}.ed-msg{padding:8px 12px;border-radius:6px}.ed-msg-ok{background:#5fa85f40}.ed-msg-err{background:#d4553f4d}.ed-preview{position:sticky;top:12px}@media (max-width: 950px){.editor{grid-template-columns:1fr}.ed-preview{position:static}}.ed-deck-hint{margin:0 0 4px;padding-left:200px;font-size:.82rem}@media (max-width: 950px){.ed-deck-hint{padding-left:0}}.dice-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000009e;display:flex;align-items:center;justify-content:center;z-index:120}.curse-box{max-width:340px}.curse-factor{margin:0;font-weight:700;color:var(--danger)}.dice-box{background:var(--bg-panel);border-radius:var(--radius);padding:24px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:260px}.die{width:88px;height:88px;background:#f5efdf;border-radius:14px;border:2px solid #b9ad93;box-shadow:0 6px 18px #00000073;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:11px;gap:3px}.die-pip{width:15px;height:15px;border-radius:50%;background:#2b1708;align-self:center;justify-self:center}.die-rolling{animation:die-tumble .28s linear infinite}@keyframes die-tumble{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-14deg) scale(1.08)}50%{transform:rotate(10deg) scale(.95)}75%{transform:rotate(-6deg) scale(1.05)}to{transform:rotate(0) scale(1)}}.dice-bonus{font-size:1.15rem}.dice-bonus b{color:var(--accent);font-size:1.4rem}.die-picker{display:flex;flex-direction:column;align-items:center;gap:4px;margin:6px 0}.pick-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:420px}.pick-entry{display:flex;flex-direction:column;align-items:center;gap:3px}.card-dice{text-align:left;font-size:.82em;line-height:1.24;margin-top:2px}.card-window{font-size:.75em;font-style:italic;opacity:.65}.ed-face-fields{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.ed-face-fields select,.ed-face-fields input{flex:1 1 auto;min-width:90px}.ed-face-num{max-width:70px;flex:0 0 auto!important}.class-bar{bottom:70px;border-color:#45566b}.ed-abilities{display:flex;flex-direction:column;gap:3px;font-size:.88rem}.ed-abilities .set-choice{justify-content:flex-start}.manual-row{display:flex;gap:8px;align-items:center;margin:6px 0}.manual-row select{flex:1}.manual-row select,.manual-row input{padding:4px 6px;border-radius:6px;border:1px solid #45566b;background:var(--bg);color:var(--fg);font-size:.9rem}.manual-amount{display:flex!important;align-items:center;gap:5px;margin:0!important;font-size:.85rem}.manual-amount input{width:58px}.card-sideways{transform:rotate(90deg);margin:27px;opacity:.82}.card-sideways .card-badge{transform:rotate(-90deg)}.in-play{margin-bottom:10px}.in-play h3{font-size:.95rem;margin-bottom:4px}
