:root{--bg0: #0f1a14;--bg1: #16241c;--bg2: #1e3328;--panel: rgba(22, 36, 28, .92);--border: rgba(126, 184, 148, .28);--text: #e8f2eb;--muted: #9bb5a6;--accent: #3d9b6a;--accent-2: #7ec89a;--idea: #c9a227;--impl: #3b82c4;--released: #3d9b6a;--danger: #c45c5c;--font: "DM Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--radius: 10px;--shadow: 0 12px 40px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(1200px 600px at 10% -10%,rgba(61,155,106,.18),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(42,158,181,.1),transparent 50%),linear-gradient(165deg,var(--bg0),var(--bg1) 45%,var(--bg0));color:var(--text);font-family:var(--font)}#app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.9rem 1.25rem;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1a14bf;position:sticky;top:0;z-index:20}.brand{display:flex;flex-direction:column;gap:.15rem;min-width:10rem}.brand strong{font-size:1.15rem;letter-spacing:-.02em}.brand span{color:var(--muted);font-size:.8rem}.controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex:1}.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);padding:.4rem .85rem;font:inherit;font-size:.85rem;cursor:pointer}.seg button.active{background:var(--accent);color:#062014;font-weight:600}input[type=search]{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.45rem .7rem;font:inherit;font-size:.9rem;min-width:12rem;flex:1;max-width:20rem}.status-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:8px;padding:.45rem 1.8rem .45rem .7rem;font:inherit;font-size:.85rem;font-weight:600;border:1px solid var(--border);cursor:pointer;background-color:var(--bg2);color:var(--text);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 3px),calc(100% - 9px) calc(50% - 3px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.status-select[data-status=all]{color:var(--text);border-color:var(--border)}.status-select[data-status=Idea]{color:#f0d56a;background-color:#c9a22738;border-color:#c9a2278c}.status-select[data-status=Implementation]{color:#9cc7ef;background-color:#3b82c438;border-color:#3b82c48c}.status-select[data-status=Released]{color:#9ee0b8;background-color:#3d9b6a38;border-color:#3d9b6a8c}.status-select option{background:#16241c;color:var(--text);font-weight:600}.status-select option[value=Idea]{color:#c9a227;background:#2a2410}.status-select option[value=Implementation]{color:#3b82c4;background:#102030}.status-select option[value=Released]{color:#3d9b6a;background:#102018}.graph-tools{display:none;flex-wrap:wrap;gap:.35rem;align-items:center}.graph-tools.visible{display:inline-flex}.tool-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:8px;padding:.35rem .6rem;font:inherit;font-size:.8rem;cursor:pointer}.tool-btn:hover{border-color:var(--accent-2)}.tool-btn.active{background:#3d9b6a40;border-color:var(--accent);color:var(--accent-2)}.layout{flex:1;display:grid;grid-template-columns:1fr minmax(300px,380px);min-height:0}@media(max-width:900px){.layout{grid-template-columns:1fr;grid-template-rows:minmax(320px,45vh) 1fr}}.main-pane{position:relative;min-height:420px;border-right:1px solid var(--border)}.graph-wrap,.list-wrap,.history-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.graph-wrap canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.graph-wrap canvas:active{cursor:grabbing}.list-wrap,.history-wrap{overflow:auto;padding:1rem}.list-table{width:100%;border-collapse:collapse;font-size:.9rem}.list-table th,.list-table td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid var(--border);vertical-align:top}.list-table th{color:var(--muted);font-weight:500;position:sticky;top:0;background:var(--bg1)}.list-table tr{cursor:pointer}.list-table tr:hover,.list-table tr.selected{background:#3d9b6a1f}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.history-item{border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .8rem;background:#0000002e;cursor:pointer}.history-item:hover,.history-item.selected{border-color:var(--accent-2);background:#3d9b6a1f}.history-item .when{font-family:var(--mono);font-size:.75rem;color:var(--muted)}.history-item .line{margin-top:.25rem;font-size:.92rem;line-height:1.4}.history-item .line a{color:var(--accent-2)}.history-item .detail{margin-top:.25rem;font-size:.8rem;color:var(--muted)}.badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.badge.Idea{background:#c9a22733;color:#f0d56a}.badge.Implementation{background:#3b82c438;color:#9cc7ef}.badge.Released{background:#3d9b6a38;color:#9ee0b8}.detail{overflow:auto;padding:1.1rem 1.2rem 2rem;background:var(--panel);box-shadow:var(--shadow)}.detail.empty{color:var(--muted);display:grid;place-items:center;text-align:center;padding:2rem}.detail h2{margin:0 0 .35rem;font-size:1.25rem;letter-spacing:-.02em}.detail .meta-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.9rem}.detail p{margin:.4rem 0 .8rem;line-height:1.45;color:#d5e6db}.detail h3{margin:1.1rem 0 .4rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.detail dl{margin:0;display:grid;gap:.45rem}.detail dt{font-family:var(--mono);font-size:.72rem;color:var(--accent-2)}.detail dd{margin:.1rem 0 .35rem;font-size:.88rem;color:var(--text)}.chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.chip{border:1px solid var(--border);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;background:var(--bg2);color:var(--text);cursor:pointer;font-family:inherit}.chip:hover{border-color:var(--accent-2)}.refs a{color:var(--accent-2);font-size:.85rem}.plan-box{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .85rem;background:#0003;font-size:.85rem;white-space:pre-wrap;font-family:var(--mono);line-height:1.4;max-height:280px;overflow:auto}.hint{position:absolute;left:1rem;bottom:1rem;font-size:.75rem;color:var(--muted);pointer-events:none;z-index:2;max-width:70%}.docs-link{margin-left:auto;color:var(--accent-2);font-size:.85rem;text-decoration:none}.docs-link:hover{text-decoration:underline}.area-legend{display:none;flex-wrap:wrap;gap:.4rem .75rem;font-size:.72rem;color:var(--muted);padding:.35rem 1.25rem .6rem;border-bottom:1px solid var(--border)}.area-legend.visible{display:flex}.area-legend .swatch{display:inline-flex;align-items:center;gap:.3rem}.area-legend i{width:.65rem;height:.65rem;border-radius:3px;display:inline-block;border:1px solid currentColor}
