:root{color-scheme:dark;--bg: #0f1320;--bg-2: #161a2c;--bg-3: #1e2540;--fg: #e8ecf6;--fg-dim: #9aa4c0;--accent: #7ea7ff;--accent-2: #c46b5a;--border: #2a3258;--good: #4f9d69;--warn: #dab94a;--bad: #c46b5a;--side-w: 240px;--detail-w: 320px;--header-h: 44px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--fg);overflow:hidden}button,input,select,textarea{font:inherit;color:var(--fg);background:var(--bg-2);border:1px solid var(--border);border-radius:4px;padding:5px 8px}button{cursor:pointer}button:hover{background:var(--bg-3)}button.primary{background:var(--accent);color:#0a0f1f;border-color:var(--accent)}button.primary:hover{filter:brightness(1.1)}button.danger{color:var(--bad);border-color:var(--bad);background:transparent}button.iconbtn{background:transparent;border:1px solid var(--border);padding:2px 8px;font-size:14px;line-height:1;min-width:28px}.app{display:grid;grid-template-columns:var(--side-w) 1fr var(--detail-w);grid-template-rows:var(--header-h) 1fr;grid-template-areas:"header header header" "side main detail";height:100vh;width:100vw;transition:grid-template-columns .18s ease}.app.side-collapsed{grid-template-columns:0 1fr var(--detail-w)}.app.detail-collapsed{grid-template-columns:var(--side-w) 1fr 0}.app.side-collapsed.detail-collapsed{grid-template-columns:0 1fr 0}.app.side-collapsed .sidebar{transform:translate(-100%);pointer-events:none}.app.detail-collapsed .detail{transform:translate(100%);pointer-events:none}.header{grid-area:header;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px;background:var(--bg-2);border-bottom:1px solid var(--border)}.header-left,.header-right{display:flex;gap:6px;align-items:center}.header h1{font-size:14px;margin:0;letter-spacing:.3px;color:var(--fg)}.header .tabs{display:flex;gap:2px}.header .tabs button{background:transparent;border:1px solid transparent;padding:4px 12px;font-size:12px;border-radius:4px}.header .tabs button.active{background:var(--bg-3);border-color:var(--border);color:var(--fg)}.header-search{width:200px;font-size:12px}.header-check{font-size:11px;color:var(--fg-dim);display:flex;gap:4px;align-items:center}.header-check input{accent-color:var(--accent)}.sidebar{grid-area:side;background:var(--bg-2);border-right:1px solid var(--border);padding:10px;overflow-y:auto;overflow-x:hidden;transition:transform .18s ease}.sidebar h3{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--fg-dim);margin:14px 0 6px}.sidebar h3:first-child{margin-top:0}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;margin:2px;border-radius:12px;border:1px solid var(--border);font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none}.tag-chip.active{box-shadow:0 0 0 1px var(--accent) inset}.tag-chip .swatch{width:7px;height:7px;border-radius:50%}.series-row{display:flex;align-items:center;gap:6px;padding:3px 2px;font-size:12px}.series-row input[type=checkbox]{accent-color:var(--accent)}.main{grid-area:main;position:relative;overflow:hidden;min-width:0}.main .panel{position:absolute;top:0;right:0;bottom:0;left:0}.main .panel:not(.hidden){padding:0}.panel.hidden{display:none}.detail{grid-area:detail;background:var(--bg-2);border-left:1px solid var(--border);padding:10px;overflow-y:auto;transition:transform .18s ease}.event-card,.history-item,.link-row{background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:8px;margin-bottom:8px;font-size:12px}.event-card .meta{color:var(--fg-dim);font-size:11px}.event-card.selected{border-color:var(--accent)}.form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.form-row label{font-size:11px;color:var(--fg-dim)}.form-row input,.form-row textarea,.form-row select{width:100%}svg.chart{width:100%;height:100%;display:block}svg.chart .axis line,svg.chart .axis path{stroke:var(--border)}svg.chart .axis text{fill:var(--fg-dim);font-size:10px}svg.chart .grid line{stroke:var(--border);stroke-opacity:.4}svg.chart .event-marker{cursor:pointer}svg.chart .event-marker.selected circle{stroke:var(--accent);stroke-width:2}svg.chart .series-path{fill:none;stroke-width:1.5}svg.dag .node{cursor:pointer}svg.dag .node rect{fill:var(--bg-3);stroke:var(--border)}svg.dag .node.selected rect{stroke:var(--accent);stroke-width:2}svg.dag .node text{fill:var(--fg);font-size:11px}svg.dag .edge{fill:none;stroke:var(--fg-dim);stroke-width:1.4}svg.dag .edge.selected{stroke:var(--accent)}.empty{color:var(--fg-dim);font-style:italic;font-size:12px}.toolbar{display:flex;gap:6px;align-items:center;margin-bottom:8px}.diff-pre{background:var(--bg);border:1px solid var(--border);padding:6px;border-radius:4px;font-size:10px;overflow-x:auto}.story-wrap{display:flex;flex-direction:column;width:100%;height:100%;background:var(--bg)}.story-toolbar{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-2);border-bottom:1px solid var(--border);font-size:11px;color:var(--fg-dim);flex-shrink:0}.story-toolbar button{padding:2px 8px;font-size:11px;background:transparent;border:1px solid var(--border)}.story-toolbar button:hover{background:var(--bg-3)}.story-toolbar .spacer{flex:1}.story-toolbar .zoom-pct{font-variant-numeric:tabular-nums;min-width:42px;text-align:center}.story-hint{font-size:10px;opacity:.7}.story-canvas{flex:1;position:relative;overflow:hidden;background:var(--bg)}.story-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab}.story-svg:active{cursor:grabbing}.story-svg .lane-bg-a{fill:#131826}.story-svg .lane-bg-b{fill:#181f33}.story-svg .lane-label{fill:var(--fg-dim);font-size:11px;pointer-events:none}.story-svg .lane-divider{stroke:var(--border);stroke-opacity:.6}.story-svg .story-card .card-bg{fill:var(--bg-3);stroke:var(--border);stroke-width:1;transition:fill .1s,stroke .1s}.story-svg .story-card:hover .card-bg{fill:#283357}.story-svg .story-card.selected .card-bg{stroke:var(--accent);stroke-width:2}.story-svg .story-card .card-title{fill:var(--fg);font-size:11px;font-weight:600;pointer-events:none}.story-svg .story-card .card-meta{fill:var(--fg-dim);font-size:9px;pointer-events:none}.story-svg .story-card .stripe{pointer-events:none}.story-svg .axis-top text{fill:var(--fg-dim);font-size:10px}.story-svg .axis-top line,.story-svg .axis-top path{stroke:var(--border)}.story-svg .grid-line{stroke:var(--border);stroke-opacity:.2}.story-svg .rel-edge{fill:none;stroke:var(--fg-dim);stroke-opacity:.35;stroke-width:1;pointer-events:none}.story-svg .rel-edge.selected{stroke:var(--accent);stroke-opacity:.95;stroke-width:1.8}.story-popover{position:absolute;z-index:5;background:var(--bg-2);border:1px solid var(--accent);border-radius:6px;padding:10px;font-size:12px;width:320px;box-shadow:0 12px 24px #00000073;pointer-events:auto}.story-popover h4{margin:0 0 4px;font-size:13px}.story-popover .meta{color:var(--fg-dim);font-size:11px;margin-bottom:4px}.story-popover .desc{color:var(--fg);margin-bottom:8px;line-height:1.35}.story-popover .pop-close{position:absolute;top:4px;right:6px;background:transparent;border:none;color:var(--fg-dim);font-size:16px;padding:0 4px}.story-popover .pop-share{position:absolute;top:4px;right:26px;background:transparent;border:none;color:var(--fg-dim);font-size:14px;padding:0 4px;cursor:pointer}.story-popover .pop-share:hover{color:var(--accent)}.story-popover .rel-section{margin-top:6px}.story-popover .rel-section h5{margin:4px 0;font-size:10px;letter-spacing:.4px;text-transform:uppercase;color:var(--fg-dim)}.story-popover .rel-link{display:block;padding:2px 4px;border-radius:3px;cursor:pointer;color:var(--fg)}.story-popover .rel-link:hover{background:var(--bg-3)}.story-popover .rel-link .kind{color:var(--fg-dim);font-size:10px;margin-left:4px}.story-minimap{height:36px;border-top:1px solid var(--border);position:relative;background:var(--bg-2);flex-shrink:0;cursor:crosshair}.story-minimap svg{width:100%;height:100%;display:block}.story-minimap .mini-window{fill:#7ea7ff2e;stroke:var(--accent);stroke-width:1}
