@import"https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@700&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Special+Elite&family=Syne:wght@700;800&display=swap";:root{--bg-obsidian: #060a10;--bg-indigo: #0b1320;--bg-card: #04070b;--space-wolves-grey: #cedee7;--accent-crimson: #9b1c1c;--accent-teal: #0e7490;--text-white: #f5f5f0;--text-grey: #94a3b8;--border-color: #cedee7;--font-title: "Cinzel Decorative", serif;--font-header: "Syne", sans-serif;--font-body: "Special Elite", monospace;--font-mono: "Space Mono", monospace;--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-obsidian);color:var(--text-white);font-family:var(--font-body);line-height:1.5;background-image:radial-gradient(var(--accent-crimson) 1.2px,transparent 1.2px),radial-gradient(var(--accent-teal) 1px,transparent 1px);background-size:24px 24px;background-position:0 0,12px 12px;min-height:100vh;overflow-x:hidden;position:relative}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-obsidian);border-left:2px solid var(--space-wolves-grey)}::-webkit-scrollbar-thumb{background:var(--space-wolves-grey);border:2px solid var(--bg-obsidian)}::-webkit-scrollbar-thumb:hover{background:var(--accent-teal)}body:after{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;opacity:.04;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}.app-container{max-width:1400px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:2rem}.header-panel{background:var(--bg-card);border:4px solid var(--space-wolves-grey);padding:1.5rem 2rem;position:relative;transform:rotate(-.5deg);box-shadow:8px 8px #cedee733;display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center}.print-logo{display:none}.header-panel:before{content:"MISTERY AND HORROR // NO GUTS, NO GLORY // BIG RISK, SMALL REWARD";position:absolute;top:-12px;left:20px;background:var(--space-wolves-grey);color:var(--bg-obsidian);font-family:var(--font-mono);font-size:.75rem;font-weight:700;padding:.1rem .5rem;letter-spacing:2px}.header-title{font-family:var(--font-title);font-size:3rem;color:var(--space-wolves-grey);text-shadow:4px 4px 0px var(--accent-crimson);letter-spacing:2px;text-transform:uppercase}.header-subtitle{font-family:var(--font-header);font-size:1.1rem;font-weight:800;color:var(--accent-teal);letter-spacing:4px;text-transform:uppercase}.controls-container{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;width:100%;max-width:1050px;margin:0 auto;border-top:2px dashed rgba(206,222,231,.4);padding-top:1rem}@media (max-width: 960px){.controls-container{grid-template-columns:repeat(2,1fr);max-width:600px}}@media (max-width: 520px){.controls-container{grid-template-columns:1fr;max-width:320px}}.punk-button{background:var(--space-wolves-grey);color:var(--bg-obsidian);font-family:var(--font-header);font-weight:800;font-size:1.1rem;padding:.75rem 1.5rem;border:3px solid var(--text-white);cursor:pointer;text-transform:uppercase;letter-spacing:2px;transition:var(--transition-fast);box-shadow:4px 4px 0 var(--accent-crimson);display:inline-flex;align-items:center;gap:.5rem;transform:skew(-5deg)}.punk-button:hover{background:var(--accent-teal);color:var(--text-white);box-shadow:0 0 0 transparent;transform:translate(4px,4px) skew(-5deg)}.punk-button:active{transform:translate(6px,6px) skew(-5deg)}.toggle-wrapper{display:flex;align-items:center;gap:1rem}.toggle-label{font-family:var(--font-mono);font-weight:700;color:var(--text-white);text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.toggle-switch{position:relative;display:inline-block;width:60px;height:30px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-indigo);border:2px solid var(--space-wolves-grey);transition:.4s;box-shadow:inset 0 0 10px #000c}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:var(--space-wolves-grey);transition:.4s}input:checked+.toggle-slider{background-color:var(--accent-teal);border-color:var(--text-white)}input:checked+.toggle-slider:before{transform:translate(30px);background-color:var(--text-white)}.zine-sheet{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%}@media (max-width: 1024px){.zine-sheet{grid-template-columns:1fr}}.zine-page{background:var(--bg-card);border:4px solid var(--space-wolves-grey);padding:2rem;position:relative;box-shadow:12px 12px #00000080;display:flex;flex-direction:column;gap:1.5rem}.zine-page.left{transform:rotate(.3deg);border-width:4px 2px 4px 6px}.zine-page.right{transform:rotate(-.3deg);border-width:4px 6px 4px 2px}.torn-separator{height:10px;background:repeating-linear-gradient(-45deg,var(--space-wolves-grey),var(--space-wolves-grey) 5px,transparent 5px,transparent 10px);margin:.5rem 0;opacity:.6}.zine-section{border:2px solid var(--accent-teal);padding:1rem;position:relative;background:#0b132080}.zine-section.slanted{transform:rotate(-.5deg);border-color:var(--space-wolves-grey)}.zine-section-title{position:absolute;top:-12px;left:10px;background:var(--bg-card);padding:0 .5rem;font-family:var(--font-header);font-weight:800;text-transform:uppercase;color:var(--space-wolves-grey);font-size:.9rem;letter-spacing:1px}.identity-header{display:flex;flex-direction:column;gap:.5rem;border-bottom:3px double var(--space-wolves-grey);padding-bottom:1rem}.char-name{font-family:var(--font-title);font-size:2.2rem;color:var(--space-wolves-grey);line-height:1.1;text-shadow:2px 2px 0 var(--accent-crimson)}.char-meta-row{display:flex;flex-wrap:wrap;gap:.5rem;font-family:var(--font-mono);font-size:.85rem}.char-badge{background:var(--bg-indigo);border:1px solid var(--accent-teal);padding:.2rem .5rem;color:var(--text-white);text-transform:uppercase}.char-badge.primary{background:var(--accent-teal);color:var(--text-white);font-weight:700}.char-badge.space-wolves{background:var(--space-wolves-grey);color:var(--bg-obsidian);font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 480px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-box{background:var(--bg-card);border:2px solid var(--space-wolves-grey);padding:.75rem;text-align:center;position:relative;cursor:pointer;transition:var(--transition-fast)}.stat-box:hover{border-color:var(--text-white);background:var(--bg-indigo)}.stat-box-label{font-family:var(--font-header);font-size:.75rem;text-transform:uppercase;color:var(--text-grey);letter-spacing:1px}.stat-box-value{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--space-wolves-grey)}.stat-box-score{font-family:var(--font-body);font-size:.8rem;color:var(--text-white)}.stat-boost-info{font-size:.65rem;font-family:var(--font-mono);color:var(--accent-teal);margin-top:.25rem;text-align:left;line-height:1.2}.combat-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.combat-box{background:var(--bg-indigo);border:2px solid var(--space-wolves-grey);text-align:center;padding:.75rem}.combat-box.accent-hp{border-color:var(--accent-crimson);background:#9b1c1c1a}.combat-box.accent-ac{border-color:var(--accent-teal);background:#0e74901a}.combat-label{font-family:var(--font-header);font-size:.8rem;text-transform:uppercase;color:var(--text-grey)}.combat-value{font-family:var(--font-mono);font-size:1.8rem;font-weight:700}.combat-box.accent-hp .combat-value{color:var(--accent-crimson)}.combat-box.accent-ac .combat-value{color:var(--accent-teal)}.combat-sub{font-family:var(--font-body);font-size:.7rem;opacity:.8}.saves-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.save-box{background:var(--bg-card);border:2px solid var(--text-grey);padding:.5rem;text-align:center;cursor:pointer;transition:var(--transition-fast)}.save-box:hover{border-color:var(--space-wolves-grey)}.save-label{font-family:var(--font-header);font-size:.75rem;text-transform:uppercase}.save-value{font-family:var(--font-mono);font-size:1.4rem;font-weight:700;color:var(--text-white)}.save-prof{font-size:.65rem;text-transform:uppercase;font-weight:700}.save-prof.expert{color:var(--space-wolves-grey)}.save-prof.trained{color:var(--text-grey)}.strike-row{display:flex;flex-direction:column;gap:.75rem}.strike-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-indigo);border:1px solid var(--space-wolves-grey);padding:.5rem 1rem;cursor:pointer;transition:var(--transition-fast)}.strike-item:hover{background:#cedee726}.strike-name-box{display:flex;flex-direction:column}.strike-name{font-family:var(--font-header);font-weight:700;font-size:1rem;color:var(--space-wolves-grey)}.strike-traits{display:flex;gap:.25rem;margin-top:.2rem}.strike-trait{font-family:var(--font-mono);font-size:.6rem;background:var(--bg-obsidian);color:var(--text-grey);padding:.1rem .3rem;text-transform:uppercase}.strike-roll-box{display:flex;align-items:center;gap:1rem}.strike-bonus{font-family:var(--font-mono);font-size:1.2rem;font-weight:700;background:var(--bg-card);border:1px solid var(--accent-teal);padding:.25rem .5rem;color:var(--accent-teal)}.strike-damage{font-family:var(--font-mono);font-size:1rem;color:var(--accent-crimson)}.action-glyph{font-family:var(--font-header);font-weight:800;font-size:.75rem;padding:.1rem .4rem;background:var(--space-wolves-grey);color:var(--bg-obsidian);margin-right:.5rem;display:inline-block;letter-spacing:0px}.action-glyph.reaction{background:var(--accent-crimson);color:var(--text-white)}.action-glyph.free{background:var(--accent-teal);color:var(--text-white)}.skills-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;font-family:var(--font-mono);font-size:.8rem}.skill-item{display:flex;justify-content:space-between;padding:.25rem .5rem;background:#ffffff05;border-bottom:1px solid rgba(206,222,231,.1);cursor:pointer}.skill-item:hover{background:#0e74901a}.skill-item.trained{border-left:3px solid var(--accent-teal);font-weight:700}.skill-item.trained .skill-prof{color:var(--accent-teal)}.skill-name{color:var(--text-white)}.inv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;font-size:.8rem}.inv-item{padding:.3rem .5rem;background:#0003;border-left:2px solid var(--space-wolves-grey)}.pouch-section{display:flex;justify-content:space-between;align-items:center;border:2px solid var(--space-wolves-grey);background:var(--bg-card);padding:.75rem 1rem;font-family:var(--font-mono);font-size:1.1rem;transform:rotate(.5deg)}.pouch-value{color:var(--space-wolves-grey);font-weight:700}.feats-section{display:flex;flex-direction:column;gap:.75rem}.feat-item{border-left:3px solid var(--space-wolves-grey);padding-left:.75rem;margin-bottom:.5rem}.feat-title{font-family:var(--font-header);font-weight:800;color:var(--space-wolves-grey);font-size:.95rem;text-transform:uppercase}.feat-desc{font-family:var(--font-body);font-size:.8rem;color:var(--text-grey)}.spell-grid{display:flex;flex-direction:column;gap:.75rem}.spell-category{font-family:var(--font-header);font-weight:700;font-size:.85rem;color:var(--accent-teal);text-transform:uppercase;border-bottom:1px solid var(--accent-teal);padding-bottom:.2rem}.spell-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}.spell-badge{background:var(--bg-indigo);border:1px solid var(--accent-teal);color:var(--text-white);padding:.2rem .5rem;font-size:.8rem;font-family:var(--font-mono)}.dice-overlay-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#060a10e6;z-index:1000;display:flex;justify-content:center;align-items:center;pointer-events:auto}.tarot-card-perspective{perspective:1200px;width:320px;height:480px;z-index:10}.tarot-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.23,1,.32,1)}.tarot-card.rolling{animation:cardShudder .15s infinite alternate,cardSpin3D 2.5s infinite linear}.tarot-card.revealed{transform:rotateY(180deg);animation:cardPulse 2s infinite ease-in-out}.tarot-card-face{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;border-radius:8px;overflow:hidden;box-shadow:0 15px 35px #000c,0 0 30px #cedee726}.tarot-card-face.front{background:var(--bg-card);border:5px solid var(--space-wolves-grey);transform:rotateY(0)}.tarot-card-face.back{background:var(--bg-card);border:5px solid var(--accent-teal);transform:rotateY(180deg)}.card-border-distressed{width:100%;height:100%;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;align-items:center;position:relative;text-align:center;box-sizing:border-box}.card-texture-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.15;pointer-events:none;background-image:repeating-linear-gradient(45deg,rgba(206,222,231,.1),rgba(206,222,231,.1) 2px,transparent 2px,transparent 8px);z-index:1}.card-sigil{font-size:5rem;color:var(--space-wolves-grey);text-shadow:5px 5px 0px var(--accent-crimson);margin-top:2rem;animation:sigilBeat 1s infinite alternate}.card-title-occult{font-family:var(--font-title);font-size:1.5rem;color:var(--space-wolves-grey);letter-spacing:2px;text-transform:uppercase;margin-top:auto}.card-subtitle-occult{font-family:var(--font-mono);font-size:.85rem;color:var(--accent-teal);text-transform:uppercase;letter-spacing:1px;margin-bottom:2rem;min-height:40px}.scan-line{position:absolute;left:0;width:100%;height:6px;background:linear-gradient(to right,transparent,var(--accent-teal),var(--space-wolves-grey),var(--accent-teal),transparent);box-shadow:0 0 15px var(--accent-teal);opacity:.8;animation:scannerSweep 2s infinite ease-in-out;z-index:2}.collage-bg{background-color:var(--bg-indigo);background-image:radial-gradient(var(--accent-crimson) 1px,transparent 1px),linear-gradient(#00000080 50%,#00000080 50%);background-size:16px 16px,100% 4px}.ransom-number-container{display:flex;justify-content:center;align-items:center;margin-top:3rem;height:180px;position:relative}.ransom-char{background:var(--space-wolves-grey);color:var(--bg-obsidian);font-family:var(--font-mono);font-weight:900;padding:1rem 2rem;border:4px solid var(--text-white);box-shadow:8px 8px 0 var(--accent-crimson);transform:rotate(-3deg);display:inline-block;z-index:2}.number-large{font-size:5rem;line-height:1}.ransom-label-box{width:100%;margin-top:auto;margin-bottom:2rem;z-index:2}.ransom-tag{background:var(--accent-crimson);color:var(--text-white);font-family:var(--font-header);font-weight:800;font-size:.9rem;padding:.4rem 1rem;text-transform:uppercase;letter-spacing:2px;transform:rotate(2deg);display:inline-block}@keyframes cardShudder{0%{transform:translate(3px,2px) rotate(-1.5deg)}to{transform:translate(-3px,-2px) rotate(1.5deg)}}@keyframes cardSpin3D{0%{transform:rotateY(0) scale(.95)}50%{transform:rotateY(180deg) scale(1.05)}to{transform:rotateY(360deg) scale(.95)}}@keyframes cardPulse{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.02)}to{transform:rotateY(180deg) scale(1)}}@keyframes scannerSweep{0%{top:0%}50%{top:100%}to{top:0%}}@keyframes sigilBeat{0%{transform:scale(1);filter:drop-shadow(0 0 5px rgba(206,222,231,.4))}to{transform:scale(1.1);filter:drop-shadow(0 0 20px rgba(155,28,28,.8))}}.dice-overlay-container.character-spread-mode{flex-direction:column;gap:2rem;padding:2rem;justify-content:center;align-items:center;overflow-y:auto}.tarot-spread-title{font-family:var(--font-title);font-size:2.2rem;color:var(--space-wolves-grey);text-shadow:3px 3px 0px var(--accent-crimson);letter-spacing:3px;text-transform:uppercase;transform:rotate(-1deg);text-align:center;animation:cardShudder .2s infinite alternate}.tarot-spread-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;justify-items:center;align-items:center;max-width:650px;width:100%;margin:0 auto}@media (max-width: 640px){.tarot-spread-grid{grid-template-columns:repeat(2,1fr);max-width:420px}}@media (max-width: 440px){.tarot-spread-grid{grid-template-columns:1fr;max-width:200px}}.tarot-card-perspective.spread-card{width:180px;height:270px}.font-small-sigil{font-size:2.5rem;margin-top:1rem}.font-small{font-size:.95rem}.card-subtitle-occult.font-small{font-size:.7rem;margin-bottom:.5rem;min-height:25px}.ransom-number-container.count-small{margin-top:1.5rem;height:90px}.ransom-char.number-medium{font-size:2.5rem;padding:.5rem 1rem;border-width:2px;box-shadow:4px 4px 0 var(--accent-crimson)}.ransom-label-box.label-small{margin-bottom:1rem}.ransom-tag.font-xs{font-size:.65rem;padding:.25rem .6rem}.dice-console-panel{position:fixed;bottom:20px;right:20px;width:320px;background:var(--bg-card);border:3px solid var(--space-wolves-grey);box-shadow:6px 6px #000c;z-index:90;display:flex;flex-direction:column;padding:1rem;transform:rotate(-.5deg)}.dice-console-header{font-family:var(--font-header);font-size:.9rem;font-weight:700;color:var(--space-wolves-grey);border-bottom:2px solid var(--space-wolves-grey);padding-bottom:.3rem;display:flex;justify-content:space-between;align-items:center}.dice-console-body{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.dice-formula{font-family:var(--font-mono);font-size:.85rem;color:var(--text-grey)}.dice-result-box{display:flex;align-items:center;justify-content:space-between;background:var(--bg-indigo);padding:.5rem;border:1px solid var(--accent-teal)}.dice-number{font-family:var(--font-mono);font-size:1.8rem;font-weight:700;color:var(--space-wolves-grey)}.dice-calc{font-family:var(--font-mono);font-size:.75rem;color:var(--text-white);text-align:right}.success-stamp{font-family:var(--font-header);font-weight:900;font-size:1.1rem;padding:.2rem .5rem;text-transform:uppercase;text-align:center;border:2px solid;transform:rotate(-3deg) scale(1.05);margin-top:.5rem}.success-stamp.critical-success{color:var(--space-wolves-grey);border-color:var(--space-wolves-grey);background:#cedee726}.success-stamp.success{color:var(--accent-teal);border-color:var(--accent-teal);background:#0e749026}.success-stamp.failure{color:var(--text-grey);border-color:var(--text-grey);background:#94a3b826}.success-stamp.critical-failure{color:var(--accent-crimson);border-color:var(--accent-crimson);background:#9b1c1c26;animation:stampVibrate .1s infinite alternate}@keyframes stampVibrate{0%{transform:rotate(-3deg) translate(1px,1px)}to{transform:rotate(-3deg) translate(-1px,-1px)}}.dice-console-close{background:transparent;border:none;color:var(--accent-crimson);cursor:pointer;font-weight:700;font-size:1.1rem}@media print{body{background:#fff!important;color:#000!important}.app-container{padding:0}.header-panel{border-color:#000!important;box-shadow:none!important;transform:none!important}.header-title,.header-subtitle{display:none!important}.print-logo{display:block!important;width:50%!important;max-width:50%!important;height:auto!important;max-height:none!important;margin:0 auto 15px;filter:grayscale(1) contrast(200%)}.punk-button,.toggle-wrapper,.dice-console-panel,.dice-overlay-container{display:none!important}.zine-sheet{grid-template-columns:1fr 1fr!important;gap:1cm!important}.zine-page{border-color:#000!important;box-shadow:none!important;transform:none!important;background:transparent!important;padding:.5cm!important}.stat-box,.combat-box,.save-box,.strike-item,.pouch-section{border-color:#000!important;background:transparent!important}.stat-box-value,.combat-value,.save-value,.strike-bonus,.strike-damage,.pouch-value,.char-name{color:#000!important;text-shadow:none!important}}
