:root{--bg:#000;--fg:#fff;--desc:#ccc;--contrast:#6fc3df;--active:#f38518;--link:#21a6ff;--git-untracked:#73c991;--tok-keyword:#569cd6;--tok-variable:#9cdcfe;--tok-string:#ce9178;--tok-comment:#7ca668;--tok-number:#b5cea8;--tok-type:#4ec9b0;--tok-function:#dcdcaa;--ui-font:"Segoe WPC", "Segoe UI", system-ui, -apple-system, sans-serif;--editor-font:Consolas, "Cascadia Mono", "Courier New", ui-monospace, monospace;--titlebar-h:35px;--tab-h:35px;--crumb-h:22px;--statusbar-h:22px;--activity-w:48px;--sidebar-w:300px;--row-h:22px;--ui-size:13px;--editor-size:14px;--editor-lh:19px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--ui-font);font-size:var(--ui-size);-webkit-font-smoothing:antialiased;margin:0;line-height:1.4;overflow:hidden}a{color:var(--link);text-underline-offset:2px;text-decoration:underline}a:hover{color:var(--fg)}:focus-visible{outline:1px solid var(--active);outline-offset:-1px}button{color:inherit;font-family:inherit}.ide{grid-template-rows:var(--titlebar-h) 1fr var(--statusbar-h);grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.ide-body{min-width:0;min-height:0;display:flex}.titlebar{height:var(--titlebar-h);border-bottom:1px solid var(--contrast);user-select:none;align-items:center;padding:0 4px;display:flex}.menu{display:flex}.menu span{border:1px solid #0000;padding:0 8px;line-height:22px}.menu span:hover{border-color:var(--active);border-style:dotted}.title-center{flex:1;justify-content:center;display:flex}.title-search{text-align:center;background:var(--bg);border:1px solid var(--contrast);cursor:pointer;width:600px;max-width:46vw;height:22px;padding:0 8px;font-size:12px}.title-search:hover{border-color:var(--active);border-style:dotted}.title-search kbd{border:1px solid var(--contrast);margin-left:8px;padding:0 4px;font-size:10px}.win-ctl{display:flex}.win-ctl span{width:46px;height:var(--titlebar-h);place-items:center;font-size:11px;display:grid}.win-ctl span:hover{outline:1px dotted var(--active);outline-offset:-1px}.win-ctl span:last-child:hover{background:#c42b1c}.activitybar{width:var(--activity-w);flex:0 0 var(--activity-w);border-right:1px solid var(--contrast);flex-direction:column;align-items:center;display:flex}.act{width:var(--activity-w);opacity:.55;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;place-items:center;height:48px;display:grid}.act:hover{opacity:1;outline:1px dotted var(--active);outline-offset:-6px}.act[aria-current=true]{opacity:1;outline:1px solid var(--active);outline-offset:-6px}.act svg{width:24px;height:24px}.act-spacer{flex:1}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);border-right:1px solid var(--contrast);flex-direction:column;min-width:170px;display:flex;overflow:hidden}.sidebar-head{height:var(--tab-h);flex:0 0 var(--tab-h);letter-spacing:.5px;text-transform:uppercase;align-items:center;padding:0 8px 0 20px;font-size:11px;display:flex}.sidebar-head .more{cursor:pointer;opacity:.7;margin-left:auto;padding:0 6px}.sidebar-head .more:hover{opacity:1;outline:1px dotted var(--active);outline-offset:-1px}.tree{flex:1;padding:0 2px;overflow-y:auto}.tree-row{width:100%;height:var(--row-h);flex:0 0 var(--row-h);font:inherit;text-align:left;cursor:pointer;color:var(--fg);background:0 0;border:0;align-items:center;padding:0 7px 0 2px;text-decoration:none;display:flex}.tree-row:hover{outline:1px dotted var(--active);outline-offset:-1px}.tree-row[aria-current=true]{outline:1px solid var(--active);outline-offset:-1px}.tree-row .glyph{text-align:center;flex:0 0 16px;width:16px}.tree-row .chev{opacity:.9;font-size:10px}.tree-row .ico{font-family:var(--editor-font);letter-spacing:-.3px;font-size:8px}.tree-row .nm{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tree-row .badge{color:var(--git-untracked);margin-left:auto;padding-left:6px;font-size:12px}.depth-0{padding-left:2px}.depth-1{padding-left:12px}.depth-2{padding-left:22px}.ico-md{color:var(--tok-keyword)}.ico-pdf{color:var(--tok-string)}.ico-dir{color:var(--tok-function)}.panel-section{border-top:1px solid var(--contrast);padding:0 2px}.section-head{width:100%;height:var(--row-h);font:inherit;letter-spacing:.5px;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 7px 0 3px;font-size:11px;display:flex}.section-head:hover{outline:1px dotted var(--active);outline-offset:-1px}.section-head .chev{text-align:center;width:16px;font-size:10px}.section-body{padding-bottom:4px}.section-empty{color:var(--desc);margin:0;padding:6px 16px 6px 24px;font-size:13px}.outline-item{width:100%;height:var(--row-h);text-align:left;color:var(--tok-function);font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;padding:0 7px 0 25px;display:flex;overflow:hidden}.outline-item[data-lvl="2"]{color:var(--tok-variable);padding-left:41px}.outline-item:hover{outline:1px dotted var(--active);outline-offset:-1px}.gutter{cursor:col-resize;flex:0 0 4px}.gutter:hover,.gutter[data-dragging=true]{background:var(--active)}.gutter[data-gutter=group]{border-left:1px solid var(--contrast)}.main{flex:1;min-width:0;display:flex}.group{flex-direction:column;flex:1 1 0;min-width:160px;min-height:0;display:flex}.grouphead{height:var(--tab-h);flex:0 0 var(--tab-h);border-bottom:1px solid var(--contrast);display:flex}.tabbar{scrollbar-width:none;flex:1;min-width:0;padding-left:1px;display:flex;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.actions{align-items:center;padding:0 6px;display:flex}.iconbtn{cursor:pointer;opacity:.8;background:0 0;border:1px solid #0000;place-items:center;width:28px;height:28px;display:grid}.iconbtn:hover{opacity:1;outline:1px dotted var(--active);outline-offset:-1px}.iconbtn svg{width:16px;height:16px}.tab{height:var(--tab-h);background:var(--bg);border:0;border-right:1px solid var(--contrast);font:inherit;cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 8px 0 10px;display:flex}.tab[aria-selected=false]{opacity:.6}.tab[aria-selected=true]{outline:1px solid var(--active);outline-offset:-1px}.tab .ico{font-family:var(--editor-font);color:var(--tok-keyword);font-size:9px}.tab .close{place-items:center;width:20px;height:20px;font-size:12px;display:grid}.tab .close:hover{outline:1px dotted var(--active);outline-offset:-1px}.tabfill{flex:1}.breadcrumbs{height:var(--crumb-h);flex:0 0 var(--crumb-h);color:var(--desc);white-space:nowrap;align-items:center;padding:0 16px;font-size:12px;display:flex;overflow:hidden}.breadcrumbs .sep{padding:0 6px}.editor{scroll-behavior:smooth;flex:1;min-width:0;min-height:0;overflow-y:auto}.editor::-webkit-scrollbar{width:14px}.editor::-webkit-scrollbar-thumb{border:1px solid var(--contrast);background:#3a3a3a}.pane{font-family:var(--editor-font);font-size:var(--editor-size);line-height:var(--editor-lh);padding:22px 32px 100px;display:none}.pane[data-active=true]{display:block}.pane h1{margin:0 0 4px;font-size:24px;font-weight:700;line-height:32px}.pane h2{text-transform:uppercase;letter-spacing:1.2px;color:var(--tok-keyword);margin:34px 0 10px;font-size:12px;font-weight:400}.pane p{margin:0 0 var(--editor-lh)}.pane em{color:var(--tok-comment);font-style:normal}.tagline{color:var(--tok-comment);margin:0 0 19px}.meta{flex-direction:column;margin-bottom:19px;display:flex}.meta-row{line-height:var(--editor-lh);gap:8px;display:flex}.meta-row .k{color:var(--tok-variable);flex:0 0 88px}.meta-row .v{color:var(--desc)}.award{color:var(--tok-string)}.chips{flex-wrap:wrap;gap:5px;margin-bottom:24px;display:flex}.chip{border:1px solid var(--contrast);color:var(--tok-type);padding:1px 7px;font-size:12px}.metrics{border:1px solid var(--contrast);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:24px 0;display:grid}.metric{border-right:1px solid var(--contrast);padding:12px 14px}.metric:last-child{border-right:0}.metric .v{color:var(--tok-number);font-variant-numeric:tabular-nums;font-size:20px;line-height:26px;display:block}.metric .l{color:var(--desc);font-size:12px;display:block}figure{width:min(78%,720px);margin:24px 0}figure.diagram{width:100%;max-width:none}figure a{display:block}figure img,figure video{border:1px solid var(--contrast);background:#000;width:100%;height:auto;display:block}figure a:hover img{border-color:var(--active);border-style:dotted}figcaption{color:var(--tok-comment);margin-top:6px;font-size:12px}.links{flex-wrap:wrap;gap:6px;margin-top:28px;display:flex}.links a{border:1px solid var(--contrast);color:var(--fg);padding:4px 10px;font-size:13px;text-decoration:none}.links a:hover{border-color:var(--active);border-style:dotted}.hint{color:var(--desc)}kbd{border:1px solid var(--contrast);font-family:var(--editor-font);padding:0 5px;font-size:11px}.lnk{font:inherit;color:var(--link);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.lnk:hover{color:var(--fg)}.filelist{border:1px solid var(--contrast);margin:18px 0 8px}.filerow{border:0;border-bottom:1px solid var(--contrast);width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--fg);background:0 0;align-items:center;gap:10px;padding:7px 12px;display:flex}.filerow:last-child{border-bottom:0}.filerow:hover{outline:1px dotted var(--active);outline-offset:-1px}.filerow .ico{color:var(--tok-keyword);flex:0 0 22px;font-size:10px}.filerow .nm{color:var(--tok-variable);flex:0 0 160px}.filerow .d{color:var(--tok-comment)}.filerow .tag{color:var(--tok-string);white-space:nowrap;margin-left:auto;font-size:12px}.statusbar{height:var(--statusbar-h);border-top:1px solid var(--contrast);user-select:none;align-items:stretch;font-size:12px;display:flex}.sb{color:var(--fg);white-space:nowrap;align-items:center;gap:4px;padding:0 5px;text-decoration:none;display:flex}a.sb:hover,button.sb:hover{outline:1px dotted var(--active);outline-offset:-1px;text-decoration:none}button.sb{font:inherit;cursor:pointer;background:0 0;border:0}.statusbar .right{align-items:stretch;margin-left:auto;display:flex}.palette-scrim{z-index:50;background:#0009;display:none;position:fixed;inset:0}.palette-scrim[data-open=true]{display:block}.palette{background:var(--bg);border:1px solid var(--contrast);width:min(600px,90vw);position:absolute;top:0;left:50%;transform:translate(-50%)}.palette input{background:var(--bg);border:0;border-bottom:1px solid var(--contrast);width:100%;color:var(--fg);font:inherit;padding:6px 8px}.palette input:focus{outline:1px solid var(--active);outline-offset:-1px}.palette ul{max-height:320px;margin:0;padding:2px 0;list-style:none;overflow-y:auto}.palette li{height:var(--row-h);cursor:pointer;color:var(--tok-variable);align-items:center;gap:8px;padding:0 8px;display:flex}.palette li:hover{outline:1px dotted var(--active);outline-offset:-1px}.palette li[data-sel=true]{outline:1px solid var(--active);outline-offset:-1px}.palette li .d{color:var(--desc)}.mobilebar,.sheet-close{display:none}@media (width<=860px){:root{--editor-size:15px;--editor-lh:23px;--bar-h:44px}.ide{grid-template-rows:var(--bar-h) 1fr var(--bar-h);height:100dvh}html,body{overflow:hidden}.menu,.title-center,.win-ctl,.activitybar,.gutter,.breadcrumbs,.grouphead,.panel-section,.group+.group{display:none}.titlebar{height:var(--bar-h);padding:0}.mobilebar{align-items:center;gap:10px;width:100%;padding-right:12px;display:flex}.mb-files{height:var(--bar-h);border:0;border-right:1px solid var(--contrast);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 12px;font-size:14px;display:flex}.mb-files svg{width:18px;height:18px}.mb-file{font-family:var(--editor-font);color:var(--tok-variable);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}body[data-sheet=open] .mb-files{outline:1px solid var(--active);outline-offset:-1px}.sidebar{inset:var(--bar-h) 0 var(--bar-h) 0;z-index:40;background:var(--bg);border-right:0;width:100%;display:none;position:fixed}body[data-sheet=open] .sidebar{display:flex}.sidebar-head{height:var(--bar-h);flex:0 0 var(--bar-h);font-size:12px}.sidebar-head .more{display:none}.sheet-close{width:var(--bar-h);height:var(--bar-h);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin-left:auto;font-size:15px;display:grid}.tree{padding:4px 2px}.tree-row{height:var(--bar-h);flex:0 0 var(--bar-h);font-size:15px}.tree-row .glyph{flex:0 0 26px;width:26px}.tree-row .ico{font-size:9px}.tree-row .chev{font-size:12px}.depth-0{padding-left:8px}.depth-1{padding-left:22px}.depth-2{padding-left:36px}.main{min-height:0}.pane{max-width:100%;padding:18px 16px 40px}.pane h1{font-size:22px;line-height:28px}.pane h2{margin:28px 0 8px}.pane p,.pane li,.pane td,figcaption,.meta-row .v{overflow-wrap:anywhere}.meta-row{flex-direction:column;gap:0;margin-bottom:8px}.meta-row .k{flex:none}.metrics{grid-template-columns:1fr 1fr}.metric{border-right:0;border-bottom:1px solid var(--contrast);padding:10px 12px}.metric:nth-child(odd){border-right:1px solid var(--contrast)}.metric:last-child:nth-child(odd){border-right:0;grid-column:1/-1}.metric .v{font-size:18px}.filerow{flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:10px 12px}.filerow .nm{flex:none}.filerow .d{flex:100%}.filerow .tag{white-space:normal;flex:100%;margin-left:0}.mb-file{min-width:0}.chips{gap:4px}figure{width:100%;max-width:none}.pane table{width:100%;display:block;overflow-x:auto}.links a{text-align:center;flex:auto;padding:10px 12px}.statusbar{height:var(--bar-h)}.statusbar>span.sb{display:none}.statusbar .right{flex:1;margin-left:0}.statusbar .right>span{display:none}.statusbar a.sb{flex:1;justify-content:center;font-size:13px}.sb-long{display:none}}@media (width<=420px){.links a{flex:45%}}@media (prefers-reduced-motion:reduce){.editor{scroll-behavior:auto}}.pane blockquote{color:var(--tok-comment);border:0;max-width:76ch;margin:0 0 19px;padding:0}.pane ul,.pane ol{max-width:76ch;margin:0 0 19px;padding-left:20px}.pane li{margin:0}.pane li::marker{color:var(--tok-keyword)}.pane li strong{color:var(--tok-variable);font-weight:400}.pane code{font-family:var(--editor-font);color:var(--tok-string);background:0 0;padding:0}.pane pre{border:1px solid var(--contrast);margin:0 0 19px;padding:10px 12px;overflow-x:auto}.pane hr{border:0;border-top:1px solid var(--contrast);margin:28px 0}.pane table{border-collapse:collapse;margin:0 0 19px}.pane th,.pane td{text-align:left;vertical-align:top;padding:0 20px 0 0}.pane th{color:var(--tok-variable);font-weight:400}
