:root{
  --bg:#04100c;
  --panel:#0d2019e8;
  --panel-strong:#10271f;
  --line:#ffffff18;
  --text:#f5f8f6;
  --muted:#91a69e;
  --accent:#b8f26f;
  --accent-2:#74d7a0;
  --felt:#0c7d50;
  --felt-dark:#05452d;
  --gold:#d7b56d;
  --rail:#dfbd78;
  --wood:#563020;
  --red:#d92d45;
  --outcome-win:#8ee6b2;
  --outcome-tie:#ffe28a;
  --outcome-loss:#ff6b61;
  --outcome-equity:#7dd3fc;
  --card-w:clamp(58px,7.2vw,92px);
  --card-h:calc(var(--card-w)*1.42);
  --hero-card-w:clamp(64px,7.7vw,98px);
  --hero-card-h:calc(var(--hero-card-w)*1.42);
  --board-card-w:clamp(68px,8vw,102px);
  --board-card-h:calc(var(--board-card-w)*1.42);
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
}
button,input,select{font:inherit}
button{cursor:pointer}
body{-webkit-tap-highlight-color:transparent}
.app-shell{user-select:none;-webkit-user-select:none}
.app-shell :is(input,textarea,[contenteditable],.session-history,.command-history,.command-log-entries){user-select:text;-webkit-user-select:text}
button:disabled{opacity:.42;cursor:not-allowed}
.hidden{display:none!important}
.muted{color:var(--muted)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.app-shell{width:min(1280px,calc(100% - 30px));margin:auto;padding:126px 0 118px}
.topbar{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:10px max(15px,calc((100vw - 1280px)/2 + 15px));border:0;border-bottom:1px solid #ffffff12;border-radius:0;background:#04130ddd;backdrop-filter:blur(16px);box-shadow:0 12px 34px #0004}
.top-left-tools,.top-actions{display:flex;align-items:center;gap:12px}
.top-actions{flex-wrap:nowrap;justify-content:flex-end;gap:0;padding:5px 8px;border:1px solid #ffffff14;border-radius:14px;background:#071a14b8;box-shadow:0 12px 32px #0003}
.eyebrow,.panel-kicker{margin:0 0 4px;color:var(--accent-2);font-size:.69rem;font-weight:900;letter-spacing:.17em}
.brand-block h1{margin:0;font-size:clamp(1.65rem,4vw,2.5rem);letter-spacing:0}
h2{margin:0;font-size:1.12rem}
h3{margin:22px 0 10px;font-size:.95rem}
.compact-control,.active-players-box{border:1px solid var(--line);background:#ffffff08;border-radius:10px;padding:8px 10px}
.compact-control{display:flex;align-items:center;gap:8px}
.compact-control span,.compact-label{font-size:.61rem;letter-spacing:.1em;font-weight:900;color:var(--muted)}
select{color:var(--text);background:#091914;border:1px solid var(--line);border-radius:8px;padding:5px 7px}
.active-players-box{text-align:left;display:grid;gap:1px;min-width:230px;border:0;border-radius:8px;background:transparent;padding:0 8px 0 4px}
.players-control-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.players-summary-button{display:block;border:0;background:transparent;color:inherit;padding:2px 4px;text-align:left;border-radius:7px}
.players-summary-button:hover .mini-note,.players-summary-button:focus-visible .mini-note{color:var(--accent)}
.opponent-control{display:flex;align-items:center;justify-content:center;gap:7px}
.opponent-control button{width:30px;height:30px;border:1px solid #b8f26f24;border-radius:50%;background:#b8f26f0b;color:#e8ffd1;font-size:1.1rem;line-height:1;display:inline-grid;place-items:center;padding:0}
.opponent-control strong{min-width:24px;font-size:1.1rem;text-align:center;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums}
.mini-note{color:var(--muted);font-size:.7rem}
.top-action-divider{display:block;align-self:stretch;width:1px;min-height:34px;margin:0 9px;background:#ffffff18}
.utility-actions{display:flex;align-items:center;gap:0}
.utility-actions .utility-btn{min-height:36px;border-color:#b8f26f33;background:#b8f26f0b;border-radius:50%;padding:0}
.utility-actions .utility-btn:hover,.utility-actions .utility-btn:focus-visible{outline:0;border-color:#b8f26f70;background:#b8f26f18;color:#efffdc}
.utility-icon-btn{width:36px;height:36px;min-width:36px;color:#dfffb7;font-size:1.2rem;line-height:1}
.utility-icon-btn>span{display:grid;place-items:center;width:100%;height:100%;font-weight:900}
.utility-icon-btn img{display:block;width:20px;height:20px;object-fit:contain}
.stage-pill,.exact-badge{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:800}
.exact-badge{color:var(--accent);border-color:#b8f26f31;background:#b8f26f0d}
.reset-table-btn,.primary-btn,.secondary-btn,.ghost-btn,.target-btn{border-radius:11px;border:1px solid var(--line);padding:10px 13px;font-weight:800;color:var(--text)}
.primary-btn{background:var(--accent);color:#0b1b13;border-color:transparent}
.secondary-btn,.ghost-btn,.target-btn,.reset-table-btn{background:#ffffff08}
.reset-table-btn{width:48px;height:48px;min-width:48px;padding:0;border-radius:50%;display:inline-grid;place-items:center;border-color:#b8f26f33;background:#b8f26f10;color:#dfffb7}
.reset-table-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}
.ghost-btn{padding:7px 10px;color:var(--muted)}
.utility-btn,.reset-table-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.utility-btn svg,.reset-table-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.reset-symbol{display:grid;place-items:center;width:100%;height:100%;font-size:1.25rem;line-height:1;transform:translateY(-1px)}
kbd{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:22px;padding:3px 7px;font-family:inherit;font-size:.68em;line-height:1;text-align:center;white-space:nowrap;border:1px solid #ffffff25;border-bottom-width:2px;border-radius:5px;background:#0003;color:inherit}

.win-hero{position:relative;text-align:center;margin:12px auto 2px}
.win-main{display:grid;justify-items:center}
.win-label{font-size:.72rem;font-weight:900;letter-spacing:.22em;color:var(--muted)}
.win-number{font-size:clamp(4.4rem,11vw,8.4rem);line-height:.95;letter-spacing:0;background:linear-gradient(#fff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 18px 50px #71d79c17}
.win-number.loading{opacity:.68}
.win-number.hand-won{font-size:clamp(2.8rem,7.2vw,5.8rem);color:var(--accent);background:none;text-shadow:0 16px 42px #b8f26f1f}
.strength-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:9px}
.sim-state{color:var(--muted);font-size:.8rem}
.calculation-meta{margin-top:8px;color:#c9ddd5;font-size:.74rem;font-weight:800;letter-spacing:.04em}
.calculation-meta:empty{display:none}
.strength-pill{padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:900;border:1px solid transparent}
.strength-neutral{background:#ffffff0b;color:var(--muted);border-color:var(--line)}
.strength-very-strong{background:#4ade8022;color:#85f5a8;border-color:#4ade8048}
.strength-strong{background:#a3e6351d;color:#c6f36e;border-color:#a3e63545}
.strength-marginal{background:#facc151b;color:#ffe16b;border-color:#facc1545}
.strength-weak{background:#fb923c1e;color:#ffb57e;border-color:#fb923c45}
.strength-very-weak{background:#ef44441d;color:#ff8b8b;border-color:#ef44444a}
.result-summary{width:max-content;max-width:100%;margin:13px auto 0;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ffffff16;border-radius:999px;background:#06140fb8;padding:7px 9px 7px 13px;color:#dbece5;font-size:.76rem;box-shadow:0 14px 38px #0005;outline:0}
.result-summary:focus-visible{box-shadow:0 0 0 3px #b8f26f66,0 14px 38px #0005}
.result-summary .sep{color:#ffffff38}
.info-caret{width:24px;height:24px;border:1px solid #ffffff18;border-radius:50%;color:var(--accent);background:#ffffff0a;display:grid;place-items:center;line-height:1}
.result-actions{margin-top:9px}
.showdown-open-btn{padding:7px 12px;font-size:.76rem}
.result-popover{position:absolute;z-index:20;left:50%;top:calc(100% - 4px);transform:translateX(-50%);width:min(360px,calc(100vw - 32px));display:grid;gap:6px;text-align:left;padding:14px;border:1px solid #ffffff20;border-radius:14px;background:#071611f2;color:#dcebe5;box-shadow:0 20px 70px #000b;backdrop-filter:blur(14px)}
.result-popover span,.result-popover small{color:var(--muted);font-size:.76rem;line-height:1.35}
.popover-arrow{position:absolute;top:-7px;left:50%;width:14px;height:14px;transform:translateX(-50%) rotate(45deg);background:#071611f2;border-left:1px solid #ffffff20;border-top:1px solid #ffffff20}

.table-wrap{position:relative;perspective:1200px;margin:2px 0 48px;outline:0;scroll-margin-block:150px}
.table-floating-controls{position:sticky;top:10px;z-index:12;height:0;display:flex;align-items:flex-start;justify-content:space-between;padding:126px 42px 0 60px;pointer-events:none}
.table-floating-controls>*{pointer-events:auto}
.table-reset{position:relative;right:auto;top:auto;z-index:1}
.table-wrap:focus-visible .table-rail{box-shadow:0 0 0 3px #b8f26f66,0 28px 70px #0008,inset 0 0 0 2px #ffffff1f,inset 0 -10px 20px #0006}
.table-rail{position:relative;padding:14px;border-radius:48% / 50%;background:linear-gradient(100deg,#341a12 0%,var(--wood) 12%,var(--rail) 29%,#f0d390 48%,#8a5430 70%,#2f1710 100%);box-shadow:0 28px 70px #0008,inset 0 0 0 2px #ffffff1f,inset 0 -12px 24px #0007;transform:rotateX(2deg)}
.table-rail:before{content:"";position:absolute;inset:5px;border-radius:inherit;border:2px solid #fff2b244;pointer-events:none}
.table-felt{--felt-line-inset:68px;position:relative;min-height:460px;overflow:hidden;border-radius:48% / 50%;border:2px solid #0008;background:radial-gradient(circle at 50% 42%,#18a16a,var(--felt) 38%,var(--felt-dark));box-shadow:inset 0 0 58px #0009,inset 0 0 0 4px #ffffff0a}
.table-felt:after{content:"";position:absolute;inset:var(--felt-line-inset);border:1px solid #72d49a66;border-radius:calc(170px - var(--felt-line-inset));pointer-events:none}
.table-watermarks{position:absolute;inset:0;pointer-events:none}
.table-watermark{position:absolute;font-family:Georgia,serif;font-size:clamp(5.8rem,12vw,10rem);font-weight:900;line-height:1}
.table-watermark.tint-white{color:#ecfff5;opacity:.027}
.table-watermark.tint-black{color:#020806;opacity:.15}
.table-watermark.pos-left-mid{left:14%;top:30%;transform:rotate(-17deg) scale(.92)}
.table-watermark.pos-right-mid{right:14%;top:30%;transform:rotate(17deg) scale(.92)}
.table-watermark.pos-left-low{left:22%;bottom:16%;transform:rotate(14deg) scale(.66)}
.table-watermark.pos-right-low{right:22%;bottom:16%;transform:rotate(-14deg) scale(.66)}
.table-watermark.pos-center-top{left:50%;top:7%;transform:translateX(-50%) rotate(6deg) scale(.58)}
.table-watermark.pos-center{left:50%;top:50%;transform:translate(-50%,-50%) rotate(5deg) scale(.72)}
.community-zone{position:absolute;left:50%;top:35%;transform:translate(-50%,-50%);width:min(840px,88%);text-align:center;z-index:2}
.hero-zone{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);text-align:center;z-index:2}
.zone-label{display:inline-block;font-size:.65rem;letter-spacing:.19em;font-weight:900;color:#e4e9e6b8;margin-bottom:8px}
.cards-row{display:flex;justify-content:center;gap:clamp(7px,1.3vw,14px)}
.street-labels{width:calc(var(--board-card-w)*5 + 56px);max-width:100%;margin:8px auto 0;display:grid;grid-template-columns:3fr 1fr 1fr;color:#ffffff6b;font-size:.58rem;letter-spacing:.14em;font-weight:900}
.board-row .playing-card,.board-row .card-slot{width:var(--board-card-w);height:var(--board-card-h)}
.hero-zone .zone-label{margin-bottom:15px}
.hero-row .playing-card,.hero-row .card-slot{width:var(--hero-card-w);height:var(--hero-card-h)}
.status-toast{position:absolute;left:50%;top:16px;transform:translateX(-50%);background:#041711b8;border:1px solid #ffffff16;border-radius:999px;padding:7px 12px;color:#dbe9e3;font-size:.72rem;z-index:5;white-space:nowrap;max-width:82%;overflow:hidden;text-overflow:ellipsis}
.undo-toast{top:auto;bottom:16px}
.undo-toast button{margin-left:7px;border:0;background:transparent;color:var(--accent);font-weight:900}
.current-read-mini{margin-top:12px;display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff18;background:#041711b8;border-radius:999px;padding:7px 11px;box-shadow:0 8px 24px #0004}
.current-read-mini span{color:var(--muted);font-size:.58rem;letter-spacing:.13em;font-weight:900}
.current-read-mini strong{font-size:.8rem}

.playing-card,.card-slot{width:var(--card-w);height:var(--card-h);border-radius:10px;touch-action:none}
.playing-card{position:relative;box-shadow:0 10px 12px #0007;perspective:900px}
.playing-card[role=button],.card-slot[role=button]{cursor:pointer;outline:0;transition:transform .16s,box-shadow .16s,border-color .16s}
.playing-card[role=button]:hover,.card-slot[role=button]:hover{transform:translateY(-3px)}
.playing-card[role=button]:focus-visible,.card-slot[role=button]:focus-visible{box-shadow:0 0 0 3px #ffd45ad9,0 0 0 7px #ffd45a22}
.playing-card.scope-selected,.card-slot.scope-selected,
.playing-card.batch-selected,.card-slot.batch-selected{box-shadow:0 0 0 3px #ffd45ad9,0 0 0 7px #ffd45a22,0 12px 24px #0006}
.playing-card.keyboard-focused,.card-slot.keyboard-focused{box-shadow:0 0 0 3px #ffd45ad9,0 0 0 7px #ffd45a22,0 12px 24px #0006}
.playing-card.scope-locked,.card-slot.scope-locked{box-shadow:0 0 0 2px #f5c84b99,0 0 0 5px #f5c84b20,0 10px 20px #0005}
.playing-card.scope-locked:before,.card-slot.scope-locked:before{
  content:"!";
  position:absolute;
  left:-6px;
  top:-6px;
  z-index:3;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f5c84b;
  color:#171104;
  font-size:.72rem;
  font-weight:900;
  border:2px solid #102018;
}
.card-inner{position:relative;width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transform-origin:center center}
.card-face{position:absolute;inset:0;border-radius:10px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;opacity:1}
.card-front{transform:rotateY(0deg) translateZ(.6px);background:linear-gradient(145deg,#fff,#f4f2eb);color:#161b19;border:1px solid #d7d6d0;box-shadow:inset 0 0 0 2px #ffffff}
.card-front.red{color:var(--red)}
.corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:.9}
.corner.top{left:7px;top:7px}
.corner.bottom{right:7px;bottom:7px;transform:rotate(180deg)}
.card-rank{font-size:clamp(1rem,2.2vw,1.42rem);font-weight:900}
.corner-suit{font-size:clamp(.75rem,1.5vw,1rem);margin-top:3px}
.card-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(2.2rem,5vw,4rem);font-family:Georgia,serif}
.card-back{
  transform:rotateY(180deg) translateZ(.6px);
  display:block;
  overflow:hidden;
  background:#f7f6f1;
  border:1px solid #d7d6d0;
  box-shadow:inset 0 0 0 2px #ffffff;
}
.card-back-art{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:inherit;
  pointer-events:none;
  user-select:none;
}
.playing-card.deal-reveal .card-inner{animation:none}
@keyframes temporaryPeekYPositive{
  0%{transform:rotateY(0deg)}
  22%,78%{transform:rotateY(180deg)}
  100%{transform:rotateY(0deg)}
}
@keyframes temporaryPeekYNegative{
  0%{transform:rotateY(0deg)}
  22%,78%{transform:rotateY(-180deg)}
  100%{transform:rotateY(0deg)}
}
@keyframes temporaryPeekXPositive{
  0%{transform:rotateX(0deg)}
  22%,78%{transform:rotateX(180deg)}
  100%{transform:rotateX(0deg)}
}
@keyframes temporaryPeekXNegative{
  0%{transform:rotateX(0deg)}
  22%,78%{transform:rotateX(-180deg)}
  100%{transform:rotateX(0deg)}
}
@keyframes temporaryPeekDiagonalPP{
  0%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
  22%,78%{transform:rotateX(32deg) rotateY(180deg) rotateZ(12deg)}
  100%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
}
@keyframes temporaryPeekDiagonalPN{
  0%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
  22%,78%{transform:rotateX(-32deg) rotateY(180deg) rotateZ(-12deg)}
  100%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
}
@keyframes temporaryPeekDiagonalNP{
  0%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
  22%,78%{transform:rotateX(32deg) rotateY(-180deg) rotateZ(-12deg)}
  100%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
}
@keyframes temporaryPeekDiagonalNN{
  0%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
  22%,78%{transform:rotateX(-32deg) rotateY(-180deg) rotateZ(12deg)}
  100%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
}
.playing-card.temporary-peek .card-inner{
  will-change:transform;
  animation-duration:1900ms;
  animation-timing-function:cubic-bezier(.2,.72,.25,1);
  animation-fill-mode:both;
}
.playing-card.temporary-peek.peek-y-positive .card-inner{animation-name:temporaryPeekYPositive}
.playing-card.temporary-peek.peek-y-negative .card-inner{animation-name:temporaryPeekYNegative}
.playing-card.temporary-peek.peek-x-positive .card-back,
.playing-card.temporary-peek.peek-x-negative .card-back{transform:rotateX(180deg) translateZ(.6px)}
.playing-card.temporary-peek.peek-x-positive .card-inner{animation-name:temporaryPeekXPositive}
.playing-card.temporary-peek.peek-x-negative .card-inner{animation-name:temporaryPeekXNegative}
.playing-card.temporary-peek.peek-diagonal-x-positive-y-positive .card-inner{transform-origin:0 0;animation-name:temporaryPeekDiagonalPP}
.playing-card.temporary-peek.peek-diagonal-x-positive-y-negative .card-inner{transform-origin:0 100%;animation-name:temporaryPeekDiagonalPN}
.playing-card.temporary-peek.peek-diagonal-x-negative-y-positive .card-inner{transform-origin:100% 0;animation-name:temporaryPeekDiagonalNP}
.playing-card.temporary-peek.peek-diagonal-x-negative-y-negative .card-inner{transform-origin:100% 100%;animation-name:temporaryPeekDiagonalNN}
@keyframes dealFlip{
  0%,45%{transform:rotateY(180deg)}
  73%{transform:rotateY(90deg)}
  100%{transform:rotateY(0deg)}
}
@keyframes dealFrontSideVisible{
  0%,50%{opacity:0}
  51%,100%{opacity:1}
}
.card-slot{position:relative;border:1px dashed #ffffff35;background:#ffffff09;display:grid;place-items:center;color:#ffffff44;font-size:1.25rem}
.card-slot:hover{border-color:#b8f26f8a;color:#d9ff9c;background:#b8f26f12}
.remove-card-btn{position:absolute;right:-7px;top:-7px;z-index:4;width:24px;height:24px;display:grid;place-items:center;padding:0;border:1px solid #ffffff30;border-radius:50%;background:#06120ee8;color:#fff;font-size:1rem;font-weight:900;line-height:1;opacity:.18;transition:opacity .16s,transform .16s,background .16s}
.playing-card:hover .remove-card-btn,.playing-card:focus-within .remove-card-btn,.remove-card-btn:focus-visible{opacity:1}
.remove-card-btn:hover{background:#d92d45;transform:scale(1.05)}

.dashboard-grid{display:grid;grid-template-columns:1fr;gap:16px}
.panel{background:linear-gradient(145deg,#10251ee8,#091813e8);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 18px 40px #0002;scroll-margin-top:150px}
.section-jump-highlight{box-shadow:0 0 0 2px #ffd45a80,0 18px 40px #0002!important}
.section-shortcut{display:inline-flex;margin-left:7px;vertical-align:middle;transform:translateY(-1px)}
.section-shortcut kbd{min-width:25px;min-height:22px;padding:3px 7px;border:1px solid #ffffff18;border-radius:6px;background:#ffffff06;color:var(--muted);font-size:.58rem}
.inline-shortcuts{display:inline-flex;gap:4px;margin-left:5px}.inline-shortcuts kbd,.players-summary-button kbd,.outcome-button kbd,.zone-label kbd{font-size:.56rem;color:var(--muted)}
.section-corner-shortcut{position:absolute;z-index:3;top:12px;left:14px;color:var(--muted);font-size:.68rem;letter-spacing:.08em}.table-wrap{position:relative}
.panel-title-row,.picker-toolbar,.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.panel-subtitle,.panel-note{margin:5px 0 0;color:var(--muted);font-size:.72rem;line-height:1.35}
.panel-note{margin-top:10px}
.big-stat{text-align:right}
.big-stat span{font-size:1.8rem;font-weight:900}
.big-stat small{display:block;color:var(--muted);font-size:.7rem}
.summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:17px}
.summary-stats>div{background:#ffffff07;border:1px solid var(--line);border-radius:12px;padding:12px}
.summary-stats .label{display:block;color:var(--muted);font-size:.7rem;margin-bottom:4px}
.summary-stats strong{font-size:1.12rem}
.probability-panel,.session-panel,.history-panel,.draws-panel,.opponent-possibilities-panel,.decision-panel{min-height:300px}
.probability-bars{display:grid;gap:7px;margin-top:15px}
.prob-row{display:grid;grid-template-columns:minmax(118px,.58fr) 1fr minmax(128px,auto);align-items:center;gap:9px;font-size:.73rem}
.prob-name{color:#dbe7e2}
.prob-track{position:relative;height:7px;background:#ffffff0c;border-radius:999px;overflow:hidden}
.prob-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent-2),var(--accent));border-radius:999px;transition:width .2s}
.prob-row.tiny-prob .prob-track:after{content:"";position:absolute;left:0;top:50%;width:2px;height:7px;border-radius:999px;background:var(--accent);transform:translateY(-50%)}
.prob-value{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.prob-value strong{color:#dbeee6}
.prob-value small{margin-left:5px;color:#91a69e}
.draws-content{margin-top:14px}
.draw-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.draw-metrics>div{border:1px solid var(--line);border-radius:10px;background:#ffffff06;padding:9px}
.draw-metrics strong{display:block;color:#dfffb7;font-size:1rem}
.draw-metrics span{display:block;color:var(--muted);font-size:.66rem;line-height:1.25}
.draw-note{margin:8px 0 10px;color:var(--muted);font-size:.73rem;line-height:1.45}
.draw-summary{display:grid;gap:9px;margin:0;padding-left:19px;color:#dce9e4;font-size:.82rem;line-height:1.45}
.draw-summary li::marker{color:var(--accent-2)}
.inline-cards{display:inline-flex;gap:3px;vertical-align:middle;flex-wrap:wrap}
.outs-total{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;padding:11px 12px;border:1px solid #b8f26f28;background:#b8f26f0c;border-radius:12px;font-size:.8rem}
.outs-total span{color:var(--muted);font-size:.72rem}
.outs-details{margin-top:10px;color:var(--muted);font-size:.78rem}
.outs-details summary{cursor:pointer;color:#dbeee6;font-weight:800}
.out-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.out-row{display:grid;grid-template-columns:auto 1fr;gap:6px 9px;align-items:center;border:1px solid var(--line);background:#ffffff06;border-radius:10px;padding:8px}
.out-row small{grid-column:2;color:var(--muted);line-height:1.35}
.out-row.clean{border-color:#74d7a038}
.out-row.dirty{border-color:#facc1540;background:#5a4a130f}
.next-card-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.next-card-groups h3{margin:0 0 7px;color:#dbeee6;font-size:.76rem}
.next-card-row{display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center;border:1px solid var(--line);background:#ffffff06;border-radius:10px;padding:7px;margin-top:6px;font-size:.74rem}
.next-card-row strong{font-variant-numeric:tabular-nums;color:#dfffb7}
.next-card-row small{color:var(--muted);line-height:1.25}
.draws-panel{grid-column:1/-1}
.draw-primary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}
.draw-primary-metrics.has-impact{grid-template-columns:repeat(4,minmax(0,1fr))}
.draw-primary-metrics>div{display:grid;gap:3px;min-width:0;padding:10px 12px;border-radius:9px;background:#ffffff06}
.draw-primary-metrics span{color:var(--muted);font-size:.62rem;font-weight:900;line-height:1.25;letter-spacing:.08em}
.draw-primary-metrics strong{color:#dfffb7;font-size:1.35rem;font-variant-numeric:tabular-nums}
.your-draws>h3,.next-card-impact h3{margin:0 0 10px;color:var(--accent-2);font-size:.68rem;letter-spacing:.14em}
.draw-route-list{display:grid;gap:10px}
.draw-route{padding:13px 14px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff04}
.draw-route.backdoor{border-color:#facc152e;background:#facc1507}
.draw-route-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.draw-route-heading>div{display:grid;gap:3px}
.draw-route-heading strong{color:#eef8f4;font-size:.84rem;text-transform:uppercase}
.draw-route-heading span{color:var(--muted);font-size:.72rem;line-height:1.4}
.draw-route-heading>b{flex:0 0 auto;color:var(--accent);font-size:.67rem;letter-spacing:.08em}
.draw-route.backdoor .draw-route-heading>b{color:var(--outcome-tie)}
.draw-probabilities{display:flex;gap:24px;flex-wrap:wrap;margin-top:11px}
.draw-probabilities>div{display:grid;gap:2px}
.draw-probabilities span{color:var(--muted);font-size:.59rem;font-weight:900;letter-spacing:.09em}
.draw-probabilities strong{font-size:1rem;font-variant-numeric:tabular-nums}
.draw-result-breakdown{display:flex;gap:12px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:.68rem}
.draw-result-breakdown strong{color:#dcebe5}
.draw-card-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}
.next-card-impact{margin-top:22px;padding-top:18px;border-top:1px solid #ffffff12}
.draw-subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.draw-subsection-heading span,.draw-analysis-status{color:var(--muted);font-size:.72rem}
.draw-analysis-status{margin:0;padding:9px 0}
.next-card-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;margin:0}
.impact-group h4{margin:0 0 7px;color:#dbeee6;font-size:.68rem;letter-spacing:.08em}
.next-card-impact-row{display:grid;grid-template-columns:minmax(128px,1.2fr) minmax(104px,.8fr) minmax(94px,.7fr);gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #ffffff10;font-size:.72rem}
.next-card-impact-row:last-child{border-bottom:0}
.next-card-impact-row>div:not(.impact-card-name){display:grid;gap:2px}
.next-card-impact-row>div>span{color:var(--muted);font-size:.6rem}
.next-card-impact-row>div>strong{font-variant-numeric:tabular-nums}
.next-card-impact-row.positive>div:last-of-type strong{color:var(--outcome-win)}
.next-card-impact-row.risk>div:last-of-type strong{color:var(--outcome-tie)}
.next-card-impact-row.danger>div:last-of-type strong{color:var(--outcome-loss)}
.next-card-impact-row>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.66rem;line-height:1.35}
.impact-card-name{display:flex;align-items:center;gap:7px;min-width:0}
.impact-card-name>span{display:grid;gap:2px;min-width:0}
.impact-card-name strong{font-size:.68rem}
.impact-card-name small{color:var(--muted);font-size:.61rem}
.all-next-cards,.draw-terms{margin-top:12px;color:var(--muted);font-size:.74rem}
.all-next-cards h4,.draw-terms h4{width:max-content;max-width:100%;margin:0;color:#dbeee6;font-size:.76rem;font-weight:900}
.next-card-table-wrap{margin-top:10px;overflow-x:auto}
.next-card-table-wrap table{width:100%;border-collapse:collapse;font-size:.7rem}
.next-card-table-wrap th,.next-card-table-wrap td{padding:8px 7px;border-bottom:1px solid #ffffff10;text-align:right;white-space:nowrap}
.next-card-table-wrap th:first-child,.next-card-table-wrap td:first-child,.next-card-table-wrap th:nth-child(2),.next-card-table-wrap td:nth-child(2){text-align:left}
.next-card-table-wrap th{color:var(--muted);font-size:.6rem;letter-spacing:.06em}
.next-card-table-wrap td:nth-child(3){color:var(--outcome-equity);font-weight:900}
.next-card-table-wrap td:nth-child(2) small{display:block;color:var(--muted);font-size:.58rem}
.draw-terms dl{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:7px 14px;margin:10px 0 0;padding:12px;border-radius:9px;background:#ffffff04}
.draw-terms dt{color:#dcebe5;font-weight:900}
.draw-terms dd{margin:0;line-height:1.4}
.graph-mode-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.target-btn.active{background:#b8f26f1d;color:var(--accent);border-color:#b8f26f45}
.street-history{display:grid;gap:8px;margin-top:14px}
#outcomeHistoryPanel{min-height:620px}
.street-history-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);gap:14px;align-items:start;min-height:430px}
.street-history-graph,.street-history-details{display:grid;gap:8px;min-width:0}
.street-history-details{align-content:start;border-left:1px solid var(--line);padding-left:14px}
.panel-title-actions{display:flex;align-items:center;gap:8px}
.equity-graph{width:100%;height:auto;max-height:360px;display:block;border:1px solid var(--line);border-radius:12px;background:#06130f80}
.axis,.grid-line{stroke:#ffffff24;stroke-width:1}
.grid-line{stroke-dasharray:4 5}
.axis-label,.street-label{fill:#91a69e;font-size:10px;font-weight:800}
.street-label{text-anchor:middle}
.graph-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:520;animation:drawLine .65s ease-out both}
.graph-line.equity{stroke:var(--outcome-equity)}
.graph-line.win{stroke:var(--outcome-win)}
.graph-point circle{stroke:#06130f;stroke-width:2;fill:var(--accent)}
.graph-point.win circle{fill:var(--outcome-win)}
.graph-point:focus{outline:0}
.graph-point:focus circle{stroke:#fff;stroke-width:3}
.graph-tooltip{display:grid;gap:3px;padding:9px 11px;border:1px solid #ffffff16;border-radius:10px;background:#ffffff07;font-size:.76rem}
.graph-tooltip span,.graph-tooltip small{color:var(--muted)}
.street-rows{display:grid;gap:8px}
.street-item{display:grid;grid-template-columns:8px 1fr auto 64px;align-items:center;gap:10px;background:#ffffff06;border:1px solid var(--line);border-radius:12px;padding:10px}
.street-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-2)}
.street-copy,.street-equity,.session-meta{display:flex;flex-direction:column}
.street-copy span,.street-equity span,.session-meta span{color:var(--muted);font-size:.68rem}
.street-equity{text-align:right}
.street-delta{font-size:.68rem;text-align:right;color:var(--muted)}
.street-delta.up{color:#8ce7ad}
.street-delta.down{color:#ff9b9b}
.opponent-view-subtitle{margin:8px 0 0;color:var(--muted);font-size:.72rem}
.opponent-possibilities{display:grid;gap:9px;margin-top:12px}
.opponent-relative-summary{margin:0;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}
.opponent-relative-summary strong{color:#f58b83;font-weight:900}
.opponent-probability-bars{display:grid;gap:7px}
.opponent-prob-row{display:grid;grid-template-columns:minmax(118px,.58fr) 1fr minmax(128px,auto);align-items:center;gap:9px;font-size:.73rem}
.opponent-prob-name{color:#dbe7e2}
.opponent-prob-track{position:relative;height:7px;background:#ffffff0c;border-radius:999px;overflow:hidden}
.opponent-prob-fill{height:100%;width:0;background:linear-gradient(90deg,#d65c59,#ff8f86);border-radius:999px;transition:width .2s}
.opponent-prob-row.tiny-prob .opponent-prob-track:after{content:"";position:absolute;left:0;top:50%;width:2px;height:7px;border-radius:999px;background:#ff8f86;transform:translateY(-50%)}
.opponent-prob-value{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.opponent-prob-value strong{color:#f3d8d5}.opponent-prob-value small{margin-left:5px;color:#a9918d}
.opponent-range-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 10px;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.opponent-range-summary strong{color:#dcebe5}.opponent-range-summary span{color:#f3d8d5}
.opponent-possibility-note{margin:0 0 12px;color:var(--muted);font-size:.7rem}
.opponent-table-wrap{overflow:auto;border-top:1px solid #ffffff14}
.opponent-analysis-table{width:100%;border-collapse:collapse;font-size:.72rem}.opponent-analysis-table th{padding:8px 6px;color:var(--muted);font-size:.6rem;font-weight:900;letter-spacing:.08em;text-align:right;white-space:nowrap}.opponent-analysis-table td{padding:8px 6px;border-top:1px solid #ffffff10;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.opponent-analysis-table th:nth-child(2),.opponent-analysis-table th:nth-child(3),.opponent-analysis-table td:nth-child(2),.opponent-analysis-table td:nth-child(3){text-align:left}.opponent-analysis-table th:nth-child(1),.opponent-analysis-table td:nth-child(1){width:28px;color:var(--muted)}.opponent-analysis-table th:nth-child(n+4),.opponent-analysis-table td:nth-child(n+4){width:90px}.opponent-analysis-table td:nth-child(3){color:#dcebe5}.opponent-analysis-table .mini-card{min-width:29px;padding:3px 5px;border:1px solid #d7d6d0;box-shadow:0 2px 7px #0004}
.opponent-analysis-table caption{padding:12px 6px 5px;text-align:left;color:var(--accent);font-size:.64rem;font-weight:900;letter-spacing:.12em}.opponent-analysis-table th button{border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;padding:0;cursor:pointer}.opponent-analysis-table th button:hover{color:var(--accent)}.opponent-exact-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:17px 0 7px;color:var(--accent);font-size:.66rem;letter-spacing:.1em}.opponent-exact-head>div{display:flex;gap:7px;flex-wrap:wrap}.opponent-exact-head label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.65rem;letter-spacing:0}.opponent-exact-head select,.opponent-exact-head input{max-width:112px;border:1px solid var(--line);border-radius:6px;background:#06140f;color:var(--text);padding:4px 6px;font:inherit}.opponent-page-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.68rem}.opponent-page-controls>div{display:flex;gap:5px;flex-wrap:wrap}.opponent-page-controls button{border:1px solid var(--line);border-radius:6px;background:#ffffff08;color:var(--text);padding:4px 7px;font-size:.66rem;font-weight:800}.opponent-page-controls button.active,.opponent-page-controls button:hover:not(:disabled){border-color:#ff767266;color:#ffc0bd;background:#ff6b6116}.opponent-page-controls button:disabled{opacity:.42}
.decision-panel{min-height:0;height:auto}
.decision-helper{display:grid;gap:12px;margin-top:14px}
.decision-status{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.decision-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.decision-input-grid label,.decision-advanced-grid label{display:grid;gap:5px;color:var(--text);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.decision-input-grid label small{min-height:1em;color:var(--muted);font-size:.66rem;font-weight:500;letter-spacing:0;text-transform:none}
.decision-input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#04140f;color:var(--text);font:inherit;font-size:1rem;font-variant-numeric:tabular-nums;outline:none}
.decision-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8f26f20}
.decision-input.invalid{border-color:var(--red)}
.decision-field-error{min-height:1em;color:#ff8f86;font-size:.66rem;font-style:normal;font-weight:650;letter-spacing:0;text-transform:none}
.decision-output{display:grid;gap:10px;padding:0;border:0;background:transparent;color:#dcebe5;font-size:.8rem}
.decision-empty{padding:16px;border:1px solid var(--line);border-radius:12px;background:#04140f;color:var(--muted)}
.decision-recommendation{display:grid;gap:5px;padding:14px 16px;border:1px solid #8ce7ad55;border-left:4px solid var(--accent);border-radius:12px;background:#8ce7ad0c}
.decision-recommendation strong{color:var(--accent);font-size:1.05rem}.decision-recommendation span{color:var(--muted)}
.decision-output.bad .decision-recommendation{border-color:#ff8f8655;border-left-color:#ff6b62;background:#ff6b620c}.decision-output.bad .decision-recommendation strong{color:#ff8f86}
.decision-output.warning .decision-recommendation{border-color:#ffe28a55;border-left-color:#ffe28a;background:#ffe28a0b}.decision-output.warning .decision-recommendation strong{color:#ffe28a}
.decision-recommendation.waiting{border-color:var(--line);border-left-color:var(--muted);background:#ffffff05}.decision-recommendation.waiting strong{color:var(--text)}
.decision-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.decision-metrics>div,.decision-secondary-metrics>div{display:grid;gap:4px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#04140f}
.decision-metrics small,.decision-secondary-metrics small,.decision-pot-odds small{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em}.decision-metrics b,.decision-secondary-metrics b,.decision-pot-odds b{font-variant-numeric:tabular-nums}
.decision-pot-odds{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#ffffff04}
.advanced-decision{border-top:1px solid var(--line);padding-top:10px}.advanced-decision summary{cursor:pointer;color:var(--accent);font-size:.78rem;font-weight:800}
.decision-secondary-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.decision-advanced-grid{max-width:220px}.decision-advanced-grid .decision-input{min-height:42px}
.decision-detail-note,.decision-footer{margin:8px 0 0;color:var(--muted);font-size:.7rem}.decision-footer{margin:0}.decision-footer .help-link-btn{padding:0}
.empty-state{color:var(--muted);font-size:.78rem;padding:18px 4px}
.session-history{display:grid;gap:8px;margin-top:14px;max-height:260px;overflow:auto}
.session-row{display:grid;grid-template-columns:34px minmax(160px,1fr) minmax(430px,1.8fr);gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}
.session-index{color:#ffffff55;font-size:.7rem}
.session-cards{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.mini-card{display:inline-flex;align-items:center;justify-content:center;min-width:29px;padding:3px 5px;border-radius:5px;background:#f7f5ef;color:#1a1d1c;font-weight:900;font-size:.72rem}
.mini-card.red{color:var(--red)}
.mini-card.black{color:#141715}
.board-divider{color:#ffffff3d;margin:0 3px}
.session-meta{display:grid;gap:3px;text-align:right;min-width:0}
.session-meta strong{font-size:.72rem;line-height:1.35;white-space:nowrap;font-variant-numeric:tabular-nums}
.session-meta span{color:var(--muted);font-size:.67rem;font-variant-numeric:tabular-nums}
@keyframes drawLine{from{stroke-dashoffset:520}to{stroke-dashoffset:0}}

.chat-panel{position:fixed;right:18px;bottom:18px;z-index:30;width:min(490px,calc(100vw - 24px));display:grid;gap:10px;margin:0;padding:10px;background:#062117cc;border-color:#9ee9ad38;box-shadow:0 24px 80px #0009,0 0 0 1px #b8f26f16;backdrop-filter:blur(16px);border-radius:18px}
.chat-panel.chat-focused,.chat-panel:focus-within{box-shadow:0 24px 80px #0009,0 0 0 3px #b8f26f59}
.chat-panel:not(.chat-focused):not(:focus-within){padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}
.chat-panel:not(.chat-focused):not(:focus-within) .command-history,.chat-panel:not(.chat-focused):not(:focus-within) .command-hint{display:none}
.chat-panel:not(.chat-focused):not(:focus-within) #runCommand{display:none}
.command-history{display:grid;align-content:start;gap:7px;min-height:100px;max-height:250px;overflow:auto;padding:10px;border:1px solid #ffffff12;border-radius:12px;background:#00110cc4}
.command-chat .command-history{min-height:0;max-height:none;height:100%}
.chat-line{max-width:88%;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:.78rem;line-height:1.35;color:#dcebe5}
.chat-line.user{justify-self:end;background:#b8f26f1c;border-color:#b8f26f35;color:#f7fff4}
.chat-line.system{justify-self:start;background:#ffffff09}
.chat-line.error{border-color:#ff949461;color:#ffc2c2;background:#53141452}
.chat-line small{display:block;margin-bottom:2px;color:#91a69e;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.command-wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;min-height:64px;background:#06140ff0;border:1px solid #a7f3b233;border-radius:18px;overflow:hidden;box-shadow:0 20px 70px #0008}
.prompt{padding-left:17px;color:var(--accent);font-size:1.45rem;font-weight:900}
.command-wrap input{width:100%;padding:17px 14px;background:transparent;border:0;outline:0;color:var(--text);font-size:20px}
.command-wrap input::placeholder{color:#9aa7a1}
.command-wrap .primary-btn{align-self:stretch;border-radius:0;border:0;padding:0 16px;font-size:1.28rem;display:flex;align-items:center;gap:9px}
.command-wrap .primary-btn kbd{background:#0b2319;color:#dfffc2;border-color:#0b231955;font-size:.58em}
.command-hint{color:var(--muted);font-size:.72rem;line-height:1.6}
.command-hint.error{color:#ff9494}
.command-hint code{color:#dbeee6;background:#ffffff0a;padding:2px 5px;border-radius:5px}
.command-guide-label{
  margin-right:7px;
  color:var(--accent-2);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.command-hint .command-placeholder,
.suggestion-item .command-placeholder{
  display:inline-block;
  margin:0 1px;
  padding:1px 5px;
  border:1px solid #b8f26f35;
  border-radius:999px;
  background:#b8f26f12;
  color:#dfffb7;
  font-weight:900;
}
.command-hint > span:last-child{
  margin-left:7px;
}

.modal{border:0;padding:0;background:transparent;color:var(--text);max-width:min(920px,calc(100% - 24px));width:100%}
.modal::backdrop{background:#000b;backdrop-filter:blur(5px)}
.modal-card{background:linear-gradient(145deg,#122a22,#081610);border:1px solid #ffffff20;border-radius:20px;padding:20px;box-shadow:0 35px 90px #0009}
.settings-card,.shortcuts-card{background:#0d2019;border-color:#ffffff20}
.modal-close{width:38px;height:38px;display:inline-grid;place-items:center;padding:0;border-radius:10px;border:1px solid var(--line);background:#ffffff09;color:var(--text);font-size:1.45rem;line-height:1}
.modal-copy{color:var(--muted);font-size:.83rem;line-height:1.55}
.help-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.help-list>div,.shortcut-grid>div,#sectionShortcutHelpRows>div,.settings-row{border-bottom:1px solid var(--line);padding:9px 0}
.help-list code{display:block;width:max-content;max-width:100%;margin-bottom:3px;color:var(--accent);background:#ffffff0a;border-radius:6px;padding:2px 6px}
.help-list span{display:block;color:var(--muted);font-size:.8rem;line-height:1.35}
.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:8px}
#sectionShortcutHelpRows{display:contents}
.shortcut-grid>div,#sectionShortcutHelpRows>div{display:grid;grid-template-columns:max-content 1fr;gap:12px;align-items:center;font-size:.82rem}
.help-card{max-height:85vh;display:flex;flex-direction:column}
.help-content{overflow-y:auto;flex:1;padding:12px 4px 12px 0;margin-right:-20px;margin-left:-20px;padding-left:20px;padding-right:20px}
.help-section{margin:12px 0;border:1px solid var(--line);border-radius:10px;background:#ffffff06}
.help-section summary{cursor:pointer;padding:12px 14px;font-weight:600;user-select:none;color:var(--accent);display:flex;align-items:center;gap:8px}
.help-section summary:hover{background:#ffffff0a}
.help-section[open] summary{color:var(--text);border-bottom:1px solid var(--line)}
.help-section .help-text{padding:14px;font-size:.87rem;color:var(--text);line-height:1.6}
.help-section .help-text p{margin:0 0 10px}
.help-section .help-text p:last-child{margin-bottom:0}
.help-section .help-text strong{color:var(--accent-2)}
.help-link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:900;font-size:0.9em;padding:0;margin-left:6px;vertical-align:baseline;opacity:0.7;transition:opacity 0.2s}
.help-link-btn:hover,.help-link-btn:focus-visible{opacity:1;outline:none}
.shortcut-grid kbd{justify-self:start;min-width:54px}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.settings-card{width:min(520px,calc(100vw - 24px));margin:auto}
.settings-card .settings-row{border:1px solid #ffffff12;border-radius:14px;background:#ffffff06;padding:12px 14px;margin-top:10px}
.settings-card .modal-copy{margin-top:14px}
.segmented{display:flex;gap:6px;flex-wrap:wrap}
#cardBackRed{border-color:#ff8a8a52;background:#5d171b36;color:#ffd9d9}
#cardBackBlue{border-color:#8cc8ff52;background:#123b6336;color:#d6ecff}
#cardBackBlack{border-color:#c9d2d052;background:#1b272436;color:#e7efed}
#cardBackRed.active{border-color:#ff7777b3;background:#6f1d22;color:#fff0f0}
#cardBackBlue.active{border-color:#78bdffb3;background:#164d7d;color:#eef8ff}
#cardBackBlack.active{border-color:#d7e0dd8c;background:#22312d;color:#fff}
.picker-toolbar{margin:14px 0 12px}
.picker-toolbar.opponent-only{display:flex;justify-content:flex-end}
.picker-toolbar.opponent-only .target-buttons{display:none}
.target-buttons{display:flex;gap:6px;flex-wrap:wrap}
.target-btn{padding:7px 10px}
.picker-actions{display:flex;gap:7px;align-items:center}
.picker-preview{
  display:grid;
  gap:7px;
  margin:10px 0 12px;
  padding:10px;
  border:1px solid #ffffff16;
  border-radius:12px;
  background:#06130f88;
}
.picker-preview-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#dcebe5;
  font-size:.78rem;
  font-weight:900;
}
.picker-preview-head span{color:var(--muted);font-size:.72rem;font-weight:700}
.draft-assignments{display:flex;gap:6px;flex-wrap:wrap}
.draft-card{
  display:inline-grid;
  grid-template-columns:1fr;
  justify-items:center;
  align-items:center;
  gap:3px;
  border:1px solid #ffffff16;
  border-radius:8px;
  background:#ffffff08;
  padding:5px 7px;
  color:#dbeee6;
  font-size:.74rem;
}
.draft-card strong{font-size:.8rem}
.draft-card small{color:var(--muted);font-size:.66rem}
.draft-card.red strong{color:#ff6d7d}
.draft-card.fixed-slot{min-width:74px;border-color:#ffffff1c}
.draft-card.fixed-slot.active{border-color:#ffd45ab8;background:#ffd45a14;box-shadow:0 0 0 2px #ffd45a22}
.draft-card[draggable="true"]{cursor:grab;touch-action:none}
.draft-card.is-dragging{opacity:.45;cursor:grabbing}
.draft-card.is-drag-target{border-color:#b8f26fb8;background:#b8f26f18;box-shadow:0 0 0 2px #b8f26f2b}
.picker-warning{color:#ffb2b2;font-size:.75rem}
.picker-card{width:min(860px,calc(100vw - 24px))}
.card-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:5px}
.pick-card{min-width:0;aspect-ratio:.72;border:1px solid #ffffff18;border-radius:8px;background:#f6f4ef;color:#1c211f;font-weight:900;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2px}
.pick-card.red{color:var(--red)}
.pick-card.selected{border-color:#b8f26f;background:#eaffc7;box-shadow:0 0 0 2px #b8f26f55}
.pick-card .suit{font-family:Georgia,serif;font-size:1.1rem}
.pick-card:disabled{filter:grayscale(1);opacity:.16}
.showdown-inputs{display:grid;gap:10px;margin-top:15px}
.showdown-inputs+.showdown-message{margin-top:16px}
.showdown-input-row{display:grid;gap:10px;background:#ffffff06;border:1px solid var(--line);border-radius:14px;padding:14px}
.showdown-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.showdown-row-head>strong{color:var(--muted);font-size:.65rem;letter-spacing:.11em}
.opp-label{display:flex;align-items:center;gap:7px}
.opponent-card-stack{display:grid;grid-template-columns:auto minmax(220px,1fr);gap:14px;align-items:center}
.showdown-card-pair{display:flex;gap:10px;align-items:center}
.showdown-card-cell{position:relative;display:inline-grid}
.showdown-slot{width:78px;aspect-ratio:.72;border:1px solid #ffffff18;border-radius:10px;background:#06130f;color:var(--text);display:grid;place-items:center;font-weight:900}
.showdown-empty-slot{border-color:#ffffff18;background:#06130f;color:var(--text);cursor:pointer;transition:transform .16s,border-color .16s,background .16s}
.showdown-empty-slot:hover{transform:translateY(-2px);border-color:#b8f26f66;background:#0b2118}
.showdown-slot-add{font-size:1.1rem;line-height:1;color:var(--text)}
.showdown-slot.opponent-hand-card{height:auto;padding:0;border:0;background:transparent;color:inherit;filter:drop-shadow(0 10px 12px #0007);cursor:pointer;outline:0;transition:transform .16s,box-shadow .16s}
.showdown-slot.opponent-hand-card:hover{transform:translateY(-3px)}
.showdown-slot.opponent-hand-card:focus-visible{box-shadow:0 0 0 3px #ffd45ad9,0 0 0 7px #ffd45a22}
.showdown-slot.opponent-hand-card .card-face{border-radius:10px}
.showdown-slot.opponent-hand-card .card-rank{font-size:1rem}
.showdown-slot.opponent-hand-card .corner-suit{font-size:.82rem}
.showdown-slot.opponent-hand-card .card-center{font-size:2.5rem}
.showdown-slot.opponent-hand-card .corner.top{left:7px;top:7px}
.showdown-slot.opponent-hand-card .corner.bottom{right:7px;bottom:7px}
.remove-opp-card-btn{opacity:.32}
.showdown-card-cell:hover .remove-opp-card-btn,.showdown-card-cell:focus-within .remove-opp-card-btn{opacity:1}
.showdown-slot:focus-visible{outline:3px solid #b8f26f66}
.showdown-text-editor-wrap{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:8px;min-width:0}
.opponent-current-read{display:grid;gap:3px;min-width:0;color:var(--muted);font-size:.61rem;font-weight:900;letter-spacing:.08em}
.opponent-current-read span{color:var(--muted);font-size:.58rem}
.opponent-current-read em{font-style:normal;color:var(--accent-2);font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clear-opp{flex:0 0 auto;align-self:center}
.showdown-text-editor{display:flex;align-items:center;gap:8px;min-width:0}
.showdown-text-editor span{color:var(--muted);font-size:.7rem;white-space:nowrap}
.showdown-text-editor input{min-width:0;flex:1;background:#06130f;border:1px solid var(--line);border-radius:9px;padding:10px;color:var(--text);font-size:16px}
.showdown-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.showdown-row-head .opp-label{display:flex;align-items:center;gap:8px}
.opponent-hand-indicator{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid #ffffff18;border-radius:999px;background:#ffffff08;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.08em}
.opponent-hand-indicator-likely{color:var(--accent-2);border-color:#74d7a045;background:#74d7a012}
.showdown-seat-result{display:grid;gap:10px;margin-top:10px}
.showdown-seat-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.showdown-seat-result-head p{margin:0;color:#dcebe5;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.showdown-result-status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 8px;border:1px solid #ffffff18;border-radius:999px;color:var(--muted);background:#ffffff08;font-size:.72rem;font-weight:900;letter-spacing:.04em}
.showdown-result-status.status-win{color:var(--outcome-win);border-color:#22c55e42;background:#22c55e16}
.showdown-result-status.status-tie{color:var(--outcome-tie);border-color:#facc1545;background:#facc1516}
.showdown-result-status.status-lose{color:var(--outcome-loss);border-color:#ef44444a;background:#ef444416}
.showdown-result-status.status-winning{color:var(--outcome-win);border-color:#22c55e42;background:#22c55e16}
.showdown-result-status.status-tied{color:var(--outcome-tie);border-color:#facc1545;background:#facc1516}
.showdown-result-status.status-losing{color:var(--outcome-loss);border-color:#ef44444a;background:#ef444416}
.showdown-result-status.status-currently-winning{color:var(--outcome-win);border-color:#22c55e42;background:#22c55e16}
.showdown-result-status.status-currently-tied{color:var(--outcome-tie);border-color:#facc1545;background:#facc1516}
.showdown-result-status.status-currently-losing{color:var(--outcome-loss);border-color:#ef44444a;background:#ef444416}
.showdown-result-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #ffffff12;border-radius:12px;overflow:hidden;background:#06140fb8}
.showdown-result-strip span{display:grid;gap:2px;padding:8px 12px;border-right:1px solid #ffffff12;background:transparent}
.showdown-result-strip span:last-child{border-right:0}
.showdown-result-strip small{color:var(--muted);font-size:.6rem;font-weight:900;letter-spacing:.1em}
.showdown-result-strip strong{font-size:1.05rem;font-variant-numeric:tabular-nums}
.showdown-result-strip .win strong{color:var(--outcome-win)}
.showdown-result-strip .tie strong{color:var(--outcome-tie)}
.showdown-result-strip .loss strong{color:var(--outcome-loss)}
.showdown-result-strip .expected-pot-share strong{color:var(--outcome-equity)}
.showdown-seat-eps{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:.63rem;font-weight:900;letter-spacing:.1em}
.showdown-seat-eps strong{color:var(--accent);font-size:1rem;font-variant-numeric:tabular-nums;letter-spacing:0}
.showdown-actions{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.showdown-results{margin-top:16px}
.result-banner{text-align:center;border-radius:16px;padding:18px;border:1px solid var(--line)}
.result-banner span,.result-banner small{display:block}
.result-banner span{font-size:.65rem;letter-spacing:.16em;font-weight:900}
.result-banner strong{display:block;font-size:2.8rem;line-height:1.05;margin:5px 0}
.result-win{background:#22c55e15;border-color:#22c55e42}
.result-win strong{color:#8af3ae}
.result-loss{background:#ef444415;border-color:#ef444442}
.result-loss strong{color:#ff8d8d}
.result-table-wrap{overflow:auto;margin-top:14px}
.result-table{width:100%;border-collapse:collapse;font-size:.8rem}
.result-table th,.result-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}
.result-table th{color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}
.winner-row{background:#b8f26f0d}
.board-summary{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:.75rem}
.board-summary>span:first-child{margin-right:5px}
footer{margin-top:36px;border-top:1px solid #ffffff14;color:#71867e;font-size:.72rem;line-height:1.6;text-align:center;padding:18px 8px 0}footer p{margin:0}footer b{color:#dcebe5}

.side-panel-backdrop{
  position:fixed;
  inset:0;
  z-index:28;
  background:#00100a66;
  backdrop-filter:blur(2px);
}
.floating-toast-stack{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:2147483647;
  width:min(360px,calc(100vw - 36px));
  display:flex;
  flex-direction:column-reverse;
  align-items:flex-start;
  gap:8px;
  pointer-events:none;
}
.floating-toast{
  pointer-events:auto;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #b8f26f35;
  border-radius:12px;
  background:#061b14e8;
  color:#e9f7ef;
  padding:10px 12px;
  box-shadow:0 16px 50px #0009;
  backdrop-filter:blur(12px);
  animation:toastIn .18s ease-out both;
  font-size:.8rem;
  line-height:1.3;
}
.floating-toast.error{border-color:#ff8b8b55;background:#371313e8;color:#ffd3d3}
.floating-toast.undo{border-color:#ffd45a55;background:#1e1a0be8}
.floating-toast button{
  border:0;
  border-radius:999px;
  background:var(--accent);
  color:#07140f;
  font-weight:900;
  padding:5px 9px;
}
.floating-toast.is-leaving{
  animation:toastOut .18s ease-in both;
}
@keyframes toastIn{from{opacity:0;transform:translateX(-16px) translateY(8px)}to{opacity:1;transform:none}}
@keyframes toastOut{from{opacity:1;transform:none}to{opacity:0;transform:translateX(-16px) translateY(8px)}}
.side-panel{
  position:fixed;
  top:24px;
  bottom:24px;
  z-index:31;
  width:min(480px,calc(100vw - 24px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:12px;
  padding:16px;
  border:1px solid #b8f26f2e;
  background:#052016d7;
  box-shadow:0 28px 90px #000b,0 0 0 1px #ffffff12 inset;
  backdrop-filter:blur(18px);
  opacity:0;
  pointer-events:none;
  transition:transform .22s ease,opacity .22s ease;
}
.side-panel.is-open{opacity:1;pointer-events:auto;transform:translateX(0)}
.command-chat{
  right:18px;
  border-radius:22px;
  transform:translateX(calc(100% + 32px));
}
.command-log-panel{
  left:18px;
  border-radius:22px;
  transform:translateX(calc(-100% - 32px));
  background:#051912df;
}
.keybind-log-panel{
  left:18px;
  border-radius:22px;
  transform:translateX(calc(-100% - 32px));
  background:#071b13e6;
}
.side-panel.command-chat.is-open,
.side-panel.command-log-panel.is-open,
.side-panel.keybind-log-panel.is-open{
  transform:translateX(0);
}
#chatPanel.is-open,
#commandLogPanel.is-open,
#keybindLogPanel.is-open{
  transform:translateX(0);
}
.side-panel-head,.side-panel-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.side-panel-head h2{margin:0;font-size:1rem}
.side-panel-foot{justify-content:flex-end}
.command-composer{
  align-self:end;
  position:relative;
}
.new-messages{
  justify-self:center;
  border:1px solid #b8f26f45;
  border-radius:999px;
  background:#b8f26f1b;
  color:var(--accent);
  padding:7px 11px;
  font-size:.72rem;
  font-weight:900;
}
.command-log-entries{
  min-height:0;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:8px;
  padding:8px;
  border:1px solid #ffffff14;
  border-radius:14px;
  background:#00100ac4;
}
.command-log-row{
  display:grid;
  grid-template-columns:138px minmax(80px,.8fr) 1fr;
  gap:9px;
  align-items:start;
  padding:8px 10px;
  border:1px solid #ffffff12;
  border-radius:10px;
  background:#ffffff07;
  font-size:.72rem;
  line-height:1.35;
}
.command-log-row time{color:var(--muted);font-variant-numeric:tabular-nums}
.command-log-row code{
  color:var(--accent);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.command-log-row.ok{border-color:#8ee6b238;background:#113d2a2b}
.command-log-row.error{border-color:#ff85854a;background:#4b15152e}
.command-suggestions{
  position:absolute;
  left:0;
  right:0;
  bottom:calc(100% + 10px);
  z-index:4;
  display:grid;
  gap:6px;
  max-height:min(260px,42vh);
  overflow:auto;
  padding:7px;
  border:1px solid #b8f26f24;
  border-radius:13px;
  background:#00110ccf;
  box-shadow:0 18px 60px #000a;
  backdrop-filter:blur(12px);
}
.suggestion-item{
  display:grid;
  grid-template-columns:minmax(110px,.8fr) 1fr;
  gap:10px;
  align-items:center;
  width:100%;
  text-align:left;
  border:1px solid #ffffff12;
  border-radius:10px;
  background:#ffffff07;
  color:var(--text);
  padding:8px 10px;
}
.suggestion-item:hover,.suggestion-item.active{
  border-color:#b8f26f55;
  background:#b8f26f16;
}
.suggestion-item strong{
  color:var(--accent);
  font-size:.76rem;
  line-height:1.8;
}
.suggestion-item span{
  color:var(--muted);
  font-size:.72rem;
  line-height:1.25;
}
.accuracy-control{min-height:58px}
.trials-selector{
  position:relative;
  min-width:138px;
}
.trials-button{
  min-width:62px;
  border:0;
  border-radius:9px;
  background:#091914;
  color:var(--text);
  padding:6px 9px;
  font-size:.9rem;
  font-weight:900;
  line-height:1;
}
.auto-simulation-readout{color:var(--accent);font-size:.84rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.trials-button:focus-visible,
.trials-menu button:focus-visible{
  outline:3px solid #b8f26f66;
  outline-offset:2px;
}
.trials-menu{
  position:absolute;
  z-index:80;
  top:calc(100% + 8px);
  left:0;
  width:min(260px,calc(100vw - 24px));
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  padding:8px;
  border:1px solid #ffffff22;
  border-radius:14px;
  background:#071611f5;
  box-shadow:0 22px 70px #000b;
  backdrop-filter:blur(14px);
}
.trials-menu button{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:8px;
  width:100%;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:var(--accent);
  padding:9px 12px;
  text-align:left;
}
.trials-menu button.all-trials-option{
  position:relative;
  grid-column:1 / -1;
  margin-top:8px;
  border-radius:999px;
}
.trials-menu button.all-trials-option:before{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:-7px;
  height:1px;
  background:#ffffff1e;
}
.trials-menu button:hover,
.trials-menu button.is-highlighted{
  border-color:#b8f26f40;
  background:#b8f26f12;
}
.trials-menu button[aria-selected="true"]{
  color:var(--accent);
  border-color:#b8f26f66;
  background:#b8f26f1a;
}
.trials-menu button[aria-selected="true"]:after{
  content:"✓";
  color:var(--accent);
  font-weight:900;
}
.trials-menu button span{
  color:inherit;
  font-size:.86rem;
  letter-spacing:0;
}
.accuracy-readout{
  color:var(--accent);
  font-size:.72rem;
  white-space:nowrap;
}
.cancel-calc-btn{
  margin:10px auto 0;
  border:1px solid #ffffff1f;
  border-radius:999px;
  background:#ffffff08;
  color:#dfeee7;
  padding:7px 12px;
  font-size:.74rem;
  font-weight:900;
}
.all-calc-card{max-width:420px}
.all-calc-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}
#knownCardsBtn{
  min-height:58px;
  display:grid;
  place-items:center;
  gap:2px;
}
#knownCardsBtn small{color:var(--accent);font-size:.68rem}
.outcome-buttons{
  width:min(640px,100%);
  margin:18px auto 0;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border:1px solid #ffffff18;
  border-radius:999px;
  overflow:hidden;
  background:#06140fd9;
  box-shadow:0 18px 50px #0005;
}
.outcome-button{
  --outcome-color:#dcebe5;
  --outcome-bg:transparent;
  --outcome-ring:#ffffff40;
  position:relative;
  min-width:0;
  min-height:58px;
  border:0;
  border-right:1px solid #ffffff12;
  background:transparent;
  color:var(--text);
  display:grid;
  place-items:center;
  gap:2px;
  padding:10px 8px;
  transition:background .16s,color .16s,box-shadow .16s;
}
.outcome-win{--outcome-color:var(--outcome-win);--outcome-bg:#8ee6b214;--outcome-ring:#8ee6b266}
.outcome-tie{--outcome-color:var(--outcome-tie);--outcome-bg:#ffe28a16;--outcome-ring:#ffe28a66}
.outcome-loss{--outcome-color:var(--outcome-loss);--outcome-bg:#ff4d3d16;--outcome-ring:#ff6a5f70}
.outcome-equity{--outcome-color:var(--outcome-equity);--outcome-bg:#7dd3fc12;--outcome-ring:#7dd3fc66}
.outcome-button.detail-finish{--outcome-color:#c4b5fd;--outcome-bg:#a78bfa12;--outcome-ring:#a78bfa66}
.outcome-button.detail-equity{--outcome-color:#7dd3fc;--outcome-bg:#7dd3fc12;--outcome-ring:#7dd3fc66}
.outcome-button:last-child{border-right:0}
.outcome-button.outcome-win,.outcome-button.outcome-tie,.outcome-button.outcome-loss{grid-column:span 2}
.outcome-button.detail-equity,.outcome-button.detail-finish{grid-column:span 3;border-top:1px solid #ffffff12;min-height:52px}
.outcome-button.detail-equity{border-right:1px solid #ffffff12}
.outcome-button span{
  color:var(--muted);
  font-size:.62rem;
  letter-spacing:.16em;
  font-weight:900;
}
.outcome-button strong{
  font-size:1rem;
  line-height:1.05;
  font-variant-numeric:tabular-nums;
  color:var(--outcome-color);
}
.outcome-button span,.outcome-button strong{position:relative;z-index:1}
.outcome-button:hover,.outcome-button.active{
  background:var(--outcome-bg);
  color:var(--outcome-color);
}
.outcome-button:focus-visible{
  outline:0;
  background:var(--outcome-bg);
}
.outcome-popover{
  position:absolute;
  z-index:20;
  left:50%;
  top:calc(100% - 2px);
  transform:translateX(-50%);
  width:min(500px,calc(100vw - 32px));
  display:grid;
  gap:6px;
  text-align:left;
  padding:14px;
  border:1px solid #ffffff20;
  border-radius:14px;
  background:#071611f2;
  color:#dcebe5;
  box-shadow:0 20px 70px #000b;
  backdrop-filter:blur(14px);
  animation:outcomePopoverIn .16s ease-out both;
}
.outcome-popover span,.outcome-popover small{color:var(--muted);font-size:.76rem;line-height:1.35}
.outcome-popover.outcome-win{border-color:#8ee6b24a}
.outcome-popover.outcome-tie{border-color:#ffe28a4d}
.outcome-popover.outcome-loss{border-color:#ff6a5f55}
.outcome-popover.outcome-equity{border-color:#7dd3fc66}
.outcome-popover.outcome-finish{border-color:#9ed8c64d}
.outcome-popover.outcome-win{--popover-color:var(--outcome-win);--popover-tint:#8ee6b212}
.outcome-popover.outcome-tie{--popover-color:var(--outcome-tie);--popover-tint:#ffe28a12}
.outcome-popover.outcome-loss{--popover-color:var(--outcome-loss);--popover-tint:#ff6b6112}
.outcome-popover.outcome-equity{--popover-color:var(--outcome-equity);--popover-tint:#7dd3fc12}
.outcome-popover.outcome-finish{--popover-color:#c4b5fd;--popover-tint:#a78bfa12}
.outcome-popover.outcome-win .bound-value{color:#8ee6b2}
.outcome-popover.outcome-tie .bound-value{color:#ffe28a}
.outcome-popover.outcome-loss .bound-value{color:#ff7a70}
.outcome-popover.outcome-equity .bound-value{color:var(--outcome-equity)}
.outcome-popover.outcome-finish .bound-value{color:#c4b5fd}
.outcome-popover .bound-value{font-size:1.45rem;font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums}
.finish-popover-title{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.finish-popover-probability{color:var(--accent-2)!important;font-weight:900}.finish-popover-top{display:grid;gap:4px;margin-top:4px;padding-top:8px;border-top:1px solid #ffffff14}.finish-popover-top span{display:flex;justify-content:space-between;gap:20px}.finish-popover-top b{color:#dcebe5}
@keyframes outcomePopoverIn{from{opacity:0;transform:translate(-50%,-5px)}to{opacity:1;transform:translate(-50%,0)}}
.range-heading{font-size:.78rem;letter-spacing:0;text-transform:uppercase}
.range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:5px;text-align:center}
.range-stat{display:grid;gap:3px;min-width:0;padding:6px;border-radius:8px;background:var(--popover-tint,transparent)}
.range-stat-label{font-size:.65rem!important;font-weight:900;letter-spacing:0;color:var(--muted)!important}
.range-stat-value{font-size:1.05rem;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--popover-color,var(--text))!important}
.range-stat.estimate .range-stat-label{color:var(--text)!important}
.range-stat.estimate .range-stat-value{color:var(--popover-color,var(--text))!important}
.range-stat.estimate .range-stat-value{font-size:1.28rem}
.range-track{position:relative;height:18px;margin:2px 8px 1px;color:var(--popover-color,var(--text))}
.range-track-line{position:absolute;left:16.666%;right:16.666%;top:8px;height:2px;border-radius:999px;background:currentColor;opacity:.6}
.range-marker{position:absolute;top:4px;width:10px;height:10px;border:2px solid currentColor;border-radius:50%;background:#071611;transform:translateX(-50%)}
.range-marker.lower{left:16.666%}.range-marker.upper{left:83.333%}
.range-marker.estimate{left:var(--estimate-position,50%);width:12px;height:12px;top:3px;background:currentColor}
.exact-popover{text-align:center}.exact-popover strong{display:block;text-align:left}.exact-popover .bound-value{margin-top:4px}
.mini-result{
  position:relative;
  top:auto;
  left:auto;
  z-index:6;
  display:grid;
  grid-template-columns:repeat(3,minmax(72px,1fr));
  overflow:visible;
  border:0;
  border-radius:999px;
  background:#06140fe8;
  box-shadow:0 20px 50px #0008;
  backdrop-filter:blur(14px);
}
.mini-result span{
  display:grid;
  place-items:center;
  min-height:46px;
  padding:7px 13px;
  border-right:1px solid #ffffff12;
}
.mini-result span:last-child{border-right:0}
.mini-result small{
  color:var(--muted);
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.16em;
}
.mini-result strong{
  color:var(--text);
  font-size:.9rem;
  line-height:1.1;
  font-variant-numeric:tabular-nums;
}
.mini-result span:nth-child(1) strong{color:var(--outcome-win)}
.mini-result span:nth-child(2) strong{color:var(--outcome-tie)}
.mini-result span:nth-child(3) strong{color:var(--outcome-loss)}
.mini-result.is-invisible{visibility:hidden;pointer-events:none}
.mini-result-toggle{position:absolute;right:-12px;bottom:-11px;width:26px;height:26px;padding:0;border:1px solid #b8f26f55;border-radius:50%;display:grid;place-items:center;background:#10271df5;color:#dfffb7;font-size:1rem;font-weight:900;line-height:1;box-shadow:0 7px 18px #0007}
.mini-result-toggle:hover,.mini-result-toggle:focus-visible{outline:0;background:#b8f26f20;color:#efffdc}
.mini-result.is-minimized{width:0;height:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;display:block;overflow:visible}
.mini-result.is-minimized span{display:none}
.mini-result.is-minimized .mini-result-toggle{inset:0;width:34px;height:34px;background:#b8f26f10;border:1px solid #b8f26f33;color:#dfffb7}
#graphWin.active{color:var(--outcome-win);border-color:color-mix(in srgb,var(--outcome-win) 55%,transparent);background:#8ee6b214}
#graphTie.active{color:var(--outcome-tie);border-color:color-mix(in srgb,var(--outcome-tie) 55%,transparent);background:#ffe28a14}
#graphLoss.active{color:var(--outcome-loss);border-color:color-mix(in srgb,var(--outcome-loss) 55%,transparent);background:#ff6b6114}
#graphEquity.active{color:var(--outcome-equity);border-color:color-mix(in srgb,var(--outcome-equity) 55%,transparent);background:#7dd3fc14}
.result-details{
  width:min(520px,100%);
  margin:13px auto 0;
  color:var(--muted);
}
.result-detail-grid{
  display:grid;
  grid-template-columns:1fr;
  width:100%;
  border:1px solid #ffffff18;
  border-radius:999px;
  background:#06140fd9;
  box-shadow:0 18px 50px #0005;
  overflow:hidden;
}
.result-detail-button{
  --detail-color:#dcebe5;
  --detail-bg:transparent;
  position:relative;
  min-width:0;
  min-height:58px;
  border:0;
  border-right:1px solid #ffffff12;
  background:transparent;
  color:var(--text);
  text-align:center;
  padding:10px 16px;
  display:grid;
  place-items:center;
  gap:2px;
  transition:background .16s,color .16s;
}
.result-detail-button:last-child{border-right:0}
.detail-equity{--detail-color:var(--outcome-equity);--detail-bg:#7dd3fc12}
.detail-finish{--detail-color:#dcebe5;--detail-bg:#9ed8c612}
.result-detail-button span{
  display:block;
  color:var(--muted);
  font-size:.62rem;
  line-height:1.2;
  letter-spacing:.16em;
  font-weight:900;
}
.result-detail-button strong{
  display:block;
  color:var(--detail-color);
  font-size:1rem;
  line-height:1.05;
  font-variant-numeric:tabular-nums;
}
.result-detail-button:hover,.result-detail-button.active,.result-detail-button:focus-visible{
  outline:0;
  background:var(--detail-bg);
}
.street-indicator-wrap{
  position:absolute;
  top:14px;
  left:50%;
  z-index:7;
  display:grid;
  place-items:center;
  margin:0;
  transform:translateX(-50%);
}
.street-indicator{
  background:#071a14e8;
  box-shadow:0 10px 24px #0005;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
}
.street-indicator span{
  color:var(--muted);
  font-size:.58rem;
  letter-spacing:.13em;
  font-weight:900;
}
.street-indicator strong{
  font-size:.8rem;
}
.table-rail{
  border-radius:180px;
  padding:16px;
}
.table-felt{
  min-height:560px;
  border-radius:170px;
}
.table-status-region{
  position:absolute;
  left:50%;
  top:54px;
  z-index:6;
  transform:translateX(-50%);
  width:min(620px,82%);
  display:grid;
  place-items:center;
  pointer-events:none;
}
.status-toast{
  position:static;
  transform:none;
  max-width:100%;
  opacity:1;
  transform-origin:center;
  transition:opacity .22s ease,transform .22s cubic-bezier(.2,.75,.25,1),border-color .18s ease,color .18s ease;
}
.status-toast.is-opening{
  animation:statusPillOpen .26s cubic-bezier(.2,.75,.25,1) both;
}
.status-toast.is-hidden{
  opacity:0;
  transform:scaleX(.64);
}
.status-toast.is-calculating{
  border-color:#ffffff20;
  color:#dbe9e3;
}
.status-toast.is-calculated{
  border-color:#b8f26f55;
  color:#e9ffd7;
}
.community-zone{
  top:34%;
}
.street-labels{
  margin:0 auto 10px;
}
.hero-zone{
  bottom:20px;
}
.current-read-mini{
  opacity:0;
  transform:scaleX(.65);
  transform-origin:center;
  pointer-events:none;
  transition:opacity .18s ease,transform .22s cubic-bezier(.2,.75,.25,1);
}
.current-read-mini.is-visible{
  opacity:1;
  transform:scaleX(1);
}
.current-read-mini.is-changing{
  opacity:.35;
  transform:scaleX(.72);
}
@keyframes statusPillOpen{
  from{opacity:.18;transform:scaleX(.58)}
  to{opacity:1;transform:scaleX(1)}
}
.playing-card.is-new .card-inner{
  transform:rotateY(180deg);
  will-change:transform;
}
.playing-card.is-new .card-front{opacity:0}
.playing-card.is-new.is-revealed .card-inner{
  animation:dealFlip 800ms cubic-bezier(.2,.75,.25,1) both;
  animation-delay:var(--deal-delay,0ms);
}
.playing-card.is-new.is-revealed .card-front{
  animation:dealFrontSideVisible 800ms steps(1,end) both;
  animation-delay:var(--deal-delay,0ms);
}
.playing-card.deal-reveal .card-inner{animation:none}
.graph-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  color:var(--muted);
  font-size:.7rem;
}
.legend-item{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.legend-item:before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--outcome-win);
}
.legend-item.tie:before{border-radius:2px;background:var(--outcome-tie)}
.legend-item.loss:before{
  width:0;
  height:0;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-bottom:11px solid var(--outcome-loss);
  border-radius:0;
  background:transparent;
}
.legend-item.equity:before{
  border-radius:2px;
  transform:rotate(45deg);
  background:#7dd3fc;
}
.graph-line.tie{stroke:var(--outcome-tie)}
.graph-line.loss{stroke:var(--outcome-loss)}
.graph-point.tie rect{fill:var(--outcome-tie);stroke:#06130f;stroke-width:2}
.graph-point.loss path{fill:var(--outcome-loss);stroke:#06130f;stroke-width:2}
.graph-point.equity path{fill:var(--outcome-equity);stroke:#06130f;stroke-width:2}
.advanced-settings{
  margin-top:12px;
  border-top:1px solid var(--line);
  padding-top:12px;
}
.advanced-settings summary{
  cursor:pointer;
  color:var(--accent);
  font-weight:900;
}

@media(pointer:coarse){.remove-card-btn{opacity:1}}
@media(max-width:900px){
  .topbar{align-items:flex-start}
  .top-actions{justify-content:flex-end}
  .dashboard-grid{grid-template-columns:1fr}
  .table-felt{min-height:410px}
  .card-grid{grid-template-columns:repeat(7,1fr)}
  .probability-panel,.session-panel,.history-panel,.draws-panel,.opponent-possibilities-panel,.decision-panel{min-height:auto}
  .next-card-groups{grid-template-columns:1fr}
  .draw-primary-metrics,.draw-primary-metrics.has-impact{grid-template-columns:repeat(3,minmax(0,1fr))}
  .draw-primary-metrics.has-impact>div:last-child{grid-column:1/-1}
  .draw-primary-metrics>div{padding:8px}
  .draw-primary-metrics span{font-size:.55rem;letter-spacing:.04em}
  .draw-route-heading{gap:8px}
  .draw-route-heading>b{font-size:.6rem}
  .draw-probabilities{gap:14px}
  .draw-card-chips{gap:4px}
  .next-card-impact-row{grid-template-columns:1fr 1fr}
  .impact-card-name{grid-column:1/-1}
  .next-card-table-wrap{overflow:visible}
  .next-card-table-wrap table,.next-card-table-wrap tbody{display:block}
  .next-card-table-wrap thead{display:none}
  .next-card-table-wrap tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:10px 0;border-bottom:1px solid #ffffff14}
  .next-card-table-wrap td{display:flex;justify-content:space-between;gap:8px;padding:0;border:0;text-align:right!important;white-space:normal}
  .next-card-table-wrap td:before{content:attr(data-label);color:var(--muted);font-size:.6rem;font-weight:700}
  .next-card-table-wrap td:first-child,.next-card-table-wrap td:nth-child(2){grid-column:1/-1}
  .draw-terms dl{grid-template-columns:1fr;gap:4px}
  .draw-terms dd{margin-bottom:7px}
  .help-list{grid-template-columns:1fr}
}
@media(max-width:620px){
  .app-shell{width:min(100% - 18px,1280px);padding-top:142px;padding-bottom:102px}
  .topbar{display:grid;grid-template-columns:1fr;padding:8px 9px}
  .top-left-tools{justify-content:space-between;align-items:flex-start}
  .top-actions{justify-content:flex-end;flex-wrap:nowrap;width:100%;padding:5px 7px}
  .active-players-box{min-width:0;flex:1;padding-right:5px}
  .players-control-row{gap:7px}
  .top-action-divider{min-height:36px;margin:0 5px}
  .utility-actions{margin-left:0}
  .utility-icon-btn{width:36px;height:36px;min-width:36px}
  .brand-block h1{font-size:1.75rem}
  .trials-control{order:2}
  .street-indicator{display:inline-flex}
  .utility-btn span{display:none}
  .win-number{font-size:4.8rem}
  .result-summary{font-size:.69rem;gap:5px}
  .table-rail{padding:7px}
  .table-felt{min-height:360px}
  .community-zone{top:34%;width:96%}
  .hero-zone{bottom:22px}
  .cards-row{gap:5px}
  .street-labels{font-size:.52rem}
  .status-toast{top:9px}
  .mini-result{
    top:auto;
    left:auto;
    grid-template-columns:repeat(3,minmax(58px,1fr));
    width:min(92vw,330px);
  }
  .mini-result span{padding:6px 8px}
  .table-floating-controls{top:6px;padding:84px 20px 0 32px}
  .table-reset{right:auto;top:auto}
  .table-felt{--felt-line-inset:42px;--board-card-w:clamp(62px,15.5vw,82px);--hero-card-w:clamp(58px,14.5vw,76px)}
  .table-felt:after{border-radius:calc(48% - var(--felt-line-inset)) / calc(50% - var(--felt-line-inset))}
  .panel{padding:14px}
  .summary-stats{grid-template-columns:1fr 1fr}
  .street-history-layout{grid-template-columns:1fr}
  .street-history-details{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}
  .result-detail-grid{
    width:100%;
    grid-template-columns:1fr 1fr;
  }
  .result-detail-button{
    min-width:0;
    padding:10px 9px;
  }
  .panel-title-row{align-items:flex-start}
  .chat-panel{left:9px;right:9px;bottom:9px;width:auto}
  .command-history{max-height:128px;min-height:84px}
  .command-wrap{min-height:58px;grid-template-columns:auto 1fr}
  .command-wrap .primary-btn{grid-column:1/-1;border-top:1px solid #0002;padding:10px}
  .chat-panel:not(.chat-focused):not(:focus-within) .command-wrap{grid-template-columns:auto 1fr}
  .trials-menu{
    left:auto;
    right:0;
    grid-template-columns:1fr;
    max-height:min(70dvh,620px);
    overflow-y:auto;
  }
  .card-grid{grid-template-columns:repeat(4,1fr)}
  .out-card-grid{grid-template-columns:1fr}
  .draw-metrics{grid-template-columns:1fr 1fr}
  .opponent-summary-grid,.decision-input-grid,.decision-metrics,.decision-secondary-metrics{grid-template-columns:1fr}
  .next-card-row{grid-template-columns:auto 1fr}
  .next-card-row small{grid-column:1/-1}
  .outs-total{display:grid}
  .shortcut-grid{grid-template-columns:1fr}
  .settings-row{align-items:flex-start}
  .opponent-card-stack{grid-template-columns:1fr}
  .showdown-text-editor-wrap{width:100%;grid-template-columns:1fr auto}
  .opponent-current-read{grid-column:1/-1}
  #outcomeHistoryPanel{min-height:0}
  .street-history-layout{min-height:0}
  .session-row{grid-template-columns:28px 1fr}
  .session-meta{grid-column:2;text-align:left}
  .prob-row{grid-template-columns:1fr}
  .prob-value{text-align:left}
  .table-watermark{display:none}
  .side-panel{
    top:9px;
    bottom:9px;
    width:calc(100vw - 18px);
  }
  .command-chat{right:9px}
  .command-log-panel,.keybind-log-panel{left:9px}
  .floating-toast-stack{left:9px;bottom:9px;width:calc(100vw - 18px)}
  .outcome-buttons{border-radius:22px}
  .outcome-button{min-height:54px}
  .outcome-button.detail-equity,.outcome-button.detail-finish{grid-column:span 3}
  .opponent-prob-row{grid-template-columns:minmax(96px,.58fr) 1fr auto;gap:7px}
  .opponent-analysis-table th:nth-child(n+4),.opponent-analysis-table td:nth-child(n+4){width:auto}
  .table-rail{border-radius:48% / 50%;padding:8px}
  .table-felt{min-height:430px;border-radius:48% / 50%}
  .community-zone{top:34%;width:98%}
  .hero-zone{bottom:24px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .playing-card.deal-reveal .card-inner,.playing-card.is-new.is-revealed .card-inner,.playing-card.is-new.is-revealed .card-front,.graph-line{animation:none}
  .playing-card.is-new .card-inner{transform:rotateY(180deg);filter:none}
  .playing-card.is-new.is-revealed .card-inner{transform:rotateY(0deg);transition:transform .12s ease}
  .playing-card.is-new.is-revealed .card-front{opacity:1}
  .playing-card.temporary-peek .card-inner{animation-duration:420ms;animation-timing-function:ease}
  .prob-fill{transition:none}
}
