:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e7edf2;--room:#07111d;--room-2:#0b1625;--panel:#121d2de0;--panel-solid:#101a2a;--panel-soft:#0f172aad;--line:#94a3b82e;--line-strong:#e2e8f047;--text:#e7edf2;--muted:#8fa1b4;--felt:#0d8058;--felt-dark:#064638;--felt-light:#12a46f;--gold:#f8d36b;--blue:#7db7ff;--red:#ff9a9a;--green:#58d68d;--danger:#ff7a7a;background:#07111d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -10%, #29597f42, transparent 42rem), linear-gradient(180deg, var(--room-2), var(--room));min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#1e293be0;border-radius:7px;padding:.48rem .7rem;box-shadow:inset 0 1px #ffffff0a}button:hover:not(:disabled){background:#2d3d57f2;border-color:#f8d36ba6}button:disabled{cursor:not-allowed;opacity:.45}button.primary,.tabs button.active,button.active-toggle{color:#16110a;background:linear-gradient(#f2c860,#d49a32);border-color:#ffebaaad;font-weight:800}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#060d17d1;border-radius:7px;outline:none;padding:.5rem .6rem}input:focus,select:focus,textarea:focus{border-color:#f8d36bb3;box-shadow:0 0 0 2px #f8d36b1a}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}label{color:var(--muted);gap:.32rem;font-size:.78rem;font-weight:650;display:grid}h1,h2{letter-spacing:0;margin:0}h1{font-size:1.55rem;line-height:1}h2{color:#f8fafc;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:60;background:#07111deb;justify-content:space-between;align-items:center;gap:1rem;padding:.72rem 1rem;display:flex;position:sticky;top:0}.topbar p{color:var(--muted);text-transform:uppercase;letter-spacing:.18em;margin:.16rem 0 0;font-size:.76rem}.tabs{border:1px solid var(--line);background:#0f172abf;border-radius:9px;gap:.4rem;padding:.25rem;display:flex}.tabs button{box-shadow:none;background:0 0;border:0}.model-shelf{border-bottom:1px solid var(--line);background:#0a1420cc;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1rem;display:flex}.model-shelf div:first-child{gap:.08rem;display:grid}.model-shelf strong{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.model-shelf span,.muted{color:var(--muted)}.model-shelf span{font-size:.78rem}.model-actions,.button-row,.switch-row{flex-wrap:wrap;align-items:center;gap:.48rem;display:flex}.upload-control{width:auto;max-width:13rem;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#0f172abf;border:1px dashed #94a3b86b;border-radius:7px;padding:.48rem .65rem;display:inline-flex;position:relative;overflow:hidden}.upload-control input{opacity:0;cursor:pointer;position:absolute;inset:0}.workspace{padding:.75rem}.two-column{grid-template-columns:300px minmax(0,1fr);gap:.75rem;display:grid}.control-panel,.thinking-panel,.trump-chooser,.empty-state,.editor-section,.recommendations{border:1px solid var(--line);background:var(--panel);border-radius:10px;box-shadow:0 18px 42px #00000038,inset 0 1px #ffffff09}.play-surface,.advisor-surface{gap:.75rem;min-width:0;display:grid}.control-panel{align-content:start;gap:.72rem;padding:.85rem;display:grid}.control-panel h2{border-bottom:1px solid var(--line);padding-bottom:.45rem}.seat-setup,.hand-size-grid{gap:.55rem;display:grid}.seat-config{background:#060d1757;border:1px solid #94a3b81f;border-radius:8px;grid-template-columns:62px 1fr;align-items:center;gap:.45rem;padding:.5rem;display:grid}.seat-config strong{color:#cbd5e1;font-size:.78rem}.seat-config select:last-child{grid-column:2}.status{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.score-strip{border:1px solid var(--line);background:#09121ed1;border-radius:10px;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:center;gap:.5rem;padding:.55rem;display:grid}.score-strip div{background:#0f172ae0;border:1px solid #94a3b81a;border-radius:7px;gap:.12rem;min-height:2.5rem;padding:.48rem .6rem;display:grid}.score-strip div:first-child strong{color:var(--blue)}.score-strip div:nth-child(2) strong{color:var(--gold)}.score-strip span,.thought small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.table-grid{background:radial-gradient(ellipse at 50% 42%, #20c988f2 0%, var(--felt) 32%, #076344 62%, var(--felt-dark) 100%);border:1px solid #f8d36b2e;border-radius:24px;grid-template:".north."minmax(138px,auto)"west center east"minmax(260px,1fr)".south."minmax(156px,auto)/minmax(135px,.74fr) minmax(330px,1.34fr) minmax(135px,.74fr);gap:.55rem;min-height:calc(100vh - 190px);padding:1rem;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 6px #f8d36b0e,0 0 0 8px #ffffff06,0 34px 90px #00000075,inset 0 0 120px #00000040}.table-grid:after{content:"";pointer-events:none;opacity:.72;background:linear-gradient(#0000,#00000029),url("data:image/svg+xml,%3Csvg width='5' height='5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23000' fill-opacity='0.035'/%3E%3Crect width='1' height='1' fill='%23fff' fill-opacity='0.026'/%3E%3C/svg%3E");position:absolute;inset:0}.seat-0{grid-area:south}.seat-1{grid-area:west}.seat-2{grid-area:north}.seat-3{grid-area:east}.seat-zone{z-index:2;color:#eaf4ef;background:0 0;align-content:center;justify-items:center;gap:.45rem;min-width:0;padding:.55rem;display:grid;position:relative}.seat-zone.is-turn{filter:drop-shadow(0 0 18px #f8d36b66)}.seat-zone.is-turn header{color:var(--gold);border-color:#f8d36b80}.seat-zone header,.thought header{justify-content:center;align-items:center;gap:.55rem;display:flex}.seat-zone header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#07111da6;border:1px solid #e2e8f021;border-radius:99px;min-width:9.5rem;padding:.28rem .6rem}.seat-zone header strong{font-size:.8rem}.seat-zone header span,.thought header span{color:var(--muted);font-size:.72rem}.seat-1,.seat-3{align-content:center}.seat-1 .hand-row,.seat-3 .hand-row{flex-flow:column;justify-content:center;min-height:245px}.seat-1 .card-face,.seat-1 .card-back{margin-top:-72px;transform:rotate(90deg)}.seat-3 .card-face,.seat-3 .card-back{margin-top:-72px;transform:rotate(-90deg)}.seat-1 .card-face:first-child,.seat-1 .card-back:first-child,.seat-3 .card-face:first-child,.seat-3 .card-back:first-child{margin-top:0}.seat-0 .hand-row,.seat-2 .hand-row{justify-content:center;padding-left:3rem}.seat-0 .card-face,.seat-0 .card-back,.seat-2 .card-face,.seat-2 .card-back{margin-left:-2.9rem}.seat-0 .card-face:first-child,.seat-0 .card-back:first-child,.seat-2 .card-face:first-child,.seat-2 .card-back:first-child{margin-left:0}.hand-row{flex-wrap:wrap;gap:0;display:flex}.trick-center{z-index:2;color:#eaf4ef;grid-area:center;place-self:center;place-items:center;gap:.75rem;min-width:280px;min-height:280px;padding:1rem;display:grid;position:relative}.trick-center>span{color:#eaf4efb8;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;position:absolute;top:.4rem}.trick-cards{width:260px;height:220px;position:relative}.trick-cards em{color:#eaf4ef9e;place-items:center;display:grid;position:absolute;inset:0}.trick-card{justify-items:center;gap:.25rem;display:grid;position:absolute;top:50%;left:50%}.trick-card small{color:#eaf4efb3}.trick-seat-0{animation:.32s cubic-bezier(.2,1,.35,1) both play-from-south;transform:translate(-50%,-22%)}.trick-seat-2{animation:.32s cubic-bezier(.2,1,.35,1) both play-from-north;transform:translate(-50%,-98%)}.trick-seat-1{animation:.32s cubic-bezier(.2,1,.35,1) both play-from-west;transform:translate(-112%,-60%)}.trick-seat-3{animation:.32s cubic-bezier(.2,1,.35,1) both play-from-east;transform:translate(12%,-60%)}.trick-cards.collecting .trick-card{pointer-events:none}.trick-cards.collecting .trick-card small{opacity:0}.trick-cards.collecting.winner-seat-0 .trick-card{animation:.76s cubic-bezier(.55,0,.35,1) forwards collect-south}.trick-cards.collecting.winner-seat-2 .trick-card{animation:.76s cubic-bezier(.55,0,.35,1) forwards collect-north}.trick-cards.collecting.winner-seat-1 .trick-card{animation:.76s cubic-bezier(.55,0,.35,1) forwards collect-west}.trick-cards.collecting.winner-seat-3 .trick-card{animation:.76s cubic-bezier(.55,0,.35,1) forwards collect-east}.card-face,.card-back{color:#111827;text-align:center;background:linear-gradient(145deg,#fffdf8,#ece5d5);border:1px solid #d5cdbd;border-radius:8px;place-items:center;width:74px;min-height:104px;padding:.45rem;transition:transform .16s cubic-bezier(.3,1.4,.5,1),filter .16s,box-shadow .16s;animation:.22s ease-out both card-settle;display:grid;position:relative;box-shadow:0 10px 18px #00000040}button.card-face{cursor:pointer}.card-face.red-suit{color:#b91c1c}.card-face.trump-card{box-shadow:0 0 0 2px #f8d36b57,0 10px 18px #00000040}.card-corner{justify-items:center;font-size:.88rem;font-weight:850;line-height:.9;display:grid;position:absolute}.card-corner i{font-size:.94rem;font-style:normal}.card-corner.top{top:.4rem;left:.42rem}.card-corner.bottom{bottom:.4rem;right:.42rem;transform:rotate(180deg)}.card-center{font-size:2.35rem;line-height:1}.trump-chip{color:#7c4a03;text-transform:uppercase;letter-spacing:.08em;background:#f8d36b38;border-radius:99px;padding:.05rem .28rem;font-size:.48rem;font-weight:900;position:absolute;bottom:.42rem;left:50%;transform:translate(-50%)}.card-face.legal{border-color:#ffe18b;box-shadow:0 0 0 3px #f8d36b3d,0 12px 22px #0000004d}.seat-0 button.card-face.legal:hover{z-index:30;transform:translateY(-34px)scale(1.045)}.card-face:disabled:not(.legal){filter:brightness(.58)saturate(.7)}.card-back{text-align:center;color:#dbeafe;background:radial-gradient(circle at 30% 24%,#ffffff29,#0000 1.8rem),repeating-linear-gradient(45deg,#213a5c,#213a5c 8px,#172c49 8px 16px);border-color:#dbeafe52;place-items:center;font-weight:800}.card-back:before{content:"";background:linear-gradient(135deg,#0000 44%,#ffffff2e 45% 55%,#0000 56%),linear-gradient(45deg,#0000 44%,#ffffff21 45% 55%,#0000 56%);border:1px solid #dbeafe3d;border-radius:6px;width:46px;height:70px}.hokm-table{min-height:calc(100vh - 190px)}.hokm-overlay{z-index:4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#07111d9e;border:1px solid #f8d36b33;border-radius:18px;grid-area:center;place-self:center;place-items:center;padding:1rem;display:grid;position:relative;box-shadow:0 20px 54px #00000059}.picker-card{justify-items:center;gap:1rem;display:grid}.suit-btns{grid-template-columns:repeat(4,minmax(96px,1fr));gap:.65rem;display:grid}.suit-btns button{background:#0f172ae0;border-color:#f8d36b40;justify-items:center;gap:.2rem;min-height:86px;display:grid}.suit-btns button strong{font-size:2rem;line-height:1}.suit-btns button:nth-child(2) strong,.suit-btns button:nth-child(3) strong{color:var(--red)}.thinking-panel,.trump-chooser,.empty-state,.editor-section,.recommendations{padding:.85rem}.thinking-panel{background:#0b1625eb}.thought{border-top:1px solid var(--line);gap:.55rem;padding:.68rem 0;display:grid}.thought:first-of-type{border-top:0}.thought header{justify-content:space-between}.decision-bars{gap:.28rem;display:grid}.decision-row{grid-template-columns:46px 1fr 48px;align-items:center;gap:.45rem;display:grid}.decision-row span:first-child{color:#dbeafe;font-size:.78rem}.decision-row.selected span:first-child{color:var(--gold);font-weight:800}.bar-track{background:#334155e6;border-radius:99px;height:7px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#4ade80);height:100%}.compact{margin:0;font-size:.78rem}.advisor-surface{grid-template-columns:minmax(0,1fr)}.editor-section,.recommendations{background:#0c1726e0}.deck-picker{grid-template-columns:repeat(4,minmax(96px,1fr));gap:.65rem;display:grid}.suit-column{gap:.32rem;display:grid}.suit-column strong{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.mini-card{text-align:center;background:#0f172ad1;padding:.38rem}.mini-card.selected{color:#15110a;background:#f8d36be6;border-color:#fff3becc;font-weight:800}.current-trick-editor{gap:.48rem;display:grid}.trick-row{grid-template-columns:minmax(110px,150px) minmax(110px,150px);gap:.45rem;display:grid}.advisor-picker{border:1px solid var(--line);background:#060d1747;border-radius:8px;gap:.4rem;padding:.65rem;display:grid}.advisor-picker label{color:#cbd5e1;align-items:center;gap:.42rem;display:flex}.advisor-picker input{width:auto}.issue-list{color:var(--muted);margin:0;padding-left:1.1rem;font-size:.8rem}.issue-list .error{color:var(--danger)}.ok{color:var(--green);margin:0}@media (max-width:980px){.two-column,.model-shelf,.topbar{grid-template-columns:1fr;display:grid}.score-strip{grid-template-columns:repeat(2,minmax(120px,1fr))}.table-grid{grid-template:"north""west""center""east""south"/1fr;min-height:auto}.seat-1 .hand-row,.seat-3 .hand-row{flex-direction:row;min-height:auto;padding-left:3rem}.seat-1 .card-face,.seat-1 .card-back,.seat-3 .card-face,.seat-3 .card-back{margin-top:0;margin-left:-2.9rem;transform:none}.deck-picker,.suit-btns{grid-template-columns:repeat(2,minmax(96px,1fr))}}@keyframes card-settle{0%{opacity:0}to{opacity:1}}@keyframes play-from-south{0%{opacity:0;transform:translate(-50%,210%)scale(.78)}to{opacity:1;transform:translate(-50%,-22%)scale(1)}}@keyframes play-from-north{0%{opacity:0;transform:translate(-50%,-270%)scale(.78)}to{opacity:1;transform:translate(-50%,-98%)scale(1)}}@keyframes play-from-west{0%{opacity:0;transform:translate(-330%,-60%)rotate(10deg)scale(.78)}to{opacity:1;transform:translate(-112%,-60%)rotate(0)scale(1)}}@keyframes play-from-east{0%{opacity:0;transform:translate(230%,-60%)rotate(-10deg)scale(.78)}to{opacity:1;transform:translate(12%,-60%)rotate(0)scale(1)}}@keyframes collect-south{to{opacity:0;transform:translate(-50%,230%)scale(.38)}}@keyframes collect-north{to{opacity:0;transform:translate(-50%,-285%)scale(.38)}}@keyframes collect-west{to{opacity:0;transform:translate(-340%,-60%)scale(.38)}}@keyframes collect-east{to{opacity:0;transform:translate(250%,-60%)scale(.38)}}
