/* ═══════════════════════════════════════════════════════════════════════
   SOQUPOOL — tools panes (Calculator + Connection Guide)
   Legacy rules re-tokenized to the foundry system (y0q). Token bridge maps
   the legacy names this sheet was written against onto foundry tokens so
   the calculator numbers render mono and the accents follow the palette:
   copper = interactive, --ok = profit, chain colors = the three metals.
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --bg: var(--iron-950);
  --border: var(--seam);
  --border-strong: var(--seam-hi);
  --text: var(--text-hi);
  --text2: var(--text-mid);
  --text3: var(--text-lo);
  --green: var(--copper);
  --amber: var(--warn);
  --mono: var(--font-mono);
}

.pane .section { padding: 0; background: transparent; border: 0; }
.pane .container { max-width: 1080px; margin: 0; padding: 0; }
.pane .section h2 { font-variation-settings: "wdth" 114; font-weight: 700; text-transform: uppercase; font-size: 16px; color: var(--text-mid); letter-spacing: .05em; margin: 6px 0 10px; }

.hud-label{font-family:var(--mono);font-size:.7rem;color:var(--text2);letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.hud-label::before{content:'';width:16px;height:1px;background:var(--copper);opacity:.6}
.section-sub{color:var(--text2);font-size:.85rem;margin-bottom:36px;max-width:640px}

/* ── calculator ─────────────────────────────────────────────────────── */
.calc-section{padding:48px 0;border-top:1px solid var(--border);background:var(--bg)}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:800px;margin:0 auto}
.calc-field label{display:block;font-size:.6rem;font-family:var(--mono);color:var(--text3);text-transform:uppercase;letter-spacing:2px;margin-bottom:4px;font-weight:600}
.calc-field input,.calc-field select{width:100%;padding:10px 14px;background:var(--iron-900);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.85rem;outline:none;transition:border-color .2s}
.calc-field input:focus,.calc-field select:focus{border-color:var(--copper)}
.calc-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%233d4f5f'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.calc-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);gap:8px}
.calc-row:last-child{border-bottom:none}
.calc-row-label{font-size:.78rem;color:var(--text2);flex:1 1 auto}
.calc-row-val{font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--text);width:130px;text-align:right;flex-shrink:0}
.calc-row-val.profit{color:var(--ok)}
.calc-row-mid{font-family:var(--mono);font-size:.85rem;font-weight:600;color:var(--ok);width:90px;text-align:right;flex-shrink:0}
.calc-row-mid.profit{color:var(--ok)}
.calc-container { display:grid; grid-template-columns:400px 1fr; gap:28px; align-items:start; }
.calc-inputs { display:flex; flex-direction:column; gap:20px; background:var(--iron-900); border:1px solid var(--border); padding:24px; }
.calc-input-compact { padding-top:0; }
.calc-label { display:flex; align-items:center; gap:6px; font-family:var(--mono); font-size:.68rem; font-weight:600; color:var(--text2); text-transform:uppercase; letter-spacing:2px; margin-bottom:8px; }
.calc-label svg { color:var(--text3); }
.calc-hashrate-row { display:flex; gap:8px; align-items:center; }
.calc-input { flex:1; padding:11px 14px; background:var(--iron-900); border:1px solid var(--border); color:var(--text); font-family:var(--mono); font-size:.9rem; font-weight:600; outline:none; transition:border-color .2s,box-shadow .2s; }
.calc-input.calc-input-sm { max-width:120px; padding:8px 12px; font-size:.82rem; }
.calc-input:focus { border-color:var(--copper); box-shadow:0 0 0 3px rgba(217,111,50,.08); }
.calc-unit-select { padding:8px 32px 8px 12px; background:var(--iron-900); border:1px solid var(--border); color:var(--text2); font-family:var(--mono); font-size:.78rem; font-weight:600; cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%233d4f5f'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; outline:none; transition:border-color .2s; }
.calc-unit-select:focus { border-color:var(--copper); }
.calc-unit-label { font-family:var(--mono); font-size:.8rem; font-weight:600; color:var(--text3); padding:0 6px; min-width:24px; }
.calc-custom-row { display:flex; align-items:center; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid var(--border); }
.calc-custom-label { font-family:var(--mono); font-size:.6rem; color:var(--text3); letter-spacing:.5px; white-space:nowrap; }
.calc-presets-cards { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.calc-preset { padding:12px 14px; background:var(--iron-900); border:1px solid var(--border); cursor:pointer; transition:all .2s; text-align:left; display:flex; flex-direction:column; gap:2px; }
.calc-preset:hover { border-color:var(--copper); background:rgba(217,111,50,.03); transform:translateY(-1px); }
.calc-preset.active { border-color:var(--copper); background:rgba(217,111,50,.07); }
.calc-preset-name { font-family:var(--mono); font-size:.72rem; font-weight:700; color:var(--text); letter-spacing:.5px; }
.calc-preset.active .calc-preset-name { color:var(--copper-hot); }
.calc-preset-spec { font-family:var(--mono); font-size:.58rem; color:var(--text3); letter-spacing:.3px; }
.calc-slider-wrap { display:flex; align-items:center; gap:14px; }
.calc-slider { flex:1; -webkit-appearance:none; appearance:none; height:6px; background:linear-gradient(90deg,rgba(217,111,50,.15),rgba(217,165,75,.3)); outline:none; cursor:pointer; }
.calc-slider::-webkit-slider-thumb { -webkit-appearance:none; width:20px; height:20px; border-radius:50%; background:var(--copper); border:3px solid var(--iron-950); box-shadow:0 2px 8px rgba(217,111,50,.3); cursor:pointer; transition:transform .15s; }
.calc-slider::-webkit-slider-thumb:hover { transform:scale(1.15); }
.calc-slider::-moz-range-thumb { width:20px; height:20px; border-radius:50%; background:var(--copper); border:3px solid var(--iron-950); box-shadow:0 2px 8px rgba(217,111,50,.3); cursor:pointer; }
.calc-slider-val { font-family:var(--mono); font-size:.82rem; font-weight:700; color:var(--text); white-space:nowrap; min-width:90px; }
.calc-pool-info { padding:14px 16px; background:var(--bg); border:1px solid var(--border); display:flex; flex-direction:column; gap:8px; }
.calc-pool-row { display:flex; align-items:center; justify-content:space-between; }
.calc-pool-label { font-family:var(--mono); font-size:.62rem; color:var(--text3); letter-spacing:.5px; }
.calc-pool-val { font-family:var(--mono); font-size:.72rem; font-weight:700; color:var(--text); }
.calc-pool-badge { font-family:var(--mono); font-size:.55rem; font-weight:700; color:var(--copper-hot); background:rgba(217,111,50,.08); border:1px solid rgba(217,111,50,.2); padding:2px 8px; letter-spacing:1.5px; text-transform:uppercase; }
.calc-results { background:var(--iron-900); border:1px solid var(--border); padding:24px; position:relative; overflow:hidden; }
.calc-results::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--copper); }
.calc-results-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.calc-results-title { font-family:var(--mono); font-size:.78rem; font-weight:700; color:var(--text); text-transform:uppercase; letter-spacing:2px; }
.calc-results-live { display:inline-flex; align-items:center; gap:5px; font-family:var(--mono); font-size:.6rem; font-weight:600; color:var(--ok); letter-spacing:1.5px; text-transform:uppercase; }
.calc-live-dot { width:6px; height:6px; border-radius:50%; background:var(--ok); box-shadow:0 0 4px rgba(87,185,138,.4); animation:livePulse 2s ease-in-out infinite; }
@keyframes livePulse { 0%,100%{opacity:1} 50%{opacity:.35} }
.calc-revenue-grid { display:flex; flex-direction:column; gap:12px; margin-bottom:16px; }
.calc-rev-chain { padding:14px 16px; background:var(--bg); border:1px solid var(--border); transition:border-color .2s; }
.calc-rev-chain:hover { border-color:var(--border-strong); }
.calc-rev-chain-soq { background:linear-gradient(135deg,rgba(142,124,240,.03),rgba(142,124,240,.06)); border-color:rgba(142,124,240,.18); }
.calc-rev-chain-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.calc-rev-tag { font-family:var(--mono); font-size:.6rem; font-weight:700; padding:3px 10px; letter-spacing:1px; text-transform:uppercase; }
.calc-rev-tag.ltc { background:rgba(185,196,208,.1); color:var(--ltc); border:1px solid rgba(185,196,208,.2); }
.calc-rev-tag.doge { background:rgba(217,180,91,.1); color:var(--doge); border:1px solid rgba(217,180,91,.2); }
.calc-rev-tag.soq { background:rgba(142,124,240,.1); color:var(--soq); border:1px solid rgba(142,124,240,.2); }
.calc-rev-price { font-family:var(--mono); font-size:.72rem; color:var(--text3); }
.calc-rev-premainnet { font-style:italic; color:var(--soq); opacity:.8; font-size:.62rem; }
.calc-rev-periods { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.calc-rev-cell { text-align:center; }
.calc-rev-period { font-family:var(--mono); font-size:.55rem; color:var(--text3); text-transform:uppercase; letter-spacing:2px; margin-bottom:4px; }
.calc-rev-coin { font-family:var(--mono); font-size:.85rem; font-weight:700; color:var(--text); }
.calc-rev-usd { font-family:var(--mono); font-size:.72rem; color:var(--ok); font-weight:600; }
.calc-rev-soq-spec { font-style:italic; color:var(--soq) !important; font-weight:500 !important; font-size:.68rem !important; opacity:.85; }
.calc-soq-whatif { margin:16px 0; padding:16px 18px; background:linear-gradient(135deg,rgba(142,124,240,.03),rgba(142,124,240,.07)); border:1px solid rgba(142,124,240,.15); }
.calc-soq-whatif-header { display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.72rem; font-weight:700; color:var(--soq); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:12px; }
.calc-soq-whatif-header svg { opacity:.7; stroke:var(--soq); }
.calc-slider-wrap-soq { margin-bottom:4px; }
.calc-slider-soq { background:linear-gradient(90deg,rgba(142,124,240,.12),rgba(142,124,240,.35)) !important; }
.calc-slider-soq::-webkit-slider-thumb { background:var(--soq) !important; box-shadow:0 2px 10px rgba(142,124,240,.4) !important; }
.calc-slider-val-soq { color:var(--soq) !important; font-weight:700; font-size:.92rem !important; }
.calc-soq-price-labels { display:flex; justify-content:space-between; font-family:var(--mono); font-size:.58rem; color:var(--text3); margin-bottom:12px; }
.calc-soq-whatif-result { font-family:var(--mono); font-size:.78rem; color:var(--text2); text-align:center; padding:8px; background:rgba(142,124,240,.05); }
.calc-soq-whatif-result strong { color:var(--soq); font-size:1rem; }
.calc-summary { border-top:2px solid var(--border); padding-top:16px; display:flex; flex-direction:column; gap:8px; }
.calc-summary-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; }
.calc-summary-label { font-family:var(--mono); font-size:.72rem; color:var(--text2); letter-spacing:.3px; }
.calc-summary-val { font-family:var(--mono); font-size:.9rem; font-weight:700; color:var(--text); }
.calc-summary-val.negative { color:var(--down) !important; }
.calc-summary-revenue .calc-summary-val { color:var(--ok); }
.calc-summary-cost .calc-summary-val { color:var(--warn); }
.calc-summary-profit { border-top:2px solid var(--ok); padding-top:10px; margin-top:4px; }
.calc-summary-profit .calc-summary-label { font-weight:700; color:var(--text); }
.calc-summary-profit .calc-summary-val { font-size:1.1rem; color:var(--ok); }
.calc-summary-monthly { padding:10px 14px; background:rgba(87,185,138,.05); border:1px solid rgba(87,185,138,.12); }
.calc-summary-monthly .calc-summary-label { font-weight:700; color:var(--ok); }
.calc-summary-monthly .calc-summary-val { font-size:1.2rem; color:var(--ok); }
.calc-summary-soq-total { padding:6px 12px; background:rgba(142,124,240,.04); border:1px dashed rgba(142,124,240,.2); margin-top:4px; }
.calc-summary-soq-total .calc-summary-label { font-style:italic; color:var(--soq); font-size:.65rem; opacity:.8; }
.calc-summary-soq-total .calc-summary-val { font-style:italic; color:var(--soq); font-size:1rem; }
.calc-disclaimer { display:flex; gap:8px; align-items:flex-start; margin-top:16px; padding:10px 14px; background:var(--bg); border:1px solid var(--border); font-family:var(--mono); font-size:.62rem; color:var(--text3); line-height:1.6; letter-spacing:.2px; }
.calc-disclaimer svg { flex-shrink:0; margin-top:1px; stroke:var(--text3); }
.calc-table { width:100%; border-collapse:collapse; font-family:var(--mono); font-size:.78rem; margin-bottom:0; }
.calc-table thead th { text-align:right; padding:6px 10px; font-size:.6rem; text-transform:uppercase; letter-spacing:2px; color:var(--text3); font-weight:600; border-bottom:2px solid var(--border); }
.calc-table thead th:first-child { text-align:left; }
.calc-table td { padding:6px 10px; border-bottom:1px solid var(--border); text-align:right; color:var(--text); font-weight:500; }
.calc-table td:first-child { text-align:left; }
.calc-period { font-weight:400; color:var(--text2); font-size:.72rem; }
.calc-row-label td { padding:10px 10px 6px; border-bottom:1px solid var(--border); font-size:.8rem; }
.calc-chain-badge { display:inline-block; font-family:var(--mono); font-size:.6rem; font-weight:700; padding:2px 8px; letter-spacing:1px; vertical-align:middle; }
.calc-chain-badge.ltc { background:rgba(185,196,208,.1); color:var(--ltc); border:1px solid rgba(185,196,208,.2); }
.calc-chain-badge.doge { background:rgba(217,180,91,.1); color:var(--doge); border:1px solid rgba(217,180,91,.2); }
.calc-chain-badge.soq { background:rgba(142,124,240,.1); color:var(--soq); border:1px solid rgba(142,124,240,.2); }
.calc-chain-price { font-family:var(--mono); font-size:.72rem; color:var(--text3); margin-left:8px; }
.calc-chain-note { font-family:var(--mono); font-size:.58rem; color:var(--text3); margin-left:6px; letter-spacing:.5px; }
.calc-cost { color:var(--warn); }
.calc-profit { color:var(--ok); font-weight:700; }
.calc-profit.negative { color:var(--down); }
.calc-bonus { color:var(--ok); font-weight:600; font-style:italic; }
.calc-muted { color:var(--text3); font-size:.65rem; font-style:italic; font-weight:400; }
.calc-totals-row td { border-top:2px solid var(--border); border-bottom:1px solid var(--border); padding:10px 10px; font-weight:700; font-size:.82rem; }
.calc-totals-monthly td { background:rgba(87,185,138,.05); padding:8px 10px; font-weight:600; }
.calc-soq-section { margin-top:16px; border:1px solid rgba(142,124,240,.18); overflow:hidden; background:linear-gradient(135deg,rgba(142,124,240,.02),rgba(142,124,240,.05)); }
.calc-soq-header { display:flex; align-items:center; justify-content:space-between; padding:12px 14px; background:rgba(142,124,240,.05); border-bottom:1px solid rgba(142,124,240,.12); }
.calc-soq-title-row { display:flex; align-items:center; gap:10px; }
.calc-soq-label { font-family:var(--mono); font-size:.72rem; color:var(--text2); letter-spacing:.5px; font-weight:500; }
.calc-toggle { position:relative; display:inline-block; width:44px; height:24px; flex-shrink:0; cursor:pointer; }
.calc-toggle input { opacity:0; width:0; height:0; }
.calc-toggle-slider { position:absolute; cursor:pointer; inset:0; background:var(--iron-800); border-radius:24px; transition:.3s; }
.calc-toggle-slider::before { content:""; position:absolute; height:18px; width:18px; left:3px; bottom:3px; background:var(--text-lo); border-radius:50%; transition:.3s; }
.calc-toggle input:checked + .calc-toggle-slider { background:rgba(217,111,50,.35); }
.calc-toggle input:checked + .calc-toggle-slider::before { transform:translateX(20px); background:var(--copper); }
.calc-soq-body { padding:14px; }
.calc-soq-body.hidden { display:none; }
.calc-soq-controls { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.calc-table-soq { margin-bottom:10px; }
.calc-soq-val { color:var(--soq); font-weight:700; }
.calc-soq-summary { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; background:rgba(142,124,240,.06); border:1px solid rgba(142,124,240,.12); font-family:var(--mono); font-size:.72rem; color:var(--text2); }
.calc-soq-summary strong { font-weight:700; }
.calc-miner-select{width:100%;padding:10px 14px;background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font-family:var(--mono);font-size:.78rem;font-weight:600;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237f8c9b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;transition:border-color .15s,box-shadow .15s}
.calc-miner-select:focus{border-color:var(--copper);box-shadow:0 0 0 2px rgba(217,111,50,.08)}
.calc-miner-select:hover{border-color:var(--border-strong)}
.calc-miner-select option{background:var(--iron-900);color:var(--text);font-family:var(--mono);padding:8px}
.calc-qty-row{display:flex;gap:12px;margin-top:10px;align-items:flex-end}
.calc-qty-group{flex:0 0 80px}
.calc-custom-group{flex:1;min-width:0}
.calc-label-sm{font-size:.58rem!important;margin-bottom:4px!important}

/* ── terminal + connection guide (ported vocabulary) ────────────────── */
.terminal{background:var(--iron-900);border:1px solid var(--seam);overflow:hidden;max-width:700px;margin:0 auto 32px}
.term-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--iron-850);border-bottom:1px solid var(--seam)}
.term-dot{width:10px;height:10px;border-radius:50%;background:var(--seam-hi)}
.term-dot.r{background:var(--down)}
.term-dot.y{background:var(--warn)}
.term-dot.g{background:var(--ok)}
.term-title{margin-left:8px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-lo)}
.term-body{padding:18px 20px;font-family:var(--font-mono);font-size:13px;line-height:1.9}
.term-line{white-space:pre-wrap;word-break:break-all}
.term-line.spacer{margin-top:12px}
.t-c{color:var(--text-lo)}
.t-k{color:var(--copper);display:inline-block;min-width:76px}
.t-v{color:var(--text-hi)}
.t-h{color:var(--text-mid)}
.term-cursor{display:inline-block;width:8px;height:14px;background:var(--copper);vertical-align:text-bottom;animation:termBlink 1.1s steps(1) infinite}
@keyframes termBlink{50%{opacity:0}}
.connect-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;max-width:900px;margin:0 auto}
.cn-item{border:1px solid var(--seam);background:var(--iron-900);padding:16px 18px;font-size:13px;color:var(--text-mid);line-height:1.65}
.cn-item strong{display:block;color:var(--text-hi);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.cn-item code{font-family:var(--font-mono);color:var(--copper-hot);font-size:12px}

/* ── SOQ wallet (SHIELD) modals + seed grid ─────────────────────────── */
.shield-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(4,6,9,.72)}
.shield-modal[hidden]{display:none}
.shield-card{max-width:680px;width:100%;max-height:90vh;overflow-y:auto;margin:0;background:var(--iron-900);border:1px solid var(--seam-hi);box-shadow:0 18px 60px rgba(0,0,0,.5)}
.shield-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.shield-word{display:flex;align-items:baseline;gap:8px;border:1px solid var(--seam);background:var(--iron-950);padding:8px 10px}
/* number lives in a pseudo-element: visible, but excluded from text selection
   so copied seed phrases paste clean into other wallets */
.shield-word::before{content:attr(data-n);font-family:var(--font-mono);font-size:10px;color:var(--text-lo);min-width:18px}
.shield-word .sw-num{font-family:var(--font-mono);font-size:10px;color:var(--text-lo);min-width:18px}
.shield-word .sw-text{font-family:var(--font-mono);font-size:12.5px;color:var(--text-hi)}
@media (max-width: 700px){ .shield-grid{grid-template-columns:repeat(2,1fr)} }

/* the pane-head owns the heading; hide the sections' own legacy headers */
.pane .section > .container > .hud-label,
.pane .section > .container > h2 { display: none; }

/* ── mobile (restored @media wrapper — these ran unconditionally) ───── */
@media (max-width: 900px) {
  .calc-grid { grid-template-columns: 1fr; }
  .calc-container { grid-template-columns: 1fr; }
  .calc-inputs { padding: 16px; }
  .calc-results { padding: 16px; }
  .calc-presets-cards { grid-template-columns: 1fr; }
  .calc-rev-periods { grid-template-columns: 1fr; gap: 6px; }
  .calc-slider-wrap { flex-direction: column; align-items: flex-start; gap: 6px; }
  .calc-soq-whatif { padding: 12px; }
  .calc-soq-controls { grid-template-columns: 1fr; }
  .calc-table { font-size: .68rem; }
  .calc-table td, .calc-table th { padding: 5px 6px; }
}
