/* ============================================================
   QANTOM — Options room (digital options trading interface)
   ============================================================ */
.optroom{display:grid;grid-template-columns:56px 250px minmax(0,1fr) 296px;gap:12px;padding:12px 14px 40px;max-width:1780px;margin:0 auto;align-items:start}
.optroom--nopanel{grid-template-columns:56px 0 minmax(0,1fr) 296px}
.optroom--nopanel .optpanel{display:none}

.rail{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:7px;position:sticky;top:104px}
.rail button{width:40px;height:40px;display:grid;place-items:center;border:none;background:transparent;color:var(--muted2);border-radius:11px;cursor:pointer;transition:all var(--fast)}
.rail button svg{width:18px;height:18px}
.rail button:hover{background:var(--panel2);color:var(--text)}
.rail button.on{background:var(--up-dim);color:var(--up)}

.optpanel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;position:sticky;top:104px;max-height:calc(100vh - 122px);display:flex;flex-direction:column}
.optpanel__h{display:flex;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line);font-weight:700;font-size:13px}
.optpanel__b{overflow:auto;flex:1}
.optgrp{padding:9px 14px 5px;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted2);font-weight:700;background:var(--panel2);position:sticky;top:0;z-index:1}
.optasset{display:flex;align-items:center;gap:9px;padding:7px 12px;cursor:pointer;border-bottom:1px solid var(--line);transition:background var(--fast)}
.optasset:hover{background:var(--panel2)}
.optasset.on{background:var(--up-dim)}
.optasset .sym__ic{width:26px;height:26px;font-size:9px;border-radius:8px}
.optasset__n{flex:1;min-width:0}
.optasset__n b{display:block;font-size:12px;font-weight:650}
.optasset__n span{font-size:10px;font-family:var(--fm);font-weight:600}
.optasset__p{font-family:var(--fm);font-size:12px;font-weight:700;color:var(--up)}

.signal{padding:11px 12px;border-bottom:1px solid var(--line);cursor:pointer;transition:background var(--fast)}
.signal:hover{background:var(--panel2)}
.signal__t{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.signal__t .sym__ic{width:26px;height:26px;font-size:9px;border-radius:8px}
.signal__t b{font-size:12.5px}
.signal__bar{height:5px;border-radius:99px;background:var(--line);overflow:hidden}
.signal__bar i{display:block;height:100%;border-radius:99px;transition:width var(--med)}
.signal__f{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted2);margin-top:5px;font-weight:600}
.signal__f b{font-family:var(--fm);color:var(--text)}

.opthist{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid var(--line);border-left:3px solid transparent}
.opthist--win{border-left-color:var(--up)}
.opthist--loss{border-left-color:var(--down)}
.opthist--tie{border-left-color:var(--warn)}
.opthist b{font-size:12px}
.lead{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:1px solid var(--line);font-size:12.5px}
.lead--you{background:var(--up-dim)}
.lead__r{width:20px;font-family:var(--fm);color:var(--muted2);font-weight:700;font-size:11px}

.optmain{min-width:0}
.optchips{display:flex;gap:6px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px}
.optchip{display:flex;align-items:center;gap:8px;padding:8px 13px;background:var(--panel);border:1px solid var(--line);border-radius:11px;cursor:pointer;transition:all var(--fast);white-space:nowrap;color:var(--text)}
.optchip b{font-size:12.5px;font-weight:650}
.optchip span{font-family:var(--fm);font-size:11px;font-weight:700}
.optchip:hover{border-color:var(--line2)}
.optchip.on{border-color:var(--up);background:var(--up-dim)}
.optchip--add{padding:8px 11px;color:var(--muted)}
.optchip--add svg{width:14px;height:14px}

.optchart__head{display:flex;align-items:center;gap:16px;padding:12px 15px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.optpx{display:flex;align-items:baseline;gap:9px}
.optpx b{font-family:var(--fm);font-size:23px;font-weight:700;letter-spacing:-.025em}
.optpayout{padding:5px 13px;background:var(--up-dim);border:1px solid rgba(0,224,164,.3);border-radius:10px;text-align:center}
.optpayout span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}
.optpayout b{font-family:var(--fm);font-size:15px;color:var(--up);font-weight:750}
.optflash{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s var(--ease)}

.cdown b{display:block;font-family:var(--fm);font-size:12.5px;font-weight:700;text-align:right}
.cdown__bar{height:4px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:4px}
.cdown__bar i{display:block;height:100%;background:var(--grad);border-radius:99px;transition:width .8s linear}

/* ---------- trade ticket ---------- */
.optticket{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:15px;position:sticky;top:104px;box-shadow:var(--sh)}
.ott__block{margin-bottom:15px}
.ott__lbl{display:flex;align-items:center;gap:7px;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted2);font-weight:700;margin-bottom:9px}
.ott__lbl svg{width:13px;height:13px}
.ott__exp{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.ott__exp button{padding:8px 0;background:var(--panel2);border:1px solid var(--line);border-radius:9px;font-family:var(--fm);font-size:11.5px;font-weight:700;color:var(--muted);cursor:pointer;transition:all var(--fast)}
.ott__exp button:hover{border-color:var(--line2);color:var(--text)}
.ott__exp button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.ott__closes{font-size:10.5px;color:var(--muted2);margin-top:8px;text-align:center}
.ott__closes b{font-family:var(--fm);color:var(--text)}
.ott__amt{display:flex;gap:6px;align-items:stretch}
.ott__amt button{width:40px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:all var(--fast)}
.ott__amt button:hover{border-color:var(--acc);color:var(--text)}
.ott__amt button svg{width:15px;height:15px}
.ott__amtin{flex:1;min-width:0;display:flex;align-items:center;gap:4px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:0 12px;transition:all var(--fast)}
.ott__amtin:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px rgba(61,125,255,.14)}
.ott__amtin span{color:var(--muted2);font-family:var(--fm);font-weight:700}
.ott__amtin input{flex:1;min-width:0;background:none;border:none;outline:none;font-family:var(--fm);font-size:17px;font-weight:700;height:42px;padding:0}
.ott__amtin input::-webkit-outer-spin-button,.ott__amtin input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ott__amtin input[type=number]{-moz-appearance:textfield;appearance:textfield}

.ott__profit{display:flex;gap:10px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:13px}
.ott__profit>div{flex:1;min-width:0}
.ott__profit span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted2);font-weight:700;margin-bottom:3px}
.ott__profit b{font-family:var(--fm);font-size:17px;font-weight:750}

.ott__btn{width:100%;display:flex;align-items:center;gap:12px;padding:13px 16px;border:none;border-radius:13px;cursor:pointer;margin-bottom:9px;transition:all var(--fast);text-align:left;color:#fff}
.ott__txt{display:block;min-width:0}
.ott__btn b{display:block;font-size:15px;font-weight:800;letter-spacing:.02em}
.ott__btn small{display:block;font-size:10px;opacity:.85;font-weight:600}
.ott__arrow{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.2);display:grid;place-items:center;flex-shrink:0}
.ott__arrow svg{width:19px;height:19px;stroke-width:2.6}
.ott__btn--up{background:linear-gradient(135deg,#00e0a4,#00b884);color:#03130e;box-shadow:0 8px 22px -10px rgba(0,224,164,.8)}
.ott__btn--down{background:linear-gradient(135deg,#ff5c76,#e0344f);box-shadow:0 8px 22px -10px rgba(255,77,106,.8)}
.ott__btn:hover:not(:disabled){transform:translateY(-2px)}
.ott__btn:active:not(:disabled){transform:translateY(0) scale(.985)}
.ott__btn:disabled{opacity:.4;cursor:not-allowed}
.ott__bal{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted);padding-top:11px;border-top:1px solid var(--line);margin-top:3px}
.ott__bal b{font-family:var(--fm);color:var(--text);font-size:13.5px;margin-right:auto}

/* ---------- account mode switch (top bar) ---------- */
.modesw{display:flex;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}
.modesw button{padding:5px 11px;border:none;background:transparent;border-radius:7px;font-size:11px;font-weight:700;color:var(--muted2);cursor:pointer;transition:all var(--fast);text-transform:uppercase;letter-spacing:.05em}
.modesw button:hover{color:var(--text)}
.modesw button.on{background:var(--panel);color:var(--text);box-shadow:var(--sh)}
.modesw button.on[data-mode="live"]{color:var(--up)}

/* ---------- how it works (landing) ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1680px;margin:0 auto;padding:0 20px 60px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:22px;position:relative;transition:all var(--med)}
.step:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:var(--sh2)}
.step__n{font-family:var(--fm);font-size:30px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;margin-bottom:12px}
.step h4{font-size:14.5px;margin-bottom:6px}
.step p{color:var(--muted);font-size:12.8px;line-height:1.6}

@media(max-width:1500px){.optroom{grid-template-columns:56px 220px minmax(0,1fr) 280px}}
@media(max-width:1280px){
  .optroom,.optroom--nopanel{grid-template-columns:56px minmax(0,1fr) 280px}
  .optpanel{display:none}
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:960px){
  .optroom,.optroom--nopanel{grid-template-columns:minmax(0,1fr);padding:12px 13px 40px}
  .rail{flex-direction:row;position:static;overflow-x:auto}
  .optticket{position:static}
  .optpanel{display:none}
}
@media(max-width:620px){
  .steps{grid-template-columns:1fr}
  .ott__exp{grid-template-columns:repeat(4,1fr)}
  .optpx b{font-size:19px}
}
