:root { color-scheme: dark; --bg:#080d18; --panel:#0f1728; --edge:#26324a; --muted:#8796b5; --text:#e9eef9; --mint:#07d49a; --red:#ff5a74; --blue:#57a3ff; --violet:#af8eff; }
* { box-sizing:border-box; } html,body{margin:0;min-height:100%;background:radial-gradient(circle at 70% -30%,#182344 0%,#080d18 48%) fixed;color:var(--text);font:14px/1.45 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;} button,input {font:inherit}button{cursor:pointer} a{color:#9abef2;text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1920px;margin:auto;padding:21px 24px 10px}.topbar,.heading-row,.panel-toolbar,.topbar-actions,.chart-bottom,.side-heading,.source-line{display:flex;justify-content:space-between;align-items:center;gap:18px}.topbar{padding:0 3px 20px;border-bottom:1px solid #222c40}.brand{display:flex;align-items:center;gap:13px}.brand-logo{display:grid;place-items:center;width:42px;height:42px;background:#bb7c12;color:#fff;border:1px solid #efb94d;border-radius:12px;font-size:27px;font-weight:800;box-shadow:0 0 35px #bb7c1225}.brand-name{font-size:16px;letter-spacing:.02em;font-weight:700}.brand-name b{color:#f6c161}.brand-name span{font-size:11px;color:#99a8c8;letter-spacing:.17em}.subtext,.section-copy,.chart-bottom,.group-label,.quote-label,.eyebrow,footer{color:var(--muted)}.subtext{font-size:11px;margin-top:3px}.status{border:1px solid var(--edge);border-radius:999px;padding:9px 12px;font-size:12px;color:#aebad3;white-space:nowrap;background:#131d31}.status-dot{display:inline-block;width:8px;height:8px;background:#c2a548;border-radius:50%;margin-right:7px}.status.connected .status-dot{background:var(--mint);box-shadow:0 0 9px #07d49a77}.status.error .status-dot{background:var(--red)}.outline-btn{color:#d2dcf3;background:#151e31;border:1px solid var(--edge);border-radius:10px;padding:9px 13px}.outline-btn:hover{background:#222c45}.heading-row{padding:26px 2px 22px;align-items:flex-end}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;color:#88a9cf}.heading-row h1{font-size:35px;margin:4px 0 1px;font-weight:740;letter-spacing:-.05em}.heading-row h1>span{color:#7a8da8;font-weight:400}.heading-row h1 small{font-weight:500;color:#8fa5cb;letter-spacing:0;font-size:13px;margin-left:6px}.heading-row p{margin:0;font-size:12px;color:#899abb}.quote{text-align:right}.quote-label{font-size:11px}.quote strong{display:block;font-size:30px;font-weight:720;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.quote-meta{display:flex;justify-content:flex-end;gap:13px;font-size:11px;color:#8fa2c6}.positive{color:var(--mint)!important}.negative{color:var(--red)!important}.main-grid{display:grid;grid-template-columns:minmax(0, 1fr) 305px;gap:16px}.panel{border:1px solid var(--edge);border-radius:19px;background:linear-gradient(155deg,#111a2e,#0a1020);box-shadow:0 12px 34px #0002}.chart-area{overflow:hidden;min-width:0}.panel-toolbar{min-height:73px;padding:14px 19px;border-bottom:1px solid #23304a;flex-wrap:wrap}.toolbar-group{display:flex;gap:11px;align-items:center}.group-label{font-size:10px;font-weight:700;letter-spacing:.12em}.segmented{display:flex;padding:3px;gap:2px;background:#091121;border-radius:11px;border:1px solid #28334d}.segmented button{background:transparent;color:#8fa1c3;border:0;padding:8px 11px;border-radius:7px;min-width:39px;font-size:12px}.segmented button.selected{background:#19384a;color:#8ef9dc;font-weight:700;box-shadow:inset 0 0 0 1px #1c5a67}.segmented button:hover{color:white}.mode-bar{display:flex;gap:6px;padding:11px 19px;border-bottom:1px solid #202d44}.mode-bar button{border:1px solid #2a354e;background:#131d32;padding:9px 13px;color:#93a5c5;border-radius:10px;font-size:12px}.mode-bar button.active{border-color:#17695f;color:#4ce3bb;background:#10332f}.mode-bar button:hover{color:#fff}.pending{font-size:9px;letter-spacing:.02em;color:#8595b2}.chart-legend{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:12px 19px 9px;min-height:43px}.legend-pill{display:flex;align-items:center;gap:6px;border:1px solid #29334a;background:#0a1222;border-radius:999px;color:#a7b8d6;padding:6px 10px;font-size:11px}.click-label{cursor:pointer}.legend-pill input{accent-color:#53adff;margin:0}.color-dot{height:7px;width:7px;border-radius:50%;display:inline-block}.candlestick{background:var(--mint)}.fast{background:#58acff}.slow{background:#f7b84e}.legend-note{margin-left:auto;font-size:11px;color:#647897}.chart-frame{height:clamp(420px,53vw,720px);padding:0 8px 0 0;position:relative;min-width:0}.chart-frame #chart{width:100%;height:100%;min-width:0}.chart-overlay{display:flex;position:absolute;inset:0;z-index:3;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#0c1425ed;text-align:center;padding:25px;color:#dce7fa;font-weight:650}.chart-overlay.hidden{display:none}.loader{width:25px;height:25px;border:3px solid #38546b;border-top-color:#3fe4b5;border-radius:50%;animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.overlay-details{color:#9bacca;font-size:12px;font-weight:400;max-width:420px}.chart-bottom{border-top:1px solid #26324b;padding:11px 17px;color:#8192b2;font-size:10px;flex-wrap:wrap}.side{display:flex;flex-direction:column;gap:14px}.side-panel{padding:19px}.side-heading{margin-bottom:9px}.side-panel h2{font-size:14px;margin:0;font-weight:680}.tag{font-size:10px;color:#24c4a3;border:1px solid #21675b;border-radius:999px;padding:5px 8px;background:#0d292c;white-space:nowrap}.tag.subtle{color:#a3b9df;background:#1a253b;border-color:#2b3c59}.section-copy{font-size:11px;line-height:1.55;margin:7px 0 15px}.metric{border:1px solid #25334b;border-radius:12px;background:#0b1424;margin-top:9px;padding:13px;display:flex;flex-direction:column;gap:4px}.metric>span{font-size:11px;color:#97aacb}.metric strong{font-size:15px;color:#e4edf9}.metric small{font-size:10px;color:#7689aa;line-height:1.45}.ma-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.ma-stats>div{border:1px solid #2a3550;border-radius:11px;padding:12px 9px;background:#0b1426;display:flex;flex-direction:column;gap:7px}.ma-stats span{font-size:11px;color:#8fa1c1}.ma-stats strong{font-size:15px;letter-spacing:-.04em;white-space:nowrap}.source-panel{margin-top:auto}.source-panel h2{margin-bottom:15px}.source-line{font-size:11px;border-bottom:1px solid #243148;padding:7px 0;color:#91a4c4}.source-line strong{color:#d4e2f9;font-weight:600;text-align:right}.disclaimer{font-size:10px;color:#8699ba;line-height:1.55;margin:12px 0 0}footer{font-size:10px;text-align:center;padding:20px 0 8px;color:#7184a6}
@media(max-width:1110px){.main-grid{grid-template-columns:minmax(0,1fr)}.side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.side-panel{height:100%}.chart-frame{height:540px}.source-panel{margin:0}}@media(max-width:720px){.shell{padding:12px}.topbar{align-items:flex-start}.brand-logo{width:36px;height:36px}.brand-name{font-size:12px}.brand-name span{display:block;letter-spacing:.08em;font-size:9px}.topbar-actions{gap:5px}.outline-btn span{display:none}.outline-btn{padding:8px}.heading-row{align-items:flex-start;flex-direction:column;padding:20px 3px}.heading-row h1{font-size:27px}.quote{text-align:left}.quote strong{font-size:27px}.quote-meta{justify-content:flex-start}.chart-area{border-radius:14px}.panel-toolbar{padding:11px;gap:10px}.toolbar-group{gap:6px}.group-label{font-size:9px}.segmented button{padding:7px;min-width:32px}.mode-bar{padding:9px 11px;overflow:auto}.mode-bar button{white-space:nowrap;padding:8px;font-size:11px}.chart-legend{padding:11px 9px;gap:6px}.legend-pill{font-size:10px;padding:6px}.legend-note{display:none}.chart-frame{height:440px}.chart-bottom{padding:11px}.side{display:block}.side-panel{margin-top:12px}.source-panel{margin-top:12px}}@media(max-width:410px){.status{font-size:0;padding:10px}.status-dot{margin:0}.chart-frame{height:400px}.heading-row h1 small{font-size:10px}.mode-bar .pending{display:none}}

.layer-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px 17px;padding:8px 18px;border-top:1px solid #1b273e;background:#0a1424}.layer-controls label{color:#aebcdb;font-size:11px;white-space:nowrap;display:flex;align-items:center;gap:4px;cursor:pointer}.layer-controls input{accent-color:#24caa2}.marker-info{font-size:11px;color:#87a0bc;padding:5px 18px 10px;background:#0a1424}.source-warning{padding:10px 16px;font-size:10.5px;color:#d8c9a5;line-height:1.5;background:#141d2e;border-top:1px solid #26324b}@media(max-width:720px){.layer-controls{padding:8px;gap:6px 13px}.marker-info{padding:7px}}

/* v0.3 — czytelne wydarzenia zsynchronizowane z osią czasu */
.chart-frame{isolation:isolate}
.event-annotations{position:absolute;inset:0 8px 26px 0;pointer-events:none;z-index:2;overflow:hidden}
.event-vline{position:absolute;top:0;bottom:0;width:0;border-left:2px solid rgba(238,166,52,.86);filter:drop-shadow(0 0 2px #0006)}
.event-vline .event-flag{position:absolute;top:10px;left:6px;display:inline-block;background:#d39320;color:#151723;padding:5px 7px;border-radius:6px;font-size:10px;font-weight:800;white-space:nowrap;box-shadow:0 2px 9px #0005;line-height:1.35}
.event-vline:not(.left-flag) .event-flag{transform:translateX(-50%);left:0}
.event-vline .event-flag small{display:block;font-size:9px;font-weight:600;opacity:.88}
.event-vline .event-flag.future{background:#7c633b;color:#f5e1aa}
.event-ath-tag{position:absolute;display:block;transform:translate(-50%,-100%);padding:4px 7px;border-radius:6px;background:#145744;color:#dfffee;border:1px solid #38bc84;color:#f0fff8;font-weight:800;font-size:10px;white-space:nowrap;box-shadow:0 1px 9px #0007;z-index:1}
.event-ath-tag::after{content:'';position:absolute;width:1px;height:11px;background:#3ed7a0;left:50%;top:100%}
.event-ath-level{height:0;position:absolute;border-top:1px dashed rgba(75,229,167,.74)}
.event-ath-level-label{position:absolute;right:10px;padding:2px 5px;transform:translateY(-100%);background:#124b3e;border-radius:4px;font-size:10px;color:#9ef2ce;font-weight:700}
.layer-controls .upcoming{color:#657790}.layer-controls .upcoming input{accent-color:#43546b}
@media(max-width:720px){.event-vline .event-flag{font-size:9px;padding:3px 4px}.event-ath-tag{font-size:9px;padding:3px 5px}.event-ath-level-label{font-size:9px}}
