:root{--paper: #efe6d4;--paper-2: #e6dac2;--paper-3: #dccfb3;--ink: #1c2030;--ink-2: #3a4054;--ink-soft: rgba(28,32,48,.62);--rule: rgba(28,32,48,.14);--rule-2: rgba(28,32,48,.28);--rule-3: rgba(28,32,48,.5);--hustle: #c8593f;--build: #2e5566;--money: #b8852a;--wild: #7b4a8a;--grow-good: #5d7a3d;--night: #0f1626}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:Geist,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;overflow-x:hidden;overflow-y:auto}#root{min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 0.12  0 0 0 0 0.12  0 0 0 0 0.18  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.34;mix-blend-mode:multiply}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5vh 6vw;gap:20px;background:radial-gradient(120% 80% at 50% 0%,#f3eada 0%,var(--paper) 60%,#e7dcc4 100%)}.landing-archetype{gap:16px;padding:4vh 4vw}.landing-head{text-align:center;max-width:760px}.landing-head .kicker{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}.landing-head h1{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(44px,7vw,88px);line-height:1.02;letter-spacing:-.015em;margin:0 0 14px}.landing-head h1 em{font-style:italic;color:var(--hustle)}.landing-head .sub{font-family:"Instrument Serif",serif;font-style:italic;font-size:18px;color:var(--ink-2);margin:0;line-height:1.35}.landing-card-display{display:flex;gap:18px;perspective:1400px;margin:8px 0 4px;height:228px;align-items:center}.landing-card-display .ldc{transform-style:preserve-3d;animation:floatCard 6s ease-in-out infinite}.landing-card-display .ldc:nth-child(1){animation-delay:-2s;transform:rotate(-6deg)}.landing-card-display .ldc:nth-child(2){animation-delay:-4s;transform:rotate(2deg) translateY(-8px) scale(1.04);z-index:2}.landing-card-display .ldc:nth-child(3){animation-delay:-1s;transform:rotate(7deg) translateY(2px)}@keyframes floatCard{50%{transform:translateY(-6px)}}.landing-form{width:min(560px,92%);background:#efe6d4b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:.5px solid var(--rule-2);border-radius:8px;padding:20px 22px;box-shadow:0 30px 80px -30px #0006}.landing-form label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-bottom:8px}.landing-form input[type=text]{width:100%;padding:13px 14px;border:1px solid var(--rule-2);border-radius:4px;background:#ffffffb3;font-family:"Instrument Serif",serif;font-size:18px;color:var(--ink);outline:none}.landing-form input[type=text]:focus{border-color:var(--hustle);box-shadow:0 0 0 3px #c8593f29}.landing-form input::placeholder{color:#1c203066;font-style:italic}.difficulty{display:flex;gap:6px;margin-top:12px}.diff-pill{flex:1;padding:9px 10px;border:1px solid var(--rule-2);background:#ffffff80;border-radius:3px;font-size:11px;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;color:var(--ink-2);transition:.15s}.diff-pill:hover{background:#ffffffd9}.diff-pill.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.diff-pill .ds{display:block;font-size:9px;letter-spacing:.08em;color:var(--ink-soft);margin-top:2px;text-transform:none;font-family:"Instrument Serif",serif;font-style:italic}.diff-pill.on .ds{color:#efe6d4a6}.launch-btn{margin-top:14px;width:100%;padding:15px;background:var(--hustle);color:#fff;border:0;border-radius:4px;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;gap:10px}.launch-btn:hover{background:#a8472f}.launch-btn:disabled{opacity:.4;cursor:not-allowed}.launch-btn .arr{transition:transform .2s}.launch-btn:hover .arr{transform:translate(4px)}.landing-foot{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);text-align:center}.back-btn{background:none;border:none;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;padding:8px 0}.back-btn:hover{color:var(--ink)}.archetype-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(920px,96vw)}@media(max-width:760px){.archetype-grid{grid-template-columns:repeat(2,1fr)}}.archetype-card{padding:16px 14px;border-radius:8px;background:#efe6d4b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid var(--rule-2);cursor:pointer;text-align:left;transition:.18s;position:relative;overflow:hidden}.archetype-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--a-color, var(--ink))}.archetype-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px -12px #0000004d;border-color:var(--a-color, var(--rule-2))}.archetype-card.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.arch-icon{font-size:24px;margin-bottom:6px}.arch-name{font-family:"Instrument Serif",serif;font-size:18px;color:var(--ink);margin-bottom:4px;font-weight:400}.archetype-card.selected .arch-name{color:var(--paper)}.arch-tagline{font-family:"Instrument Serif",serif;font-style:italic;font-size:12px;color:var(--ink-soft);line-height:1.3;margin-bottom:6px}.archetype-card.selected .arch-tagline{color:#efe6d499}.arch-diff{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}.archetype-card.selected .arch-diff{color:#efe6d480}.game{position:relative;height:100vh;min-height:540px;display:grid;grid-template-rows:auto auto auto 1fr auto auto;gap:7px;padding:10px 14px 7px;min-width:0;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:8px;min-width:0}.arch-badge{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.brand .name{font-family:"Instrument Serif",serif;font-size:20px;letter-spacing:.005em;font-style:italic;color:var(--hustle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28ch}.brand .tag{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}.topright{display:flex;gap:14px;align-items:center;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.topright button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;letter-spacing:inherit;padding:6px 10px;border-radius:3px}.topright button:hover{background:#1c203012}.advisor-bar{display:flex;align-items:baseline;gap:10px;background:#7b4a8a14;border:.5px solid rgba(123,74,138,.2);border-radius:5px;padding:7px 12px;font-family:"Instrument Serif",serif;font-style:italic;font-size:14px;color:var(--ink-2);animation:fadeIn .5s ease}.advisor-label{font-family:JetBrains Mono,monospace;font-style:normal;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--wild);flex-shrink:0}.board{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:6px;background:linear-gradient(180deg,var(--paper-2),var(--paper-3));border:.5px solid var(--rule-2);border-radius:8px;padding:8px 12px 9px;box-shadow:inset 0 1px #fff6,0 8px 20px -16px #0006}.board .tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0 6px;border-radius:5px;background:#ffffff2e;border:1px dashed transparent;min-height:46px;justify-content:flex-start;transition:.25s}.board .tile.now{background:#c8593f1a;border:1px dashed rgba(200,89,63,.5)}.board .tile.done{background:#1c20300f}.board .tile .ml{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.board .tile.now .ml{color:var(--hustle);font-weight:600}.board .tile .qlabel{font-family:JetBrains Mono,monospace;font-size:8px;letter-spacing:.12em;color:#1c203059}.board .tile .et{width:14px;height:18px;border-radius:2px;background:linear-gradient(135deg,#3a4054,#1c2030);box-shadow:0 1px #ffffff2e inset,0 2px 4px #00000040;position:relative;margin-top:1px}.board .tile .et:after{content:"?";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--paper);font-family:"Instrument Serif",serif;font-size:11px;font-style:italic;opacity:.85}.board .tile.done .et{background:linear-gradient(135deg,#7c826a,#5d7a3d);transform:rotate(-2deg)}.board .tile.done .et:after{content:"✓";font-style:normal;font-size:11px}.board .pawn{position:absolute;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--hustle);border:2px solid var(--paper);box-shadow:0 4px 8px #00000059,0 0 0 2px #c8593f40;transition:left .55s cubic-bezier(.4,0,.2,1)}.board .pawn:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:#ffffff4d}.ev-popout{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:140px;background:var(--paper);border:.5px solid var(--rule-2);border-radius:6px;padding:8px 10px;box-shadow:0 12px 30px -12px #00000073;z-index:30;font-family:"Instrument Serif",serif;font-size:12px;line-height:1.3;text-align:left;pointer-events:none}.ev-popout .pn{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:3px}.stage{display:grid;grid-template-columns:minmax(240px,1fr) 1.3fr;gap:12px;min-height:0}@media(max-width:900px){.stage{grid-template-columns:1fr 1fr}}.stats-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.panel{background:linear-gradient(180deg,var(--paper-2),var(--paper-3));border:.5px solid var(--rule-2);border-radius:8px;padding:10px 12px;box-shadow:inset 0 1px #ffffff73,0 14px 36px -28px #0006;position:relative;min-height:0;display:flex;flex-direction:column}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panel-head .ph-l{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.panel-head .ph-r{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;color:var(--ink-soft)}.event-slot{flex:1;display:flex;align-items:center;justify-content:center;position:relative;perspective:1600px;min-height:0}.event-empty{text-align:center;font-family:"Instrument Serif",serif;font-style:italic;color:var(--ink-soft);font-size:15px;max-width:22ch;line-height:1.4}.ev-card{height:100%;max-height:300px;aspect-ratio:5/7;width:auto;max-width:100%;border-radius:10px;position:relative;cursor:pointer;flex-shrink:0;min-height:190px}.ev-card .ev-face,.ev-card .ev-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 1px #ffffff80 inset,0 20px 40px -16px #0006,0 4px 14px -6px #0000004d;transition:opacity .55s ease,transform .65s cubic-bezier(.5,.05,.3,1.05)}.ev-card .ev-face{background:var(--paper);border:.5px solid var(--rule-2);opacity:1;transform:rotateY(0) scale(1)}.ev-card .ev-back{background:linear-gradient(135deg,#3a4054,#1c2030);display:flex;align-items:center;justify-content:center;opacity:0;transform:rotateY(20deg) scale(.92);pointer-events:none}.ev-card.is-back .ev-face{opacity:0;transform:rotateY(-20deg) scale(.92);pointer-events:none}.ev-card.is-back .ev-back{opacity:1;transform:rotateY(0) scale(1);pointer-events:auto}.ev-card .ev-back .qm{font-family:"Instrument Serif",serif;font-style:italic;font-size:80px;color:#efe6d42e}.ev-card .ev-back .bk-stripe{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid rgba(239,230,212,.18);border-radius:6px}.ev-card .ev-back .bk-stripe:after{content:"EVENT";position:absolute;top:8px;left:50%;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.4em;color:#efe6d466}.ev-card .ev-month{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.ev-card .ev-title{font-family:"Instrument Serif",serif;font-size:22px;line-height:1.05;letter-spacing:-.01em;margin:5px 0 8px;color:var(--ink);text-wrap:balance}.ev-card .ev-flav{font-family:"Instrument Serif",serif;font-style:italic;font-size:13px;color:var(--ink-2);line-height:1.4;flex:1;overflow:hidden}.ev-card .ev-foot{margin-top:8px;padding-top:8px;border-top:1px solid var(--rule);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:flex;justify-content:space-between;gap:8px}.ev-card .ev-cost{color:var(--hustle);font-weight:600}.ev-card .ev-need{display:inline-flex;align-items:center;gap:5px}.ev-card .ev-need .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.ev-card .ev-drop{margin-top:8px;border:1.5px dashed var(--rule-3);border-radius:6px;padding:12px 10px;text-align:center;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);background:#ffffff40;transition:.2s;min-height:54px;display:flex;align-items:center;justify-content:center}.ev-card .ev-drop.over{background:#c8593f1f;border-color:var(--hustle);color:var(--hustle)}.ev-card .ev-drop.satisfied{background:#5d7a3d24;border-color:var(--grow-good);color:var(--grow-good);border-style:solid}.playmat{display:flex;flex-direction:column;gap:10px;min-height:0}.playmat .slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.playmat .slot{aspect-ratio:5/7;border:1.5px dashed var(--rule-2);border-radius:8px;background:#ffffff2e;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-align:center;padding:8px;position:relative;transition:.18s}.playmat .slot.over{border-color:var(--hustle);background:#c8593f1a;color:var(--hustle)}.playmat .slot.filled{border:.5px solid var(--rule-2);background:transparent}.roll-area{background:#ffffff1f;border:.5px solid var(--rule);border-radius:6px;padding:9px;display:flex;align-items:center;gap:12px;min-height:80px}.roll-area .roll-msg{flex:1;font-family:"Instrument Serif",serif;font-size:14px;line-height:1.35;font-style:italic;color:var(--ink-2)}.roll-area .roll-msg b{font-style:normal;color:var(--ink);font-weight:600}.die{width:50px;height:50px;border-radius:8px;background:var(--paper);border:1px solid var(--rule-3);box-shadow:0 4px 10px #0000002e,inset 0 1px #ffffff80;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:7px;gap:2px;position:relative;flex-shrink:0}.die .pip{background:transparent;border-radius:50%}.die .pip.on{background:var(--ink)}.die.rolling{animation:dieRoll .45s linear infinite}@keyframes dieRoll{0%{transform:rotate(0) translateY(0)}25%{transform:rotate(90deg) translateY(-5px)}50%{transform:rotate(180deg) translateY(0)}75%{transform:rotate(270deg) translateY(-5px)}to{transform:rotate(360deg) translateY(0)}}.die.success{box-shadow:0 4px 10px #0000002e,inset 0 1px #ffffff80,0 0 0 3px #5d7a3d66}.die.fail{box-shadow:0 4px 10px #0000002e,inset 0 1px #ffffff80,0 0 0 3px #c8593f66}.stat-card{background:linear-gradient(180deg,var(--paper-2),var(--paper-3));border:.5px solid var(--rule-2);border-radius:8px;padding:8px 11px;position:relative;overflow:hidden}.stat-card .row1{display:flex;justify-content:space-between;align-items:baseline;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.stat-card .row1 .icon{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;margin-right:5px;vertical-align:middle}.stat-card .row1 .val{color:var(--ink);font-size:17px;font-weight:600;font-family:"Instrument Serif",serif;letter-spacing:0}.stat-card .row1 .val.danger{color:var(--hustle)}.stat-card .bar{margin-top:6px;height:5px;background:#1c20301a;border-radius:99px;overflow:hidden;position:relative}.stat-card .bar .fill{height:100%;background:var(--ink);transition:width .65s cubic-bezier(.4,0,.2,1);border-radius:99px}.stat-card .bar .fill.warn{background:var(--hustle)}.stat-card .delta{position:absolute;top:8px;right:11px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;pointer-events:none;animation:rise 1.6s ease both}.stat-card .delta.up{color:var(--grow-good)}.stat-card .delta.dn{color:var(--hustle)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}15%{opacity:1}to{opacity:0;transform:translateY(-22px)}}.coin{position:fixed;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f6dc8f,#b8852a);box-shadow:0 0 0 1px #b4822899,0 2px 6px #0000004d;z-index:1500;pointer-events:none;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700;color:#3a2a08;display:flex;align-items:center;justify-content:center}.coin:after{content:"£"}.floaty{position:fixed;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;z-index:1500;pointer-events:none;letter-spacing:.04em;text-shadow:0 1px 0 rgba(239,230,212,.7)}.floaty.up{color:var(--grow-good)}.floaty.dn{color:var(--hustle)}.hand-tray{display:flex;align-items:flex-end;justify-content:center;gap:0;height:176px;position:relative;padding:0 20px 6px;overflow:visible}.hand-tray .hand{display:flex;gap:0;align-items:flex-end;justify-content:center;position:relative;height:100%}.hand-tray .hand .card-wrap{position:relative;transition:transform .25s cubic-bezier(.3,.5,.4,1.2),margin .25s;cursor:grab;will-change:transform;margin-left:-38px}.hand-tray .hand .card-wrap.first-card{margin-left:0}.hand-tray .hand .card-wrap.dragging{cursor:grabbing;z-index:200;transition:none}.hand-tray .hand .card-wrap:not(.dragging):hover{transform:translateY(-26px) rotate(0) scale(1.04)!important;z-index:10}.hand-tray .hand .card-wrap.played{opacity:.3;pointer-events:none;transform:translateY(0) scale(.96)!important}.hand-actions{position:absolute;right:24px;bottom:14px;display:flex;flex-direction:column;gap:6px;align-items:flex-end;z-index:5}.end-turn{padding:13px 20px;background:var(--ink);color:var(--paper);border:0;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 8px 18px -8px #00000073}.end-turn:hover{background:#0f1626;transform:translateY(-1px)}.end-turn:disabled{opacity:.55;cursor:not-allowed;transform:none}.end-turn .arrow{transition:transform .2s}.end-turn:hover .arrow{transform:translate(3px)}.end-turn-top{padding:8px 14px;font-size:11px;letter-spacing:.2em;border-radius:5px;box-shadow:0 4px 10px -4px #0006;background:var(--hustle);color:#fff;margin-left:4px}.end-turn-top:hover{background:#a8472f}.hand-hint{position:absolute;left:24px;bottom:14px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);z-index:5}.hand-hint b{color:var(--ink);font-weight:600}.card{width:122px;aspect-ratio:5/7;background:var(--paper);border-radius:9px;box-shadow:0 1px #ffffff80 inset,0 12px 24px -10px #00000052,0 2px 6px #0003;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:9px 10px;border:.5px solid var(--rule-2);-webkit-user-select:none;user-select:none}.card.disabled{opacity:.55;filter:grayscale(.4)}.card.disabled:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,rgba(28,32,48,.04),rgba(28,32,48,.04) 6px,transparent 6px,transparent 12px);pointer-events:none}.card .c-suit-bar{position:absolute;top:0;left:0;right:0;height:7px;background:var(--c-color, var(--ink))}.card .c-suit{position:absolute;top:12px;right:10px;width:18px;height:18px;border-radius:50%;background:var(--c-color);color:#fff;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.card .c-name{margin-top:11px;font-family:"Instrument Serif",serif;font-size:15px;line-height:1.05;letter-spacing:-.005em;color:var(--ink);min-height:34px;max-width:9ch}.card .c-art{flex:1;display:flex;align-items:center;justify-content:center;margin:2px 0;font-family:"Instrument Serif",serif;font-style:italic;font-size:28px;color:var(--c-color);opacity:.85}.card .c-cost{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:2px;display:flex;flex-wrap:wrap;gap:3px}.card .c-cost .chip{padding:1px 5px;border-radius:2px;background:#c8593f24;color:#8a3a25;font-weight:600}.card .c-cost .chip.free{background:#1c203014;color:var(--ink-soft)}.card .c-eff{font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.02em;color:var(--ink-2);min-height:13px;display:flex;flex-wrap:wrap;gap:3px;font-weight:500}.card .c-eff .gain{color:var(--grow-good);font-weight:600}.card .c-eff .loss{color:var(--hustle);font-weight:600}.card .c-eff .dice{color:var(--wild);font-weight:600}.minigame{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0f1626c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fadeIn .4s ease both}@keyframes fadeIn{0%{opacity:0}}.mg-stage{width:min(640px,92vw);background:var(--paper);border-radius:10px;padding:20px 22px;text-align:center;box-shadow:0 40px 100px -10px #00000080;position:relative}.mg-stage h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:30px;margin:0 0 4px;line-height:1.05}.mg-stage h3 em{font-style:italic;color:var(--hustle)}.mg-stage .mg-flav{font-family:"Instrument Serif",serif;font-style:italic;color:var(--ink-soft);margin:0 0 12px;font-size:14px}.mg-field{position:relative;height:290px;background:linear-gradient(180deg,var(--paper-2),var(--paper-3));border-radius:8px;border:.5px solid var(--rule-2);overflow:hidden;margin-bottom:10px;cursor:crosshair;box-shadow:inset 0 1px #fff6}.mg-target{position:absolute;width:52px;height:52px;border-radius:50%;background:var(--hustle);color:#fff;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 16px #0000004d;transition:transform .12s;-webkit-user-select:none;user-select:none;border:2px solid var(--paper)}.mg-target:hover{transform:scale(1.1)}.mg-target.bug{background:#3a4054;width:42px;height:42px;font-size:9px}.mg-target.bug:before{content:"⌬"}.mg-target.dollar{background:var(--money)}.mg-target.dollar:before{content:"£"}.mg-bar-wrap{height:7px;background:#1c20301a;border-radius:99px;overflow:hidden;margin-bottom:6px}.mg-bar-wrap .bar{height:100%;background:var(--hustle);width:100%;transition:width .1s linear}.mg-info{display:flex;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.mg-info b{color:var(--ink)}.pyl{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0f1626c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fadeIn .4s ease both}.pyl-stage{width:min(560px,92vw);background:var(--paper);border-radius:10px;padding:24px 26px;box-shadow:0 40px 100px -10px #00000080;text-align:center}.pyl-stage h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:28px;margin:0 0 5px}.pyl-stage h3 em{font-style:italic;color:var(--hustle)}.pyl-stage .pyl-flav{font-family:"Instrument Serif",serif;font-style:italic;color:var(--ink-soft);font-size:13px;margin:0 0 14px}.pyl-ladder{display:flex;gap:5px;justify-content:center;margin-bottom:16px}.pyl-rung{flex:1;padding:9px 7px;border-radius:5px;background:#ffffff2e;border:1px dashed var(--rule-2);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--ink-soft);transition:.2s}.pyl-rung.cleared{background:#5d7a3d26;border-color:var(--grow-good);border-style:solid;color:var(--grow-good)}.pyl-rung.cleared b{color:var(--grow-good)}.pyl-rung.current{background:#c8593f1a;border-color:var(--hustle);color:var(--hustle);transform:translateY(-4px)}.pyl-rung .rl{font-size:8px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:3px;opacity:.7}.pyl-rung b{display:block;font-size:12px;font-family:"Instrument Serif",serif;font-style:italic;color:var(--ink);letter-spacing:0;font-weight:400}.pyl-rung .rrisk{font-size:8px;letter-spacing:.12em;text-transform:uppercase;opacity:.5;margin-top:3px}.pyl-actions{display:flex;gap:9px;justify-content:center;margin-top:6px;flex-wrap:wrap}.pyl-btn{padding:11px 18px;border-radius:5px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;cursor:pointer;border:1px solid var(--rule-2);background:transparent;color:var(--ink)}.pyl-btn:hover{transform:translateY(-1px)}.pyl-btn.go{background:var(--hustle);color:#fff;border-color:var(--hustle)}.pyl-btn.cash{background:var(--grow-good);color:#fff;border-color:var(--grow-good)}.ending{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1626d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:400;display:flex;align-items:center;justify-content:center;padding:32px;animation:fadeIn .8s ease both}.ending-card{background:var(--paper);border-radius:10px;padding:32px 36px;max-width:620px;width:100%;text-align:center;position:relative;box-shadow:0 40px 100px -20px #00000080}.ending-card .ek{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}.ending-card h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(40px,6vw,56px);line-height:1.02;margin:0 0 12px}.ending-card h2 em{font-style:italic;color:var(--hustle)}.ending-card .epitaph{font-family:"Instrument Serif",serif;font-style:italic;font-size:17px;line-height:1.5;color:var(--ink-2);margin:0 0 18px}.ending-card .scoreboard{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.ending-card .sb{background:#1c20300d;border-radius:6px;padding:9px 6px;border:.5px solid var(--rule)}.ending-card .sb .lab{font-family:JetBrains Mono,monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.ending-card .sb .v{font-family:"Instrument Serif",serif;font-size:22px;color:var(--ink);margin-top:3px}.ending-card .actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ending-card .actions button{padding:11px 20px;border-radius:5px;border:1px solid var(--rule-2);background:transparent;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;color:var(--ink)}.ending-card .actions button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ending-card .actions button:hover{transform:translateY(-1px)}.combo-hint{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:3px 7px;border-radius:2px;pointer-events:none;white-space:nowrap;animation:hintPop .25s ease both}.combo-hint--combo{background:var(--build);color:#fff}.combo-hint--triple{background:var(--hustle);color:#fff}@keyframes hintPop{0%{opacity:0;transform:translate(-50%) translateY(4px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.combo-flash{position:fixed;left:50%;top:30%;transform:translate(-50%);font-family:"Instrument Serif",serif;font-style:italic;font-size:50px;color:var(--hustle);pointer-events:none;z-index:600;animation:comboFlash 1.5s ease both;text-shadow:0 4px 24px rgba(200,89,63,.4)}@keyframes comboFlash{0%{opacity:0;transform:translate(-50%,20px) scale(.85)}20%{opacity:1;transform:translate(-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-20px) scale(1.06)}}.dm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:350;background:#0f1626d1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease both}.dm-modal{width:min(400px,100%);background:var(--paper);border-radius:12px;padding:22px 24px;box-shadow:0 40px 100px -20px #0000008c;display:flex;flex-direction:column;gap:16px}.dm-card-info{display:flex;align-items:flex-start;gap:12px;padding-bottom:14px;border-bottom:.5px solid var(--rule)}.dm-suit-pip{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;margin-top:2px}.dm-card-name{font-family:"Instrument Serif",serif;font-size:21px;color:var(--ink);line-height:1.05}.dm-card-flav{font-family:"Instrument Serif",serif;font-style:italic;font-size:12px;color:var(--ink-soft);margin-top:3px;line-height:1.3}.dm-die-area{display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 0}.dm-die-area .die{width:82px;height:82px;border-radius:14px;padding:12px;gap:4px}.dm-hint{font-family:"Instrument Serif",serif;font-style:italic;font-size:13px;color:var(--ink-soft);margin:0;text-align:center}.dm-roll-result{font-family:"Instrument Serif",serif;font-size:16px;color:var(--ink-2);margin:0;text-align:center;line-height:1.4}.dm-roll-result.good{color:var(--grow-good)}.dm-roll-result.bad{color:var(--hustle)}.dm-outcomes{display:flex;flex-direction:column;gap:5px}.dm-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;background:#1c20300a;border:.5px solid transparent;transition:.2s}.dm-row.hit{background:#5d7a3d1a;border-color:var(--grow-good)}.dm-row.dim{opacity:.4}.dm-need{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--ink-soft);flex-shrink:0;min-width:26px}.dm-row.hit .dm-need{color:var(--grow-good)}.dm-row-text{font-family:"Instrument Serif",serif;font-size:14px;color:var(--ink-2);flex:1;line-height:1.3}.dm-check{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--grow-good);font-weight:700;flex-shrink:0}.dm-footer{display:flex;justify-content:center}.dm-btn{padding:13px 28px;border-radius:6px;border:1px solid var(--rule-2);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;cursor:pointer;background:transparent;color:var(--ink);transition:.15s;width:100%}.dm-btn:disabled{opacity:.5;cursor:default}.dm-btn-throw{background:var(--hustle);color:#fff;border-color:var(--hustle)}.dm-btn-throw:hover{background:#a8472f;transform:translateY(-1px)}.dm-btn-continue{background:var(--ink);color:var(--paper);border-color:var(--ink)}.dm-btn-continue:hover{background:#0f1626;transform:translateY(-1px)}@media(max-width:640px){.dm-overlay{padding:12px;align-items:flex-end}.dm-modal{border-radius:14px 14px 0 0}}.hand-tray .hand .card-wrap.card-selected{transform:translateY(-36px) rotate(0) scale(1.08)!important;z-index:20!important}.hand-tray .hand .card-wrap.card-selected .card{box-shadow:0 0 0 2.5px var(--hustle),0 16px 32px -8px #c8593f59}.playmat.has-selection .slot:not(.filled){border-color:var(--hustle);border-style:solid;background:#c8593f12;cursor:pointer;animation:slotPulse 1.2s ease-in-out infinite}@keyframes slotPulse{0%,to{background:#c8593f12}50%{background:#c8593f24}}.playmat.has-selection .slot:not(.filled):hover{background:#c8593f33;transform:scale(1.02)}.playmat.has-selection .slot:not(.filled) span{color:var(--hustle);font-weight:600}.ev-drop.tappable{cursor:pointer;border-color:var(--hustle);background:#c8593f0f;animation:slotPulse 1.2s ease-in-out infinite}.selection-banner{position:fixed;bottom:172px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);border-radius:20px;padding:7px 14px 7px 16px;display:flex;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;z-index:60;white-space:nowrap;box-shadow:0 8px 20px -6px #0006;animation:fadeIn .2s ease both}.sel-name{color:var(--paper);font-weight:700}.sel-hint{color:#efe6d48c}.sel-clear{background:#ffffff26;border:none;color:var(--paper);width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0}.sel-clear:hover{background:#ffffff47}.mg-streak{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);font-family:"Instrument Serif",serif;font-style:italic;font-size:46px;color:var(--hustle);pointer-events:none;z-index:10;animation:streakPop .7s ease both;text-shadow:0 4px 20px rgba(200,89,63,.4)}@keyframes streakPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}35%{opacity:1;transform:translate(-50%,-60%) scale(1.1)}to{opacity:0;transform:translate(-50%,-80%) scale(1)}}.mg-field.urgent{animation:fieldPulse .5s ease-in-out infinite}@keyframes fieldPulse{0%,to{border-color:var(--rule-2)}50%{border-color:#c8593f99}}.mg-bar-wrap.urgent .bar{background:var(--hustle);animation:barPulse .4s ease-in-out infinite}@keyframes barPulse{50%{opacity:.65}}.mg-target{touch-action:none}@media(max-width:640px){.mg-target{width:64px;height:64px;font-size:13px}.mg-target.bug{width:52px;height:52px}.mg-field{height:260px}}.htp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0f1626d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease both}.htp-modal{width:min(680px,100%);max-height:90vh;background:var(--paper);border-radius:10px;box-shadow:0 40px 100px -20px #0009;display:flex;flex-direction:column;overflow:hidden}.htp-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:.5px solid var(--rule-2);flex-shrink:0}.htp-title{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.htp-close{background:none;border:none;font-size:16px;color:var(--ink-soft);cursor:pointer;padding:4px 8px;border-radius:3px;font-family:JetBrains Mono,monospace;line-height:1}.htp-close:hover{background:#1c203014;color:var(--ink)}.htp-body{overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:22px;-webkit-overflow-scrolling:touch}.htp-section{display:flex;flex-direction:column;gap:8px}.htp-kicker{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--hustle);font-weight:700}.htp-section p{font-family:"Instrument Serif",serif;font-size:15px;line-height:1.55;color:var(--ink-2);margin:0}.htp-section strong{color:var(--ink);font-weight:600}.htp-section em{font-style:italic}.htp-warning{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--hustle);background:#c8593f14;border:.5px solid rgba(200,89,63,.25);border-radius:4px;padding:7px 10px}.htp-stat-grid{display:flex;flex-direction:column;gap:7px}.htp-stat{display:flex;align-items:center;gap:10px;font-family:"Instrument Serif",serif;font-size:14px;color:var(--ink-2);line-height:1.35}.htp-icon{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;font-family:JetBrains Mono,monospace}.htp-suit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.htp-suit{display:flex;align-items:flex-start;gap:9px;font-family:"Instrument Serif",serif;font-size:13px;color:var(--ink-2);line-height:1.35;padding:9px 10px;border-radius:6px;background:#1c20300a;border:.5px solid var(--rule)}.htp-suit-glyph{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:var(--sc, var(--ink));color:#fff;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.htp-list{margin:0;padding-left:18px;font-family:"Instrument Serif",serif;font-size:14px;color:var(--ink-2);line-height:1.55;display:flex;flex-direction:column;gap:4px}.htp-note{font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.08em;color:var(--ink-soft);background:#1c20300d;border-radius:4px;padding:7px 10px;line-height:1.5}@media(max-width:640px){.game{height:auto;min-height:100svh;grid-template-rows:auto auto auto auto auto auto;padding:8px 8px 172px;gap:6px;overflow:visible}.brand .name{font-size:16px;max-width:12ch}.brand .tag{display:none}.deck-count{display:none!important}.topright{gap:4px}.topright button{padding:6px 8px;font-size:10px}.end-turn-top{padding:8px 10px;font-size:10px;letter-spacing:.12em}.advisor-bar{font-size:12px;padding:6px 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board{padding:4px 6px 5px;gap:2px;grid-template-columns:repeat(12,1fr)}.board .tile{min-height:28px;padding:2px 0 3px;gap:1px}.board .tile .ml{font-size:6px;letter-spacing:.05em}.board .tile .qlabel{display:none}.board .tile .et{width:8px;height:10px;margin-top:0;border-radius:1px}.board .tile .et:after{font-size:8px}.board .pawn{width:12px;height:12px;top:-6px;border-width:1.5px}.stage{grid-template-columns:1fr;gap:8px}.ev-card{max-height:200px;min-height:160px}.ev-card .ev-title{font-size:18px;margin:4px 0 5px}.ev-card .ev-flav{font-size:12px}.ev-card .ev-drop{min-height:40px;padding:8px;font-size:9px}.playmat .slot{font-size:8px;letter-spacing:.1em;padding:4px}.stat-card{padding:5px 6px}.stat-card .row1{font-size:7.5px;letter-spacing:.12em}.stat-card .row1 .icon{width:14px;height:14px;font-size:8px;margin-right:3px}.stat-card .row1 .val{font-size:13px}.stat-card .bar{margin-top:4px;height:4px}.stat-card .delta{font-size:10px;top:5px;right:7px}.hand-tray{position:fixed;bottom:0;left:0;right:0;height:164px;padding:6px 8px 8px;background:var(--paper);border-top:.5px solid var(--rule-2);box-shadow:0 -10px 28px -6px #0000002e;z-index:50}.hand-hint{left:8px;bottom:8px;font-size:9px}.hand-actions{right:8px;bottom:10px}.end-turn{padding:10px 14px;font-size:10px;letter-spacing:.16em}.card{width:82px}.card .c-name{font-size:12px;min-height:26px}.card .c-art{font-size:22px}.card .c-cost,.card .c-eff{font-size:8px}.hand-tray .hand .card-wrap{margin-left:-24px}.hand-tray .hand .card-wrap.first-card{margin-left:0}.hand-tray .hand .card-wrap:not(.dragging):hover{transform:translateY(-20px) scale(1.04)!important}.combo-hint{font-size:7px;padding:2px 5px}.ending{padding:10px;align-items:flex-start;overflow-y:auto}.ending-card{padding:20px 16px}.ending-card h2{font-size:clamp(28px,8vw,44px)}.ending-card .scoreboard{gap:4px}.ending-card .sb{padding:6px 3px}.ending-card .sb .lab{font-size:6.5px;letter-spacing:.1em}.ending-card .sb .v{font-size:16px}.ending-card .actions{gap:7px}.ending-card .actions button{padding:9px 13px;font-size:10px;letter-spacing:.12em}.pyl-stage{padding:16px 14px}.pyl-ladder{flex-wrap:wrap;gap:6px}.pyl-rung{flex:0 0 calc(50% - 3px);min-width:0}.mg-stage{padding:14px 12px}.mg-field{height:220px}.htp-overlay{padding:0;align-items:flex-end}.htp-modal{width:100%;max-height:92vh;border-radius:14px 14px 0 0}.htp-suit-grid{grid-template-columns:1fr}.htp-body{padding:16px;gap:18px}}
