:root{--bg-panel:#2a2530;--bg-panel-soft:#3a3442;--bg-scene:#1f1b26;--accent-lavender:#b7a7d9;--accent-mint:#a8d8c4;--accent-rose:#d9a7b8;--accent-gold:#d9c79a;--text-primary:#ebe4f0;--text-muted:#9b92a8;--text-on-accent:#2a2530;--border-soft:#4a4354;--shadow-panel:0 4px 16px #14101c8c;--radius-panel:14px;--radius-card:10px}*{box-sizing:border-box}body{background:var(--bg-scene);color:var(--text-primary);margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif}.combat-board{grid-template-rows:1fr 1fr;gap:0;height:100vh;display:grid}.encounter-panel{background:var(--bg-scene);border-bottom:1px solid var(--border-soft);grid-template-columns:1fr 1fr;gap:2rem;padding:1.5rem 2rem;display:grid}.action-panel{background:var(--bg-panel);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;overflow:hidden}.action-panel__row{grid-template-columns:180px 1fr 2fr;gap:1.25rem;display:grid}.card{background:var(--bg-panel-soft);color:var(--text-primary);border:1px solid var(--border-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-panel);-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;gap:.5rem;width:170px;min-height:240px;padding:.75rem;transition:transform .14s,border-color .14s,box-shadow .14s;display:flex}.card:hover:not([data-disabled]){border-color:var(--accent-lavender);transform:translateY(-6px)}.card[data-disabled]{opacity:.45;filter:grayscale(.3)}.card[data-domain=D1_Concepts]{border-top:3px solid var(--accent-gold)}.card[data-domain=D2_DataSecurity]{border-top:3px solid var(--accent-mint)}.card[data-domain=D3_Infrastructure],.card[data-domain=D4_AppSecurity]{border-top:3px solid var(--accent-lavender)}.card[data-domain=D5_Operations]{border-top:3px solid var(--accent-mint)}.card[data-domain=D6_LegalRisk]{border-top:3px solid var(--accent-rose)}.card__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card__name{font-size:.95rem;font-weight:600;line-height:1.2}.card__cost{background:var(--accent-gold);color:var(--text-on-accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.85rem;font-weight:700;display:inline-flex}.card__domain{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem}.card__desc{color:var(--text-primary);opacity:.85;margin:0;font-size:.78rem;font-style:italic;line-height:1.4}.card__provides{flex-wrap:wrap;gap:4px;margin-top:auto;display:flex}.card__tag{color:var(--accent-lavender);letter-spacing:.02em;white-space:nowrap;background:#b7a7d926;border:1px solid #b7a7d959;border-radius:4px;padding:2px 7px;font-size:.65rem}.card__footer{color:var(--text-primary);border-top:1px solid var(--border-soft);justify-content:flex-end;padding-top:.35rem;font-size:.85rem;display:flex}.card__power{font-weight:600}.card-hand{border-radius:var(--radius-panel);outline-offset:-4px;background:#00000026;outline:2px dashed #0000;flex-wrap:nowrap;gap:.6rem;padding:.5rem;transition:background .14s,outline .14s;display:flex;overflow-x:auto}.card-hand[data-over]{outline-color:var(--accent-lavender);background:#b7a7d91a}.card-hand__empty{color:var(--text-muted);margin:auto}.submission-area{flex-direction:column;gap:.75rem;display:flex}.submission-area__header{justify-content:space-between;align-items:center;display:flex}.submission-area__header h3{color:var(--text-primary);margin:0;font-size:1rem}.submission-area__slots{border:2px dashed var(--border-soft);border-radius:var(--radius-panel);background:#0000001a;flex:1;justify-content:flex-start;align-items:center;gap:.6rem;min-height:240px;padding:.75rem;transition:border-color .14s,background .14s;display:flex}.submission-area__slots[data-empty]{justify-content:center}.submission-area__slots[data-over]{border-color:var(--accent-mint);background:#a8d8c414}.submission-area__hint{color:var(--text-muted);margin:0;font-style:italic}.submission-area__commit{background:var(--accent-lavender);color:var(--text-on-accent);border-radius:var(--radius-card);cursor:pointer;border:none;padding:.75rem 1rem;font-weight:700;transition:background .14s}.submission-area__commit:hover:not(:disabled){background:#c8b9e5}.submission-area__commit:disabled{background:var(--bg-panel-soft);color:var(--text-muted);cursor:not-allowed}.coverage-pips{gap:6px;display:flex}.coverage-pips__pip{background:var(--bg-panel-soft);border:1px solid var(--border-soft);border-radius:50%;width:14px;height:14px;transition:background .14s}.coverage-pips__pip[data-matched]{background:var(--accent-mint);border-color:var(--accent-mint)}.status-rail{flex-direction:column;gap:.75rem;display:flex}.energy-orbs{gap:6px;display:flex}.energy-orbs__orb{border:2px solid var(--accent-gold);background:0 0;border-radius:50%;width:18px;height:18px}.energy-orbs__orb[data-filled]{background:var(--accent-gold)}.counter{color:var(--text-muted);font-size:.85rem}.hp-bar{background:var(--bg-panel-soft);border:1px solid var(--border-soft);border-radius:9px;height:18px;margin:.5rem 0;position:relative;overflow:hidden}.hp-bar__fill{height:100%;transition:width .24s}.hp-bar[data-variant=enemy] .hp-bar__fill{background:var(--accent-rose)}.hp-bar[data-variant=player] .hp-bar__fill{background:var(--accent-mint)}.hp-bar__label{color:var(--text-primary);text-shadow:0 1px 2px #00000080;justify-content:center;align-items:center;font-size:.75rem;display:flex;position:absolute;inset:0}.scenario{color:var(--text-primary);border-left:2px solid var(--accent-rose);margin:.75rem 0 0;padding-left:.75rem;font-style:italic}.requirement-panel{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:#0003;flex-direction:column;gap:.75rem;margin-top:1rem;padding:.85rem 1rem;display:flex}.requirement-panel__section{flex-direction:column;gap:.4rem;display:flex}.requirement-panel__heading{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.72rem;font-weight:600}.requirement-panel__list{flex-wrap:wrap;gap:.4rem .8rem;margin:0;padding:0;list-style:none;display:flex}.requirement-panel__item{color:var(--text-muted);align-items:center;gap:.45rem;font-size:.82rem;transition:color .18s;display:flex}.requirement-panel__pip{border:1.5px solid var(--text-muted);background:0 0;border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:background .18s,border-color .18s,box-shadow .18s}.requirement-panel__item[data-tier=required] .requirement-panel__pip{border-color:var(--accent-rose)}.requirement-panel__item[data-tier=required][data-covered]{color:var(--accent-mint)}.requirement-panel__item[data-tier=required][data-covered] .requirement-panel__pip{background:var(--accent-mint);border-color:var(--accent-mint);box-shadow:0 0 8px #a8d8c480}.requirement-panel__item[data-tier=bonus] .requirement-panel__pip{border-color:var(--accent-gold);border-style:dashed}.requirement-panel__item[data-tier=bonus][data-covered]{color:var(--accent-gold)}.requirement-panel__item[data-tier=bonus][data-covered] .requirement-panel__pip{background:var(--accent-gold);border-color:var(--accent-gold);border-style:solid;box-shadow:0 0 8px #d9c79a80}.phase-indicator{background:var(--bg-panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-card);color:var(--text-muted);text-align:center;letter-spacing:.04em;margin-top:auto;padding:.5rem .75rem;font-size:.8rem}.phase-indicator[data-phase=PlayerAction]{color:var(--accent-mint);border-color:var(--accent-mint)}.phase-indicator[data-phase=Resolution],.phase-indicator[data-phase=EnemyTurn]{color:var(--accent-rose)}.phase-indicator[data-phase=EndEncounter]{color:var(--accent-gold);border-color:var(--accent-gold)}.resolution-overlay{pointer-events:auto;cursor:pointer;z-index:50;background:#14101c80;justify-content:center;align-items:center;animation:.2s ease-out overlay-fade;display:flex;position:fixed;inset:0}.resolution-overlay__card{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);text-align:center;cursor:default;min-width:320px;max-width:460px;padding:1.5rem 2rem;animation:.32s cubic-bezier(.2,.8,.2,1) overlay-rise}.resolution-overlay__card h3{color:var(--accent-lavender);letter-spacing:.03em;margin:0 0 .75rem;font-weight:600}.resolution-overlay__stats{justify-content:center;gap:1.5rem;margin-bottom:.75rem;font-size:1.4rem;font-weight:700;display:flex}.stat--deal{color:var(--accent-mint)}.stat--take{color:var(--accent-rose)}.resolution-overlay__missed{border-left:3px solid var(--accent-rose);border-radius:0 var(--radius-card) var(--radius-card) 0;text-align:left;background:#d9a7b814;margin:.75rem 0;padding:.6rem .9rem}.resolution-overlay__missed-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.resolution-overlay__missed ul{flex-wrap:wrap;gap:.35rem .75rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.resolution-overlay__missed li{color:var(--accent-rose);font-size:.82rem}.resolution-overlay__continue{background:var(--accent-lavender);color:var(--text-on-accent);border-radius:var(--radius-card);cursor:pointer;border:none;margin-top:.75rem;padding:.7rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .14s,transform .14s}.resolution-overlay__continue:hover{background:#c8b9e5;transform:translateY(-1px)}.resolution-overlay__continue:focus-visible{outline:2px solid var(--accent-gold);outline-offset:3px}.resolution-overlay__hint{color:var(--text-muted);margin:.5rem 0 0;font-size:.72rem;font-style:italic}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes overlay-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.quiz-gate{z-index:60;background:#14101cd1;justify-content:center;align-items:center;animation:.2s ease-out overlay-fade;display:flex;position:fixed;inset:0}.quiz-gate__card{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-panel);width:calc(100% - 3rem);max-width:640px;box-shadow:var(--shadow-panel);padding:1.75rem 2rem;animation:.32s cubic-bezier(.2,.8,.2,1) overlay-rise}.quiz-gate__header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding-bottom:.75rem;display:flex}.quiz-gate__progress{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}.quiz-gate__card-name{color:var(--accent-lavender);font-weight:600}.quiz-gate__topic{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.75rem;font-size:.72rem}.quiz-gate__stem{color:var(--text-primary);margin:0 0 1.25rem;font-size:1.05rem;line-height:1.45}.quiz-gate__choices{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.quiz-gate__choice{background:var(--bg-panel-soft);width:100%;color:var(--text-primary);border:1px solid var(--border-soft);border-radius:var(--radius-card);text-align:left;cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:background .12s,border-color .12s;display:flex}.quiz-gate__choice:hover:not(:disabled){border-color:var(--accent-lavender)}.quiz-gate__choice:disabled{cursor:default}.quiz-gate__choice-marker{background:var(--bg-panel);border:1px solid var(--border-soft);width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.quiz-gate__choice[data-correct]{border-color:var(--accent-mint);background:#a8d8c41f}.quiz-gate__choice[data-wrong]{border-color:var(--accent-rose);background:#d9a7b81f}.quiz-gate__choice[data-selected] .quiz-gate__choice-marker{background:var(--accent-lavender);color:var(--text-on-accent);border-color:var(--accent-lavender)}.quiz-gate__choice[data-correct] .quiz-gate__choice-marker{background:var(--accent-mint);color:var(--text-on-accent);border-color:var(--accent-mint)}.quiz-gate__choice[data-wrong] .quiz-gate__choice-marker{background:var(--accent-rose);color:var(--text-on-accent);border-color:var(--accent-rose)}.quiz-gate__explanation{background:var(--bg-panel-soft);border-left:3px solid var(--accent-gold);border-radius:0 var(--radius-card) var(--radius-card) 0;color:var(--text-primary);margin-top:1rem;padding:.75rem 1rem;font-size:.88rem;line-height:1.45;animation:.18s ease-out overlay-fade}.quiz-gate__verdict{margin-right:.35rem;font-weight:700;display:inline}.quiz-gate__verdict--correct{color:var(--accent-mint)}.quiz-gate__verdict--wrong{color:var(--accent-rose)}.quiz-gate__footer{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;animation:.24s ease-out 80ms both overlay-fade;display:flex}.quiz-gate__pin{color:var(--text-muted);border:1px solid var(--border-soft);border-radius:var(--radius-card);cursor:pointer;background:0 0;padding:.55rem .9rem;font-family:inherit;font-size:.85rem;transition:color .14s,border-color .14s,background .14s}.quiz-gate__pin:hover{color:var(--accent-gold);border-color:var(--accent-gold)}.quiz-gate__pin[data-pinned]{color:var(--accent-gold);border-color:var(--accent-gold);background:#d9c79a14}.quiz-gate__continue{background:var(--accent-lavender);color:var(--text-on-accent);border-radius:var(--radius-card);cursor:pointer;border:none;padding:.7rem 1.3rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .14s,transform .14s}.quiz-gate__continue:hover{background:#c8b9e5;transform:translateY(-1px)}.quiz-gate__continue:focus-visible{outline:2px solid var(--accent-gold);outline-offset:3px}.quiz-gate__choice-text{flex:1}.card[data-tier=white],.card[data-tier=green]{border-width:1px}.card[data-tier=blue],.card[data-tier=purple]{border-width:2px}.card[data-tier=gold]{background-image:linear-gradient(#d9c79a0a 0%,#0000 30%);border-width:2px}.card__meta{align-items:center;gap:6px;margin:4px 0 6px;display:flex}.card__domain{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;font-size:10px}.card__tier-badge{width:16px;height:16px;color:var(--text-on-accent);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.card__untested-badge{background:var(--accent-rose);width:16px;height:16px;color:var(--text-on-accent);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.quiz-gate__concept{color:var(--text-muted);font-style:italic;font-weight:400}.menu-screen{color:#e8e3ed;background:radial-gradient(circle at 20% 20%,#b7a7d90f,#0000 40%),radial-gradient(circle at 80% 70%,#a7c5d90f,#0000 40%),#1a1620;justify-content:center;align-items:center;min-height:100vh;padding:2rem;font-family:Georgia,Iowan Old Style,serif;display:flex}.menu-screen__card{text-align:center;background:#1a1620b3;border:1px solid #b7a7d940;border-radius:12px;max-width:520px;padding:3rem 2.5rem;box-shadow:0 0 0 1px #b7a7d926,0 8px 32px #00000073}.menu-screen__title{letter-spacing:.02em;color:#d4cfd8;margin:0 0 .25rem;font-size:2.4rem;font-weight:400}.menu-screen__subtitle{color:#a7c5d9;letter-spacing:.08em;text-transform:uppercase;margin:0 0 2rem;font-size:1rem;font-style:italic}.menu-screen__blurb{color:#c7bdd0;margin:0 0 2.5rem;font-size:1rem;font-style:italic;line-height:1.7}.menu-screen__footer{color:#8a8295;letter-spacing:.05em;margin-top:2.5rem;font-size:.8rem}.end-screen{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0a080eb8;justify-content:center;align-items:center;padding:2rem;animation:.28s ease-out end-screen-fade;display:flex;position:fixed;inset:0}@keyframes end-screen-fade{0%{opacity:0}to{opacity:1}}.end-screen__card{color:#e8e3ed;background:#1a1620f2;border:1px solid #b7a7d959;border-radius:12px;width:100%;max-width:520px;padding:2.5rem;font-family:Georgia,Iowan Old Style,serif;box-shadow:0 0 0 1px #b7a7d933,0 12px 48px #0009}.end-screen[data-outcome=victory] .end-screen__card{border-color:#a8d8c473;box-shadow:0 0 0 1px #a8d8c440,0 12px 48px #0009}.end-screen[data-outcome=defeat] .end-screen__card{border-color:#d9969673;box-shadow:0 0 0 1px #d9969640,0 12px 48px #0009}.end-screen__title{color:#d4cfd8;letter-spacing:.01em;margin:0 0 1rem;font-size:1.8rem;font-weight:400}.end-screen[data-outcome=victory] .end-screen__title{color:#a8d8c4}.end-screen[data-outcome=defeat] .end-screen__title{color:#d99a9a}.end-screen__flavor{color:#c7bdd0;margin:0 0 1.8rem;font-size:1rem;font-style:italic;line-height:1.7}.end-screen__stats{border-top:1px solid #b7a7d926;border-bottom:1px solid #b7a7d926;flex-direction:column;gap:.5rem;margin-bottom:1.8rem;padding:1rem 0;display:flex}.end-screen__stat{justify-content:space-between;align-items:baseline;font-size:.95rem;display:flex}.end-screen__stat-label{color:#8a8295;letter-spacing:.05em;text-transform:uppercase;font-size:.75rem}.end-screen__stat-value{color:#c7bdd0;font-family:IBM Plex Mono,Menlo,monospace;font-size:.9rem}.end-screen__actions{justify-content:flex-end;gap:.75rem;display:flex}.end-screen__btn{color:#d4cfd8;cursor:pointer;background:0 0;border:1px solid #b7a7d966;border-radius:4px;padding:.6rem 1.4rem;font-family:inherit;font-size:.95rem;transition:background .16s,border-color .16s}.end-screen__btn:hover{background:#b7a7d91a;border-color:#b7a7d9bf}.end-screen__btn:focus-visible{outline-offset:2px;outline:2px solid #a7c5d9cc}.end-screen__btn--primary{background:#b7a7d914;border-color:#b7a7d9b3}.end-screen__btn--primary:hover{background:#b7a7d92e}.end-screen__btn--secondary{color:#9a92a5}.menu-screen__choices{flex-direction:column;gap:.75rem;margin-top:.5rem;margin-bottom:.5rem;display:flex}.menu-screen__choice{color:#d4cfd8;cursor:pointer;text-align:center;background:0 0;border:1px solid #b7a7d966;border-radius:4px;flex-direction:column;align-items:center;gap:.25rem;padding:.9rem 1.5rem;font-family:inherit;transition:background .16s,border-color .16s,transform 80ms;display:flex}.menu-screen__choice:hover{background:#b7a7d91a;border-color:#b7a7d9cc}.menu-screen__choice:active{transform:translateY(1px)}.menu-screen__choice:focus-visible{outline-offset:3px;outline:2px solid #a7c5d9cc}.menu-screen__choice--tutorial{border-color:#a7c5d973}.menu-screen__choice--tutorial:hover{background:#a7c5d91a;border-color:#a7c5d9e6}.menu-screen__choice--combat{border-color:#b7a7d98c}.menu-screen__choice-label{letter-spacing:.04em;color:#d4cfd8;font-size:1.1rem}.menu-screen__choice-sub{color:#8a8295;letter-spacing:.02em;font-size:.82rem;font-style:italic}.menu-screen__check{color:#a8d8c4;margin-left:.3rem;font-weight:400}.tutorial-hint{color:#c7d3dc;background:#a7c5d912;border:1px solid #a7c5d940;border-left:3px solid #a7c5d9b3;border-radius:3px;align-items:center;gap:.6rem;margin:.5rem 0;padding:.6rem 1rem;font-size:.88rem;line-height:1.5;animation:.22s ease-out tutorial-hint-in;display:flex}@keyframes tutorial-hint-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tutorial-hint__marker{color:#a7c5d9e6;flex-shrink:0;font-size:.9rem}.tutorial-hint__text{color:#b8c7d4;font-style:italic}.end-screen[data-tutorial][data-outcome=victory] .end-screen__card{border-color:#a7c5d98c;box-shadow:0 0 0 1px #a7c5d94d,0 12px 48px #0009}.end-screen[data-tutorial][data-outcome=victory] .end-screen__title{color:#a7c5d9}.phase-banner{letter-spacing:.02em;background:#ffffff05;border-left:3px solid #0000;border-radius:3px;align-items:baseline;gap:.6rem;padding:.5rem 1rem;font-family:Georgia,Iowan Old Style,serif;font-size:.95rem;transition:border-color .2s,background .2s;display:flex}.phase-banner[data-owner=player]{background:#a8d8c40a;border-left-color:#a8d8c4bf}.phase-banner[data-owner=enemy]{background:#d996960d;border-left-color:#d99696bf}.phase-banner__owner{color:#d4cfd8;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:500}.phase-banner[data-owner=player] .phase-banner__owner{color:#a8d8c4}.phase-banner[data-owner=enemy] .phase-banner__owner{color:#d99a9a}.phase-banner__sep{color:#5a5465;font-size:.85rem}.phase-banner__beat{color:#c7bdd0;font-size:.9rem;font-style:italic}@keyframes spin{to{transform:rotate(360deg)}}
