.lab{overflow:hidden}.lab-shell{display:flex;gap:14px;height:100dvh;min-height:640px;padding:14px}.js .lab-shell>*{opacity:0;transform:translateY(18px);animation:col-in .64s cubic-bezier(.22,1,.36,1) forwards}.js .lab-shell>*:nth-child(1){animation-delay:60ms}.js .lab-shell>*:nth-child(2){animation-delay:.14s}.js .lab-shell>*:nth-child(3){animation-delay:.22s}.js .lab-shell>*:nth-child(4){animation-delay:.3s}@keyframes col-in{to{opacity:1;transform:none}}.glass-col{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-lg);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));box-shadow:var(--shadow-card)}.rail{flex:0 0 218px;display:flex;flex-direction:column;gap:18px;padding:18px 16px;overflow-y:auto}.rail-brand{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--glass-border)}.mark{width:30px;height:30px}.brand-name{font-weight:700;letter-spacing:-.015em}.brand-lab{color:var(--amber-ink);background:linear-gradient(135deg,var(--amber-hi),var(--amber));padding:3px 9px;margin-left:auto;border-radius:999px;box-shadow:0 4px 14px #f59e0b59}.rail-links{display:flex;flex-direction:column;gap:4px}.rail-link{display:flex;align-items:center;gap:10px;padding:10px 12px;color:var(--dim);font-weight:500;border-radius:var(--r-md);border:1px solid transparent;transition:color var(--t-fast),background-color var(--t-fast),border-color var(--t-fast),transform var(--t-fast);text-align:left}.rail-link:hover{color:var(--amber-hi);background:var(--glass-2);border-color:var(--glass-border);transform:translate(2px)}.rail-launch{color:var(--text)}.rail-launch .ico{color:var(--amber)}.rail-grow{flex:1}.rail-stats{border:1px solid var(--glass-border);background:var(--glass);border-radius:var(--r-md);padding:14px 14px 6px}.rail-stats-head{color:var(--dim);padding-bottom:10px;border-bottom:1px solid var(--glass-border);margin-bottom:8px}.rs-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;color:var(--dim)}.rs-row b{color:var(--text);font-weight:500}.rail-net{display:flex;align-items:center;gap:9px;color:var(--dim);padding:0 2px}.rail-connect{width:100%;padding:12px 10px}.col{display:flex;flex-direction:column;min-width:0;overflow:hidden}.col-quotes{flex:0 0 240px}.col-board{flex:1 1 380px}.col-market{flex:1.55 1 520px}.col-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--glass-border);flex:0 0 auto}.col-head b{font-size:var(--fs-head);font-weight:600;letter-spacing:-.02em}.dim{color:var(--dim)}.quotes-list{overflow-y:auto;flex:1;padding:8px}.q-row{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 12px;border-radius:var(--r-md);border:1px solid transparent;border-bottom:1px solid rgba(148,163,184,.12);text-align:left;opacity:0;animation:row-in .42s cubic-bezier(.22,1,.36,1) forwards;transition:background-color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}@keyframes row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.q-row.is-picked{background:#f59e0b1a;border-color:#f59e0b73;box-shadow:inset 3px 0 0 var(--amber)}.q-id{min-width:0;flex:1}.q-sym{display:block;font-family:var(--f-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:.05em}.q-name{display:block;color:var(--dim);font-size:var(--fs-micro);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-tap{flex:0 0 auto;font-family:var(--f-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:.05em;color:var(--amber-hi);border:1px solid rgba(251,191,36,.4);background:#f59e0b14;padding:8px 10px;min-height:34px;border-radius:var(--r-sm);transition:background-color var(--t-fast),border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}.q-tap:hover{background:#f59e0b2e;border-color:var(--amber);transform:var(--lift);box-shadow:var(--glow)}.q-tap:disabled{opacity:.5}.board-tools{display:flex;gap:10px;padding:12px 18px;border-bottom:1px solid var(--glass-border);flex:0 0 auto}.board-tools input{flex:1;min-width:0;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:10px 14px;color:var(--text);transition:border-color var(--t-fast),background-color var(--t-fast)}.board-tools input::placeholder{color:var(--dim)}.board-tools select{background:var(--glass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23FBBF24' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--glass-border);border-radius:var(--r-md);color:var(--text);padding:10px 34px 10px 12px;appearance:none;-webkit-appearance:none}.board-tools input:focus,.board-tools select:focus,.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--amber);background:var(--glass-2)}select option{background:var(--bg-2);color:var(--text)}.board-list{overflow-y:auto;flex:1;padding:8px}.b-row{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;opacity:0;animation:row-in .42s cubic-bezier(.22,1,.36,1) forwards;transition:background-color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.b-row:hover{background:var(--glass-2);border-color:var(--glass-border);transform:translate(2px)}.b-row.is-on{background:#f59e0b1a;border-color:#f59e0b73;box-shadow:inset 3px 0 0 var(--amber)}.b-sym{font-family:var(--f-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:.05em;flex:0 0 74px}.b-quote{font-family:var(--f-mono);font-size:var(--fs-micro);color:var(--amber-hi);border:1px solid rgba(251,191,36,.35);background:#f59e0b14;padding:3px 8px;border-radius:999px;flex:0 0 auto}.b-name{flex:1;min-width:0;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.b-nums{display:flex;gap:16px;flex:0 0 auto;font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-micro);color:var(--dim)}.b-nums b{color:var(--text);font-weight:500;margin-left:6px}.board-empty{color:var(--dim);padding:28px 18px}.market-empty{flex:1;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;color:var(--dim);text-align:center;padding:40px}#marketBody{display:flex;flex-direction:column;overflow-y:auto;flex:1;padding:18px;gap:14px}.mk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.mk-symbol{font-size:var(--fs-title);background:linear-gradient(120deg,var(--amber-soft),var(--amber-hi) 55%,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}.mk-name{color:var(--dim);margin-top:6px}.mk-meta{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;color:var(--dim);padding-top:10px}.mk-meta a{color:var(--amber-hi);transition:color var(--t-fast)}.mk-meta a:hover{color:var(--amber-soft)}.mk-desc{color:var(--dim-plus);max-width:70ch}.mk-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mk-stat{padding:14px 16px;display:flex;flex-direction:column;gap:8px;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--glass-border);transition:border-color var(--t-fast),transform var(--t-fast)}.mk-stat:hover{border-color:#fbbf2466;transform:var(--lift)}.mk-stat span{font-family:var(--f-mono);font-size:var(--fs-micro);color:var(--dim);letter-spacing:.06em;text-transform:uppercase}.mk-stat b{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:500}.mk-stat b .u{color:var(--dim);font-size:var(--fs-micro)}.mk-cols{display:flex;gap:12px;flex:1;min-height:0}.tape{flex:1 1 55%;display:flex;flex-direction:column;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--glass-border);padding-bottom:12px}.ticket{flex:1 1 45%;display:flex;flex-direction:column;padding-bottom:18px}.sub-head{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px 10px}.sub-head b{font-weight:600}.tape-list{list-style:none;margin:0;padding:0 16px;overflow-y:auto;flex:1}.t-row{display:flex;align-items:baseline;gap:12px;padding:10px 2px;border-bottom:1px solid var(--glass-border);font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-micro);animation:row-in .38s cubic-bezier(.22,1,.36,1) both}.t-side{flex:0 0 74px;display:inline-flex;align-items:center;gap:6px;letter-spacing:.05em}.t-side svg{width:9px;height:9px}.t-side.buy{color:var(--up)}.t-side.sell{color:var(--down)}.t-amt{flex:1;color:var(--dim)}.t-amt b{color:var(--text);font-weight:500}.t-time{color:var(--dim);flex:0 0 auto}.tape-empty{color:var(--dim);font-family:var(--f-mono);font-size:var(--fs-micro);padding:12px 0}.seg{display:flex;margin:0 16px;border:1px solid var(--glass-border);border-radius:var(--r-md);overflow:hidden;background:var(--glass)}.seg-btn{flex:1;padding:11px 0;font-weight:600;color:var(--dim);transition:color var(--t-fast),background-color var(--t-fast),box-shadow var(--t-fast)}.seg-btn:hover{color:var(--text)}.seg-btn.is-on#tabBuy{background:linear-gradient(135deg,#4ade80,#22c55e);color:#052e16;box-shadow:0 6px 20px #4ade8040}.seg-btn.is-on#tabSell{background:linear-gradient(135deg,#fca5a5,#f87171);color:#450a0a;box-shadow:0 6px 20px #f8717140}.field{display:block;margin:12px 16px 0;position:relative}.field-l{display:block;color:var(--dim);margin-bottom:8px}.field input,.field textarea,.field select{width:100%;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:12px 14px;color:var(--text);transition:border-color var(--t-fast),background-color var(--t-fast)}.field textarea{resize:vertical}.field select option{background:var(--bg-2)}.field input::placeholder,.field textarea::placeholder{color:var(--dim)}.field-max{position:absolute;right:12px;top:37px;color:var(--amber-hi);padding:4px 8px;border-radius:var(--r-sm);transition:color var(--t-fast),background-color var(--t-fast)}.field-max:hover{color:var(--amber-soft);background:#f59e0b1f}.ticket-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 16px 0;color:var(--dim)}.slip{display:flex;gap:6px}.slip button{font-family:var(--f-mono);font-size:var(--fs-micro);letter-spacing:.03em;color:var(--dim);border:1px solid var(--glass-border);background:var(--glass);border-radius:var(--r-sm);padding:7px 10px;min-height:32px;transition:color var(--t-fast),border-color var(--t-fast),background-color var(--t-fast)}.slip button:hover{color:var(--text);border-color:var(--line)}.slip button.is-on{color:var(--amber-ink);background:linear-gradient(135deg,var(--amber-hi),var(--amber));border-color:transparent;box-shadow:0 4px 14px #f59e0b4d}.ticket-row b{color:var(--text);font-weight:500}.btn-trade{margin:18px 16px 0;justify-content:center;padding:14px 0;box-shadow:0 10px 30px #4ade8038}.btn-buy{background:linear-gradient(135deg,#4ade80,#22c55e);color:#052e16}.btn-buy:hover{transform:var(--lift);box-shadow:0 14px 40px #4ade8059}.btn-sell{background:linear-gradient(135deg,#fca5a5,#f87171);color:#450a0a;box-shadow:0 10px 30px #f8717138}.btn-sell:hover{transform:var(--lift);box-shadow:0 14px 40px #f8717159}.drawer{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end}.drawer-veil{position:absolute;inset:0;background:#070b1599;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:veil-in .24s ease}@keyframes veil-in{0%{opacity:0}to{opacity:1}}.drawer-panel{position:relative;width:min(460px,94vw);height:100%;background:#0f172ae0;border-left:1px solid var(--glass-border);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);overflow-y:auto;padding:26px 26px 40px;box-shadow:var(--shadow-pop);animation:drawer-in .32s cubic-bezier(.22,1,.36,1)}@keyframes drawer-in{0%{transform:translate(48px);opacity:0}to{transform:none;opacity:1}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--glass-border);margin-bottom:8px}.drawer-head h2{font-size:var(--fs-head);font-weight:600}.drawer-head .mono{margin-top:6px}.drawer-x{color:var(--dim);border:1px solid var(--glass-border);background:var(--glass);border-radius:var(--r-sm);padding:9px;display:inline-flex;transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.drawer-x:hover{color:var(--amber-hi);border-color:var(--amber);transform:rotate(90deg)}.drawer-panel .field{margin-left:0;margin-right:0}.btn-launch{width:100%;justify-content:center;margin-top:22px}.drawer-note{color:var(--dim);margin-top:14px}.toasts{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:8px;max-width:min(420px,90vw)}.toast{display:flex;align-items:center;gap:10px;background:#0f172ae0;border:1px solid var(--glass-border);border-left:3px solid var(--dim);border-radius:var(--r-md);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-pop);padding:12px 16px;animation:toast-in .32s cubic-bezier(.22,1,.36,1)}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.toast-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--dim)}.toast-ok{border-left-color:var(--amber)}.toast-ok .toast-dot{background:var(--amber)}.toast-err{border-left-color:var(--down)}.toast-err .toast-dot{background:var(--down)}.toast-pending{border-left-color:var(--amber-hi)}.toast-pending .toast-dot{background:var(--amber-hi)}.toast.is-out{opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease}@media (max-width: 1650px){.b-nums{display:none}}@media (max-width: 1180px){.col-quotes,.rail{flex:0 0 196px}.b-name{display:none}.mk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.lab-shell{flex-direction:column;height:auto;min-height:100dvh;padding:10px}.rail{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}.rail-brand{border-bottom:0;padding-bottom:0}.rail-links{flex-direction:row;flex-wrap:wrap}.rail-grow,.rail-stats,.rail-net{display:none}.rail-connect{width:auto;margin-left:auto}.col-quotes{flex:none}.quotes-list{display:flex;overflow-x:auto;padding:8px;gap:8px}.q-row{flex:0 0 auto;width:auto;white-space:nowrap;border:1px solid var(--glass-border);background:var(--glass)}.q-name{display:none}.col-board{flex:none;min-height:380px}.col-market{flex:none;min-height:560px}.mk-cols{flex-direction:column}.tape{max-height:300px}.b-nums{display:none}}
