@import"https://fonts.googleapis.com/css2?family=Bungee&family=Anton&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Permanent+Marker&display=swap";.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(8,6,4,.75);display:flex;justify-content:center;align-items:center;z-index:900;padding:var(--space-4)}.modal-content{background:var(--surface-3);color:var(--fg-high);padding:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-3);box-shadow:var(--elev-3);position:relative;width:100%;max-width:500px;max-height:calc(100dvh - 32px);overflow-y:auto}.modal-content:focus{outline:none}.modal--bottom-sheet{align-items:flex-end;padding:0}.modal-content.bottom-sheet{max-width:100%;max-height:85dvh;padding:var(--space-4) var(--space-4) var(--space-5);border-left:0;border-right:0;border-bottom:0;border-radius:var(--radius-3) var(--radius-3) 0 0;overscroll-behavior:contain;animation:bottom-sheet-in .2s ease-out}@keyframes bottom-sheet-in{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.modal-content.bottom-sheet{animation:none}}.modal-title{margin-bottom:var(--space-4)}.modal-buttons{display:flex;flex-flow:row nowrap;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}:root{--nav-height: 70px}.app-container{display:flex;flex-direction:column;height:100dvh}.nav-bar-container{height:var(--nav-height);flex-shrink:0}.app-content{flex:1;overflow-y:auto}.bgcover{background-size:cover;background-position:center}.landing-background{width:100%;height:100%}.landing-scrim{background:linear-gradient(180deg,rgba(12,9,6,.55) 0%,rgba(12,9,6,.85) 100%)}.landing-page{display:flex;flex-direction:column;align-items:center;justify-content:space-around;width:100vw}.landing-header{flex:5 1;display:flex;flex-direction:column;align-items:center;justify-content:center}.landing-splash-logo{width:min(33vw,240px);opacity:.8}.landing-form-container{background-color:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-3);box-shadow:var(--elev-2);padding:var(--space-6);width:min(360px,calc(100vw - 48px));box-sizing:border-box}.landing-form{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:var(--space-1)}.landing-form label{font-size:var(--text-sm);text-align:left;margin:var(--space-2) 0 var(--space-1);color:var(--fg-secondary)}.landing-form-remember{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);margin:var(--space-3) 0}.landing-form-remember label{margin:0}.landing-form-error{color:var(--blood-300);font-size:var(--text-sm);margin:var(--space-2) 0 0}.landing-form button{margin-top:var(--space-4)}.landing-page-flavor-text{font-size:var(--text-lg);padding:var(--space-2);margin:var(--space-2);text-shadow:0 2px 6px rgba(0,0,0,.8)}.landing-error-page{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-4)}.landing-error-actions{display:flex;flex-direction:row;gap:var(--space-4)}.error-card{background:var(--surface-2);border:1px solid var(--border-strong);border-left:4px solid var(--blood-500);border-radius:var(--radius-2);box-shadow:var(--elev-1);padding:var(--space-5);max-width:480px;color:var(--fg)}.error-card h3{color:var(--blood-300);margin-bottom:var(--space-3)}.error-card-details{margin-bottom:var(--space-4)}.error-card-details summary{cursor:pointer;color:var(--fg-muted);font-size:var(--text-sm)}.error-card-details pre{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-secondary);background:var(--bg-inset);padding:var(--space-3);border-radius:var(--radius-1);overflow-x:auto;white-space:pre-wrap}.nav-bar{display:flex;align-items:center;gap:var(--space-3);width:100%;height:var(--nav-height, 70px);background-color:var(--bg-surface);border-bottom:1px solid var(--border);box-sizing:border-box;padding:0 var(--space-3)}.nav-bar-brand{display:flex;align-items:center;gap:var(--space-2)}.nav-bar-brand-mark{width:36px;height:36px}.nav-bar-brand-word{font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;color:var(--fg-high);line-height:1}.hamburger-container{width:50px;height:50px;padding:10px;background:transparent;border:none}.hamburger-container:hover{background:var(--iron-800)}.hamburger-lines{height:100%;display:flex;flex-direction:column;justify-content:space-around}.hamburger-lines .line{display:block;height:4px;width:100%;border-radius:var(--radius-1);background:var(--fg-secondary)}.app-menu{position:fixed;top:var(--nav-height, 70px);left:0;width:fit-content;min-width:240px;height:auto;background-color:var(--surface-2);border:1px solid var(--border-strong);border-left:none;border-radius:0 0 var(--radius-2) 0;box-shadow:var(--elev-2)}.app-menu-overlay{position:fixed;top:var(--nav-height, 70px);left:0;width:100vw;height:calc(100dvh - var(--nav-height, 70px));background-color:#080604b3;z-index:800}.app-menu-overlay.hidden,.menu-collapsed{display:none}.app-menu ul{margin:0;padding:var(--space-2) 0}.app-menu li{list-style:none}.app-menu-option a,.app-menu-option-button{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);width:100%;box-sizing:border-box;padding:var(--space-3) var(--space-4);font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-secondary);background:transparent;border:none;border-left:2px solid transparent;border-radius:0;white-space:nowrap;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.app-menu-option a:hover,.app-menu-option a:focus-visible,.app-menu-option-button:hover,.app-menu-option-button:focus-visible{background:var(--iron-800);color:var(--sun-400);border-left-color:var(--rust-500)}.spinner-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-2)}.spinner-label{font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-muted);margin:0}.spinner{width:100px;height:100px;margin:10px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.character-selection{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:100%;padding:var(--space-4);box-sizing:border-box}.character-selection h1{margin:0 0 var(--space-4);font-size:var(--text-2xl)}.character-card-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-4)}.character-card-container a{display:block;border-radius:var(--radius-2)}.character-selection-empty{color:var(--fg-secondary);padding:var(--space-5);background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:var(--radius-2)}.character-card{display:flex;flex-direction:column;width:min(280px,calc(100vw - 64px));min-height:200px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-2);background-color:var(--bg-card);box-shadow:var(--shadow-inset-top);color:var(--fg);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.character-card-title{display:flex;flex-direction:column;margin-bottom:var(--space-3)}.character-card-title h2{margin:0;padding:0;font-size:var(--text-lg)}.character-card-title h3{margin:0;padding:0;font-family:var(--font-hand);font-size:var(--text-base);letter-spacing:normal;text-transform:none;color:var(--sun-400)}.character-card-content{display:flex;flex-direction:row;justify-content:space-around;gap:var(--space-3)}.character-card:hover,.character-card-container a:focus-visible .character-card{cursor:pointer;border-color:var(--rust-400);box-shadow:var(--elev-2)}.character-card-portrait-container img{width:100%;height:auto;border-radius:var(--radius-1)}.character-card-stat-block{display:flex;flex-direction:column;justify-content:space-between;margin-left:var(--space-1);margin-bottom:var(--space-2)}.character-sheet{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "stats" "harm" "moves" "gear" "hx" "profile";gap:var(--space-5);align-content:start;width:100%;max-width:1100px;padding:0 var(--space-4) var(--space-6);box-sizing:border-box}@media (min-width: 900px){.character-sheet{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"header header" "stats  stats" "moves  moves" "harm   hx" "gear   profile"}}.sheet-header{grid-area:header}.sheet-area-stats{grid-area:stats}.sheet-area-moves{grid-area:moves}.sheet-area-harm{grid-area:harm}.sheet-area-hx{grid-area:hx}.sheet-area-gear{grid-area:gear}.sheet-area-profile{grid-area:profile}.sheet-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-5);background:linear-gradient(180deg,rgba(12,9,6,.2),rgba(12,9,6,.95)),radial-gradient(circle at 90% -20%,var(--rust-500),#3a1408 60%,#0c0906);border:1px solid var(--border);border-radius:var(--radius-3);overflow:hidden}.sheet-header-id{min-width:0}.pb-tag{font-family:var(--font-heading);font-size:11px;letter-spacing:.28em;color:var(--rust-300);text-transform:uppercase;text-decoration:none}a.pb-tag:hover{color:var(--rust-200);text-decoration:underline}.sheet-header-name{font-family:var(--font-display);font-size:clamp(32px,6vw,52px);line-height:1;color:var(--fg-high);margin:4px 0 8px;text-transform:uppercase}.sheet-header-looks{color:var(--sun-400);font-size:var(--text-lg);transform:rotate(-1deg);display:inline-block}.xp-label{display:block;font-family:var(--font-heading);font-size:10px;letter-spacing:.22em;color:var(--iron-200);text-transform:uppercase;margin-bottom:6px}.xp-row{display:flex;gap:4px}.xp-box{width:22px;height:22px;border:1px solid var(--iron-300);border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--iron-300);font-family:var(--font-mono);font-size:12px}.xp-box.filled{background:var(--rust-500);border-color:var(--rust-500);color:var(--iron-050)}.sheet-block>h2{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);padding-bottom:6px;border-bottom:1px solid var(--border);font-family:var(--font-heading);font-weight:700;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--fg-muted)}.sheet-block>h2:before{content:"";width:20px;height:1px;background:var(--rust-500);flex-shrink:0}.sheet-area-profile .character-portrait-container img{max-height:320px;align-self:flex-start}.sheet-backstory{margin-top:var(--space-3)}.sheet-backstory summary{cursor:pointer;font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-secondary)}.sheet-backstory p{font-size:var(--text-sm);color:var(--fg-secondary);line-height:1.55}.stats-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2);margin:0}.stat-mini{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-2);padding:var(--space-2) 6px;box-shadow:var(--shadow-inset-groove)}.stat-mini.stat-cool{background:radial-gradient(circle at 50% 110%,rgba(58,150,170,.18),transparent 60%),var(--bg-inset)}.stat-mini.stat-hard{background:radial-gradient(circle at 50% 110%,rgba(194,71,28,.18),transparent 60%),var(--bg-inset)}.stat-mini.stat-hot{background:radial-gradient(circle at 50% 110%,rgba(240,201,104,.2),transparent 60%),var(--bg-inset)}.stat-mini.stat-sharp{background:radial-gradient(circle at 50% 110%,rgba(212,191,160,.14),transparent 60%),var(--bg-inset)}.stat-mini.stat-weird{background:radial-gradient(circle at 50% 110%,rgba(146,166,87,.18),transparent 60%),var(--bg-inset)}.stat-mini-name{font-family:var(--font-heading);font-size:10px;letter-spacing:.22em;color:var(--fg-muted);text-transform:uppercase}.stat-mini-value{margin:0;font-family:var(--font-display);font-size:clamp(16px,4vw,22px);line-height:1;color:var(--fg)}.stat-mini.max{border-color:var(--sun-500)}.stat-mini.max .stat-mini-value{color:var(--sun-400)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.harm-panel{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-4);align-items:center}.harm-panel-clock{width:120px;height:120px}.harm-clock-face{fill:var(--bg-inset);stroke:var(--iron-500);stroke-width:2}.harm-clock-fill{fill:var(--rust-400);opacity:.9}.harm-clock-fill.blood{fill:var(--blood-500)}.harm-clock-hairline{stroke:var(--iron-500);stroke-width:1.5}.harm-clock-pin{fill:var(--iron-100)}.harm-panel-ticks{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.harm-tick{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-2);font-family:var(--font-mono);font-size:11px;color:var(--fg-secondary)}.harm-tick-time{color:var(--iron-300)}.harm-tick.current .harm-tick-time{color:var(--sun-400)}.harm-tick.current .harm-tick-label{color:var(--fg-high)}.hx-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.hx-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:var(--space-2) 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-2)}.hx-person{font-family:var(--font-heading);font-size:13px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-high)}.hx-value{font-family:var(--font-display);font-size:22px;line-height:1;color:var(--rust-300);width:44px;text-align:center}.hx-value.pos{color:var(--moss-300)}.hx-value.neg{color:var(--blood-300)}.hx-empty{margin:0;color:var(--fg-muted);font-size:var(--text-sm)}.gear-list{margin:0;padding:0 0 0 var(--space-4);font-family:var(--font-body);font-size:13px;color:var(--fg);line-height:1.7}.gear-list li{margin-bottom:2px}.gear-tag{font-family:var(--font-mono);font-size:10px;color:var(--rust-400);letter-spacing:.1em;margin-left:6px;white-space:nowrap}.gear-desc{color:var(--fg-secondary);font-size:12px;margin-left:6px}.character-portrait-container{display:flex;flex-direction:column;grid-area:p;overflow:hidden;padding:0 10px}.character-portrait-container img{object-fit:contain;max-width:100%;max-height:70vh;border-radius:var(--radius-2)}.moves-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}@media (min-width: 900px){.moves-panel{grid-template-columns:minmax(340px,1fr) minmax(300px,360px)}.moves-panel-viewer{position:sticky;top:var(--space-4)}}.modal-content.bottom-sheet .move-card-viewer{display:grid;justify-content:center}.move-list{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.move-list-group{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-3)}.move-list-group-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) 0;margin:0 0 var(--space-1);background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;cursor:pointer;font-family:var(--font-heading);font-weight:700;font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-muted);text-align:left}.move-list-group-toggle:before{content:"";width:20px;height:1px;background:var(--rust-500);flex-shrink:0}.move-list-group-caret{color:var(--rust-400);font-size:10px}.move-list-group-count{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--fg-muted)}.move-list-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-2);cursor:pointer}.move-list-row:hover{border-color:var(--border-strong)}.move-list-row.selected{border-color:var(--rust-500);background:color-mix(in srgb,var(--rust-500) 8%,var(--bg-card))}.move-list-check{width:14px;height:14px;margin-top:2px;border:1px solid var(--border-strong);border-radius:2px;display:inline-block}.move-list-check.filled{background:var(--rust-500);border-color:var(--rust-500)}.move-list-text{display:flex;flex-direction:column;gap:3px;min-width:0}.move-list-name{font-family:var(--font-heading);font-weight:600;font-size:13px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-high)}.move-list-desc{font-family:var(--font-body);font-size:12px;color:var(--fg-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.move-list-roll-tag{font-family:var(--font-mono);font-size:10px;color:var(--sun-200);letter-spacing:.08em;white-space:nowrap;margin-top:3px}.move-card-viewer{min-width:0}.move-card-viewer-empty{width:min(360px,100%);aspect-ratio:5 / 7;box-sizing:border-box;display:grid;place-items:center;border:2px dashed var(--border);border-radius:14px;background:repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(168,144,116,.06) 6px,rgba(168,144,116,.06) 12px)}.move-card-viewer-empty span{font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-muted)}.move-card,.character-move-card{--energy: var(--iron-500);--energy-soft: rgba(84, 68, 52, .35);--energy-fg: var(--iron-100);margin:var(--space-2);display:grid;flex-shrink:0;width:min(300px,80vw);box-sizing:border-box;grid-template-rows:48px auto 24px 184px 44px;grid-template-columns:1fr;grid-template-areas:"header" "art" "type" "rules" "footer";row-gap:var(--space-2);padding:12px;scroll-snap-align:center;background:linear-gradient(160deg,color-mix(in srgb,var(--energy) 28%,var(--iron-800)) 0%,color-mix(in srgb,var(--energy) 12%,var(--iron-800)) 40%,color-mix(in srgb,var(--energy) 20%,var(--iron-900)) 100%);border:2px solid #050302;border-radius:14px;box-shadow:inset 0 1px #ffdcaa24,inset 0 0 0 1px color-mix(in srgb,var(--energy) 45%,transparent),inset 0 -1px #0009,var(--shadow-2);position:relative;overflow:hidden}.move-card-viewer .move-card{width:min(360px,100%);margin:0}.move-card-header,.move-card-type-line,.move-card-passive{border:1px solid rgba(0,0,0,.65);box-shadow:inset 0 1px #ffdcaa1f,inset 0 -1px #00000080,0 1px #ffdcaa0d;border-radius:var(--radius-2)}.move-card.energy-cool{--energy: var(--petrol-400);--energy-soft: rgba(58, 150, 170, .22);--energy-fg: var(--iron-050)}.move-card.energy-hard{--energy: var(--rust-500);--energy-soft: rgba(194, 71, 28, .22);--energy-fg: var(--iron-050)}.move-card.energy-hot{--energy: var(--sun-500);--energy-soft: rgba(232, 184, 74, .22);--energy-fg: var(--iron-950)}.move-card.energy-sharp{--energy: var(--iron-200);--energy-soft: rgba(212, 191, 160, .18);--energy-fg: var(--iron-950)}.move-card.energy-weird{--energy: var(--moss-300);--energy-soft: rgba(146, 166, 87, .22);--energy-fg: var(--iron-950)}.move-card.energy-hx{--energy: var(--iron-300);--energy-soft: rgba(168, 144, 116, .2);--energy-fg: var(--iron-950)}.move-card.energy-none{--energy: var(--iron-500);--energy-soft: rgba(84, 68, 52, .2);--energy-fg: var(--iron-100)}.roll-stat-cool{--energy: var(--petrol-400);--energy-soft: rgba(58, 150, 170, .22);--energy-fg: var(--iron-050)}.roll-stat-hard{--energy: var(--rust-500);--energy-soft: rgba(194, 71, 28, .22);--energy-fg: var(--iron-050)}.roll-stat-hot{--energy: var(--sun-500);--energy-soft: rgba(232, 184, 74, .22);--energy-fg: var(--iron-950)}.roll-stat-sharp{--energy: var(--iron-200);--energy-soft: rgba(212, 191, 160, .18);--energy-fg: var(--iron-950)}.roll-stat-weird{--energy: var(--moss-300);--energy-soft: rgba(146, 166, 87, .22);--energy-fg: var(--iron-950)}.roll-stat-hx{--energy: var(--iron-300);--energy-soft: rgba(168, 144, 116, .2);--energy-fg: var(--iron-950)}.move-card.tier-playbook{box-shadow:inset 0 1px #ffdcaa24,inset 0 0 0 1px color-mix(in srgb,var(--sun-400) 25%,transparent),inset 0 -1px #0009,var(--shadow-2)}.move-card.tier-playbook .move-card-header{background:linear-gradient(180deg,color-mix(in srgb,var(--energy) 28%,var(--iron-700)),color-mix(in srgb,var(--energy) 10%,var(--iron-800)));box-shadow:inset 0 1px #ffdcaa2e,inset 0 -1px #00000080,inset 0 0 0 1px color-mix(in srgb,var(--sun-400) 30%,transparent)}.move-card-header{grid-area:header;height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-2) 0 var(--space-3);box-sizing:border-box;background:linear-gradient(180deg,color-mix(in srgb,var(--energy) 14%,var(--iron-700)),var(--iron-800))}.move-card-name{margin:0;padding:0;font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-high);line-height:1.1;flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.move-card-energy{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-heading);font-size:9px;letter-spacing:.03em;text-transform:uppercase;color:var(--energy-fg);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.4),transparent 45%),var(--energy);border:1px solid color-mix(in srgb,var(--energy) 45%,#000);box-shadow:0 0 0 2px #0000008c,0 0 0 3px color-mix(in srgb,var(--energy) 40%,transparent),inset 0 -2px 3px #00000059}.move-card-type-line{grid-area:type;height:24px;margin:0;display:flex;align-items:center;padding:0 var(--space-3);box-sizing:border-box;font-family:var(--font-heading);font-size:10px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(180deg,var(--iron-800),var(--iron-900))}.move-card-art{grid-area:art;margin:0;aspect-ratio:1 / 1;position:relative;z-index:1;border:1px solid #000;border-radius:var(--radius-2);background:var(--bg-inset);overflow:hidden;isolation:isolate}.move-card-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 2px 6px #0000008c,inset 0 0 0 1px #0009,inset 0 0 0 2px color-mix(in srgb,var(--energy) 40%,transparent)}.move-card-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:0;outline:0;box-shadow:none;background:transparent}.move-card-art-empty{width:100%;height:100%;background:repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(168,144,116,.06) 6px,rgba(168,144,116,.06) 12px)}.move-card-rules,.move-card-text-area{grid-area:rules;height:184px;overflow-y:auto;position:relative;z-index:1;margin:0;padding:var(--space-2) var(--space-3);box-sizing:border-box;font-size:13px;line-height:1.45;color:var(--fg);background:linear-gradient(180deg,#17120a,#0e0a06);border:1px solid rgba(0,0,0,.7);border-radius:var(--radius-2);box-shadow:var(--shadow-inset-groove),inset 0 0 0 1px var(--border-soft);scrollbar-width:thin;scrollbar-color:var(--iron-500) transparent}.move-card-rules table{font-size:12px}.move-card-rules ul,.move-card-text-area ul{margin:var(--space-1);padding:0;list-style-position:inside}.move-card-details summary{cursor:pointer;font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-secondary);margin-top:var(--space-2)}.hold-move-table th,.roll-move-table th{font-family:var(--font-mono);color:var(--sun-400);text-align:left}.hold-move-table td{text-align:center;vertical-align:middle}.hold-cell-narrow{width:20%}.roll-move-table .cell-as-header{width:15%;vertical-align:top}.move-card-footer,.move-card-action-area{grid-area:footer;height:44px;display:flex;position:relative;z-index:1;width:100%;padding:0;box-sizing:border-box}.character-move-card-roll-button{max-width:100%;width:100%;height:100%;font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--radius-2);box-shadow:inset 0 1px #ffdcaa40,inset 0 -2px #00000059,var(--shadow-1)}.move-card-passive{width:100%;height:100%;display:grid;place-items:center;font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-muted);background:linear-gradient(180deg,var(--iron-800),var(--iron-900))}.roll-result{text-align:center}.roll-result-move{font-family:var(--font-heading);font-size:var(--text-md);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-secondary);margin:0}.roll-result-total{font-family:var(--font-display);font-size:var(--text-4xl);line-height:1.1;margin:var(--space-2) 0}.roll-result.hit .roll-result-total{color:var(--moss-300)}.roll-result.mixed .roll-result-total{color:var(--sun-400)}.roll-result.miss .roll-result-total{color:var(--blood-300)}.roll-result-breakdown{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-muted);margin:0 0 var(--space-3)}.roll-result-message{color:var(--fg-high)}.roll-result-extra{font-family:var(--font-mono);color:var(--sun-200)}.roll-result-options{text-align:left;display:inline-block}.roll-result-xp{margin-top:var(--space-3)}.toast-container{position:fixed;top:80px;right:var(--space-4);z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);max-width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--border-strong);border-left-width:4px;border-radius:var(--radius-2);box-shadow:var(--elev-2);color:var(--fg-high)}.toast-message{margin:0;font-size:var(--text-sm);line-height:var(--leading-snug)}.toast-close{flex-shrink:0;padding:2px 8px;font-size:var(--text-xs);background:transparent;border:none;color:var(--fg-muted)}.toast-close:hover{background:transparent;color:var(--fg-high)}.toast-error{border-left-color:var(--blood-500)}.toast-success{border-left-color:var(--moss-500)}.toast-warning{border-left-color:var(--sun-500)}.toast-info{border-left-color:var(--petrol-400)}.campaign-selection-container{padding:var(--space-4)}.campaign-selection-container h1{margin:0 0 var(--space-4);font-size:var(--text-2xl)}.campaign-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-4);list-style:none;margin:0;padding:0}.campaign-list-item a{display:block;width:min(280px,calc(100vw - 64px));padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-2);box-shadow:var(--shadow-inset-top);color:var(--fg-high);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.campaign-list-item a:hover,.campaign-list-item a:focus-visible{border-color:var(--rust-400);box-shadow:var(--elev-2)}.campaign-list-item h2{font-size:var(--text-lg);margin-bottom:var(--space-2)}.campaign-list-item img{width:100%;height:auto;border-radius:var(--radius-1)}.campaign-selection-empty{color:var(--fg-secondary);padding:var(--space-5);background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:var(--radius-2);max-width:420px}.reference-index{max-width:800px;margin:0 auto;padding:var(--space-4)}.reference-index h1{margin-bottom:var(--space-4)}.reference-index-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.reference-index-tile{display:block;padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-2);box-shadow:var(--shadow-inset-top);color:var(--fg);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.reference-index-tile:hover,.reference-index-tile:focus-visible{border-color:var(--rust-400);box-shadow:var(--elev-2);color:var(--fg)}.reference-index-tile h2{font-size:var(--text-lg);margin-bottom:var(--space-2)}.reference-index-tile p{margin:0;color:var(--fg-secondary);font-size:var(--text-sm)}.playbook-tile-flavor{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.playbook-detail{max-width:800px;margin:0 auto;padding:var(--space-4)}.playbook-detail-nav{margin-bottom:var(--space-3)}.playbook-detail section{margin-bottom:var(--space-5)}.playbook-flavor{border-left:3px solid var(--rust-500);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;font-style:italic;color:var(--fg-secondary);background-color:var(--bg-surface);border-radius:0 var(--radius-2) var(--radius-2) 0}.playbook-description,.instructions-text{white-space:pre-line}.reference-controls{margin:var(--space-3) 0 var(--space-4)}.reference-filter-input{width:min(360px,100%);box-sizing:border-box}.reference-moves{display:flex;flex-direction:column;gap:var(--space-4)}.reference-move{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-3);box-shadow:var(--shadow-inset-top);padding:var(--space-4);scroll-margin-top:var(--space-4)}.reference-move h3{margin:0 0 var(--space-2) 0;display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.roll-badge{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:normal;text-transform:lowercase;background-color:var(--rust-700);color:var(--iron-050);padding:2px 10px;border-radius:var(--radius-pill)}.reference-move p{margin:0;white-space:pre-line}.effect-options{margin:var(--space-2) 0;padding-left:var(--space-4)}.table-scroll{overflow-x:auto}.outcome-table{width:100%;margin-top:var(--space-2);border-collapse:collapse}.outcome-table th,.outcome-table td{padding:6px 10px;text-align:center;border:1px solid var(--border)}.outcome-table th{background-color:var(--bg-surface);font-family:var(--font-mono);color:var(--sun-400);font-weight:700}.outcome-label{font-family:var(--font-mono);color:var(--sun-400);font-weight:700;width:15%;text-align:left}.stat-lines-table{border-collapse:collapse;margin:var(--space-3) 0;font-family:var(--font-mono)}.stat-lines-table th,.stat-lines-table td{padding:6px 16px;text-align:center;border:1px solid var(--border)}.stat-lines-table th{background-color:var(--bg-surface);font-family:var(--font-heading);text-transform:capitalize;color:var(--fg-secondary)}.stat-highlight{color:var(--sun-400);font-weight:700}.improvement-list{padding-left:var(--space-4)}.improvement-list li{margin-bottom:var(--space-1)}:root{--iron-950: #0c0906;--iron-900: #141009;--iron-800: #1e1811;--iron-700: #2a2219;--iron-600: #3a3025;--iron-500: #544434;--iron-400: #7a6751;--iron-300: #a89074;--iron-200: #d4bfa0;--iron-100: #ece0c8;--iron-050: #f8f1df;--rust-900: #3a1408;--rust-700: #7a2a10;--rust-500: #c2471c;--rust-400: #e56a2e;--rust-300: #f39152;--rust-200: #f9b787;--sun-500: #e8b84a;--sun-400: #f0c968;--sun-200: #f5dfa3;--petrol-700: #0f3a44;--petrol-500: #1c6b7c;--petrol-400: #3a96aa;--petrol-300: #6fbac9;--blood-600: #8b1a1a;--blood-500: #b52828;--blood-300: #e06060;--moss-500: #5a6b2e;--moss-300: #92a657;--bg: var(--iron-950);--bg-surface: var(--iron-900);--bg-raised: var(--iron-800);--bg-card: var(--iron-700);--bg-inset: #080604;--fg: var(--iron-100);--fg-high: var(--iron-050);--fg-secondary: var(--iron-300);--fg-muted: var(--iron-400);--fg-on-rust: var(--iron-050);--border: var(--iron-600);--border-strong: var(--iron-500);--border-soft: rgba(168, 144, 116, .12);--accent: var(--rust-500);--accent-hover: var(--rust-400);--accent-contrast: var(--petrol-400);--danger: var(--blood-500);--warning: var(--sun-500);--success: var(--moss-500);--font-display: "Bungee", "Impact", system-ui, sans-serif;--font-heading: "Anton", "Arial Narrow", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-hand: "Permanent Marker", "Bradley Hand", cursive;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 18px;--text-lg: 22px;--text-xl: 28px;--text-2xl: 36px;--text-3xl: 48px;--text-4xl: 64px;--text-5xl: 84px;--leading-tight: 1.1;--leading-snug: 1.25;--leading-body: 1.55;--leading-loose: 1.75;--tracking-wide: .08em;--tracking-wider: .16em;--tracking-caps: .22em;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--radius-0: 0;--radius-1: 2px;--radius-2: 4px;--radius-3: 8px;--radius-pill: 999px;--shadow-1: 0 2px 3px rgba(0,0,0,.7), 0 1px 0 rgba(0,0,0,.6);--shadow-2: 0 6px 14px rgba(0,0,0,.75), 0 2px 4px rgba(0,0,0,.6);--shadow-3: 0 16px 36px rgba(0,0,0,.85), 0 6px 12px rgba(0,0,0,.7);--shadow-inset-top: inset 0 1px 0 rgba(255, 220, 170, .08);--shadow-inset-groove: inset 0 2px 6px rgba(0,0,0,.6);--surface-0: var(--bg);--surface-1: var(--bg-surface);--surface-2: var(--iron-800);--surface-3: var(--iron-700);--elev-1: var(--shadow-inset-top), var(--shadow-1);--elev-2: var(--shadow-inset-top), var(--shadow-2);--elev-3: var(--shadow-inset-top), var(--shadow-3);--glow-rust: 0 0 0 1px var(--rust-500), 0 0 16px rgba(194, 71, 28, .45);--glow-blood: 0 0 0 1px var(--blood-500), 0 0 16px rgba(181, 40, 40, .5);--glow-sun: 0 0 0 1px var(--sun-500), 0 0 18px rgba(232, 184, 74, .4);--ease-out: cubic-bezier(.2,.7,.2,1);--ease-in-out: cubic-bezier(.6,0,.4,1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .36s}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.display,h1.display{font-family:var(--font-display);font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--fg-high);text-transform:uppercase}h1,.h1{font-family:var(--font-heading);font-weight:400;font-size:var(--text-4xl);line-height:var(--leading-tight);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-high);margin:0}h2,.h2{font-family:var(--font-heading);font-weight:400;font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-high);margin:0}h3,.h3{font-family:var(--font-heading);font-weight:400;font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);margin:0}.eyebrow{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-muted)}p,.p{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg);margin:0 0 var(--space-4)}.lede{font-size:var(--text-md);color:var(--fg-secondary);line-height:var(--leading-body)}.small,small{font-size:var(--text-sm);color:var(--fg-secondary)}code,.code,.mono{font-family:var(--font-mono);font-size:.92em;color:var(--sun-200);background:var(--bg-inset);padding:2px 6px;border-radius:var(--radius-1);border:1px solid var(--border-soft)}.hand{font-family:var(--font-hand);color:var(--sun-400);font-size:var(--text-lg);line-height:1.2}.stat-number{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--rust-300);line-height:1}.grain:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.18;mix-blend-mode:overlay}:root{color-scheme:dark}body{margin:0;min-width:320px;min-height:100dvh}a{color:var(--rust-300);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--rust-200)}button{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:10px 18px;border-radius:var(--radius-2);border:1px solid var(--border);background:var(--iron-800);color:var(--fg);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}button:hover{background:var(--iron-700);border-color:var(--border-strong);color:var(--fg-high)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--rust-500);border-color:var(--rust-700);color:var(--fg-on-rust);box-shadow:var(--elev-1)}button.primary:hover{background:var(--rust-400)}:focus-visible{outline:2px solid var(--sun-400);outline-offset:2px}input[type=text],input[type=password],input[type=search],textarea,select{font-family:var(--font-body);font-size:var(--text-base);color:var(--fg-high);background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-2);padding:10px 12px}input:focus,textarea:focus,select:focus{border-color:var(--rust-400);outline:none}.fullpage{min-height:100dvh;width:100vw;margin:0;padding:0}.flex-centered{display:flex;place-items:center;place-content:center}.hidden{visibility:hidden}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
