:root{--bg0-hard: #1d2021;--bg0: #282828;--bg1: #3c3836;--bg2: #504945;--bg3: #665c54;--bg4: #7c6f64;--fg0: #fbf1c7;--fg: #ebdbb2;--fg2: #d5c4a1;--fg3: #bdae93;--fg4: #a89984;--gray: #928374;--red: #fb4934;--green: #b8bb26;--yellow: #fabd2f;--blue: #83a598;--purple: #d3869b;--aqua: #8ec07c;--orange: #fe8019;--dim-red: #cc241d;--dim-green: #98971a;--dim-yellow: #d79921;--dim-blue: #458588;--dim-purple: #b16286;--dim-aqua: #689d6a;--dim-orange: #d65d0e;--mono: "JetBrains Mono", "Fira Code", "SFMono-Regular", "Cascadia Code", Menlo, Consolas, monospace;--statusbar-h: 26px;--tabbar-h: 34px;--sidebar-w: 240px;--rightpane-w: 320px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg0-hard);color:var(--fg);font-family:var(--mono);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none}a:hover{color:var(--aqua);text-decoration:underline}::selection{background:var(--bg3);color:var(--fg0)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg0)}::-webkit-scrollbar-thumb{background:var(--bg2);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--bg3)}.editor{display:grid;grid-template-rows:var(--tabbar-h) 1fr var(--statusbar-h);grid-template-columns:var(--sidebar-w) 1fr var(--rightpane-w);grid-template-areas:"tabbar tabbar tabbar" "sidebar main rightpane" "status status status";height:100vh;width:100%;overflow:hidden}.tabbar{grid-area:tabbar;display:flex;align-items:stretch;background:var(--bg0);border-bottom:1px solid var(--bg1);overflow-x:auto;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.tab{display:flex;align-items:center;gap:8px;padding:0 16px;font-size:13px;color:var(--fg4);background:var(--bg0);border-right:1px solid var(--bg1);white-space:nowrap;position:relative}.tab .icon{font-size:12px}.tab:hover{color:var(--fg2);text-decoration:none}.tab.active{color:var(--fg0);background:var(--bg0-hard)}.tab.active:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--blue)}.tab .dot{color:var(--orange);font-size:16px;line-height:1}.sidebar{grid-area:sidebar;background:var(--bg0);border-right:1px solid var(--bg1);overflow-y:auto;padding:10px 0;font-size:13px}.sidebar .root{color:var(--fg4);text-transform:uppercase;letter-spacing:.08em;font-size:11px;padding:4px 14px 8px}.tree{list-style:none;margin:0;padding:0}.tree li{padding:0}.tree a,.tree .group{display:flex;align-items:center;gap:6px;padding:3px 14px;color:var(--fg3)}.tree a:hover{background:var(--bg1);color:var(--fg0);text-decoration:none}.tree a.active{background:var(--bg1);color:var(--yellow)}.tree a.active:before{content:"";position:absolute;margin-left:-14px;width:2px;height:1.4em;background:var(--yellow)}.tree .group{color:var(--fg4);font-weight:700}.tree .indent{padding-left:28px}.tree .ic-dir,.tree .ic-md{color:var(--blue)}.tree .ic-log,.tree .ic-sh{color:var(--green)}.tree .ic-tf{color:var(--purple)}.tree .ic-yaml{color:var(--orange)}.main{grid-area:main;background:var(--bg0-hard);overflow-y:auto;position:relative;display:flex}.gutter{flex:0 0 auto;text-align:right;padding:24px 12px 80px 14px;color:var(--bg4);user-select:none;font-size:13px;line-height:1.9;border-right:1px solid var(--bg1);background:var(--bg0-hard)}.gutter .cur{color:var(--yellow)}.content{flex:1 1 auto;padding:24px 40px 100px 28px;max-width:860px;font-size:15px;line-height:1.9}.content h1{font-size:1.7rem;color:var(--fg0);margin:0 0 4px;font-weight:700}.content h1 .hash{color:var(--red);margin-right:10px}.content h2{font-size:1.15rem;color:var(--yellow);margin:34px 0 10px;border-bottom:1px solid var(--bg1);padding-bottom:5px}.content h2 .hash{color:var(--red);margin-right:8px}.content h3{font-size:1rem;color:var(--aqua);margin:22px 0 6px}.content p{margin:0 0 14px;color:var(--fg)}.content .lead{color:var(--fg2)}.content strong{color:var(--fg0)}.content em{color:var(--purple);font-style:normal}.content a{border-bottom:1px dotted var(--dim-blue)}.content ul{list-style:none;margin:0 0 16px;padding:0}.content ul li{position:relative;padding-left:22px;margin:4px 0}.content ul li:before{content:"▸";position:absolute;left:2px;color:var(--orange)}.content code{background:var(--bg1);color:var(--aqua);padding:1px 6px;border-radius:3px;font-size:.88em}.content blockquote{border-left:3px solid var(--bg3);margin:0 0 16px;padding:4px 0 4px 16px;color:var(--fg4)}.comment{color:var(--gray)}.prompt-line{color:var(--gray);margin-bottom:4px}.prompt-line .tilde{color:var(--green)}.prompt-line .path{color:var(--blue)}.meta{display:grid;grid-template-columns:max-content 1fr;gap:2px 18px;margin:6px 0 18px;font-size:14px}.meta dt{color:var(--fg4)}.meta dd{margin:0;color:var(--fg2)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0 26px}.stat{border:1px solid var(--bg2);border-radius:4px;padding:12px 14px;background:var(--bg0)}.stat .num{font-size:1.5rem;color:var(--green);font-weight:700}.stat .label{font-size:12px;color:var(--fg4)}.timeline{margin:10px 0}.entry{border-left:2px solid var(--bg2);padding:0 0 22px 22px;position:relative;margin-left:6px}.entry:before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;background:var(--bg0-hard);border:2px solid var(--yellow);border-radius:50%}.entry.current:before{background:var(--green);border-color:var(--green)}.entry .role{color:var(--fg0);font-weight:700;font-size:1.05rem}.entry .org{color:var(--aqua)}.entry .period{color:var(--fg4);font-size:13px;float:right}.entry .loc{color:var(--gray);font-size:13px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}.chip{font-size:12px;padding:2px 9px;border:1px solid var(--bg3);border-radius:999px;color:var(--fg3);background:var(--bg0)}.chip.blue{color:var(--blue);border-color:var(--dim-blue)}.chip.green{color:var(--green);border-color:var(--dim-green)}.chip.purple{color:var(--purple);border-color:var(--dim-purple)}.chip.orange{color:var(--orange);border-color:var(--dim-orange)}.cards{display:grid;gap:16px;margin:12px 0}.card{border:1px solid var(--bg2);border-radius:6px;padding:16px 18px;background:var(--bg0)}.card .title{color:var(--yellow);font-weight:700;font-size:1.05rem;margin-bottom:4px}.card .title .sigil{color:var(--orange)}.ascii{background:var(--bg0);border:1px solid var(--bg2);border-radius:6px;padding:16px;color:var(--fg3);font-size:12.5px;line-height:1.45;overflow-x:auto;white-space:pre;margin:12px 0 20px}.ascii .n{color:var(--blue)}.ascii .a{color:var(--aqua)}.ascii .y{color:var(--yellow)}.ascii .o{color:var(--orange)}.ascii .g{color:var(--gray)}.links{display:flex;flex-direction:column;gap:10px;margin:14px 0}.linkbtn{display:flex;align-items:center;gap:12px;border:1px solid var(--bg2);border-radius:6px;padding:12px 16px;color:var(--fg2);background:var(--bg0);max-width:460px}.linkbtn:hover{border-color:var(--blue);color:var(--fg0);text-decoration:none;background:var(--bg1)}.linkbtn .k{color:var(--green);width:90px}.linkbtn .v{color:var(--fg2)}.statusline{grid-area:status;display:flex;align-items:stretch;font-size:12px;background:var(--bg1);color:var(--fg2);overflow:hidden;white-space:nowrap}.sl-seg{display:flex;align-items:center;padding:0 12px}.sl-mode{background:var(--blue);color:var(--bg0-hard);font-weight:700;letter-spacing:.05em}.sl-branch{background:var(--bg2);color:var(--fg0)}.sl-file{color:var(--fg2)}.sl-spacer{flex:1 1 auto}.sl-ft{background:var(--bg2);color:var(--aqua)}.sl-pos{background:var(--blue);color:var(--bg0-hard);font-weight:700}.sl-time{background:var(--bg2);color:var(--fg3)}.hint{position:fixed;bottom:calc(var(--statusbar-h) + 12px);right:16px;font-size:11px;color:var(--gray);background:var(--bg0);border:1px solid var(--bg2);border-radius:4px;padding:4px 10px;z-index:20}.hint kbd{background:var(--bg2);color:var(--fg0);border-radius:3px;padding:0 5px;font-family:var(--mono)}.palette{position:fixed;inset:0;background:#00000073;display:none;align-items:flex-start;justify-content:center;z-index:100}.palette.open{display:flex}.palette-box{margin-top:14vh;width:min(520px,90vw);background:var(--bg0);border:1px solid var(--bg3);border-radius:8px;overflow:hidden;box-shadow:0 18px 50px #00000080}.palette-input{width:100%;border:0;background:var(--bg0-hard);color:var(--fg0);font-family:var(--mono);font-size:15px;padding:14px 16px;border-bottom:1px solid var(--bg2);outline:none}.palette-input::placeholder{color:var(--gray)}.palette-list{list-style:none;margin:0;padding:6px;max-height:320px;overflow-y:auto}.palette-list li{padding:8px 12px;border-radius:5px;color:var(--fg3);cursor:pointer;display:flex;gap:10px;align-items:center}.palette-list li .desc{color:var(--gray);font-size:12px;margin-left:auto}.palette-list li.sel,.palette-list li:hover{background:var(--bg2);color:var(--fg0)}.rightpane{grid-area:rightpane;background:var(--bg0);border-left:1px solid var(--bg1);overflow-y:auto;font-size:12.5px}.rp-title{color:var(--fg4);background:var(--bg0-hard);border-bottom:1px solid var(--bg1);padding:6px 14px;font-size:11.5px;position:sticky;top:0}.rp-title .x{color:var(--blue)}.rp-body{padding:14px;display:flex;flex-direction:column;gap:18px}.rp-sec .rp-h{color:var(--orange);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.rp-fetch{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px}.rp-fetch .k{color:var(--aqua)}.rp-fetch .v{color:var(--fg2)}.gauge{margin-bottom:9px}.gauge:last-child{margin-bottom:0}.gauge .lab{display:flex;justify-content:space-between;color:var(--fg3);margin-bottom:4px}.gauge .lab .pct{color:var(--fg4)}.gauge .track{height:7px;background:var(--bg2);border-radius:3px;overflow:hidden}.gauge .fill{height:100%;width:30%;background:var(--green);border-radius:3px;transition:width .9s ease,background .5s}.rp-status{display:flex;align-items:center;gap:8px;color:var(--fg3)}.rp-status .dot{color:var(--green);font-size:9px}.rp-log{color:var(--gray);line-height:1.75;font-size:11.5px}.rp-log .t{color:var(--dim-blue)}.rp-spark{display:flex;align-items:flex-end;gap:2px;height:30px;margin-top:4px}.rp-spark span{flex:1;background:var(--dim-aqua);border-radius:1px 1px 0 0;min-height:2px;transition:height .9s ease}@media (max-width: 1180px){:root{--rightpane-w: 0px}.rightpane{display:none}.editor{grid-template-columns:var(--sidebar-w) 1fr;grid-template-areas:"tabbar tabbar" "sidebar main" "status status"}}@media (max-width: 820px){:root{--sidebar-w: 0px}.editor{grid-template-columns:1fr;grid-template-areas:"tabbar" "main" "status";grid-template-rows:var(--tabbar-h) 1fr var(--statusbar-h)}.sidebar,.gutter{display:none}.content{padding:18px 18px 90px}.sl-branch,.sl-time,.hint{display:none}.entry .period{float:none;display:block}}
