Thanks to visit codestin.com
Credit goes to anki1007.github.io
── */ body.light{ --bg0:#eef3f6;--bg1:#ffffff;--bg2:#e7eff3;--bg3:#dae7ed; --bd:#b8ccd5;--bd2:#9bb8c4;--bd3:#6f9dad; --tx0:#04141c;--tx1:#08303d;--tx2:#0c3d4b;--tx3:#1c4b5c; --acc:#007e97;--acc2:#00677d;--acc3:#8fccd9; --bull:#00803a;--bull2:#009646;--bull3:#cdefda; --bear:#c40e2c;--bear2:#d92c49;--bear3:#f9d6dd; --neut:#9a6400;--neut2:#c08600;--neut3:#f3e7c2; --sun:#a87200;--moon:#136fbb;--mars:#c1272d;--merc:#0f7f4b; --jupi:#bb4a1c;--venu:#b8154f;--satn:#743a85;--rahu:#4d5962;--ketu:#665043; --uran:#0f7a86;--nept:#454f8a; color-scheme:light; } /* Light-theme fixes for elements that use glow/hardcoded neon in dark mode */ body.light .brand-sub{color:#8a5a00;text-shadow:none} body.light .cl{color:#6b3fa0;text-shadow:none} body.light .brand{color:#0a2530} body.light details.coll>summary{background:var(--bg3);color:var(--acc)} /* Tinted table rows (15-min timing etc.): force dark text on light-tinted rows */ body.light .tr-b td, body.light .tr-r td, body.light .tr-n td{color:var(--tx0) !important} /* Charts render as dark widgets (bright text on dark) in BOTH themes — restore dark palette locally */ .forcedark{ --bg0:#010d12;--bg1:#021620;--bg2:#031e28;--bg3:#042530; --bd:#1a5c74;--bd2:#237a95;--bd3:#2f96ba; --tx0:#ffffff;--tx1:#eaf8fd;--tx2:#d3f0f8;--tx3:#b6e0ec; --acc:#3df1ff;--acc2:#12d6ee;--acc3:#1f8aa6; --bull:#1cf587;--bull2:#00b84a;--bull3:#003818; --bear:#ff5570;--bear2:#cc1030;--bear3:#480010; --neut:#ffca2c;--neut2:#cc8800;--neut3:#3a2800; --sun:#FFB300;--moon:#4DB8FF;--mars:#FF5252;--merc:#69F0AE;--jupi:#FF8A65; --venu:#F06292;--satn:#CE93D8;--rahu:#90A4AE;--ketu:#A1887F;--uran:#80DEEA;--nept:#9FA8DA; background:var(--bg1);border-radius:4px; } *{box-sizing:border-box;margin:0;padding:0} html,body{width:100%;min-height:100vh;background:var(--bg0);color:var(--tx0);font-family:'Courier New',Consolas,monospace;font-size:13px;font-weight:600} ::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:var(--bg2);border-left:1px solid var(--bd)}::-webkit-scrollbar-thumb{background:var(--bd3);border-radius:7px;border:3px solid var(--bg2);min-height:40px}::-webkit-scrollbar-thumb:hover{background:var(--acc)} *{scrollbar-width:auto;scrollbar-color:var(--bd3) var(--bg2)} .terminal{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden} .body-row{display:flex;flex:1;min-height:0} .hdr{background:var(--bg1);border-bottom:2px solid var(--bd2);padding:8px 16px;z-index:100;display:flex;flex-direction:column;gap:6px} .hdr-r1{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px} .brand{font-size:20px;font-weight:700;color:var(--acc);letter-spacing:.12em} .brand-sub{font-size:11px;color:#f2ff3a;letter-spacing:.07em;margin-top:3px;font-weight:600;text-shadow:0 0 4px rgba(225,255,45,.75),0 0 9px rgba(225,255,45,.4)} .ctrl-row{display:flex;gap:6px;align-items:flex-end;flex-wrap:wrap} .cg{display:flex;flex-direction:column;gap:2px} .cl{font-size:11.5px;color:#c79bff;letter-spacing:.1em;font-weight:700;text-shadow:0 0 4px rgba(168,85,247,.75),0 0 8px rgba(168,85,247,.4)} .ci{background:var(--bg3);color:var(--tx0);border:1px solid var(--bd2);border-radius:3px;padding:4px 7px;font-family:inherit;font-size:11px;outline:none} .ci:focus{border-color:var(--acc)} .w80{width:86px}.w110{width:110px}.w130{width:130px} .hdr-r2{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid #0d3848;padding-top:6px;font-size:11.5px} .mp{display:flex;gap:4px;align-items:center} .ml{color:var(--tx3);font-size:10.5px} .mv{color:var(--tx0);font-weight:700;font-size:11px} .nav{display:flex;flex-direction:column;background:var(--bg1);border-right:1px solid var(--bd);width:198px;flex-shrink:0;overflow-y:auto;overflow-x:hidden} .nb{background:none;border:none;color:var(--tx1);font-weight:700;padding:10px 14px;font-family:inherit;font-size:11.5px;cursor:pointer;border-left:3px solid transparent;border-bottom:1px solid var(--bd);white-space:nowrap;letter-spacing:.04em;transition:all .15s;text-align:left;width:100%;display:flex;align-items:center} .nb:hover{color:var(--tx1);background:var(--bg2)} .nb.on{color:var(--acc);border-left-color:var(--acc);background:var(--bg3);font-weight:800} .main{padding:10px 16px;flex:1;display:flex;flex-direction:column;gap:10px;overflow-y:scroll;min-width:0} .pnl{background:var(--bg1);border:1px solid var(--bd);border-radius:4px;overflow:hidden} /* FIX: .main is a flex column and .pnl has overflow:hidden — without this, panels get flex-compressed to fit the viewport, clipping text and killing scroll (seen on Astro Rules / long tabs). Keep natural height so .main scrolls. */ .main>*{flex-shrink:0} .ph{background:var(--bg2);border-bottom:1px solid var(--bd);padding:7px 12px;font-size:12px;color:var(--acc);letter-spacing:.08em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:6px} .ph .dot{width:6px;height:6px;border-radius:50%;background:var(--acc);flex-shrink:0} .ph.co-collapsed{opacity:.72;border-bottom-color:transparent} .ph.co-collapsed:hover{opacity:1} .ph .co-caret{flex-shrink:0} .pb{padding:10px 12px} .tbl{width:100%;border-collapse:collapse} .tbl th{background:var(--bg3);color:var(--acc);font-size:11px;padding:7px 8px;text-align:left;border-bottom:1px solid var(--bd);letter-spacing:.05em;font-weight:700;white-space:nowrap} .tbl td{padding:6px 8px;border-bottom:1px solid var(--bd);font-size:12.5px;vertical-align:middle;color:var(--tx0);font-weight:600} .tbl tr:last-child td{border-bottom:none} .tbl tr:hover td{background:var(--bg2)} .ts{overflow-x:auto} .g2{display:grid;grid-template-columns:1fr 1fr;gap:10px} .g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px} .g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px} .pill{display:inline-block;padding:1px 7px;border-radius:3px;font-size:11.5px;font-weight:700} .pb-b{background:var(--bull3);color:var(--bull);border:1px solid var(--bull2)} .pb-r{background:var(--bear3);color:var(--bear);border:1px solid var(--bear2)} .pb-n{background:var(--neut3);color:var(--neut);border:1px solid var(--neut2)} .pb-a{background:var(--bg3);color:var(--acc);border:1px solid var(--bd3)} .cb{color:var(--bull)}.cr{color:var(--bear)}.cn{color:var(--neut)}.ca{color:var(--acc)} .pc{background:var(--bg2);border:1px solid var(--bd);border-radius:3px;padding:7px 10px} .sbar{height:5px;background:var(--bg3);border-radius:3px;overflow:hidden;position:relative;margin:8px 0} .sbar-fill{height:100%;border-radius:3px} .fg{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px} .fi{background:var(--bg2);border-left:2px solid var(--bd);border-radius:2px;padding:3px 8px;display:flex;align-items:center;gap:6px;font-size:11.5px} .fi.pos{border-left-color:var(--bull2)}.fi.neg{border-left-color:var(--bear2)} .rpc{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px} .rpi{padding:3px 9px;border-radius:3px;border:1px solid var(--bd2);background:var(--bg2);font-size:11.5px;font-weight:600} .tr-b td{background:var(--bull3) !important;border-bottom:1px solid #003018 !important;color:#d0f8e0 !important} .tr-r td{background:var(--bear3) !important;border-bottom:1px solid #300010 !important;color:#ffd0d8 !important} .tr-n td{background:var(--neut3) !important;border-bottom:1px solid #2e1e00 !important;color:#fff0c0 !important} .tr-hl td{outline:none !important;border-top:1px solid var(--acc) !important;border-bottom:1px solid var(--acc) !important} .gbase td{background:var(--bg2) !important;border-top:1px solid var(--bd2) !important;border-bottom:1px solid var(--bd2) !important;color:var(--acc) !important} @media(max-width:768px){.g2,.g-kp{grid-template-columns:1fr}.fg{grid-template-columns:1fr}} /* ── sidebar toggle + responsive (web + mobile) ── */ .navtoggle{background:var(--bg3);color:var(--acc);border:1px solid var(--bd2);border-radius:4px;font-family:inherit;font-size:16px;line-height:1;padding:4px 11px;cursor:pointer;flex-shrink:0;transition:all .15s} .navtoggle:hover{background:var(--bg3);border-color:var(--acc)} .navtoggle:active{transform:scale(.94)} .nav{transition:width .18s ease,transform .2s ease} .nav-backdrop{display:none} @media(min-width:821px){body.nav-collapsed .nav{width:0;border-right:none;overflow:hidden}} @media(max-width:820px){ .terminal{height:100vh;height:100dvh} .nav{position:fixed;top:0;left:0;height:100vh;height:100dvh;z-index:300;width:78vw;max-width:288px;transform:translateX(-104%);box-shadow:2px 0 22px rgba(0,0,0,.65)} body.nav-open .nav{transform:translateX(0)} .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:290;opacity:0;pointer-events:none;transition:opacity .2s} body.nav-open .nav-backdrop{opacity:1;pointer-events:auto} .hdr{padding:6px 10px} .hdr-r1{gap:6px} .navtoggle{margin-top:36px} .brand{font-size:16px;letter-spacing:.06em} .brand-sub{font-size:9.5px;line-height:1.35} .ctrl-row{gap:5px} .ci{font-size:11px;padding:5px 6px} .w80{width:74px}.w110{width:96px}.w130{width:112px} .main{padding:8px 9px;gap:8px} .ph{font-size:10.5px;padding:6px 9px} .pb{padding:8px 9px} .tbl th{font-size:11.5px;padding:6px 5px} .tbl td{font-size:11.5px;padding:4px 5px} .g3,.g4{grid-template-columns:1fr} } @media(max-width:480px){ .brand{font-size:14px} .ctrl-row{width:100%} .cg{flex:1 1 96px} .ci{width:100%} .w80,.w110,.w130{width:100%} } @keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}} .spin-anim{display:inline-block;animation:spin 1s linear infinite} .live-dot{width:7px;height:7px;border-radius:50%;background:var(--bull);display:inline-block;animation:pulse 1.5s ease-in-out infinite} @keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}} /* ── enlarged Day Forecast + FATS Forecast + collapsible tables ── */ .dayfc-tab{zoom:1.18} .fats-tab{display:flex;flex-direction:column;gap:10px;zoom:1.12} details.coll{border:1px solid var(--bd);border-radius:3px;background:var(--bg2);margin-top:2px} details.coll>summary{cursor:pointer;list-style:none;padding:7px 11px;background:var(--bg2);color:var(--acc);font-size:11px;font-weight:700;letter-spacing:.05em;display:flex;align-items:center;gap:8px;user-select:none;border-radius:3px} details.coll>summary::-webkit-details-marker{display:none} details.coll>summary::before{content:'\25be';color:var(--acc);font-size:11px;transition:transform .15s} details.coll:not([open])>summary::before{transform:rotate(-90deg)} details.coll[open]>summary{border-bottom:1px solid var(--bd)} details.coll>summary:hover{background:var(--bg3);color:var(--tx1)} @media(max-width:820px){.dayfc-tab,.fats-tab{zoom:1}} /* -- app-like mobile hardening (added; non-destructive) -- */ html{-webkit-text-size-adjust:100%;text-size-adjust:100%} .main,.ts{-webkit-overflow-scrolling:touch} @media(max-width:820px){ .main{overflow-x:hidden;padding-bottom:calc(20px + env(safe-area-inset-bottom))} .pnl{max-width:100%} .ts{max-width:100%} .ts table.tbl{min-width:max-content} input.ci,select.ci{font-size:16px} .navtoggle{font-size:18px;padding:7px 13px} .nb{padding:13px 16px;font-size:13px} .hdr{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))} } @media(max-width:480px){ .brand{font-size:14px} .brand-sub{font-size:10.5px;line-height:1.3} .ph{font-size:11.5px} .pb{padding:7px 8px} }