:root{--bg:#0f0b1a;--bg-soft:#171124;--panel:#140f21;--panel-2:#1b152b;--text:#f1efe7;--muted:#b8b2ca;--line:rgba(193,182,221,.26);--purple:#745fb9;--purple-soft:#997aed;--red:#ff4b57;--gold:#e6b950;--blue:#58a2ff;--green:#28b996;--timeline-width:min(1800px,100%);--zoom:1}.app{position:relative;z-index:20;height:100vh;display:grid;grid-template-rows:auto 1fr}.noiseCanvas{position:fixed;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.topbar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(13,10,22,.86);backdrop-filter:blur(10px)}.brand{display:grid;gap:3px}.brand strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.brand span{font-size:11px;color:var(--muted)}.controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chip,.controls{align-items:center}.chip{border:1px solid var(--line);border-radius:999px;background:rgba(24,18,37,.8);color:#efeaff;font-size:11px;line-height:1;padding:7px 10px;display:inline-flex;gap:6px;white-space:nowrap}.chip.red{border-color:rgba(255,75,87,.54);background:rgba(98,24,35,.5);color:#ffd8dd}.chip.ok{border-color:rgba(40,185,150,.55);background:rgba(20,58,50,.48);color:#cdf1e8}.chip input[type=range]{width:108px;accent-color:var(--purple-soft)}.chip button{border:none;background:transparent;color:inherit;padding:0;margin:0;cursor:pointer;font-size:11px;opacity:.7;font-weight:600}.chip button.active{opacity:1;text-shadow:0 0 10px hsla(0,0%,100%,.2)}.layout{min-height:0;height:100%;display:grid;grid-template-columns:1fr 0;overflow:hidden;transition:grid-template-columns .18s ease}.app.detailOpen .layout{grid-template-columns:1fr 390px}.timelinePane{min-width:0;min-height:0;height:100%;display:flex;transition:transform .18s ease}.app.detailOpen .timelinePane{transform:translateX(-56px)}.viewport{flex:1 1 auto;min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;padding-top:6px}.stage{width:var(--timeline-width);margin:0 auto;position:relative;min-height:6200px;padding-bottom:300px}.stage:before{content:"";inset:0;background:linear-gradient(180deg,hsla(0,0%,100%,.015),transparent 26%,transparent 74%,hsla(0,0%,100%,.01)),repeating-linear-gradient(90deg,transparent,transparent 96px,rgba(193,182,221,.018) 0,rgba(193,182,221,.018) 97px);z-index:2}.axis,.stage:before{position:absolute;pointer-events:none}.axis{top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(153,122,237,.24),rgba(116,95,185,.8) 25%,rgba(255,75,87,.66) 45%,rgba(116,95,185,.74) 68%,rgba(153,122,237,.2));box-shadow:0 0 20px rgba(116,95,185,.42)}.ticks{inset:0;pointer-events:none}.tick,.ticks{position:absolute}.tick{left:calc(50% - 110px);width:220px;border-top:1px solid rgba(193,182,221,.16)}.tick.day{left:calc(50% - 126px);width:252px;border-top-color:rgba(193,182,221,.3)}.tick.hour{left:calc(50% - 86px);width:172px;border-top-color:rgba(193,182,221,.12)}.tick span{position:absolute;left:232px;top:-9px;border:1px solid rgba(193,182,221,.24);border-radius:999px;background:rgba(18,14,30,.8);color:var(--muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;white-space:nowrap}.tick.day span{font-weight:700;border-color:rgba(193,182,221,.32);background:rgba(20,15,33,.9)}.tick.hour span{left:182px;font-size:9px;color:rgba(184,178,202,.92);border-color:rgba(193,182,221,.16);background:rgba(18,14,30,.64)}.tick.now{border-top-color:rgba(255,75,87,.58)}.tick.now span{color:#ffd8dd;border-color:rgba(255,75,87,.54);background:rgba(92,23,35,.62)}.nowDot{position:absolute;left:calc(50% - 17px);width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,75,87,.82);background:radial-gradient(circle,rgba(255,75,87,.86),rgba(255,75,87,.18));box-shadow:0 0 20px rgba(255,75,87,.46);cursor:pointer;z-index:25;animation:pulse 2.5s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,75,87,.5),0 0 20px rgba(255,75,87,.4)}70%{box-shadow:0 0 0 14px rgba(255,75,87,0),0 0 28px rgba(255,75,87,.55)}to{box-shadow:0 0 0 0 rgba(255,75,87,0),0 0 20px rgba(255,75,87,.4)}}.newsCard{position:absolute;left:50%;border:1px solid rgba(193,182,221,.3);border-radius:14px;background:linear-gradient(170deg,rgba(26,20,41,.93),rgba(14,10,24,.9));box-shadow:0 10px 20px rgba(0,0,0,.34);overflow:hidden;cursor:pointer;transform-origin:center;transition:box-shadow .12s ease,border-color .12s ease,width .1s ease;z-index:14}.newsCard:hover{box-shadow:0 14px 26px rgba(0,0,0,.44)}.newsCard.selected{outline:2px solid rgba(237,233,254,.28);z-index:18}.newsCard.break-critical,.newsCard.break-epoch{border-color:rgba(255,75,87,.6)}.newsCard.break-flash{border-color:rgba(230,185,80,.58)}.newsCard.break-signal{border-color:rgba(88,162,255,.58)}.newsCard.future{border-style:dashed;border-color:rgba(153,122,237,.52);background:linear-gradient(170deg,rgba(34,25,57,.84),rgba(15,10,24,.84))}.newsCard.locked{opacity:.28;filter:grayscale(.4);pointer-events:none}.cardInner{padding:8px 10px 9px;display:grid;gap:6px}.meta{display:flex;justify-content:space-between;gap:6px;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#d3cae8}.badges,.meta{align-items:center}.badges{display:inline-flex;gap:5px;min-width:0}.badge{border:1px solid rgba(193,182,221,.34);border-radius:999px;padding:2px 6px;background:rgba(25,18,40,.68);white-space:nowrap}.badge.type-epoch{color:#ffdbe0;border-color:rgba(255,75,87,.56);background:rgba(96,23,34,.5)}.badge.type-critical{color:#ffdfe3;border-color:rgba(255,75,87,.52);background:rgba(95,26,39,.5)}.badge.type-flash{color:#ffeecd;border-color:rgba(230,185,80,.6);background:rgba(87,66,22,.48)}.badge.type-signal{color:#d5e8ff;border-color:rgba(88,162,255,.55);background:rgba(27,56,96,.46)}.title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.2;color:#f7f2ff;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.source{font-size:11px;color:#bfb7d3;display:flex;justify-content:space-between;gap:8px;align-items:center}.source a{color:#e8e1fb;text-decoration:none;border-bottom:1px solid rgba(232,225,251,.48);font-weight:600}.newsCard.compact .title{font-size:13px;-webkit-line-clamp:2}.newsCard.compact .source{font-size:10px}.newsCard.node{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;border-radius:999px;border:none;background:radial-gradient(circle,rgba(153,122,237,.95),rgba(153,122,237,.2));box-shadow:0 0 13px rgba(153,122,237,.72);overflow:visible}.newsCard.node.break-critical,.newsCard.node.break-epoch{background:radial-gradient(circle,rgba(255,75,87,.98),rgba(255,75,87,.2));box-shadow:0 0 16px rgba(255,75,87,.78)}.newsCard.node .cardInner{display:none}.newsCard.dot{width:6px!important;height:6px!important;min-width:6px!important;min-height:6px!important;border-radius:999px;border:none;background:rgba(153,122,237,.7);box-shadow:0 0 6px rgba(153,122,237,.5);overflow:visible;cursor:default}.newsCard.dot.break-critical,.newsCard.dot.break-epoch{background:rgba(255,75,87,.8);box-shadow:0 0 8px rgba(255,75,87,.6)}.newsCard.dot.break-flash{background:rgba(88,162,255,.7);box-shadow:0 0 6px rgba(88,162,255,.5)}.newsCard.dot .cardInner{display:none}.connections{position:absolute;inset:0;pointer-events:none;z-index:10}.futureHint{position:absolute;left:calc(50% - 140px);width:280px;text-align:center;border:1px dashed rgba(153,122,237,.48);border-radius:999px;padding:5px 9px;color:#d2c8ea;background:rgba(24,18,39,.72);font-size:10px;text-transform:uppercase;letter-spacing:.07em;z-index:17}.futureHint.ok{border-color:rgba(40,185,150,.54);color:#cbf0e5;background:rgba(19,53,45,.52)}.detail{min-width:0;border-left:1px solid var(--line);background:linear-gradient(180deg,rgba(17,13,28,.98),rgba(12,9,20,.98));transform:translateX(100%);transition:transform .18s ease;display:grid;grid-template-rows:auto 1fr}.app.detailOpen .detail{transform:translateX(0)}.detailHead{padding:12px;border-bottom:1px solid rgba(193,182,221,.22);display:flex;justify-content:space-between;align-items:center;gap:8px}.detailHead strong{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#d9d0ee}.detailHead button{border:1px solid rgba(193,182,221,.33);background:rgba(29,21,47,.8);color:#e8e1fa;border-radius:999px;width:30px;height:30px;cursor:pointer;font-size:13px}.detailBody{overflow:auto;padding:12px;display:grid;gap:12px}.detailTitle{margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1.25}.detailSummary{margin:0;color:#c5bdd9;font-size:14px;line-height:1.52}.detailMeta{display:flex;flex-wrap:wrap;gap:7px}.detailMeta span{border:1px solid rgba(193,182,221,.28);border-radius:999px;padding:3px 8px;font-size:11px;color:#e6ddf7;background:rgba(27,20,43,.64)}.embed{border:1px solid rgba(193,182,221,.22);border-radius:12px;overflow:hidden;background:#141024;min-height:240px}.embed iframe{width:100%;min-height:360px;border:0;background:#141024}.detailActions{display:flex;gap:8px;flex-wrap:wrap}.detailActions a,.detailActions button{border:1px solid rgba(193,182,221,.34);border-radius:999px;background:rgba(29,21,46,.85);color:#f0eaff;text-decoration:none;font-size:12px;padding:7px 10px;cursor:pointer}.detailActions a.primary{border-color:rgba(255,75,87,.56);background:rgba(95,24,36,.62);color:#ffd7dd}.related{display:grid;gap:6px}.related button{border:1px solid rgba(193,182,221,.25);background:rgba(24,17,39,.67);color:#e6dcf8;border-radius:9px;text-align:left;padding:8px;font-size:12px;cursor:pointer}.toast{position:fixed;right:14px;bottom:14px;z-index:70;border:1px solid rgba(193,182,221,.38);background:rgba(24,18,39,.9);color:#eee6ff;border-radius:10px;padding:8px 10px;font-size:12px;opacity:0;transform:translateY(8px);transition:opacity .13s ease,transform .13s ease;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}@media (max-width:1150px){.app.detailOpen .layout{grid-template-columns:1fr}.app.detailOpen .timelinePane{transform:none}.detail{position:fixed;top:62px;right:8px;width:min(440px,calc(100vw - 16px));height:calc(100vh - 70px);border:1px solid var(--line);border-radius:14px;z-index:30;box-shadow:0 18px 32px rgba(0,0,0,.45)}.controls{justify-content:flex-start}.topbar{flex-direction:column;align-items:flex-start}}@media (max-width:500px){.brand span{display:none}.topbar{padding:8px 10px;gap:8px}.chip input[type=range]{width:72px}}