/* DIVI — editorial product-page system. Paper, ink, gold. Instrument Serif display + Inter Tight UI. */
:root{--paper:#f6f3ee;--paper2:#efeae0;--ink:#151412;--ink2:#4a463f;--ink3:#8a847a;--line:#e3ddd0;--line2:#cfc7b6;
  --gold:#e5c158;--goldDeep:#a37d12;--goldfill:#f7efd6;--green:#1f7a4d;--greenfill:#e3f2ea;--red:#b3342a;--redfill:#f8e5e2;--amber:#9a6b00;--amberfill:#fbf1d3;--blue:#2b5fc7;--bluefill:#e6edfb;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;--ui:'Inter Tight',Inter,system-ui,-apple-system,Segoe UI,sans-serif;--mono:ui-monospace,Menlo,Consolas,monospace}
*{margin:0;padding:0;box-sizing:border-box}
html{color-scheme:light;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
/* ── floating nav ── */
.topnav{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:6px;padding:6px 6px 6px 16px;border-radius:40px;background:rgba(246,243,238,.72);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(21,20,18,.08);box-shadow:0 10px 30px -18px rgba(0,0,0,.35);max-width:calc(100vw - 24px)}
.topnav .brand{font:400 26px/1 var(--serif);letter-spacing:-.02em;margin-right:10px}
.topnav .links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.topnav .links::-webkit-scrollbar{display:none}
.topnav .links a{font:500 13.5px/1 var(--ui);padding:9px 12px;border-radius:20px;color:var(--ink2);white-space:nowrap}
.topnav .links a:hover,.topnav .links a.on{background:rgba(21,20,18,.07);color:var(--ink)}
.topnav .connect{font:600 13.5px var(--ui);background:var(--ink);color:var(--paper);border:0;border-radius:24px;padding:10px 16px;cursor:pointer;margin-left:6px;white-space:nowrap}
.topnav .connect.live{background:var(--green)}
@media(max-width:720px){.topnav{top:10px;padding:5px 5px 5px 12px}.topnav .brand{font-size:22px;margin-right:4px}.topnav .links a{padding:8px 9px;font-size:12.5px}}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font:600 15px var(--ui);padding:14px 22px;border-radius:30px;border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:transform .15s,background .2s,color .2s}
.btn:hover{transform:translateY(-1px)}
.btn.dark{background:var(--ink);color:var(--paper)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn.small{padding:8px 14px;font-size:13px}
.btn:disabled{opacity:.5;cursor:default;transform:none}
/* ── tool pages ── */
.page{max-width:1240px;margin:0 auto;padding:120px 24px 80px}
.page .head{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:end;margin-bottom:34px}
.page .head h1{font:400 clamp(40px,5.4vw,74px)/.98 var(--serif);letter-spacing:-.02em}
.page .head h1 em{font-style:italic;color:var(--goldDeep)}
.page .head p{font:400 16px/1.5 var(--ui);color:var(--ink2)}
@media(max-width:860px){.page{padding-top:96px}.page .head{grid-template-columns:1fr;gap:12px}}
.fxbar{display:flex;align-items:center;gap:0;background:var(--paper2);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:18px;min-height:40px;font-size:13px}
.fxbar .box{padding:0 14px;font-family:var(--mono);color:var(--ink3);border-right:1px solid var(--line);align-self:stretch;display:flex;align-items:center;min-width:70px;justify-content:center;font-size:12px}
.fxbar .fx{padding:0 12px;font:italic 15px var(--serif);color:var(--goldDeep);border-right:1px solid var(--line);align-self:stretch;display:flex;align-items:center}
.fxbar .formula{flex:1;padding:8px 14px;font-family:var(--mono);font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fxbar .formula i{font-style:normal;color:var(--ink3);font-family:var(--ui);margin-left:12px}
.sheetwrap{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:auto;box-shadow:0 30px 60px -40px rgba(30,20,0,.25)}
table.grid{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:100%;font-variant-numeric:tabular-nums}
table.grid thead{display:none}
table.grid td.rn{display:none}
table.grid td{border-bottom:1px solid var(--line);height:38px;padding:0 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;cursor:default;background:#fff;font-size:14px}
table.grid tr:last-child td{border-bottom:0}
table.grid td.r{text-align:right}
table.grid td.c{text-align:center}
table.grid td.b{font-weight:600}
table.grid td.h{color:var(--ink3);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
table.grid td.hd{background:var(--paper2);color:var(--ink);font:400 17px var(--serif);letter-spacing:0;height:44px}
table.grid td.green{background:var(--greenfill);color:var(--green)}
table.grid td.red{background:var(--redfill);color:var(--red)}
table.grid td.amber{background:var(--amberfill);color:var(--amber)}
table.grid td.blue{background:var(--bluefill)}
table.grid td.up{color:var(--green)}
table.grid td.dn{color:var(--red)}
table.grid td.muted{color:var(--ink3)}
table.grid td.mono{font-family:var(--mono);font-size:12.5px}
table.grid td.title{font:400 clamp(26px,3vw,38px)/1.05 var(--serif);height:70px;padding-top:14px;overflow:visible;white-space:normal}
table.grid td.sub{font-size:15px;color:var(--ink2);height:auto;padding:6px 14px 14px;overflow:visible;white-space:normal;line-height:1.45}
table.grid td.wrap{white-space:normal;line-height:1.45;height:auto;padding:10px 14px}
table.grid td.sel{box-shadow:inset 0 0 0 2px var(--gold)}
table.grid td a.link{color:var(--blue);font-weight:500}
table.grid td .chip{display:inline-block;padding:3px 9px;border-radius:12px;font-size:11.5px;font-weight:600;letter-spacing:.02em}
table.grid td .chip.g{background:var(--greenfill);color:var(--green)}
table.grid td .chip.a{background:var(--amberfill);color:var(--amber)}
table.grid td .chip.r{background:var(--redfill);color:var(--red)}
table.grid td .chip.b{background:var(--bluefill);color:var(--blue)}
table.grid tr.spacer td{height:16px;background:var(--paper);border-bottom:0}
table.grid td input,table.grid td select{width:100%;height:30px;border:1px solid var(--line2);border-radius:8px;background:#fff;font:14px var(--ui);color:var(--ink);outline:none;padding:0 8px}
table.grid td input:focus,table.grid td select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--goldfill)}
table.grid td.edit{background:var(--goldfill)}
table.grid td button.cellbtn{width:100%;height:30px;border:1px solid var(--ink);background:#fff;border-radius:20px;font:600 12.5px var(--ui);cursor:pointer;color:var(--ink);transition:transform .15s}
table.grid td button.cellbtn:hover{transform:translateY(-1px)}
table.grid td button.cellbtn.primary{background:var(--ink);color:var(--paper)}
table.grid td button.cellbtn.green{background:var(--green);color:#fff;border-color:var(--green)}
table.grid td button.cellbtn.red{background:var(--red);color:#fff;border-color:var(--red)}
table.grid td button.cellbtn:disabled{opacity:.5;cursor:default;transform:none}
.tabs{display:flex;align-items:center;gap:6px;margin-top:18px;font-size:13px;color:var(--ink3);flex-wrap:wrap}
.tabs .plus{display:none}
.tabs a{padding:8px 14px;border-radius:20px;border:1px solid var(--line);color:var(--ink2);background:#fff}
.tabs a.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tabs .status{margin-left:auto;white-space:nowrap}
.tabs .status b{color:var(--ink);font-weight:600}
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:30px;font-size:13.5px;box-shadow:0 12px 30px -10px rgba(0,0,0,.4);opacity:0;transition:opacity .2s;z-index:50;pointer-events:none;max-width:90vw}
.toast.on{opacity:1}
.toast.err{background:var(--red)}
