:root{--body-text:#b9c4ca;--muted-text:#7e8c94;--strong-text:#f3f8f7;--page:#071014;--panel:#101a20;--panel-raised:#14232a;--border:#243640;--felt:#08483f;--felt-deep:#062c2a;--accent:#44d6bb;--accent-soft:#44d6bb2e;--hero-accent:#d6aa5c;--hero-soft:#d6aa5c33;--soft-shadow:0 24px 70px #00000061;color:var(--body-text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{background:linear-gradient(180deg, #0d1f25e0, #071014 42%), var(--page);min-width:320px;min-height:100svh;margin:0}button{letter-spacing:0}#root{min-height:100svh}.app-shell{width:min(1120px,100%);min-height:100svh;color:var(--body-text);margin:0 auto;padding:18px 14px 24px}.app-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.76rem;font-weight:800}.app-header h1{color:var(--strong-text);margin:0;font-size:1.72rem;font-weight:800;line-height:1.08}.header-actions{justify-items:end;gap:8px;display:grid}.mobile-action-label{display:none}.reset-cards-button,.language-toggle,.card-picker-close,.stepper-button{color:#f8e4b8;min-height:44px;font:inherit;cursor:pointer;background:#d6aa5c1c;border:1px solid #d6aa5c75;border-radius:8px;font-size:.86rem;font-weight:800;transition:background-color .16s,border-color .16s,transform .16s}.reset-cards-button,.language-toggle,.card-picker-close{padding:9px 12px}.language-toggle{color:#c8fff4;background:#44d6bb1f;border-color:#44d6bb7a}.reset-cards-button:hover,.language-toggle:hover,.card-picker-close:hover,.stepper-button:hover:not(:disabled){transform:translateY(-1px)}.reset-cards-button:hover,.card-picker-close:hover,.stepper-button:hover:not(:disabled){background:#d6aa5c2e;border-color:#d6aa5cd1}.language-toggle:hover{background:#44d6bb2e;border-color:#44d6bbd1}.reset-cards-button:focus-visible,.language-toggle:focus-visible,.card-picker-close:focus-visible,.stepper-button:focus-visible,.card-slot:focus-visible,.card-clear-button:focus-visible,.picker-card-button:focus-visible,.method-help-button:focus-visible{outline-offset:3px;outline:3px solid #44d6bb57}.app-grid{gap:16px;display:grid}.setup-panel{gap:18px;display:grid}.card-section{gap:12px;display:grid}.section-heading{gap:4px;display:grid}.section-heading p,.section-heading h2{margin:0}.section-heading p{color:var(--hero-accent);text-transform:uppercase;font-size:.75rem;font-weight:800}.section-heading h2{color:var(--strong-text);font-size:1rem;font-weight:800}.hero-card-section{background:linear-gradient(180deg, #1e2a2ae6, #0c1619f0), var(--panel);box-shadow:var(--soft-shadow);border:1px solid #d6aa5c52;border-radius:8px;padding:18px}.board-card-section{background:#0b191db8;border:1px solid #44d6bb38;border-radius:8px;padding:16px}.card-row{align-items:center;gap:8px;display:flex}.hero-card-row{justify-content:center;gap:12px}.board-card-row{justify-content:space-between}.card-slot-shell{flex:none;display:grid;position:relative}.card-slot{aspect-ratio:.72;color:#d8eeeabd;width:56px;font:inherit;cursor:pointer;background:#07161875;border:1px dashed #c2e6df6b;border-radius:7px;place-items:center;font-size:.64rem;font-weight:800;transition:border-color .16s,box-shadow .16s,transform .16s,background-color .16s;display:grid}.card-slot:hover{background:#0922249e;border-color:#44d6bbb8;transform:translateY(-1px)}.card-slot:disabled{color:#5f6c73;cursor:not-allowed;background:#070d106b;border-color:#5969714d;transform:none}.card-slot:disabled:hover{background:#070d106b;border-color:#5969714d;transform:none}.card-slot-filled{background:linear-gradient(#f8f5ee,#dde6e1);border-style:solid;border-color:#ebf1edb8;box-shadow:inset 0 0 0 1px #ffffffb3}.card-slot-selected{box-shadow:0 0 0 3px #44d6bb38}.hero-card-row .card-slot{color:#3d3428;background:linear-gradient(#f9f1e4,#dde7e1);border:2px dashed #d6aa5cc2;width:min(38vw,128px);font-size:.86rem;box-shadow:0 0 28px #d6aa5c24,inset 0 0 0 1px #ffffffc7}.hero-card-row .card-slot-filled{border-style:solid}.hero-card-row .card-slot-selected{box-shadow:0 0 0 4px #d6aa5c33,0 0 28px #d6aa5c38}.card-placeholder{max-width:100%;color:inherit;text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:0 4px;overflow:hidden}.card-value{color:#182226;letter-spacing:0;font-size:1.28rem;font-weight:800}.hero-card-row .card-value{font-size:2.28rem}.card-suit{margin-left:2px}.card-value-hearts,.card-value-diamonds{color:#c7333f}.card-clear-button{z-index:2;color:#ffd7d7;width:24px;height:24px;font:inherit;cursor:pointer;background:#2c171a;border:1px solid #ffffff38;border-radius:999px;place-items:center;padding:0;font-size:.82rem;font-weight:800;line-height:1;display:grid;position:absolute;top:-8px;right:-8px;box-shadow:0 8px 18px #00000057}.card-clear-button:hover{background:#4a2025;border-color:#ff9f9fb8}.opponent-stepper{border:1px solid var(--border);background:#101a208f;border-radius:8px;grid-template-columns:auto 36px 34px 36px;justify-self:start;align-items:center;gap:8px;padding:8px 10px;display:inline-grid}.stepper-label{color:var(--muted-text);text-transform:uppercase;font-size:.78rem;font-weight:800}.opponent-stepper strong{min-width:0;color:var(--strong-text);text-align:center;font-size:1rem}.stepper-button{width:36px;min-height:34px;padding:0;font-size:1rem}.stepper-button:disabled{color:#69737a;cursor:not-allowed;background:#5969711f;border-color:#59697157;transform:none}.odds-panel{border:1px solid var(--border);background:linear-gradient(180deg, var(--panel-raised), var(--panel));box-shadow:var(--soft-shadow), inset 0 1px 0 #ffffff0a;border-radius:8px;padding:16px}.odds-panel h2{color:var(--strong-text);margin:0 0 12px;font-size:1rem}.odds-condition-list{gap:7px;margin:14px 0 0;display:grid}.odds-condition-list div{color:var(--muted-text);justify-content:space-between;gap:12px;font-size:.78rem;font-weight:700;display:flex}.method-help-button{color:#c8fff4;width:22px;height:22px;font:inherit;cursor:pointer;background:#44d6bb1f;border:1px solid #44d6bb6b;border-radius:999px;place-items:center;padding:0;font-size:.75rem;font-weight:800;line-height:1;display:inline-grid}.method-clarity{background:#44d6bb14;border:1px solid #44d6bb38;border-radius:8px;margin-top:10px;padding:10px}.method-clarity-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.method-compact-label{color:#c8fff4;font-size:.82rem;font-weight:800}.method-detail-list{color:var(--body-text);gap:5px;margin:9px 0 0;padding-left:18px;font-size:.78rem;display:grid}.method-help-popover{color:#f4dfb5;background:#071014f0;border:1px solid #d6aa5c47;border-radius:8px;margin:8px 0 0;padding:9px 10px;font-size:.78rem;line-height:1.4}.odds-condition-list dt,.odds-condition-list dd,.odds-list dt,.odds-list dd{margin:0}.odds-condition-list dd{color:var(--strong-text);text-align:right;font-weight:800}.odds-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.odds-list div{background:#0c1419;border:1px solid #44d6bb2e;border-radius:8px;justify-items:center;gap:4px;min-width:0;padding:10px 8px;display:grid}.odds-list dt{color:var(--muted-text);font-size:.78rem;font-weight:700}.odds-list dd{color:var(--accent);font-size:1.02rem;font-weight:800}.result-context{color:var(--muted-text);flex-wrap:wrap;gap:6px 10px;margin:10px 0 0;font-size:.78rem;font-weight:700;display:flex}.result-context div{align-items:center;gap:4px;min-width:0;display:flex}.result-context dt,.result-context dd{margin:0}.result-context dd{color:var(--strong-text);font-weight:800}.odds-meta{min-height:22px;color:var(--muted-text);margin-top:12px;font-size:.84rem;font-weight:700}.odds-meta p{margin:0}.odds-message{color:#ffd7a8}.card-picker-backdrop{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#03080ab8;align-items:end;padding:10px;display:grid;position:fixed;inset:0}.card-picker{background:linear-gradient(180deg, #14232afa, #091115fa), var(--panel);border:1px solid #44d6bb38;border-radius:8px;width:100%;max-height:calc(100svh - 20px);padding:0 16px 16px;overflow:auto;box-shadow:0 34px 90px #0000008f}.card-picker-header{z-index:2;background:linear-gradient(180deg, #14232afa, #111e24fa), var(--panel);justify-content:space-between;align-items:start;gap:16px;margin-bottom:4px;padding:16px 0 14px;display:flex;position:sticky;top:0}.card-picker-kicker{color:var(--hero-accent);text-transform:uppercase;margin:0 0 4px;font-size:.75rem;font-weight:800}.card-picker h2,.card-picker h3{color:var(--strong-text);margin:0}.card-picker h2{font-size:1.25rem}.card-picker-close{flex:none;min-width:64px}.card-picker-suits{gap:16px;display:grid}.card-picker-suit{gap:8px;display:grid}.card-picker-suit h3{color:var(--body-text);font-size:.88rem}.card-picker-grid{grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:7px;display:grid}.picker-card-button{color:#f3f8f7;min-height:46px;font:inherit;cursor:pointer;background:#081216eb;border:1px solid #c2e6df3d;border-radius:7px;place-items:center;font-size:1rem;font-weight:800;transition:border-color .16s,background-color .16s,transform .16s,opacity .16s;display:grid}.picker-card-button:hover:not(:disabled){background:#133030f2;border-color:#44d6bbc7;transform:translateY(-1px)}.picker-card-hearts,.picker-card-diamonds{color:#ff9f9f}.picker-card-button:disabled{color:#5b686f;cursor:not-allowed;opacity:.42}@media (width>=700px){.app-shell{padding:24px 28px 30px}.app-header{align-items:end}.app-header h1{font-size:2.35rem}.header-actions{align-items:center;display:flex}.board-card-row{justify-content:start}.card-slot{width:64px}.hero-card-row{justify-content:start}.hero-card-row .card-slot{width:128px}.card-picker-backdrop{place-items:center;padding:18px}.card-picker{width:min(760px,100%);max-height:calc(100svh - 36px);padding:0 20px 20px}.card-picker-grid{grid-template-columns:repeat(auto-fit,minmax(42px,1fr))}.picker-card-button{min-height:48px}}@media (width>=920px){.app-grid{grid-template-columns:minmax(0,1fr) minmax(340px,390px);align-items:start;gap:24px}.odds-panel{position:sticky;top:24px}}@media (width<=699px){.app-shell{padding:10px 10px 16px}.app-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin-bottom:10px;display:grid}.app-header h1{font-size:1.2rem}.eyebrow{margin-bottom:3px;font-size:.66rem}.header-actions{justify-self:end;justify-items:stretch;gap:6px;width:auto;display:flex}.desktop-action-label{display:none}.mobile-action-label{display:inline}.reset-cards-button,.language-toggle{min-width:42px;min-height:32px;padding:5px 8px;font-size:.78rem}.app-grid,.setup-panel{gap:10px}.card-section{gap:8px}.hero-card-section,.board-card-section{padding:10px}.section-heading{gap:2px}.section-heading h2{font-size:.9rem}.section-heading p{font-size:.66rem}.hero-card-row{gap:8px}.board-card-row{justify-content:start;gap:5px}.card-slot{width:calc(20vw - 12.4px);max-width:46px;font-size:.55rem}.hero-card-row .card-slot{width:min(30vw,106px);max-width:106px;font-size:.72rem}.hero-card-row .card-value{font-size:1.78rem}.hero-card-row .card-clear-button{width:24px;height:24px}.opponent-stepper{grid-template-columns:minmax(0,1fr) 34px 30px 34px;gap:6px;width:100%;padding:7px 8px}.stepper-label{font-size:.72rem}.stepper-button{width:34px;min-height:30px}.odds-panel{padding:10px}.odds-panel h2,.odds-condition-list{display:none}.method-clarity{margin-top:6px;padding:7px 8px}.result-context{justify-content:center;gap:4px 8px;margin-top:7px;font-size:.72rem}.method-clarity-header{justify-content:center;gap:7px}.method-compact-label{font-size:.72rem}.method-detail-list{display:none}.method-help-popover{text-align:left;margin-top:6px;font-size:.72rem}.odds-meta{text-align:center;min-height:0;margin-top:8px;font-size:.76rem}.odds-panel-has-result .odds-meta{display:none}.odds-list{gap:6px}.odds-panel:not(.odds-panel-has-result) .odds-list{display:none}.odds-list div{padding:8px 6px}.odds-list dt{font-size:.72rem}.odds-list dd{font-size:.92rem}}
