:root{--ink:#eeeef1;--muted:#9899a1;--line:rgba(255,255,255,.12);--accent:#d4ff5b;--orange:#ffad61;--felt:#103e35;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}

*{box-sizing:border-box}

body{margin:0;background:#0b0b0e;color:var(--ink);font-family:var(--sans);min-width:0}

.noise{position:fixed;inset:0;opacity:.11;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}

.app-shell{max-width:1530px;margin:0 auto;padding:22px 34px 38px}

.topbar{height:61px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:26px}

.brand{color:var(--ink);font-size:17px;font-weight:800;letter-spacing:2px;text-decoration:none}

.brand-mark{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:8px;background:var(--accent);color:#10140b;font-size:14px;letter-spacing:0;transform:skew(-9deg)}

.session-pill,.credits span,.metric span,.panel-heading,.input-label,.market-top,.market-foot,.range-labels,.seat-label,.table-topline,.fine-print,.exposure span,.hedge-cap,.eyebrow{font:10px var(--mono);letter-spacing:.08em;color:var(--muted)}

.session-pill{margin-right:auto;color:#b4b5bc}

.dot{color:#55565e;padding:0 6px}

.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 0 4px rgba(212,255,91,.1)}

.quiet-button{border:0;background:transparent;color:#bbbcc3;font:10px var(--mono);letter-spacing:.08em;cursor:pointer}

.credits{border-left:1px solid var(--line);padding-left:25px;display:grid;gap:2px}

.credits strong{font:600 17px var(--mono);letter-spacing:-.04em;color:var(--accent)}

.dashboard{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}

.metric,.session-note{padding:21px 25px 18px;border-right:1px solid var(--line);min-height:93px}

.metric{display:grid;gap:3px}

.metric strong{font:600 19px var(--mono)}

.metric strong i{color:var(--accent);font-style:normal;letter-spacing:2px}

.metric strong em{font:10px var(--mono);color:var(--accent);font-style:normal;vertical-align:2px;letter-spacing:.1em}

.metric small{color:#70717a;font-size:10px}

.session-note{color:#9d9ea5;font-size:11px;line-height:1.8;border-right:0;padding-left:32px}

.table-layout{display:grid;grid-template-columns:260px minmax(520px,1fr) 290px;grid-template-areas:"markets table position";gap:17px;padding-top:18px}

.market-panel{grid-area:markets}

.blackjack-table{grid-area:table}

.position-panel{grid-area:position}

.market-panel,.position-panel{background:linear-gradient(150deg,#17181e,#111216);border:1px solid var(--line);padding:18px;min-height:567px}

.panel-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;color:#c4c5cb}

.live-dot{color:var(--accent);font-size:9px}

.position-panel .panel-heading button{background:none;border:0;color:#74757e;font:10px var(--mono);cursor:pointer}

.market-card{padding:14px 13px 11px;border:1px solid rgba(255,255,255,.09);margin-bottom:9px;background:#101115}

.market-card.active{border-color:rgba(212,255,91,.5);background:rgba(212,255,91,.04)}

.market-card.locked{opacity:.48}

.market-top,.market-foot{display:flex;justify-content:space-between}

.market-price{color:var(--accent)}

.market-card p{margin:7px 0 13px;font-size:11px;color:#dbdce1}

.probability{height:3px;background:#2b2c31;margin-bottom:8px}

.probability span{display:block;height:100%;background:var(--accent)}

.probability.dealer span{background:var(--orange)}

.market-foot{font-size:8px;color:#777881}

.panel-tip{margin:20px 0 0;font-size:10px;color:#767780;line-height:1.65}

.blackjack-table{min-width:0}

.table-topline{display:flex;justify-content:space-between;padding:0 2px 10px;color:#777881}

.table-topline b{color:#d7d8dc;font-weight:500}

.table-id{color:#5b5c63}

.felt{min-height:492px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:39px 0 37px;background:radial-gradient(ellipse at 50% 42%,#175d4e 0%,var(--felt) 47%,#0d3029 100%);border:1px solid rgba(212,255,91,.24);border-radius:180px 180px 18px 18px;box-shadow:inset 0 0 0 10px rgba(0,0,0,.12),inset 0 0 0 11px rgba(212,255,91,.06),0 18px 35px rgba(0,0,0,.22)}

.felt:before,.felt:after{content:"";position:absolute;border:1px solid rgba(212,255,91,.15);border-radius:50%;pointer-events:none}

.felt:before{width:86%;height:72%;top:18%}

.felt:after{width:59%;height:37%;top:36%}

.dealer-zone,.player-zone{z-index:1;display:grid;justify-items:center;gap:8px}

.player-zone{grid-template-columns:auto auto;align-items:center}

.player-zone .seat-label{grid-column:1/-1;grid-row:2}

.cards{display:flex;gap:8px;min-height:92px}

.card,.placeholder-card{width:61px;height:88px;padding:7px;border-radius:5px;background:#f1f0e9;color:#15151a;box-shadow:0 5px 12px rgba(0,0,0,.28);font:600 17px var(--mono);position:relative}

.card.red{color:#b93437}

.card .suit{font-size:20px;line-height:15px}

.card .corner{position:absolute;bottom:7px;right:7px;transform:rotate(180deg);font-size:12px}

.placeholder-card{display:grid;place-items:center;color:#8e8f91;background:rgba(238,239,235,.18);border:1px dashed rgba(255,255,255,.28);box-shadow:none}

.face-down{background:repeating-linear-gradient(45deg,#1c2427,#1c2427 4px,#c7e86a 4px,#c7e86a 5px);border:4px solid #ece8d9}

.hand-value{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#eff0e8;font:13px var(--mono);background:#113c34}

.table-message{position:absolute;top:49%;z-index:2;color:#c7c8c3;font:11px var(--mono);letter-spacing:.03em;text-align:center;padding:7px 12px;background:rgba(4,25,20,.45)}

.seat-label{color:#c9d7a3}

.seat-label b{color:#7f9872;font-weight:400;margin-left:8px}

.action-bar{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:8px;margin-top:12px}

.action{height:49px;border:1px solid var(--line);background:#16171c;color:#e1e2e3;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.09em}

.action.primary{background:var(--accent);color:#17200a;border-color:var(--accent)}

.action:disabled{opacity:.32;cursor:not-allowed}

kbd{margin-left:6px;color:inherit;opacity:.55;font:9px var(--mono)}

.stake-input{border:1px solid #37383e;display:flex;align-items:center;padding:0 12px;margin-top:8px;background:#0e0f12}

.stake-input span{color:var(--accent);font:12px var(--mono)}

.stake-input span:last-child{color:#777880}

input[type=number]{width:100%;height:43px;background:transparent;border:0;color:#f2f2f1;outline:0;padding:0 9px;font:15px var(--mono)}

.input-label{display:flex;justify-content:space-between;color:#aaaab2}

.input-label output{color:var(--accent)}

.divider{height:1px;background:var(--line);margin:19px 0}

.hedge-head{display:flex;justify-content:space-between;align-items:start}

.hedge-head strong{display:block;margin-top:5px;font:600 15px var(--mono)}

.leverage-row{margin-top:17px}
.leverage-row .input-label b{font-weight:500;color:var(--accent)}
.leverage-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}
.leverage{height:31px;border:1px solid #34363c;background:#111216;color:#81828a;font:10px var(--mono);cursor:pointer;transition:.2s ease}
.leverage:hover{border-color:#85868b;color:#d8d9dc}
.leverage.active{border-color:var(--accent);background:rgba(212,255,91,.08);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(212,255,91,.08)}
.leverage:disabled{opacity:.35;cursor:not-allowed}
.live-desk-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.live-desk-heading #livePrice{font:8px var(--mono);letter-spacing:.06em;color:#74757d}.live-desk{display:grid;grid-template-columns:1fr 1fr;gap:6px}.live-side{padding:10px;border:1px solid #33363a;background:#0e1011}.live-side>span{display:block;font:8px var(--mono);letter-spacing:.1em;color:#a8aab0}.live-side strong{display:block;margin:5px 0 2px;font:600 14px var(--mono)}.live-side small{display:block;height:15px;font:8px var(--mono);color:#777a80}.player-side strong{color:var(--accent)}.house-side strong{color:var(--orange)}.live-adjust{width:100%;height:26px;margin-top:8px;border:1px solid #45474d;background:#191b1e;color:#c7c9ca;cursor:pointer;font:8px var(--mono);letter-spacing:.05em}.live-adjust:hover:not(:disabled){border-color:#d4ff5b;color:#d4ff5b}.house-side .live-adjust:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.live-adjust:disabled{opacity:.32;cursor:not-allowed}
.live-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.live-actions .live-adjust{font-size:7px}.live-adjust.sell:hover:not(:disabled){border-color:#a9abb1;color:#f1f1ed}

.hedge-cap{font-size:8px;margin-top:2px;color:var(--orange)}

.range{appearance:none;width:100%;height:2px;margin:21px 0 7px;background:linear-gradient(90deg,var(--orange) var(--fill,0%),#34353a var(--fill,0%));outline:none}

.range::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(255,173,97,.14);cursor:pointer}

.range-labels{display:flex;justify-content:space-between;font-size:8px;color:#73747b}

.position-mode{margin-top:21px;padding:12px;background:#0d0e11;border-left:2px solid var(--accent)}

.position-mode strong{font:10px var(--mono);letter-spacing:.1em;color:var(--accent)}

.mode-dot{display:inline-block;width:5px;height:5px;margin:0 7px 1px 0;border-radius:50%;background:var(--accent)}

.position-mode p{margin:6px 0 0;color:#81828a;font-size:10px}

.exposure{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:21px 0}

.exposure div:last-child{border-left:1px solid var(--line);padding-left:15px}

.exposure span{display:block;font-size:8px}

.exposure strong{display:block;margin-top:6px;font:600 13px var(--mono);color:var(--accent)}

.exposure div:last-child strong{color:#f18787}

.confirm-button{width:100%;height:44px;border:0;background:#e7e7e2;color:#161616;cursor:pointer;font:700 10px var(--mono);letter-spacing:.1em}

.confirm-button span{float:right;font-size:16px;margin-right:11px;line-height:10px}

.fine-print{font-size:8px;line-height:1.6;color:#65666e;margin-top:12px}

dialog{width:440px;border:1px solid rgba(212,255,91,.45);background:#15161b;color:var(--ink);padding:32px;box-shadow:0 28px 100px #000}

dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}

.modal-close{position:absolute;right:16px;top:12px;border:0;background:none;color:#aaa;font-size:22px;cursor:pointer}

dialog h2{margin:10px 0 15px;font-size:28px;line-height:1.1}

dialog p,dialog li{color:#adaeb6;font-size:12px;line-height:1.65}

dialog ul{padding-left:18px;margin:18px 0 25px}

@media(max-width:1150px){.app-shell{padding:18px}

.table-layout{grid-template-columns:230px minmax(480px,1fr) 270px;gap:12px}

.market-panel,.position-panel{padding:14px}

}


/* Material table treatment and intentional game motion */
.app-shell{animation:page-in .7s cubic-bezier(.16,1,.3,1) both}

.felt{border:12px solid #1d1713;background:radial-gradient(ellipse at 50% 42%,rgba(54,128,97,.45),transparent 32%),radial-gradient(ellipse at 50% 42%,#104b3d 0%,#0b3028 50%,#08251f 100%);box-shadow:inset 0 0 0 1px rgba(245,215,150,.32),inset 0 0 44px rgba(0,0,0,.46),0 2px 0 #5c432a,0 19px 36px rgba(0,0,0,.42)}

.felt:before{z-index:0;background-image:radial-gradient(rgba(255,255,255,.12) .55px,transparent .8px),radial-gradient(rgba(0,0,0,.28) .65px,transparent .85px);background-position:0 0,3px 4px;background-size:6px 6px;opacity:.4}

.felt:after{z-index:0;border-color:rgba(247,223,164,.3);box-shadow:0 0 0 1px rgba(0,0,0,.28)}

.dealer-zone,.player-zone,.table-message{animation:rise-in .6s .15s cubic-bezier(.16,1,.3,1) both}
.player-zone{animation-delay:.23s}
.card{animation:deal .42s cubic-bezier(.16,1,.3,1) both}
.card:nth-child(2){animation-delay:.08s}
.card:nth-child(3){animation-delay:.16s}
.card.face-down{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 6px 12px rgba(0,0,0,.36)}
.card.face-down{display:block;overflow:hidden;padding:0;background:#090a0c;border:2px solid #d4ff5b;color:#d4ff5b;box-shadow:inset 0 0 0 3px #090a0c,inset 0 0 0 4px rgba(212,255,91,.42),0 6px 12px rgba(0,0,0,.42)}.card.face-down:before{content:"";position:absolute;inset:7px;border:1px solid rgba(212,255,91,.28);border-radius:2px}.card-back-top,.card-back-bottom,.card-back-x{position:absolute;z-index:1;font-family:var(--mono);color:#d4ff5b}.card-back-top{top:7px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:.16em}.card-back-x{top:50%;left:50%;transform:translate(-50%,-50%);font-size:37px;font-weight:500;line-height:1;text-shadow:0 0 10px rgba(212,255,91,.18)}.card-back-bottom{bottom:7px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:.16em;transform:rotate(180deg)}
.card.face-down{background:#050506;border:0;box-shadow:0 6px 12px rgba(0,0,0,.42)}.card.face-down:before{display:none}.card-back-top{top:6px;font-size:6px;letter-spacing:.12em}.card-back-x{font-size:31px;font-weight:400;text-shadow:none}.card-back-bottom{bottom:6px;font-size:6px;letter-spacing:.12em}
.table-message b{display:inline-block;margin-left:8px;animation:score-pop .5s both}
.felt.settled{animation:felt-flash .8s ease-out}
.felt.settled .hand-value{animation:score-pop .55s both}

.intel-section{margin-top:70px;padding-top:28px;border-top:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}
.section-heading h2{margin:7px 0 0;font-size:26px;letter-spacing:-.055em}
.session-status{font:10px var(--mono);letter-spacing:.08em;color:#c5c6cb}
.session-status small{display:block;color:#676872;font-size:9px;margin:6px 0 0 16px}
.intel-grid{display:grid;grid-template-columns:1.25fr 1fr .9fr;gap:14px}
.intel-card{min-height:188px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(29,30,36,.9),rgba(15,16,20,.8));padding:19px;position:relative;overflow:hidden}
.intel-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 45%,rgba(255,255,255,.025),transparent 55%);transform:translateX(-100%);transition:transform .7s}
.intel-card:hover:after{transform:translateX(100%)}
.card-heading{font:10px var(--mono);letter-spacing:.09em;color:#b7b8bf;display:flex;justify-content:space-between}
.card-heading span:last-child,.metric-badge{color:#6f7179;font-size:8px}
.replay-track{display:flex;align-items:flex-start;margin:34px 0 22px}
.replay-step{display:grid;gap:5px;min-width:70px;color:#696a72}
.replay-step i{display:grid;place-items:center;width:22px;height:22px;border:1px solid #4a4b52;border-radius:50%;font:9px var(--mono);font-style:normal}
.replay-step strong{font-size:10px;color:#a7a8af}
.replay-step small{font:9px var(--mono);line-height:1.3}
.replay-step.active i,.replay-step.active strong{border-color:var(--accent);color:var(--accent)}
.replay-step.done i{border-color:var(--orange);background:var(--orange);color:#26180d}
.replay-line{height:1px;flex:1;background:#393a40;margin:11px 8px 0}
.replay-copy{margin:0;color:#8c8d95;font-size:11px;line-height:1.6}
.performance-body{display:flex;align-items:center;gap:22px;height:142px}
.edge-orb{position:relative;width:112px;height:112px;display:grid;place-items:center}
.edge-orb svg{position:absolute;width:112px;height:112px;transform:rotate(-90deg)}
.edge-orb circle{fill:none;stroke:#2d2e34;stroke-width:5}
.edge-orb .edge-ring{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;transition:stroke-dashoffset .65s cubic-bezier(.16,1,.3,1)}
.edge-orb strong{font:600 20px var(--mono);z-index:1}
.edge-orb span{font:8px var(--mono);color:#888991;position:absolute;top:74px}
.mini-stats{display:grid;gap:13px;flex:1}
.mini-stats div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:8px}
.mini-stats span{font:8px var(--mono);color:#767780}
.mini-stats strong{font:10px var(--mono);color:#e4e4e2}
.thesis-card{background:linear-gradient(135deg,#171d18,#101313)}
.thesis-card h3{font-size:18px;line-height:1.14;letter-spacing:-.045em;margin:27px 0 11px}
.thesis-card h3 em{color:var(--accent);font-style:normal}
.thesis-card p{font-size:10px;color:#8f9097;line-height:1.65;margin:0}
.method-tags{display:flex;gap:6px;position:absolute;bottom:17px}
.method-tags span{font:8px var(--mono);letter-spacing:.06em;color:#b7c590;border:1px solid rgba(212,255,91,.22);padding:5px 6px}
.activity-bar{margin-top:14px;min-height:72px;border:1px solid var(--line);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;background:#101116}
.activity-bar .eyebrow{display:block;font-size:8px}
.activity-bar strong{display:block;font-size:11px;font-weight:500;margin-top:6px;color:#bfc0c5}
.activity-mark{font:20px var(--mono);color:rgba(212,255,91,.55)}

.site-footer{display:grid;justify-items:center;gap:7px;margin-top:28px;padding:18px 2px 0;border-top:1px solid var(--line);color:#676872;font:8px var(--mono);letter-spacing:.1em;text-align:center}

@keyframes page-in{from{opacity:0;transform:translateY(12px)}
to{opacity:1;transform:none}
}
@keyframes rise-in{from{opacity:0;transform:translateY(9px)}
to{opacity:1;transform:none}
}
@keyframes deal{from{opacity:0;transform:translate(38px,-25px) rotate(4deg)}
to{opacity:1;transform:none}
}
@keyframes score-pop{0%{transform:scale(.8);opacity:0}
65%{transform:scale(1.12)}
100%{transform:scale(1);opacity:1}
}
@keyframes felt-flash{0%,100%{filter:none}
30%{filter:brightness(1.15) saturate(1.2)}
}


/* Printed blackjack-felt layout: XPERT is the sole table mark. */
.felt{background:radial-gradient(ellipse at 50% 21%,rgba(78,147,106,.28),transparent 23%),radial-gradient(ellipse at 50% 53%,#095037 0%,#073a2d 48%,#042c23 100%)}

.table-branding{top:49%;z-index:3;transform:translateY(-50%);pointer-events:none}
.table-branding strong{font-size:42px;letter-spacing:.24em;padding-left:.24em;text-shadow:0 2px 0 rgba(0,0,0,.45),0 0 19px rgba(227,183,73,.16)}
.table-branding span{font-size:8px;letter-spacing:.32em;margin-top:8px}
.table-message{top:66%;z-index:3}
.table-arc,.table-spots{display:none}

.table-branding{position:absolute;z-index:1;top:33px;left:0;right:0;display:grid;justify-items:center;color:#e6bd54;text-shadow:0 1px 1px #011c15;letter-spacing:.16em}
.table-branding strong{font:700 24px var(--mono);line-height:1}
.table-branding span{font:8px var(--mono);margin-top:5px;letter-spacing:.21em;color:#e0a63a}
.table-arc{position:absolute;z-index:1;width:78%;height:48%;top:37%;border-top:2px solid #d8a83d;border-radius:50% 50% 0 0;opacity:.94;box-shadow:0 -1px 0 rgba(0,0,0,.35)}
.table-arc:before{content:'XPERT';position:absolute;top:-17px;left:50%;transform:translateX(-50%);padding:0 11px;background:#0b4936;color:#e4ba52;font:600 9px var(--mono);letter-spacing:.3em}
.table-spots{position:absolute;z-index:1;bottom:43px;left:10%;right:10%;display:flex;justify-content:space-between;align-items:center}
.table-spots i{width:46px;height:57px;border:2px solid #d8a83d;border-radius:9px;transform:rotate(13deg);box-shadow:0 0 0 2px rgba(2,36,26,.65),inset 0 0 9px rgba(220,169,55,.12)}
.table-spots i:nth-child(2){transform:rotate(8deg) translateY(14px)}
.table-spots i:nth-child(3){transform:translateY(19px)}
.table-spots i:nth-child(4){transform:rotate(-8deg) translateY(14px)}
.table-spots i:nth-child(5){transform:rotate(-13deg)}
.dealer-zone,.player-zone,.table-message{z-index:2}
.table-message{top:56%;background:rgba(3,34,24,.62);border:1px solid rgba(218,172,59,.18)}
.table-branding{top:50%;z-index:3;transform:translateY(-50%)}
.table-branding strong{font:700 42px var(--mono);letter-spacing:.24em;padding-left:.24em;line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.45),0 0 19px rgba(227,183,73,.16)}
.table-branding span{font:8px var(--mono);letter-spacing:.32em;margin-top:8px;color:#e0a63a}
.table-message{top:66%;z-index:3}
.player-zone{transform:translateY(3px)}
.felt:before{background-image:radial-gradient(rgba(255,255,255,.16) .45px,transparent .8px),radial-gradient(rgba(0,0,0,.38) .7px,transparent .95px);background-size:5px 5px,7px 7px;opacity:.42}

/* Hand totals sit right of the card group for a consistent table read. */
.dealer-zone{grid-template-columns:auto 38px;align-items:center}
.dealer-zone .seat-label{grid-column:1/-1;grid-row:1}
.dealer-zone .cards{grid-column:1;grid-row:2}
.dealer-zone .hand-value{grid-column:2;grid-row:2}
.player-zone{grid-template-columns:auto 38px}
.player-zone .cards{grid-column:1;grid-row:1}
.player-zone .hand-value{grid-column:2;grid-row:1}

/* One responsive game board: the same sections simply reflow as space changes. */
@media (max-width: 980px){
  .app-shell{max-width:780px;padding:18px 20px 34px}
  .table-layout{grid-template-columns:minmax(0,1fr) minmax(250px,.78fr);grid-template-areas:"table table" "position markets";gap:14px}
  .market-panel,.position-panel{min-height:0}
  .intel-grid{grid-template-columns:1fr 1fr}
  .thesis-card{grid-column:1/-1;min-height:150px}
}

@media (max-width: 640px){
  body{font-size:14px}
  .app-shell{padding:12px 12px 28px}

  .topbar{height:56px;gap:12px}
  .brand{font-size:15px;letter-spacing:1.6px;white-space:nowrap}
  .brand-mark{width:21px;height:21px;margin-right:5px}
  .session-pill,.quiet-button{display:none}
  .credits{margin-left:auto;padding-left:12px;gap:0}
  .credits span{font-size:8px}
  .credits strong{font-size:15px}

  .dashboard{grid-template-columns:1fr 1fr;margin:0 -12px;border-top:0}
  .metric,.session-note{min-height:70px;padding:13px 12px 11px}
  .metric:nth-child(2),.metric:nth-child(4){border-right:0}
  .metric:nth-child(3),.metric:nth-child(4){border-top:1px solid var(--line)}
  .session-note{display:flex;align-items:center;border-top:1px solid var(--line);border-right:0;padding-left:14px;font-size:10px}
  .metric span{font-size:8px}
  .metric strong{font-size:16px}
  .metric small{font-size:8px;line-height:1.25}

  .table-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"table" "position" "markets";padding-top:13px;gap:12px}
  .table-topline{padding:0 3px 8px;font-size:8px}
  .table-id{max-width:142px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}

  .felt{min-height:412px;border-width:8px;border-radius:112px 112px 14px 14px;padding:29px 0 26px}
  .felt:before{width:95%;height:72%;top:17%}
  .felt:after{width:68%;height:34%;top:38%}
  .table-branding strong{font-size:28px;letter-spacing:.18em;padding-left:.18em}
  .table-branding span{font-size:6px;letter-spacing:.25em;margin-top:6px}
  .table-message{top:65%;max-width:84%;padding:6px 8px;font-size:9px;line-height:1.35}
  .cards{gap:6px;min-height:76px}
  .card,.placeholder-card{width:53px;height:76px;padding:6px;font-size:15px}
  .card .suit{font-size:17px;line-height:13px}
  .card .corner{bottom:6px;right:6px;font-size:10px}
  .card-back-x{font-size:27px}
  .hand-value{width:33px;height:33px;font-size:11px}
  .dealer-zone,.player-zone{gap:6px}
  .seat-label{font-size:8px}

  .action-bar{gap:6px;margin-top:8px}
  .action{height:47px;font-size:10px;padding:0 5px}
  kbd{display:none}

  .market-panel,.position-panel{padding:14px}
  .panel-heading{padding-bottom:12px}
  .position-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;align-items:start}
  .position-panel .panel-heading,.position-panel>.input-label,.stake-input,.leverage-row,.position-panel>.divider,.live-desk-heading,.live-desk,.position-mode,.exposure,.confirm-button,.fine-print{grid-column:1/-1}
  .position-panel>.input-label{margin-top:1px}
  .leverage-row{margin-top:14px}
  .divider{margin:15px 0}
  .live-side{padding:9px}
  .live-side strong{font-size:13px}
  .exposure{margin:16px 0}
  .fine-print{margin-bottom:0}

  .market-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .market-panel .panel-heading,.market-panel .panel-tip{grid-column:1/-1}
  .market-panel .panel-heading{padding-bottom:4px}
  .market-card{margin:0;padding:11px 10px 9px}
  .market-card.locked{display:none}
  .market-card p{font-size:10px;line-height:1.35;margin:6px 0 11px}
  .panel-tip{margin:4px 0 0;font-size:9px}

  .intel-section{margin-top:36px;padding-top:20px}
  .section-heading{align-items:start;margin-bottom:13px}
  .section-heading h2{font-size:21px}
  .session-status{display:none}
  .intel-grid{grid-template-columns:1fr;gap:10px}
  .intel-card,.thesis-card{grid-column:auto;min-height:0;padding:15px}
  .replay-track{margin:23px 0 17px}
  .replay-step{min-width:57px}
  .replay-step small{font-size:8px}
  .replay-line{margin-left:5px;margin-right:5px}
  .performance-body{height:auto;min-height:122px;gap:14px}
  .edge-orb,.edge-orb svg{width:92px;height:92px}
  .edge-orb span{top:62px}
  .thesis-card h3{margin:22px 0 9px}
  .method-tags{position:static;margin-top:17px;flex-wrap:wrap}
  .activity-bar{min-height:64px;padding:13px}
  .activity-bar strong{font-size:10px;line-height:1.4}
  .site-footer{margin-top:22px;padding-top:15px;font-size:7px;line-height:1.6}

  dialog{width:calc(100% - 24px);padding:27px 22px}
}

@media (max-width: 380px){
  .credits span{display:none}
  .dashboard{font-size:12px}
  .felt{min-height:394px}
  .table-branding strong{font-size:25px}
  .market-panel{grid-template-columns:1fr}
  .market-card{grid-column:1/-1}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
