:root{--accent:#c5723a;--forest:#133229;--sage:#3a7556;--moss:#2e6f5e;--clay:#8b6843;--ink:#1a1612;--sub:#54493d;--line:#e8d9b9;--paper:#f3e9d3;--card:#faf4e8;--rust:var(--accent);--rust-300:color-mix(in srgb, var(--accent) 52%, #fff);--forest-900:var(--forest);--forest-600:var(--sage);--forest-500:var(--moss);--sand-50:var(--card);--sand-100:var(--paper);--sand-200:var(--line);--wood:var(--clay);--teal:var(--sage);--mist:color-mix(in srgb, var(--sub) 45%, #fff);--ink-900:var(--ink);--ink-500:var(--sub);--ink-400:color-mix(in srgb, var(--sub) 72%, #fff)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:Atkinson Hyperlegible,-apple-system,system-ui,sans-serif;color:var(--ink-900);background:var(--sand-100)}h1,h2,h3{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;color:var(--forest-900)}button{font:inherit;cursor:pointer}.label{font-family:DM Sans,sans-serif}.app{min-height:100%}.topbar{position:sticky;top:0;z-index:30;background:var(--forest);color:var(--sand-50);padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600}.brand-logo{height:34px;width:auto;display:block;object-fit:contain}.brand small{display:block;font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--rust-300);font-weight:600}.wrap{max-width:1280px;margin:0 auto;padding:20px 18px 70px}.head h1{font-size:clamp(32px,6vw,50px);line-height:1}.head p{font-family:Cormorant Garamond,serif;font-style:italic;font-size:18px;color:var(--ink-500);margin:6px 0 0}.toolbar{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}.seg{display:inline-flex;background:var(--sand-200);border-radius:999px;padding:3px}.seg button{border:0;background:transparent;border-radius:999px;padding:8px 15px;font-family:DM Sans,sans-serif;font-weight:700;font-size:13px;color:var(--ink-500)}.seg button.on{background:var(--forest);color:var(--sand-50)}.spacer{flex:1}.btn{border:0;border-radius:999px;padding:10px 15px;font-family:DM Sans,sans-serif;font-weight:700;font-size:13px}.btn.rust{background:var(--rust);color:#fff}.btn.forest{background:var(--forest);color:var(--sand-50)}.btn.ghost{background:transparent;border:1px solid rgba(31,25,18,.18);color:var(--ink-500)}.canvas{position:relative;margin-top:16px;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#fbf6ec,#f3e9d3);border:1px solid rgba(31,25,18,.12);box-shadow:0 10px 30px #1f191214}.canvas-scroll{overflow-x:auto;overflow-y:hidden}.stage{position:relative}.mountains{position:absolute;left:0;top:0;pointer-events:none;z-index:1}.tracks{position:absolute;left:0;top:0;pointer-events:none;z-index:2}.track-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.track-future{stroke-dasharray:5 7;opacity:.65}.track-label{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:8px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700;color:var(--forest-900);background:#faf4e8eb;border:1px solid rgba(31,25,18,.12);border-radius:999px;padding:6px 12px;transform:translateY(-50%)}.track-label i{width:11px;height:11px;border-radius:50%;display:block}.moment{position:absolute;z-index:6;transform:translate(-50%,-50%);background:transparent;border:0;padding:0}.round{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:18px;border:3px solid var(--sand-50);box-shadow:0 6px 16px #1f191238}.round.future{background:var(--sand-50)!important;color:var(--mist);border-style:dashed;border-color:var(--mist)}.moment .cap{display:block;margin-top:5px;max-width:96px;font-family:DM Sans,sans-serif;font-size:10.5px;font-weight:700;color:var(--forest-900);line-height:1.1;text-align:center;text-shadow:0 1px 4px rgba(250,244,232,.8)}.block{position:absolute;z-index:6;transform:translate(-50%);width:166px;text-align:left;background:#fff;border:1px solid rgba(31,25,18,.14);border-radius:16px;padding:11px 12px;box-shadow:0 6px 18px #1f19121f}.block.future{background:#faf4e8b8;border-style:dashed}.block .bh{display:flex;align-items:center;gap:8px}.block .bi{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:14px;flex:0 0 auto}.block .bt{font-family:DM Sans,sans-serif;font-weight:700;font-size:13px;line-height:1.12;color:var(--forest-900)}.block .bd{font-family:DM Sans,sans-serif;font-size:11px;color:var(--ink-400);margin-top:1px}.block .by{font-family:DM Sans,sans-serif;font-size:11px;color:var(--ink-500);margin-top:7px}.block .ppl{display:flex;margin-top:7px}.av{width:20px;height:20px;border-radius:50%;background:var(--forest-500);color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center;margin-left:-5px;border:2px solid #fff;font-family:DM Sans,sans-serif}.av:first-child{margin-left:0}.rc{font-family:DM Sans,sans-serif;font-size:11px;color:var(--rust);margin-top:6px}.timeaxis{position:absolute;left:0;border-top:1px solid rgba(31,25,18,.14)}.tick{position:absolute;font-family:DM Sans,sans-serif;font-size:11px;color:var(--ink-400);transform:translate(-50%);padding-top:5px}.legend{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;border-top:1px solid rgba(31,25,18,.1);position:relative;z-index:3;background:#faf4e880}.chip{display:inline-flex;align-items:center;gap:7px;font-family:DM Sans,sans-serif;font-size:12px;color:var(--ink-500)}.chip i{width:11px;height:11px;border-radius:50%;display:block}.energy-blk{margin-top:16px;padding-top:14px;border-top:1px solid rgba(31,25,18,.1)}.espread{margin-top:4px}.etrack{position:relative;height:34px;border-radius:8px;background:linear-gradient(90deg,#2a5a4429,#e7ded08c 50%,#c5723a33)}.ezero{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#1f191224}.edot{position:absolute;top:50%;width:12px;height:12px;margin:-7px 0 0 -6px;border-radius:50%;background:var(--rust);border:2px solid #fff;box-shadow:0 1px 3px #00000038}.eavg{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1.5px;background:#1c1c1c;border-radius:2px}.escale{display:flex;justify-content:space-between;margin-top:5px;font-size:11px;color:var(--ink-400)}.energy-mine{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(31,25,18,.12)}.stage.efocus .tracks,.stage.efocus .track-label,.stage.efocus .block{opacity:.05;pointer-events:none;transition:opacity .2s}.stage.efocus .moment{opacity:.85;transition:opacity .2s}.stage.efocus .moment .round{width:11px;height:11px;font-size:0;box-shadow:none;border-width:1px}.stage.efocus .moment .cap{display:none}.stage.efocus .energy-line{stroke-width:3.5}.seg-group{display:inline-flex;align-items:center;gap:7px}.seg-lbl{font-size:11px;color:var(--ink-400);font-family:DM Sans,sans-serif;white-space:nowrap}.vpath{position:relative;margin-top:16px;padding-left:8px}.vline{position:absolute;left:31px;top:8px;bottom:8px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--forest-500),var(--rust))}.vrow{position:relative;display:flex;gap:14px;align-items:flex-start;padding:0 0 18px}.vround{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:18px;border:3px solid var(--sand-50);box-shadow:0 5px 14px #1f191233;z-index:2}.vround.future{background:var(--sand-50)!important;color:var(--mist);border-style:dashed;border-color:var(--mist)}.vcard{flex:1;background:#fff;border:1px solid rgba(31,25,18,.13);border-radius:16px;padding:12px 13px;box-shadow:0 5px 14px #1f191214;text-align:left}.vcard.future{background:#faf4e8b3;border-style:dashed}.vcard .bt{font-family:DM Sans,sans-serif;font-weight:700;font-size:14px;color:var(--forest-900)}.vcard .bd{font-family:DM Sans,sans-serif;font-size:11.5px;color:var(--ink-400);margin-top:2px}.vcard .desc{font-size:13px;color:var(--ink-500);margin-top:6px;line-height:1.45}.venergy{display:inline-block;height:6px;border-radius:6px;margin-top:8px;background:var(--rust)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f2a236b;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:92vh;overflow:auto;background:var(--sand-50);border-radius:24px 24px 0 0;padding:20px}.sheet h2{font-size:30px;line-height:1.05}.meta{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.pill{font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:5px 10px}.pill.dark{color:#fff}.pill.light{background:var(--sand-200);color:var(--ink-500)}.sheet p{line-height:1.6;color:var(--ink-500)}.kv{display:flex;justify-content:space-between;gap:10px;font-family:DM Sans,sans-serif;font-size:13px;padding:7px 0;border-bottom:1px solid rgba(31,25,18,.08)}.kv b{color:var(--ink-500);font-weight:700}.react{border-top:1px solid rgba(31,25,18,.12);margin-top:14px;padding-top:12px}.react .r{padding:8px 0;border-bottom:1px solid rgba(31,25,18,.07)}.react .who{font-family:DM Sans,sans-serif;font-weight:700;font-size:13px}.close{float:right;border:0;background:var(--sand-200);width:34px;height:34px;border-radius:50%;font-weight:700}.fld{width:100%;padding:10px;border-radius:12px;border:1px solid rgba(31,25,18,.15);margin-top:4px;font:inherit;background:#fff}.loading{padding:50px;text-align:center;color:var(--ink-400);font-family:DM Sans,sans-serif}@media (min-width:760px){.modal{align-items:center}.sheet{border-radius:24px}}.vtabs{display:inline-flex;gap:4px;background:var(--sand-200);border-radius:999px;padding:3px}.vtabs button{border:0;background:transparent;border-radius:999px;padding:8px 14px;font-family:DM Sans,sans-serif;font-weight:700;font-size:13px;color:var(--ink-500)}.vtabs button.on{background:var(--forest);color:var(--sand-50)}.muted-sm{font-family:DM Sans,sans-serif;font-size:12px;color:var(--ink-400);margin-top:2px}.nowrap{white-space:nowrap}.list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(31,25,18,.1);flex-wrap:wrap}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-family:DM Sans,sans-serif;font-size:13px}.tbl th{text-align:left;padding:10px 14px;color:var(--ink-400);font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(31,25,18,.1)}.tbl td{padding:11px 14px;border-bottom:1px solid rgba(31,25,18,.07);vertical-align:top;color:var(--ink-900)}.tbl tr:hover td{background:#1f191208}.ebar{display:inline-block;width:88px;height:8px;border-radius:8px;background:var(--sand-200);overflow:hidden;vertical-align:middle}.ebar span{display:block;height:100%;background:var(--rust);border-radius:8px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:12px}.stat{background:var(--card,#fff);border:1px solid rgba(31,25,18,.12);border-radius:16px;padding:14px 16px}.stat-v{font-family:Cormorant Garamond,Georgia,serif;font-size:30px;font-weight:600;color:var(--forest-900);line-height:1}.stat-l{font-family:DM Sans,sans-serif;font-size:12px;color:var(--ink-400);margin-top:4px}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.pad{padding:16px}.pad h3{font-family:Cormorant Garamond,serif;font-size:21px;margin-bottom:8px}.mini{display:flex;align-items:center;gap:8px;font-family:DM Sans,sans-serif;font-size:13px;padding:5px 0}.mini .dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;display:inline-block}.tagcloud{display:flex;flex-wrap:wrap;gap:8px}.tagc{background:var(--sand-100);border:1px solid rgba(31,25,18,.1);border-radius:999px;padding:6px 11px;font-family:DM Sans,sans-serif;font-size:12px;color:var(--ink-500)}.story-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:2px 2px 12px}.story-bar .story-filter{flex:1 1 auto;padding:0}.story-seg{flex:0 0 auto}.story-filter{display:flex;flex-wrap:wrap;gap:8px;padding:2px 2px 12px}.story-filter button{display:inline-flex;align-items:center;gap:6px;font-family:DM Sans,sans-serif;font-size:13px;color:var(--ink-600,#5b5145);background:var(--card,#fff);border:1px solid rgba(31,25,18,.15);border-radius:999px;padding:5px 13px;cursor:pointer;transition:.12s}.story-filter button:hover{border-color:#1f19124d}.story-filter button.on{background:var(--forest-900,#23311f);color:#fff;border-color:transparent}.story-filter .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.stories{column-width:230px;column-gap:14px;padding:4px 2px 18px}.scard{display:inline-block;width:100%;margin:0 0 14px;break-inside:avoid;-webkit-column-break-inside:avoid;text-align:left;background:var(--card,#fff);border:1px solid rgba(31,25,18,.13);border-radius:18px;overflow:hidden;box-shadow:0 6px 18px #1f191214;padding:0;cursor:pointer;transition:transform .12s,box-shadow .12s}.scard:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1f19121f}.scard.future{opacity:.92;border-style:dashed}.scard-top{height:96px;display:grid;place-items:center;position:relative}.scard-top img{width:100%;height:100%;object-fit:cover}.scard-ic{color:#fff;font-size:30px}.scard-body{padding:13px}.scard-t{font-family:Cormorant Garamond,serif;font-size:21px;font-weight:600;color:var(--forest-900);line-height:1.05;margin-top:3px}.scard-d{font-family:DM Sans,sans-serif;font-size:12.5px;color:var(--ink-500);margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#root{display:flex;flex-direction:column;height:auto;min-height:100%}#root>.app{flex:1 0 auto;min-height:0}.legal-foot{padding:14px 16px 18px;text-align:center;font-family:DM Sans,sans-serif;font-size:12px;line-height:1.6;color:var(--ink-400);overflow-wrap:anywhere}.legal-foot span{white-space:nowrap}.legal-foot a{color:inherit;text-decoration:none}.legal-foot a:hover{color:var(--ink-500);text-decoration:underline}
