@font-face{font-family:Cinzel;src:url('../vendor/fonts/cinzel-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Cinzel;src:url('../vendor/fonts/cinzel-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:dark;--bg:#06121a;--ink:#dcece9;--muted:#adc5c4;--accent:#98ccc5;--panel:#101f28;--line:#385b60;--paper:#f0e4cc;--card-ink:#0d1820;--danger:#ffcfb8;font-family:Arial,Helvetica,sans-serif;font-size:16px;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}
body{margin:0;line-height:1.5}
[hidden]{display:none!important}
a{color:var(--accent);text-underline-offset:4px}
button,input,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
button{min-height:48px;border:1px solid var(--line);border-radius:5px;padding:10px 16px;background:transparent;color:var(--accent);cursor:pointer}
button:hover:not(:disabled){background:#172d34}
button:disabled{color:#98a9ab;border-color:#405054;cursor:default}
:focus-visible{outline:3px solid #e8be70;outline-offset:4px}
main:focus{outline:none}
button.primary{background:var(--accent);border-color:var(--accent);color:#07171b;font-weight:700}
button.primary:hover:not(:disabled){background:#bce4db}
button.primary:disabled{background:#566a6c;border-color:#566a6c;color:#e2e9e8}
/* Tactile controls share the card's warm accent and the shell's dark teal. */
.play-dock button,.setup-actions button,.play-tools button,.dialog-header button,.dialog-body>button,.dialog-body .button-row>button{
    background:linear-gradient(180deg,#24434a,#142e36);border-color:#60858a;color:#e2eeeb;
    box-shadow:inset 0 1px 0 #ffffff18,0 2px 3px #0004;border-radius:8px;
}
.play-dock button:hover:not(:disabled),.play-tools button:hover:not(:disabled),.dialog-header button:hover:not(:disabled),.dialog-body>button:hover:not(:disabled),.dialog-body .button-row>button:hover:not(:disabled){background:linear-gradient(180deg,#31575d,#20434a);border-color:#96c2c0}
.play-dock button.primary,.setup-actions button.primary,.dialog-body>button.primary,.dialog-body .button-row>button.primary{background:linear-gradient(180deg,#f0dca8,#d2b578);border-color:#f3d89f;color:#211b12;text-shadow:0 1px 0 #ffffff35;box-shadow:inset 0 1px 0 #fff4,0 2px 4px #0005}
.play-dock button.primary:hover:not(:disabled),.setup-actions button.primary:hover:not(:disabled),.dialog-body>button.primary:hover:not(:disabled),.dialog-body .button-row>button.primary:hover:not(:disabled){background:linear-gradient(180deg,#f8e7bd,#e1c58d)}
.play-dock button:active:not(:disabled),.setup-actions button:active:not(:disabled),.play-tools button:active:not(:disabled),.dialog-header button:active:not(:disabled),.dialog-body>button:active:not(:disabled),.dialog-body .button-row>button:active:not(:disabled){box-shadow:inset 0 2px 4px #0005;background:#142e36}
.play-dock button.primary:active:not(:disabled),.setup-actions button.primary:active:not(:disabled),.dialog-body>button.primary:active:not(:disabled),.dialog-body .button-row>button.primary:active:not(:disabled){background:#d2b578}
.play-dock button:disabled,.setup-actions button:disabled,.dialog-body>button:disabled,.dialog-body .button-row>button:disabled{background:#1a2a30;color:#93a5a8;border-color:#40535a;box-shadow:none;text-shadow:none}
.ui-icon{display:inline-grid;place-items:center;width:1.125rem;height:1.125rem;font-size:1.125rem;line-height:1;flex:none;vertical-align:middle}
button:has(>.ui-icon){display:inline-flex;align-items:center;justify-content:center;gap:10px}
button.primary:has(>.ui-icon){display:grid;grid-template-columns:1.125rem minmax(0,1fr) 1.125rem}
button.primary>.ui-icon{grid-column:3;grid-row:1}
button.primary>.button-label{grid-column:2;grid-row:1}
h1,h2,h3,p{margin-top:0}
h1{font-family:Cinzel,Georgia,serif;font-size:1.8rem;line-height:1.2;margin-bottom:12px}
h2{font-size:1.1rem;margin-bottom:14px}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.shell{max-width:660px;margin:auto;padding:16px 16px 30px}
.masthead{position:relative;margin:0 0 24px;padding:20px 22px 18px;border:1px solid #496064;border-radius:12px;background:radial-gradient(ellipse at top right,#31534d66,transparent 65%),linear-gradient(120deg,#152c34,#0a1922);box-shadow:inset 0 1px 0 #e8ce9220,0 8px 24px #0002}
.masthead::after{content:"";position:absolute;bottom:-1px;left:22px;right:22px;height:1px;background:linear-gradient(90deg,transparent,#d5b77b,transparent)}
.brand{display:inline-flex;align-items:center;gap:13px;max-width:100%;min-height:48px;color:#ead5a6;text-decoration:none}
.brand-mark{width:56px;height:56px;flex:none;filter:drop-shadow(0 3px 3px #0005)}
.brand-copy{display:flex;flex-direction:column;gap:2px}
.brand-name{font-family:Cinzel,Georgia,serif;font-size:clamp(1.65rem,6.5vw,2.15rem);font-weight:700;line-height:1.15;letter-spacing:.035em}
.brand-label{color:#b9d3cf;font-size:.625rem;letter-spacing:.15em;text-transform:uppercase}
.masthead p{color:var(--muted);margin:12px 0 0;font-size:.8125rem}
body[data-route=play] .masthead{padding:8px 12px;margin-bottom:12px}
body[data-route=play] .brand{gap:10px}
body[data-route=play] .brand-mark{width:36px;height:36px}
body[data-route=play] .brand-name{font-size:1.25rem}
body[data-route=play] .brand-label{font-size:.5625rem;letter-spacing:.12em}
body[data-route=play] .masthead p{display:none}
.page-intro{margin:24px 0}
.page-intro p,.muted{color:var(--muted)}
.eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.game-choice{display:block;width:100%;padding:0;text-align:left;margin-bottom:14px;background:var(--panel);overflow:hidden;border-radius:12px;border-color:#4f7577;box-shadow:0 12px 30px #0004}
.game-choice__visual{position:relative;height:240px;overflow:hidden;background:#182a2b}
.game-choice__art{width:100%;height:100%;object-fit:cover;object-position:center}
.game-choice__logo{position:absolute;width:76%;height:auto;max-height:120px;object-fit:contain;left:12%;bottom:14px;filter:drop-shadow(0 4px 5px #000)}
.game-choice__caption{position:relative;padding:20px 48px 22px 22px}
.game-choice__caption>i{position:absolute;right:22px;top:50%;font-size:20px;color:var(--accent)}
.game-choice:hover:not(:disabled){border-color:var(--accent);background:#162c33}
.game-choice .availability{font-size:.7rem;letter-spacing:.14em;color:var(--accent);font-weight:700}
main>.primary+h2{margin-top:26px}
.game-choice strong{font-family:Cinzel,Georgia,serif;font-size:1.4rem;display:block;color:var(--ink);margin:4px 0}
.game-choice span{display:block;font-size:.875rem;color:var(--muted)}
.planned{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}
.area-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;color:var(--muted);font-size:.875rem}
.area-breadcrumb button{border:0;padding:8px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.area-breadcrumb span::before{content:' / ';margin-right:10px;color:#77999c}
.game-areas{display:grid;gap:20px}
.game-area{min-width:0;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.game-area h2{font-family:Cinzel,Georgia,serif;font-size:1.4rem;margin-bottom:12px}
.game-area .eyebrow{font-size:.75rem;line-height:1.6}
.game-area>.primary{width:100%}
.game-area--campaign{background:linear-gradient(135deg,#182c2a,#101f28);border-color:#68735c}
.game-area--campaign .eyebrow{color:#e6ca91}
.area-feature{display:flex;align-items:center;gap:10px;color:#e6ca91;font-size:.875rem}
.hub-save{display:flex;flex-direction:column;gap:4px;padding:14px;margin-bottom:18px;border-left:3px solid var(--accent);background:#07171b}
.hub-save span{font-size:.875rem;color:var(--muted)}
.area-primary-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 16px;border-radius:8px;background:#e6ca91;color:#211b12;text-decoration:none;font-weight:700}
.area-primary-link:hover{background:#f8e7bd}
.area-note{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:16px 0 0}
.campaign-reference{margin-top:22px;border-top:1px solid var(--line);padding-top:8px}
.campaign-reference summary{min-height:48px;padding:12px 0;cursor:pointer;color:var(--accent)}
.campaign-reference>p{font-size:.875rem}
.campaign-phases{padding-left:24px}
.campaign-phases li{padding:10px 12px;margin:4px 0}
.campaign-phases strong,.campaign-phases span{display:block}
.campaign-phases span{font-size:.875rem;color:var(--muted);margin-top:3px}
.campaign-phase--market{background:#1c302b;border-radius:8px;color:#e6ca91}
body:is([data-route=maladum],[data-route=campaign]) .masthead{padding:8px 12px;margin-bottom:12px}
body:is([data-route=maladum],[data-route=campaign]) .brand-mark{width:36px;height:36px}
body:is([data-route=maladum],[data-route=campaign]) .brand-name{font-size:1.25rem}
body:is([data-route=maladum],[data-route=campaign]) .brand-label{font-size:.5625rem}
body:is([data-route=maladum],[data-route=campaign]) .masthead p{display:none}
body:is([data-route=maladum],[data-route=campaign]) .page-intro{margin:16px 0}
@media(max-width:899px){.game-areas{gap:14px}.game-areas .game-area{padding:16px}.game-areas .game-area p{font-size:.875rem}.game-areas .eyebrow{margin-bottom:6px}.game-areas .hub-save{padding:8px 12px;gap:2px}}
@media(min-width:900px){body[data-route=maladum] .shell{max-width:1000px}.game-areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.game-area{padding:16px}.area-primary-link{padding:12px;font-size:.9375rem}}
.campaign-tools{min-width:0}
.campaign-note{color:var(--muted);font-size:.8125rem;line-height:1.55;margin:10px 0 16px;overflow-wrap:anywhere}
.campaign-step-nav{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 0;background:var(--bg)}
.campaign-step-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:.8125rem;border-radius:8px}
.campaign-step-nav .campaign-icon{font-size:1.1rem;line-height:24px}
.campaign-step-nav button[aria-current=step]{background:#e6ca91;color:#211b12;border-color:#e6ca91;font-weight:700}
.step-number{display:grid;place-items:center;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-size:.75rem}
.campaign-details{margin:12px 0;border:1px solid var(--line);border-radius:10px;background:#0b1b23;min-width:0}
.campaign-details>summary{cursor:pointer;padding:14px;min-height:48px;font-size:.875rem;color:var(--accent)}
.campaign-details>div,.campaign-details>ol,.campaign-details>section{margin:0;padding:0 14px 14px}
.campaign-phase-panel{margin:16px 0}
.campaign-icon{display:inline-block;flex:none;width:1.2em;text-align:center}
.campaign-icon-label{display:flex;align-items:center;justify-content:center;gap:9px}
.campaign-card>h3.campaign-icon-label{justify-content:flex-start}
.campaign-card>h3>.campaign-icon{color:#e6ca91}
.campaign-details>summary>.campaign-icon{margin-right:8px}
.campaign-rules{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;margin:8px 0 0}
.campaign-rules>summary{padding:10px 0;font-size:.8125rem}
.campaign-rules>div{padding:0 0 10px;font-size:.8125rem;color:var(--muted);line-height:1.6}
.campaign-rules>div>p:last-child{margin-bottom:0}
.campaign-repair-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.campaign-repair-fields .campaign-field{margin:8px 0}
.campaign-repair-fields .campaign-field>span{min-height:2.8em}
.campaign-phase-panel>h2{font-family:Cinzel,Georgia,serif;font-size:1.5rem}
.campaign-card{min-width:0;margin:16px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.campaign-card>h3{font-size:1.1rem;line-height:1.35;margin-bottom:12px}
.campaign-card>p{font-size:.875rem}
.campaign-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:12px 0;color:var(--muted);font-size:.8125rem}
.campaign-field input,.campaign-field select{min-width:0;width:100%;margin:0;font-size:16px;min-height:44px}
.campaign-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.campaign-check{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 0;font-size:.875rem;cursor:pointer}
.campaign-check input{flex-shrink:0}
.campaign-check span{min-width:0}
.campaign-party-member{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:0 12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}
.campaign-party-member>.campaign-check,.campaign-party-member>button{grid-column:1/-1}
.campaign-party-member>button{font-size:.8125rem;min-height:44px;justify-self:start}
.campaign-lodgings{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.campaign-lodgings button{display:flex;flex-direction:column;gap:8px;text-align:left;padding:14px;line-height:1.4}
.campaign-lodgings button span{font-size:.8125rem}
.campaign-lodgings button[aria-pressed=true]{background:#253f36;border:2px solid #e6ca91;color:#e6ca91}
.campaign-roller{margin-top:18px;padding:16px 0;border-top:1px solid var(--line);scroll-margin-top:100px}
.campaign-roller h4{font-size:1rem;margin:0 0 12px}
.campaign-roll-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}
.campaign-roll-controls>button:first-child{grid-column:1/-1}
.campaign-roll-controls .campaign-field{margin:0}
.campaign-roll-controls button{min-height:48px;font-size:.875rem}
.campaign-result{display:flex;align-items:flex-start;gap:14px;padding:14px;margin-bottom:16px;border:1px solid #6e8060;border-radius:10px;background:#182f29}
.die-result{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;background:#ead5a6;border-radius:8px;color:#211b12;font-weight:700;font-size:1.75rem}
.result-copy{min-width:0;overflow-wrap:anywhere}.result-copy>p{font-size:.875rem;margin:8px 0}.result-copy>.campaign-note{font-size:.75rem}
.campaign-total,.campaign-selection{font-weight:700;color:#e6ca91;font-size:1.125rem}
.campaign-finish{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin:20px 0}
.campaign-finish button{flex:1;min-width:120px}
.campaign-tools textarea{box-sizing:border-box;width:100%;resize:vertical;padding:12px;min-height:110px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
.campaign-log{list-style:none;max-height:420px;overflow-y:auto}.campaign-log li{padding:12px 0;border-bottom:1px solid var(--line)}.campaign-log p{font-size:.875rem;margin:6px 0}.campaign-log small{color:var(--muted)}
@media(max-width:380px){.campaign-card{padding:14px}.campaign-lodgings{grid-template-columns:1fr}.campaign-step-nav{gap:4px}.campaign-step-nav button{font-size:.7rem}.campaign-result{padding:10px;gap:10px}.campaign-form-grid{grid-template-columns:1fr}}
.planned-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.planned button{width:100%;text-align:center;margin:0;padding:12px 8px;color:#bbc6c7;border-radius:9px;background:#101e25;display:flex;flex-direction:column;align-items:center;gap:8px}
.planned button strong{font-size:.875rem;line-height:1.3}
.planned .availability{font-size:.7rem;color:var(--muted);margin-top:auto;letter-spacing:.06em;text-transform:uppercase}
.planned-art{width:100%;height:90px;object-fit:contain}
.planned p{font-size:.875rem;color:var(--muted)}
.group{border:0;padding:0;margin:0 0 28px;min-width:0}
legend{font-weight:700;font-size:1.05rem;margin-bottom:12px}
.toggle{display:flex;align-items:center;gap:12px;padding:10px 0;min-height:48px;border-bottom:1px solid #223b43;cursor:pointer}
.rule-toggle{display:flex;align-items:center;gap:8px;border-bottom:1px solid #223b43}
.rule-toggle .toggle{flex:1;min-width:0;border:0}
.rule-info{flex:none;width:44px;min-height:44px;padding:10px;border:0;border-radius:50%}
.rule-info .ui-icon{font-size:1.25rem}
.rules-summary{margin:0;padding-left:22px}
.rules-summary li+li{margin-top:14px}
.set-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.set-row{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:12px 8px;border:1px solid var(--line);border-radius:10px;background:#101f28;cursor:pointer;text-align:center}
.set-row:hover{background:#172c33;border-color:#6e9998}
.set-row:has(input:checked){border-color:var(--accent);background:#183238;box-shadow:inset 0 0 0 1px var(--accent)}
.set-row:has(input:focus-visible){outline:3px solid #e8be70;outline-offset:3px}
.set-row input{position:absolute;top:10px;right:10px;margin:0;z-index:1}
.set-art{width:100%;height:80px;object-fit:contain;filter:drop-shadow(0 6px 5px #0005)}
.set-copy strong{display:block;font-size:.9375rem;line-height:1.3;color:var(--ink)}
.set-kind{display:block;font-size:.75rem;color:var(--muted);margin-top:5px}
.content-picker{min-width:0;margin-bottom:24px}
.content-picker>summary{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.content-picker-edit{float:right;color:var(--accent);font-size:.875rem}
.content-picker[open] .content-picker-edit{display:none}
.content-picker-selection{display:block;margin-top:4px;font-size:.875rem;color:var(--muted)}
.content-picker>.group{margin:16px 0 0}
.mobile-draw-label{display:none}
@media(max-width:360px){.planned-grid{gap:6px}.planned-art{height:65px}.planned button strong{font-size:.75rem}.game-choice__visual{height:200px}}
input[type=checkbox]{width:21px;height:21px;accent-color:var(--accent);flex:none}
input[type=text],input[type=number],select{background:#0e222a;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:10px;min-height:44px;max-width:100%}
select{width:100%;margin:8px 0}
.count-row{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #223b43}
.count-row .count-available{display:block;font-size:.875rem;color:var(--muted)}
.count-row label{display:flex;align-items:center;gap:10px;min-width:0}
.count-type-icon{width:32px;height:32px;object-fit:contain;flex:none}
.count-row input{width:80px;text-align:center}
.count-row input[aria-invalid=true]{border:2px solid var(--danger)}
.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.button-row>*{flex:1;min-width:120px}
.wide{display:block;width:100%}
.text-button{border:0;text-decoration:underline;text-underline-offset:4px;padding-left:0;padding-right:0}
.setup-summary{padding:14px 0;color:var(--muted)}
.error-banner{border:1px solid #b47761;background:#372620;padding:16px;margin:12px 0;color:var(--danger);border-radius:5px}
.error-banner p{margin:0 0 10px}
.error-banner button{color:#ffe3d2;border-color:#b47761;margin-right:10px}
.inline-error{color:var(--danger);margin-top:12px}
.card-surface{color-scheme:light;color:var(--card-ink);background-color:var(--paper);background-image:url('assets/card-paper.png');background-size:100% 100%;border-radius:17px;box-shadow:0 8px 22px #0006;padding:25px 27px 26px;overflow-wrap:anywhere;position:relative}
.card-surface__title{font-family:Cinzel,Georgia,serif;font-size:clamp(1.4rem,9vw,2.3rem);font-weight:700;text-align:center;text-transform:uppercase;line-height:1.15;letter-spacing:-.04em;margin:5px 0 18px;text-shadow:0 1px 0 #fff}
.card-section+.card-section{margin-top:23px}
.card-section__header{border-top:1px solid #6d6763;border-bottom:1px solid #6d6763;padding:8px 0 6px;margin-bottom:12px;display:flex;justify-content:center;align-items:center;gap:12px}
.card-section__label{font-family:Cinzel,Georgia,serif;font-size:1.55rem;font-weight:700;line-height:1.2;text-align:center;letter-spacing:-.06em;margin:0}
.card-section__threshold{font-weight:700;font-size:1.25rem}
.card-section__text{font-size:1rem;line-height:1.5;margin:0 0 12px}
.card-section__text:last-child{margin-bottom:0}
.card-surface__footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;min-height:44px}
.card-footer-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card-footer-side--right{margin-left:auto;justify-content:flex-end}
.card-footer-label{font-size:1.125rem;line-height:1.2;font-weight:700}
.card-inline-token{display:inline-flex;align-items:center;vertical-align:middle;gap:2px}
.card-inline-token__icon{height:1.05em;max-width:2.4em;object-fit:contain}
.card-footer-icon{display:inline-flex;align-items:center;justify-content:center;flex:none}
.card-footer-icon .card-inline-token__icon{height:40px;max-width:48px}
.card-footer-symbol{width:40px;height:44px;justify-content:center}
.card-footer-symbol .card-inline-token__icon{width:40px;height:40px;max-width:none}
.card-footer-symbol[data-token-name=malagaunt],.card-footer-symbol[data-token-name=cabal]{width:48px}
.card-footer-symbol[data-token-name=malagaunt] .card-inline-token__icon,.card-footer-symbol[data-token-name=cabal] .card-inline-token__icon{width:48px;height:48px}
.card-inline-token__value{font-weight:700}
.card-inline-token--unknown{font-weight:700}
.deck-counters{display:flex;justify-content:space-between;gap:12px;color:var(--accent);margin:0 0 10px;font-size:.875rem;flex-wrap:wrap}
.deck-counters>span{display:inline-flex;align-items:center;gap:8px}
.deck-counters .ui-icon{font-size:1rem}
.play-actions .button-row{margin-top:10px}
.play-actions .button-row button{min-width:0}
.play-tools{margin:20px 0 0;display:flex;gap:12px;flex-wrap:wrap}
.play-tools button{flex:1}
.play-tools button{font-size:.875rem}
.ready-card{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}
.ready-card h2{font-family:Cinzel,Georgia,serif;font-size:2rem;line-height:1.2}
.ready-card p{max-width:230px}
.app-footer{margin-top:18px;color:var(--muted);font-size:.875rem}
#save-status{margin:0 0 16px}
#save-status i{color:var(--accent);margin-right:6px;width:.875rem;height:.875rem;font-size:.875rem}
.smallprint{color:#96acb0;font-size:.75rem}
.save-summary{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;align-items:center;padding:20px;border:1px solid var(--accent);background:var(--panel);border-radius:12px;margin:24px 0 32px}
.save-summary__art{width:80px;height:112px;object-fit:contain}
.save-summary__copy h2{font:700 1.4rem Cinzel,Georgia,serif;margin-bottom:6px}
.save-summary__copy p{margin:6px 0 0;font-size:.875rem}
.save-summary__copy .eyebrow{font-size:.7rem;margin:0 0 8px}
.save-summary>button{grid-column:1/-1}
.saved-games-nav{margin:20px 0 24px}
.saved-games-link{margin-bottom:24px}
.saved-games-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.saved-game{min-width:0;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}
.saved-game--active{border-color:var(--accent)}
.saved-game h2{font:700 1.2rem Cinzel,Georgia,serif;margin-bottom:10px}
.saved-game p{font-size:.875rem;margin-bottom:10px}
.saved-game-counts{color:var(--accent);margin-top:8px}
.saved-game>button{width:100%;margin-top:6px}
.lookup-card-actions{display:grid;gap:12px}
.lookup-card-actions p{margin:0}
dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:0;max-width:min(590px,calc(100vw - 28px));max-height:90dvh;width:100%;overflow:hidden}
dialog[open]{display:flex;flex-direction:column}
dialog::backdrop{background:#000b}
.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line);flex:none}
.dialog-header h2{margin:0;font-size:1.35rem}
.dialog-header button{padding:8px 12px}
.dialog-body{padding:24px;display:flex;flex-direction:column;gap:16px;overflow:auto;overscroll-behavior:contain;min-height:0}
.dialog-body>p,.dialog-body>.button-row{margin:0}
.dialog-body>button{flex-shrink:0}
.lookup-body{padding-top:0}
.lookup-search{position:sticky;top:0;background:var(--bg);padding:20px 0 12px;display:grid;gap:10px;z-index:1}
.lookup-search input{width:100%;min-width:0}
.lookup-search p{margin:0;font-size:.875rem}
.lookup-results{display:grid;gap:0}
.lookup-result{display:grid;gap:5px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 8px;color:var(--ink)}
.lookup-result span{font-size:.8125rem;color:var(--muted)}
.lookup-result:focus-visible{outline-offset:-3px}
.dialog-card{margin:16px 0}
.in-play-item{border-top:1px solid var(--line);padding:16px 0;display:grid;gap:16px}
.in-play-item strong{display:block;margin-bottom:8px}
.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{display:block;padding:16px}
@media(min-width:700px){.shell{padding-top:32px}.card-surface{padding:36px 46px}.card-section__text{font-size:1.125rem;line-height:1.5}.card-section__label{font-size:1.65rem}.card-surface__title{font-size:2.5rem}.masthead{margin-bottom:30px}}
summary{cursor:pointer;min-height:48px;padding:12px 0;color:var(--accent)}
details>p{margin:8px 0 16px}
.rule-details{border-bottom:1px solid var(--line)}
.selected-summary{color:var(--accent);margin-bottom:20px}
.house-ruled-additions{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}
.house-ruled-additions>summary{font-size:1.1rem;font-weight:700;padding:0 0 10px;min-height:48px}
.house-ruled-additions p,.house-ruled-additions>a{font-size:.875rem;line-height:1.5}
.card-inline-token--food-panel{display:block;width:min(260px,100%);height:auto;margin:12px auto}
.card-inline-token--food-panel .card-inline-token__icon{display:block;width:100%;height:auto;max-width:none;max-height:none}
.setup-config{min-width:0}
.setup-summary{margin:0;font-size:.875rem}
.setup-section{border-bottom:1px solid var(--line);margin-bottom:12px}
.setup-section>summary{font-weight:700;padding:12px 0;min-height:48px;cursor:pointer}
.setup-compact-summary{font-size:.8rem;text-align:center;color:var(--ink);margin:0 0 6px}
.play-tools a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:1px solid var(--line);border-radius:8px;text-decoration:none}
.setup-action-hint{font-size:.8125rem;color:var(--muted);margin:0 0 6px;text-align:center}
.setup-note{font-size:.8125rem;margin-top:16px}
.inline-error:empty{display:none}
.play-sidebar{min-width:0;margin-top:20px}
.current-card>.card-surface{height:clamp(380px,calc(100svh - var(--play-top,106px) - var(--dock-height,191px) - 16px),760px);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.current-card .card-surface__title{flex:none}
.current-card .card-surface__sections{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:auto;scrollbar-width:thin;scrollbar-color:#77715f transparent;padding-right:8px;scroll-padding:8px}
.current-card .card-surface__sections:focus-visible{outline:2px solid #655235;outline-offset:3px}
.current-card .card-surface__footer{flex:none;margin-top:8px}
.card-scroll-hint{flex:none;min-height:18px;margin:6px 0 0;text-align:center;font-size:.75rem;line-height:18px;color:#655235}
.play-dock{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.play-dock #save-status{font-size:.75rem;margin:10px 0 0;text-align:center}
.tracked-summary{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.tracked-summary p,.tracked-summary li{font-size:.875rem}
.tracked-summary ul{padding-left:20px}
.app-footer .smallprint{margin-bottom:6px}
@media(max-width:899px) and (min-height:500px){
    /* Only the play content scrolls; its viewport ends above the measured dock.
       Effects and tools can never scroll behind the persistent controls. */
    body[data-route=play] .play-layout{max-height:calc(100svh - var(--play-top,106px) - var(--dock-height,135px) - 16px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;padding:0 4px 16px 0}
    body[data-route=play] .current-card>.card-surface{height:auto;min-height:280px;max-height:none}
    body[data-route=play] .current-card .card-surface__sections{flex:none;overflow:visible;min-height:200px}
    body[data-route=play] .card-scroll-hint{display:none}
    html:has(body[data-route=play]),html:has(body[data-route=setup]){scroll-padding-bottom:calc(var(--dock-height,210px) + 20px)}
    body[data-route=play],body[data-route=setup]{padding-bottom:calc(var(--dock-height,210px) + 20px)}
    .persistent-actions{position:fixed;bottom:0;left:0;right:0;z-index:5;background:#0b1d25;border:0;border-top:1px solid var(--line);border-radius:0;padding:12px max(16px,calc((100vw - 628px)/2)) calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #0005}
    .play-dock.persistent-actions{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
    .play-dock .deck-counters{gap:6px;margin-bottom:6px;font-size:.8125rem}
    .play-dock .deck-counters>span{gap:4px}
    .play-dock .deck-counters .ui-icon{display:none}
    .play-dock .play-actions{display:grid;grid-template-columns:44px minmax(0,1fr) 68px 72px;gap:6px}
    .play-dock .play-actions .button-row{display:contents}
    .play-dock .play-actions button{font-size:.875rem;padding:8px 4px;min-height:48px;min-width:0}
    .play-dock #draw{grid-column:2;grid-row:1}
    .play-dock #draw,.play-dock #in-play,.play-dock #card-actions{display:flex;flex-direction:column;gap:3px;padding:5px 4px}
    .play-dock #draw>.button-label,.play-dock #previous>.button-label{display:none}
    .play-dock #draw>.ui-icon,.play-dock #in-play>.ui-icon,.play-dock #card-actions>.ui-icon{display:inline-grid;width:18px;height:18px;font-size:18px;line-height:18px}
    .play-dock #in-play>.button-label,.play-dock #card-actions>.button-label,.play-dock .mobile-draw-label{font-size:.75rem;line-height:14px}
    .play-dock .mobile-draw-label{display:inline}
    .play-dock #previous{grid-column:1;grid-row:1}
    .play-dock #in-play{grid-column:3;grid-row:1}
    .play-dock #card-actions{grid-column:4;grid-row:1}
    .play-dock #resolve-extra{grid-column:1/-1}
    .play-dock #save-status{margin-top:4px}
}
@media(max-width:899px){
    .setup-config>h2,.selected-summary{margin-bottom:8px}
    .mission-counts>p,.difficulty-counts>p{font-size:.8125rem;margin:6px 0 10px}
    .content-picker .set-grid{grid-template-columns:minmax(0,1fr);gap:6px}
    .content-picker .set-row{flex-direction:row;text-align:left;min-height:60px;padding:6px 36px 6px 8px;gap:10px}
    .content-picker .set-art{width:40px;height:46px;flex:none}
    .content-picker .set-row input{top:calc(50% - 10px);right:10px}
    .content-picker .set-kind{margin-top:1px}
}
@media(max-width:480px){
    .planned-grid{grid-template-columns:1fr;gap:8px}
    .planned button{display:grid;grid-template-columns:56px 1fr auto;min-height:72px;text-align:left;gap:12px;padding:8px 12px}
    .planned-art{width:56px;height:56px}
    .planned .availability{margin:0}
}
@media(min-width:900px){
    body[data-route=setup] .shell,body[data-route=play] .shell{max-width:1120px;padding-left:32px;padding-right:32px}
    .setup-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:40px;align-items:start}
    .setup-config{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
    .set-row{flex-direction:row;text-align:left;min-height:118px;padding:12px 32px 12px 8px;gap:8px}
    .set-art{width:72px;flex:none;height:90px}
    .set-copy strong{font-size:.875rem}
    .play-layout{display:grid;grid-template-columns:minmax(0,620px) minmax(280px,1fr);gap:36px;align-items:start}
    .current-card>.card-surface{height:clamp(560px,calc(100svh - var(--play-top,127px) - 32px),820px)}
    .play-sidebar{position:sticky;top:24px;margin-top:0}
    .play-tools{display:grid}
    .save-summary{grid-template-columns:96px minmax(0,1fr)}
}
@media(max-width:599px){
    dialog{max-width:100%;max-height:90dvh;margin:auto 0 0;border-radius:16px 16px 0 0}
    .dialog-header{padding:16px}
    .dialog-body{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
    .lookup-body{padding-top:0}
}
@media(max-width:899px) and (min-height:500px) and (max-height:700px){
    body[data-route=play] .shell{padding-top:8px}
    body[data-route=play] .masthead{padding-bottom:8px;margin-bottom:12px}
    body[data-route=play] .brand{font-size:.75rem;padding-bottom:2px}
    body[data-route=play] .masthead p{font-size:.75rem}
    .current-card>.card-surface{height:clamp(280px,calc(100svh - var(--play-top,68px) - var(--dock-height,191px) - 12px),580px);padding:18px 22px}
    .current-card .card-surface__title{font-size:clamp(1.4rem,7vw,1.8rem);margin:0 0 12px}
    .current-card .card-section__label{font-size:1.25rem}
    .current-card .card-surface__footer{margin-top:4px}
    .card-scroll-hint{min-height:16px;line-height:16px;margin-top:4px}
}
@media(max-height:499px){.play-sidebar{position:static}.persistent-actions{position:static}.dialog-header{padding:12px 16px}.dialog-body{padding:16px}.current-card>.card-surface{height:560px}}
@media(min-width:600px) and (max-width:899px) and (max-height:499px){
    body[data-route=play] .shell{max-width:100%;padding:12px 16px 24px}
    body[data-route=play] .masthead{padding-bottom:8px;margin-bottom:16px}
    .play-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:start}
    .play-sidebar{margin-top:0}
    .play-tools{display:grid}
}
/* Campaign scenes stay outside the controls; reserved space prevents scroll jumps. */
.game-area{overflow:hidden}
.game-area-scene{display:block;width:calc(100% + 44px);max-width:none;height:168px;object-fit:cover;margin:-22px -22px 20px;border-bottom:1px solid #68735c}
.campaign-scene-header{position:relative;isolation:isolate;overflow:hidden;height:140px;margin-bottom:16px;border:1px solid #68735c;border-radius:12px;background:#142e36}
.campaign-scene{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.campaign-scene-header::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#06121af5,transparent 85%);z-index:0}
.campaign-scene-header>div{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:22px}
.campaign-scene-header h2{font-family:Cinzel,Georgia,serif;font-size:1.7rem;margin:0;color:#f5e5c5;text-shadow:0 2px 10px #000}
.campaign-scene-header .eyebrow{font-size:.625rem;line-height:1.6;margin-bottom:5px;color:#f2dba8;letter-spacing:.14em;text-shadow:0 1px 5px #000}
.campaign-lodgings button{padding:0;gap:0;overflow:hidden;background:#0b1b23}
.campaign-lodgings button:disabled{opacity:1;color:var(--muted)}
.campaign-lodgings button[aria-pressed=true]{border:1px solid #e6ca91;box-shadow:0 0 0 1px #e6ca91;background:#253f36;color:#f2dba8}
.lodging-scene{display:block;width:100%;height:104px;object-fit:cover;flex:none}
.campaign-lodgings .lodging-copy{display:flex;flex-direction:column;gap:5px;padding:12px;font-size:.875rem}
.lodging-copy strong{font-size:.9375rem;justify-content:flex-start}
.campaign-lodgings button[aria-pressed=true] .lodging-copy::after{content:'✓ Selected for tonight';font-size:.6875rem;color:#f2dba8}
.die-stack{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none;width:48px}
.die-stack small{font-size:.5rem;letter-spacing:.14em;color:#c4c9ab;margin-top:3px}
.die-stack .die-result{display:block;flex:none;width:auto;height:auto;min-width:24px;padding:1px 5px;border-radius:4px;font-size:.875rem;line-height:1.3;text-align:center;background:#0a1b1c;color:#f2dba8}
.die-graphic{display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:4px;width:48px;height:48px;padding:9px;border:1px solid #fff0c1;border-radius:10px;background:linear-gradient(135deg,#fff1ce,#ccad6c);box-shadow:inset -3px -3px 0 #8e6a3c77,inset 2px 2px 0 #fff9,0 4px 8px #0006;transform-origin:center center}
.die-graphic i{display:block;width:6px;height:6px;background:#3b3022;border-radius:50%;box-shadow:inset 0 1px 1px #0007}
.campaign-coin-result{display:flex;align-items:center;gap:16px;margin:18px 0;padding:16px;border:1px solid #8d7851;border-radius:12px;background:#242a23;perspective:500px}
.campaign-coin-result p{margin:0;font-size:1rem;line-height:1.5}
.campaign-coin{display:grid;place-items:center;flex:none;width:58px;height:58px;border:4px double #8b692f;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe8ac,#bf8f39);box-shadow:0 3px 0 #725120,0 5px 12px #0005,inset 0 0 0 3px #efcd82;color:#51380e;text-shadow:0 1px 0 #fff6;font-family:Cinzel,Georgia,serif;font-weight:700;font-size:1.6rem}
@media(max-width:899px){.game-area-scene{width:calc(100% + 32px);margin:-16px -16px 16px;height:140px}}
@media(max-width:599px){.campaign-scene-header{height:112px}.campaign-scene-header>div{padding:18px}.campaign-scene-header h2{font-size:1.4rem}}
@media(max-width:380px){.campaign-lodgings button{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:stretch}.lodging-scene{height:100%;min-height:110px}.campaign-lodgings .lodging-copy{padding:12px}.campaign-scene-header .eyebrow{letter-spacing:.07em}}
@media(prefers-reduced-motion:no-preference){
    button{transition:background-color .15s}
    .campaign-phase-panel.is-entering{animation:campaign-enter .22s ease-out both}
    .campaign-result.is-fresh,.campaign-coin-result.is-fresh,.campaign-selection.is-fresh{animation:campaign-reveal .38s ease-out both}
    .campaign-result.is-rolling .die-graphic{animation:campaign-dice .65s cubic-bezier(.2,.7,.3,1) both}
    .campaign-coin-result.is-flipping .campaign-coin{animation:campaign-coin .7s ease-out both}
    .campaign-lodgings button:not(:disabled):active,.campaign-roll-controls button:not(:disabled):active{transform:scale(.98)}
    .game-area-scene,.lodging-scene{transition:filter .2s}
    @media(hover:hover){.game-area:hover .game-area-scene,.campaign-lodgings button:not(:disabled):hover .lodging-scene{filter:brightness(1.13)}}
}
@keyframes campaign-enter{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes campaign-reveal{from{box-shadow:0 0 0 2px #e6ca91;transform:translateY(3px)}to{box-shadow:0 0 0 0 transparent;transform:translateY(0)}}
@keyframes campaign-dice{0%{transform:translateY(-5px) rotate(-150deg) scale(.8)}45%{transform:translateY(2px) rotate(16deg) scale(1.05)}72%{transform:translateY(-1px) rotate(-7deg)}100%{transform:translateY(0) rotate(0) scale(1)}}
@keyframes campaign-coin{0%{transform:translateY(-10px) rotateY(-720deg) scale(.85)}75%{transform:translateY(2px) rotateY(15deg) scale(1.02)}100%{transform:translateY(0) rotateY(0) scale(1)}}
@media(forced-colors:active){.card-surface{background:none;border:2px solid CanvasText;color:CanvasText}.primary{border:2px solid ButtonText}.game-choice{border:1px solid ButtonText}}

/* A tabletop identity, with a full illustrated banner on the game selector. */
body:is([data-route=home],[data-route=setup]) .masthead{min-height:214px;display:flex;flex-direction:column;justify-content:center;padding:30px 26px;background:linear-gradient(90deg,#06151af5 0%,#06151ac9 42%,#06151a10 100%),url('assets/brand/eventdeck-banner.webp') center/cover;border-color:#8a7954;box-shadow:0 12px 36px #0005,inset 0 1px 0 #e8cc9233}
body:is([data-route=home],[data-route=setup]) .brand{gap:14px;align-items:center}
body:is([data-route=home],[data-route=setup]) .brand-mark{width:76px;height:76px}
body:is([data-route=home],[data-route=setup]) .brand-name{font-size:clamp(2rem,7vw,2.8rem);letter-spacing:.025em;color:#f6e6c4;text-shadow:0 2px 12px #000}
body:is([data-route=home],[data-route=setup]) .brand-label{color:#deceab;letter-spacing:.14em;font-size:.625rem}
body:is([data-route=home],[data-route=setup]) .masthead p{color:#e0e7dc;font-size:.875rem;max-width:28ch;margin:16px 0 0 90px}
.game-area--crafting{background:linear-gradient(135deg,#2d271c,#101f28);border-color:#917a4d}
.game-area--crafting .eyebrow{color:#e6ca91}
@media(min-width:1000px){body[data-route=maladum] .shell{max-width:1180px}.game-areas{grid-template-columns:repeat(3,minmax(0,1fr))}.game-area{display:flex;flex-direction:column}.game-area>.area-primary-link,.game-area>.primary{margin-top:auto}}
@media(max-width:420px){body:is([data-route=home],[data-route=setup]) .masthead{min-height:190px;padding:24px 16px;background-position:58% center}body:is([data-route=home],[data-route=setup]) .brand{gap:8px}body:is([data-route=home],[data-route=setup]) .brand-mark{width:56px;height:64px}body:is([data-route=home],[data-route=setup]) .brand-name{font-size:1.95rem}body:is([data-route=home],[data-route=setup]) .brand-label{font-size:.5rem;letter-spacing:.1em}body:is([data-route=home],[data-route=setup]) .masthead p{margin-left:64px;font-size:.75rem}}

/* Keep the illustrated identity on secondary screens, with a compact play header. */
.masthead{background:linear-gradient(90deg,#06151af5 0%,#06151ac9 42%,#06151a55 100%),url('assets/brand/eventdeck-banner.webp') center/cover}
.count-notes{grid-column:1/-1;min-width:0;font-size:.8125rem;color:var(--muted)}
.count-notes summary{min-height:44px;display:list-item;align-content:center;padding:9px 0;cursor:pointer;color:#e6ca91}
.count-note-body{border-left:2px solid var(--line);padding:4px 12px 8px;margin:0 0 6px;overflow-wrap:anywhere}
.count-note-body ul{padding-left:18px;margin:0 0 12px}.count-note-body ul:last-child{margin-bottom:0}
.count-note-body li{padding:2px 0}.count-note-requires{margin:4px 0;font-weight:700}

.card-faq{font:14px/1.5 Arial,Helvetica,sans-serif;border-top:1px solid #6f776b55;padding-top:4px;margin-top:16px;color:#19342f}.card-faq summary{color:#19342f;cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.card-faq p{margin:0 0 8px}.card-faq a{color:#185c57;font-size:12px}
.campaign-repair-fields{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Installation stays outside the game and save dialogs, with no backdrop or focus trap. */
.app-settings{margin:12px 0;max-width:24rem}
.feedback-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:8px 0}
.feedback-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent)}
.app-settings>summary{cursor:pointer;min-height:48px;display:list-item;padding:12px 0;color:var(--accent)}
.install-panel{position:fixed;z-index:20;bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:var(--panel);border:1px solid var(--accent);border-radius:12px;padding:18px;box-shadow:0 8px 32px #0009;color:var(--ink)}
.install-panel h2{margin-bottom:8px}
.install-panel p{margin-bottom:12px}
.install-panel-actions{display:flex;flex-wrap:wrap;gap:8px}

/* Keep vertical card/page scrolling and pinch zoom available during draw gestures. */
.current-card{position:relative;touch-action:pan-y pinch-zoom;overflow:hidden}
.current-card>.card-outgoing{position:absolute;top:0;left:0;width:100%;margin:0;z-index:2;pointer-events:none;user-select:none}
.swipe-draw-hint{display:none}
@media(pointer:coarse){.swipe-draw-hint{display:block;color:var(--muted);text-align:center;font-size:.75rem;margin:6px 0 0}}
.current-card>.card-surface:not(.card-outgoing){position:relative;z-index:1}
.swipe-edge-cue{position:absolute;top:0;bottom:24px;z-index:0;width:92px;display:flex;align-items:center;justify-content:center;padding:8px;font-size:.8rem;font-weight:700;pointer-events:none;opacity:0}
.swipe-edge-cue--previous{left:0;color:#ffc2ba;background:linear-gradient(90deg,#a75f563d,transparent)}
.swipe-edge-cue--next{right:0;color:#c4edca;background:linear-gradient(270deg,#5c9b6c3d,transparent)}
.current-card[data-swipe-direction=previous]>.swipe-edge-cue--previous,.current-card[data-swipe-direction=next]>.swipe-edge-cue--next{opacity:var(--swipe-reveal,0)}
.current-card[data-swipe-direction]>.card-surface{user-select:none}
.current-card [data-swipe-actions]{touch-action:pinch-zoom}
