:root{color:#edf6ff;background:#030712;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 16% 18%,rgba(33,94,150,.26),transparent 32rem),radial-gradient(circle at 86% 12%,rgba(146,56,126,.18),transparent 28rem),linear-gradient(135deg,#02030a,#07121f 42%,#100918)}button{font:inherit}.app-shell{min-height:100vh;min-height:100dvh;padding:14px;display:flex;flex-direction:column}.app-topbar{display:flex;align-items:stretch;justify-content:space-between;gap:12px;margin-bottom:10px}.try-guide{display:flex;align-items:center;gap:10px;min-height:38px;border:1px solid rgba(143,223,243,.13);border-radius:8px;padding:8px 11px;background:#030b189e;color:#91a8bb;box-shadow:0 14px 34px #00000038}.try-guide strong{color:#f4fbff;white-space:nowrap}.try-guide span{line-height:1.35}.topbar-actions{display:flex;align-items:center;gap:8px}.dashboard-grid{display:grid;grid-template-columns:minmax(300px,360px) minmax(520px,1fr) minmax(290px,340px);grid-template-rows:minmax(0,1fr) auto;align-items:start;gap:14px;min-height:calc(100vh - 76px);min-height:calc(100dvh - 76px);flex:1}.panel,.nebula-panel,.info-panel,.sample-inspector{border:1px solid rgba(153,208,255,.14);background:linear-gradient(180deg,#0a1423db,#060b17e6);box-shadow:0 22px 70px #00000061,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{border-radius:8px;padding:18px;min-height:0}.panel-heading,.nebula-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.eyebrow{margin:0 0 5px;color:#8fdff3;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;color:#f7fbff;line-height:1.02}h1{font-size:clamp(1.55rem,3vw,2.4rem)}h2{font-size:1.28rem}.hand-panel{display:flex;flex-direction:column;height:100%;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow:hidden}.selection-meter{display:grid;place-items:center;width:66px;height:54px;border:1px solid rgba(139,221,255,.22);border-radius:8px;background:#051120b8}.selection-meter span{font-size:1.35rem;font-weight:800}.selection-meter small{margin-top:-10px;color:#8ca2ba}.action-row{display:flex;gap:10px;margin-bottom:14px}.hand-helper{margin-bottom:12px}.scenario-picker{display:grid;gap:8px;margin-bottom:10px;border:1px solid rgba(143,223,243,.11);border-radius:8px;padding:9px;background:#02091457}.scenario-heading{display:grid;gap:3px}.scenario-heading span{color:#e9f8ff;font-size:.82rem;font-weight:900}.scenario-heading small{color:#8ea6bd;line-height:1.35}.scenario-grid{display:grid;gap:7px}.scenario-button{display:grid;gap:3px;min-height:42px;border:1px solid rgba(153,208,255,.11);border-radius:8px;padding:7px 8px;background:#ffffff0b;color:#d8e9f4;cursor:pointer;text-align:left}.scenario-button:hover{border-color:#8fdff352;background:#36b5d31a}.scenario-button strong{color:#f4fbff;font-size:.8rem}.scenario-button small{color:#8ea6bd;font-size:.7rem;line-height:1.25}.primary-action,.ghost-action{min-height:39px;border:1px solid transparent;border-radius:8px;padding:0 14px;color:#f5fbff;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.primary-action{background:linear-gradient(135deg,#1aa7c7,#7051d4);box-shadow:0 10px 26px #2cb5da2e;font-weight:800}.ghost-action{background:#ffffff0f;border-color:#ffffff1a}.primary-action:hover,.ghost-action:hover:not(:disabled){transform:translateY(-1px);border-color:#beecff73}.ghost-action:disabled{color:#647286;cursor:default}.analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.metric,.stat-card{border:1px solid rgba(156,212,255,.12);border-radius:8px;background:#ffffff0b}.metric{min-height:66px;padding:10px}.metric span,.stat-card span{display:block;color:#8ea6bd;font-size:.72rem}.metric strong{display:block;margin-top:6px;color:#f9fdff;font-size:.94rem}.selected-hand{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;min-height:72px;margin-bottom:12px;border:1px solid rgba(255,255,255,.09);border-radius:8px;padding:10px;background:#0108126b}.quiet-copy{margin:0;color:#8fa0b2;line-height:1.45}.mini-card{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:38px;height:30px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:#eef7ff;color:#162034;font-weight:900}.mini-card.hearts,.mini-card.diamonds{color:#ad1f45}.deck-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;flex:1;min-height:180px;overflow-y:auto;padding-right:3px}.card-button{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:42px;border:1px solid rgba(186,221,255,.14);border-radius:8px;padding:8px 9px;background:linear-gradient(145deg,#eff7fff7,#b5cbe0f0);color:#162035;cursor:pointer;box-shadow:0 8px 20px #00000038;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease,border-color .15s ease}.card-button.hearts,.card-button.diamonds{color:#b21f45}.card-button.spades,.card-button.clubs{color:#153454}.card-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px #0000004d}.card-button.selected{border-color:#54e5ffe6;background:linear-gradient(145deg,#fff,#d7f7ff);box-shadow:0 0 0 2px #54e5ff33,0 12px 26px #1ebfe03d}.card-button:disabled{cursor:default;opacity:.28;transform:none}.card-rank,.card-suit{font-weight:900}.card-suit{font-size:1.2rem}.nebula-panel{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:8px;padding:18px}.nebula-header{position:relative;z-index:2}.universe-controls{position:relative;z-index:2;display:grid;grid-template-columns:minmax(120px,.75fr) minmax(130px,1fr) auto;gap:9px;align-items:end;width:min(620px,100%);border:1px solid rgba(143,223,243,.15);border-radius:8px;padding:10px;background:#030b189e;box-shadow:0 14px 34px #0000003d}.compute-indicator{grid-column:1 / -1;color:#b8f1ff;font-size:.76rem;font-weight:850}.universe-help{grid-column:1 / -1;color:#8ea6bd;font-size:.74rem;line-height:1.35}.universe-controls label{display:grid;gap:5px}.universe-controls label span{color:#8ea6bd;font-size:.72rem;font-weight:800}.universe-controls select,.universe-controls input{width:100%;min-height:36px;border:1px solid rgba(155,214,255,.18);border-radius:8px;padding:0 10px;background:#ffffff14;color:#f2fbff;font:inherit;font-weight:750;outline:none}.universe-controls select:focus,.universe-controls input:focus{border-color:#5fe6ffb8;box-shadow:0 0 0 3px #5fe6ff1f}.universe-controls select:disabled,.universe-controls input:disabled{color:#75869a;cursor:progress}.seed-actions{display:flex;gap:7px}.ghost-action.compact{min-height:36px;padding:0 10px;white-space:nowrap}.center-visual-stack{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;gap:8px;min-width:0;min-height:0}.visual-mode-toggle{position:relative;z-index:4;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:min(320px,100%);border:1px solid rgba(143,223,243,.15);border-radius:8px;padding:5px;background:#030b18b8;box-shadow:0 12px 28px #00000038}.visual-mode-toggle button{min-height:34px;min-width:0;border:0;border-radius:6px;background:transparent;color:#8ea6bd;font:inherit;font-size:.8rem;font-weight:850;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.visual-mode-toggle button:hover,.visual-mode-toggle button.active{background:#5ee2ff21;color:#f2fbff;box-shadow:inset 0 0 0 1px #8fdff324}.visual-shell-card{position:relative;z-index:4;display:grid;gap:10px;width:min(640px,100%);border:1px solid rgba(143,223,243,.16);border-radius:8px;padding:13px;background:linear-gradient(180deg,#040e1dd1,#030a16b8);box-shadow:0 16px 44px #00000052,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.visual-shell-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.visual-shell-actions{display:flex;align-items:center;justify-content:flex-end;min-width:max-content}.visual-shell-description{margin:-2px 0 0;max-width:56rem;color:#9db3c5;font-size:.78rem;line-height:1.38}.visual-shell-card .universe-controls{width:100%;box-shadow:none;background:#030b186b}.status-pill{border:1px solid rgba(138,224,255,.24);border-radius:999px;padding:7px 11px;background:#040f1fa6;color:#b9eeff;font-size:.78rem;font-weight:800}.nebula-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.mandala-panel{overflow:hidden}.mandala-canvas{cursor:default}.mandala-legend{right:auto;left:18px;bottom:92px;width:min(420px,calc(100% - 36px))}.mandala-legend small{display:block;margin-top:5px;color:#8ba1b4;line-height:1.35}.mandala-detail-legend{bottom:88px;width:min(470px,calc(100% - 36px))}.save-message{position:absolute;top:82px;right:18px;z-index:5;border:1px solid rgba(143,223,243,.18);border-radius:999px;padding:7px 10px;background:#051222c7;color:#d9f7ff;font-size:.78rem;font-weight:850;box-shadow:0 12px 28px #00000047}.performance-panel{position:fixed;right:14px;bottom:14px;z-index:20;display:grid;justify-items:end;gap:8px;max-width:min(720px,calc(100vw - 28px));pointer-events:none;contain:layout paint}.perf-toggle,.perf-card{pointer-events:auto}.perf-toggle{min-height:34px;border:1px solid rgba(143,223,243,.24);border-radius:999px;padding:0 12px;background:#040f1fc7;color:#d9f7ff;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer;box-shadow:0 12px 32px #00000057}.performance-panel.open .perf-toggle{background:#2aa4c547}.perf-card{width:min(720px,calc(100vw - 28px));max-height:min(72dvh,680px);overflow:auto;border:1px solid rgba(143,223,243,.16);border-radius:8px;padding:13px;background:#040c19f0;box-shadow:0 24px 72px #0000007a,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.perf-heading,.perf-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.perf-heading strong,.benchmark-results strong{display:block;color:#f4fbff;font-size:.95rem}.perf-heading span,.perf-hint,.perf-copy-message{display:block;margin-top:4px;color:#8ea6bd;font-size:.74rem}.perf-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:10px}.perf-table{display:grid;gap:5px;margin-top:12px}.perf-row{display:grid;grid-template-columns:minmax(145px,1.7fr) repeat(4,minmax(54px,.7fr));gap:7px;align-items:center;border:1px solid rgba(143,223,243,.08);border-radius:7px;padding:7px 8px;background:#ffffff0a;color:#d6ebf5;font-size:.74rem}.perf-row.header{border-color:transparent;background:transparent;color:#8ea6bd;font-weight:850}.perf-row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-status{justify-self:start;border-radius:999px;padding:3px 7px;font-weight:900}.perf-status.ok{background:#51daa624;color:#9df3d2}.perf-status.borderline{background:#ffb05c24;color:#ffd59d}.perf-status.bad{background:#ff5f9324;color:#ffb4ca}.benchmark-results{display:grid;gap:7px;margin-top:12px;border-top:1px solid rgba(143,223,243,.12);padding-top:12px}.benchmark-row{display:grid;grid-template-columns:90px 110px 1fr;gap:8px;align-items:center;color:#e8f8ff;font-size:.78rem}.benchmark-row small{color:#8ea6bd}.perf-hint{margin-top:12px}.explain-overlay{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end;background:#0000006b;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.explain-drawer{width:min(720px,calc(100vw - 22px));height:100%;overflow-y:auto;border-left:1px solid rgba(143,223,243,.17);padding:18px;background:linear-gradient(180deg,#0a1423f5,#060b17fa);box-shadow:-24px 0 70px #00000073}.explain-heading{position:sticky;top:-18px;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:-18px -18px 14px;border-bottom:1px solid rgba(143,223,243,.11);padding:18px;background:#070f1df0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.explain-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.explain-section{border:1px solid rgba(143,223,243,.11);border-radius:8px;padding:12px;background:#ffffff0b}.explain-section h3{margin:0 0 7px;color:#f4fbff;font-size:.95rem}.explain-section p{margin:0;color:#9db3c5;line-height:1.48}.nebula-empty,.nebula-caption{position:absolute;left:50%;bottom:28px;z-index:2;width:min(420px,calc(100% - 36px));transform:translate(-50%);border:1px solid rgba(171,224,255,.15);border-radius:8px;padding:13px 16px;background:#050c19b8;color:#d6ebf5;text-align:center;box-shadow:0 16px 44px #00000052}.nebula-caption{border-color:#58e3ff3d}.nebula-legend,.sample-tooltip{position:absolute;z-index:3;border:1px solid rgba(171,224,255,.16);border-radius:8px;background:#050c19bf;box-shadow:0 18px 44px #00000057;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nebula-legend{left:18px;right:auto;bottom:92px;display:grid;gap:7px;width:min(470px,calc(100% - 36px));padding:10px 12px;color:#cbddea}.legend-row{display:flex;flex-wrap:wrap;gap:8px}.legend-row span{display:inline-flex;align-items:center;gap:5px;color:#eefbff;font-size:.76rem;font-weight:800}.legend-row i{width:9px;height:9px;border-radius:999px;box-shadow:0 0 12px currentColor}.nebula-legend small{color:#8fa8bb;line-height:1.35}.sample-tooltip{width:232px;padding:11px;pointer-events:none;color:#eaf8ff}.sample-tooltip strong{display:block;margin-bottom:8px;font-size:.82rem}.sample-tooltip dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:0}.sample-tooltip div{display:grid;gap:2px}.sample-tooltip dt{color:#8fa8bb;font-size:.68rem}.sample-tooltip dd{margin:0;color:#f6fbff;font-size:.78rem;font-weight:800}.sample-inspector{grid-column:2 / 3;border-radius:8px;padding:14px}.sample-inspector.empty{display:grid;align-content:center;min-height:160px}.sample-inspector h3{margin:0;color:#f7fbff;font-size:1.08rem}.sample-inspector.empty p:last-child,.inspector-note{margin:8px 0 0;color:#91a8bb;line-height:1.42}.inspector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.inspector-hand{min-height:48px;margin-bottom:10px}.inspector-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.inspector-metric{min-height:58px;padding:9px}.fit-strip{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.fit-strip span{border:1px solid rgba(143,223,243,.14);border-radius:999px;padding:6px 9px;background:#ffffff0b;color:#e9f8ff;font-weight:850}.auction-panel{display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow:hidden}.system-badge{display:inline-flex;align-items:center;width:fit-content;margin-top:8px;border:1px solid rgba(143,223,243,.16);border-radius:999px;padding:5px 8px;background:#45d4eb14;color:#b8eefd;font-size:.68rem;font-weight:850}.next-call-card{display:grid;gap:5px;margin-bottom:12px;border:1px solid rgba(143,223,243,.12);border-radius:8px;padding:11px 12px;background:#0209147a}.next-call-card.north{border-color:#45d4eb3d;background:#13425647}.next-call-card.south{border-color:#ffb05c33}.next-call-card span{color:#91a8bb;font-size:.72rem;font-weight:800;text-transform:uppercase}.next-call-card strong{color:#f0fbff;font-size:1rem}.next-call-card small{color:#91a8bb;line-height:1.35}.timeline-empty{min-height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:#91a8bb;cursor:pointer;font-weight:800}.auction-history-label{margin:0 0 6px;color:#8ea6bd;font-size:.72rem;font-weight:850;text-transform:uppercase}.auction-timeline{display:grid;align-content:start;gap:8px;flex:0 0 auto;min-height:72px;max-height:clamp(104px,19vh,168px);margin-bottom:14px;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(143,223,243,.08);border-radius:8px;padding:8px;background:#02091433}.timeline-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(255,255,255,.09);border-radius:8px;padding:10px 12px;background:#ffffff0b;color:inherit;cursor:pointer;text-align:left}.timeline-row span{color:#9bb0c4}.timeline-row strong{color:#f7fbff;min-width:46px;text-align:center}.timeline-row small{flex:1;color:#8399ae;font-size:.72rem;line-height:1.2}.timeline-row.north{border-color:#45d4eb38}.timeline-row:not(.north){border-color:#ffb05c24}.timeline-row.selected{background:#5643a038;border-color:#8fdff36b}.timeline-empty{border-color:#ffffff17;background:#ffffff09}.bid-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;min-width:0;margin-bottom:14px}.bid-grid button{display:grid;place-items:center;gap:2px;min-width:0;min-height:38px;border:1px solid rgba(151,171,194,.12);border-radius:8px;padding:6px 4px;background:#ffffff0a;color:#d8e9f4;cursor:pointer;font-weight:850;overflow:hidden}.bid-grid button span,.bid-grid button small{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bid-grid button small{color:#88a0b5;font-size:.58rem;font-weight:800}.bid-grid button small.zero{color:#ff9a9a}.bid-grid button small.preview-pending{color:#b8f1ff}.bid-grid button:disabled{color:#536376;cursor:default;opacity:.42}.auction-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.bid-inspector{display:grid;gap:8px;flex:1 1 auto;min-height:0;margin-top:12px;border:1px solid rgba(143,223,243,.13);border-radius:8px;padding:12px;background:#02091457;overflow-y:auto}.bid-inspector h3{margin:0;color:#f6fbff;font-size:1rem}.bid-inspector p{margin:0;color:#91a8bb;line-height:1.4}.bidding-assumptions{margin-top:10px;border:1px solid rgba(143,223,243,.12);border-radius:8px;padding:10px 12px;background:#02091447;color:#91a8bb}.bidding-assumptions summary{color:#e9f8ff;cursor:pointer;font-weight:850}.bidding-assumptions p{margin:8px 0 0;line-height:1.4}.bidding-assumptions strong{color:#e9f8ff}.bid-impact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.criteria-list{display:grid;gap:5px;margin:0;padding-left:18px;color:#c8ddea}.criteria-list li{line-height:1.3}.bid-metric{min-height:58px;padding:9px}.info-panel{grid-column:1 / -1;display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;align-items:stretch;border-radius:8px;padding:16px}.info-copy p:last-child{margin:8px 0 0;color:#93a8ba}.explorer-note{border-left:2px solid rgba(143,223,243,.45);padding-left:10px}.shape-ribbon,.hcp-ribbon{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.shape-ribbon span,.hcp-ribbon span{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(143,223,243,.16);border-radius:999px;padding:6px 9px;background:#0a1c2ea3;color:#e7f8ff;font-size:.8rem;font-weight:800}.shape-ribbon small,.hcp-ribbon small{color:#8fdff3;font-size:.72rem}.hcp-ribbon{margin-top:8px}.hcp-ribbon span{gap:8px}.hcp-ribbon strong{color:#f4fbff;font-size:.8rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}.stat-card{min-height:96px;padding:13px}.stat-card strong{display:block;margin:8px 0 5px;color:#eefbff;font-size:clamp(1.04rem,1.3vw,1.48rem);line-height:1.08}.stat-card small{color:#7890a8}@media(max-width:1120px){.dashboard-grid{grid-template-columns:1fr;grid-template-rows:auto;align-items:stretch}.hand-panel,.nebula-panel,.auction-panel,.info-panel,.center-visual-stack,.sample-inspector{min-height:auto}.hand-panel,.auction-panel{height:auto;max-height:none}.center-visual-stack{height:auto}.nebula-panel{height:clamp(500px,68vh,620px)}.sample-inspector{grid-column:1}}@media(max-width:720px){.app-shell{padding:10px}.dashboard-grid{gap:10px;min-height:calc(100vh - 84px)}.app-topbar,.try-guide{display:grid}.topbar-actions{display:grid;grid-template-columns:1fr 1fr}.try-guide{gap:4px}.panel,.nebula-panel,.info-panel{padding:14px}.analysis-grid,.stat-grid,.info-panel,.inspector-grid{grid-template-columns:1fr}.sample-inspector{grid-column:1}.nebula-legend{left:14px;right:14px;bottom:94px;width:auto}.visual-mode-toggle{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.nebula-panel{height:clamp(460px,66vh,560px)}.mandala-legend{bottom:94px}.save-message{top:76px;right:14px}.universe-controls{grid-template-columns:1fr}.performance-panel{right:10px;bottom:10px;max-width:calc(100vw - 20px)}.perf-card{width:calc(100vw - 20px)}.perf-row{grid-template-columns:minmax(116px,1.6fr) repeat(4,minmax(44px,.7fr));font-size:.68rem}.benchmark-row{grid-template-columns:1fr}.seed-actions{display:grid;grid-template-columns:1fr 1fr}.deck-grid{grid-template-columns:repeat(4,1fr)}.explain-content{grid-template-columns:1fr}.bid-grid{grid-template-columns:repeat(3,1fr)}.card-button{min-height:40px;padding:7px}}
