*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0e0e0e;--text: #c8c8c8;--text-dim: #666;--prompt-user: #57a6ff;--prompt-path: #d4af37;--cursor-color: #d4af37;--error: #ff6b6b;--accent: #57a6ff;--tag-bg: #1a1a1a;--tag-border: #333;--green: #73daca;--mauve: #c4a7e7;--peach: #e8a87c;--teal: #94e2d5;--surface: #161616}::selection{background:#57a6ff33;color:var(--text)}html,body,#root{height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:JetBrains Mono,Fira Code,monospace;font-size:16px;line-height:1.7;display:flex;align-items:center;justify-content:center}body:before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:9999}body:after{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.3) 100%);pointer-events:none;z-index:9998}.terminal-shell{display:flex;width:100%;max-width:1280px;height:100%;max-height:80vh}.terminal{display:flex;flex-direction:column;flex:1;min-width:0;height:100%;padding:32px 24px}.terminal-body{flex:1;overflow-y:auto;padding-bottom:16px;text-shadow:0 0 1px rgba(200,200,200,.06)}.terminal-body::-webkit-scrollbar{width:6px}.terminal-body::-webkit-scrollbar-track{background:transparent}.terminal-body::-webkit-scrollbar-thumb{background:#282828;border-radius:3px}.terminal-body::-webkit-scrollbar-thumb:hover{background:#444}.prompt-line{display:flex;gap:0;white-space:pre}.prompt-user{color:var(--prompt-user)}.prompt-sep{color:var(--text-dim)}.prompt-path{color:var(--prompt-path)}.prompt-branch{color:var(--mauve)}.prompt-symbol{color:var(--text);margin-right:8px}.prompt-command{color:var(--text)}.command-input-wrap{display:flex;align-items:center}.command-input-wrap .prompt-line{flex-shrink:0}.command-input{background:none;border:none;outline:none;color:var(--text);font-family:inherit;font-size:inherit;line-height:inherit;width:100%;padding:0;margin:0;caret-color:transparent}.command-input::placeholder{color:var(--text-dim);opacity:.5;font-style:italic}.input-area{position:relative;flex:1;line-height:inherit}.input-mirror{position:absolute;inset:0;display:flex;align-items:center;pointer-events:none;white-space:pre;color:var(--text)}.cursor{display:inline-block;width:8px;height:1.2em;background:var(--cursor-color);animation:blink 1s step-end infinite;pointer-events:none}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.history-entry{margin-bottom:8px;animation:fadeIn .15s ease-out}.output-block{padding:4px 0 8px}.error-text{color:var(--error)}.output-heading{color:var(--accent);margin-bottom:4px}.output-label{color:var(--text-dim)}.output-value{color:var(--text)}.output-row{display:flex;gap:8px}.output-divider{color:#2a2a2a;margin:8px 0}.help-grid{display:grid;grid-template-columns:auto 1fr;gap:2px 16px}.help-cmd{color:var(--prompt-path)}.help-desc{color:var(--text-dim)}.skills-output{white-space:pre}.skills-list-row{display:flex;gap:4px}.skills-list-index{color:var(--text-dim);min-width:28px}.skills-list-name{color:var(--prompt-path)}.skills-list-count{color:var(--text-dim)}.skills-hint{margin-top:10px;color:var(--text-dim)}.skills-hint-cmd{color:var(--accent)}.skills-category{color:var(--accent);margin-bottom:2px}.skills-detail-row{padding-left:16px}.skills-name{color:var(--text)}.skills-used-label{color:var(--text-dim)}.skills-used-value{color:var(--green)}.work-output{white-space:pre-wrap;word-break:break-word}.work-entry{margin-bottom:4px}.work-header{margin-bottom:2px}.work-index{color:var(--text-dim)}.work-name{color:var(--prompt-path);font-weight:500}.work-field{display:flex;padding-left:22px}.work-label{color:var(--accent);flex-shrink:0;white-space:pre}.work-value{color:var(--text)}.work-stack{color:var(--green)}.work-repo-link{color:var(--accent);text-decoration:none;transition:text-shadow .2s}.work-repo-link:hover{text-decoration:underline;text-shadow:0 0 8px rgba(87,166,255,.3)}.work-private{color:var(--text-dim);font-style:italic}.work-list-row{display:flex;gap:4px;white-space:pre}.work-list-index{color:var(--text-dim);min-width:28px}.work-list-name{color:var(--prompt-path)}.work-list-type{color:var(--text-dim)}.work-hint{margin-top:10px;color:var(--text-dim)}.work-hint-cmd{color:var(--accent)}.exp-output{white-space:pre-wrap;word-break:break-word}.exp-entry{margin-bottom:4px}.exp-header{margin-bottom:2px}.exp-field{display:flex;padding-left:22px}.exp-label{color:var(--accent);flex-shrink:0;white-space:pre}.exp-value{color:var(--text)}.exp-sep{padding-left:22px;color:var(--text-dim);margin:6px 0}.exp-role{margin-bottom:8px}.exp-role-title{padding-left:22px;color:var(--green);font-weight:500}.exp-bullet{padding-left:22px;color:var(--text)}.exp-list-row{display:flex;gap:4px;white-space:pre}.exp-list-index{color:var(--text-dim);min-width:28px}.exp-list-name{color:var(--prompt-path)}.exp-list-role{color:var(--green)}.exp-list-period{color:var(--text-dim)}.contact-output{white-space:pre}.contact-row{padding-left:16px}.contact-label{color:var(--accent)}.contact-value{color:var(--text)}.contact-link{color:var(--green);text-decoration:none;transition:text-shadow .2s}.contact-link:hover{text-decoration:underline;text-shadow:0 0 8px rgba(115,218,202,.3)}.neofetch{white-space:pre;line-height:1.5}.nf-row{display:block}.nf-logo{color:var(--accent)}.nf-user{color:var(--accent);font-weight:500}.nf-at{color:var(--text-dim)}.nf-host{color:var(--accent);font-weight:500}.nf-sep{color:var(--text-dim)}.nf-label{color:var(--accent)}.nf-value{color:var(--text)}.nf-palette{letter-spacing:3px}.comments-output{white-space:pre-wrap;word-break:break-word}.comment-entry{padding:2px 0 6px}.comment-header{display:flex;gap:8px;align-items:baseline}.comment-name{color:var(--accent);font-weight:500}.comment-time{color:var(--text-dim);font-size:.85em}.comment-body{color:var(--text);padding-left:16px;opacity:.85}.comment-success{color:var(--green)}.sidebar{width:300px;flex-shrink:0;border-left:1px solid #1a1a1a;padding:32px 20px;overflow-y:auto;font-family:inherit;font-size:inherit;line-height:inherit;color:var(--text-dim);display:flex;flex-direction:column;gap:16px}.sb-section{display:flex;flex-direction:column;gap:2px}.sb-name{color:var(--accent);font-weight:500}.sb-title{color:var(--text-dim)}.sb-status{color:#73daca;font-weight:500;margin-top:2px}.sb-bio{color:var(--text);opacity:.6;margin-top:4px;line-height:1.5}.sb-sep{border:none;border-top:1px solid #1a1a1a;margin:0}.sb-row{display:flex;gap:10px}.sb-label{min-width:56px;color:var(--text-dim)}.sb-value{color:var(--text);opacity:.7}.sb-mono{font-variant-numeric:tabular-nums}.sb-key{min-width:56px;color:var(--prompt-path)}.sb-tree-header{color:var(--accent);margin-bottom:2px}.sb-tree-item{background:none;border:none;font-family:inherit;font-size:inherit;color:var(--text-dim);padding:0 0 0 16px;cursor:pointer;text-align:left;transition:color .15s}.sb-tree-item:hover{color:var(--accent)}.sb-palette{letter-spacing:3px}.sb-links{display:flex;gap:12px;flex-direction:row}.sb-link{color:var(--text-dim);text-decoration:none;transition:color .15s}.sb-link:hover{color:var(--accent)}.mobile-palette{position:fixed;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid #222;z-index:10}.palette-btn{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--text);font-family:inherit;font-size:13px;padding:6px 14px;border-radius:16px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.palette-btn:hover{border-color:var(--accent);color:var(--accent)}.palette-btn:active{background:#57a6ff14;border-color:var(--accent);color:var(--accent)}.terminal.has-palette{padding-bottom:80px}.tab-hint{color:var(--text-dim);pointer-events:none}@media (max-width: 900px){.sidebar{display:none}html,body,#root{font-size:15px}.terminal-shell{max-height:100%}}@media (max-width: 700px){html,body,#root{font-size:13px;align-items:flex-start;line-height:1.5;height:100dvh;overflow:auto;-webkit-overflow-scrolling:touch}.terminal-shell{max-height:100dvh;max-width:100%}.terminal{max-height:100%;padding:16px 12px}.terminal-body{padding-bottom:8px}.prompt-line{font-size:12px;overflow:hidden}.prompt-branch{display:none}.prompt-symbol{margin-right:6px}.command-input{font-size:16px;caret-color:var(--cursor-color)}.input-mirror{display:none}.output-block{font-size:12px;line-height:1.5}.skills-output,.contact-output{white-space:pre-wrap;word-break:break-word}.neofetch{font-size:9px;overflow-x:auto;-webkit-overflow-scrolling:touch}.help-grid{font-size:12px;gap:2px 10px}.work-field,.exp-field,.exp-role-title,.exp-bullet,.exp-sep{padding-left:12px}.contact-row{padding-left:8px}.mobile-palette{gap:6px;padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));justify-content:center}.palette-btn{font-size:12px;padding:5px 12px}.terminal.has-palette{padding-bottom:72px}.history-entry{margin-bottom:6px}}@media (max-width: 380px){html,body,#root{font-size:12px}.terminal{padding:12px 8px}.prompt-user{display:none}.prompt-sep:first-of-type{display:none}.palette-btn{font-size:11px;padding:4px 10px}.neofetch{font-size:8px}}.wm{position:fixed;inset:0;background:#0a0a0a url(/portfolio/wallpaper.png) center / cover no-repeat;display:flex;flex-direction:column;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text);z-index:100}.waybar{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 16px;background:#161616;border-bottom:1px solid #222;font-size:13px;flex-shrink:0;z-index:101}.waybar-left{display:flex;gap:4px}.waybar-workspace{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:12px;color:var(--text-dim);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .15s}.waybar-workspace:hover{background:#1e1e1e;color:var(--text)}.waybar-workspace.active{background:#252525;color:var(--accent);border-color:#333}.waybar-center{color:var(--text-dim);font-size:13px}.waybar-right{display:flex;align-items:center;gap:12px;color:var(--text-dim);font-size:12px}.waybar-distro{color:var(--accent)}.tiling-layout{flex:1;display:grid;gap:8px;padding:8px;overflow:hidden;position:relative;min-height:0}.wm-window{display:flex;flex-direction:column;background:#1a1a1aa6;border:1px solid #333;border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease,opacity .2s ease;min-height:0}.wm-window:hover:not(.focused){border-color:#444;transform:scale(1.003)}.wm-window.focused{border-color:var(--accent);box-shadow:0 0 20px #57a6ff1a,0 0 4px #57a6ff0f}.wm-window.floating{z-index:110;box-shadow:0 8px 32px #00000080,0 0 1px #57a6ff33;border-color:#444;resize:none}.wm-window.floating.focused{border-color:var(--accent);box-shadow:0 8px 32px #00000080,0 0 12px #57a6ff26}.wm-window.floating .wm-window-titlebar{cursor:grab}.wm-window.floating .wm-window-titlebar:active{cursor:grabbing}.wm-window-titlebar{display:flex;align-items:center;height:32px;padding:0 12px;font-size:12px;color:var(--text-dim);border-bottom:1px solid #282828;flex-shrink:0;-webkit-user-select:none;user-select:none}.wm-window.focused .wm-window-titlebar{border-top:2px solid var(--accent);color:var(--text)}.wm-window.focused .wm-window-titlebar:before{content:"●";font-size:7px;margin-right:8px;color:var(--accent)}.wm-window-body{flex:1;overflow-y:auto;padding:12px 14px;font-size:14px;line-height:1.6}.wm-window-body::-webkit-scrollbar{width:4px}.wm-window-body::-webkit-scrollbar-track{background:transparent}.wm-window-body::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.wm-empty-desktop{grid-column:1 / -1;grid-row:1 / -1;display:flex;align-items:center;justify-content:center;color:#333;font-size:14px;font-style:italic}.wm-exit-hint{position:fixed;bottom:16px;left:50%;transform:translate(-50%);font-size:11px;color:#444;pointer-events:none;z-index:102}.keybind-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.keybind-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:24px 32px;min-width:340px;max-width:420px}.keybind-title{font-size:14px;color:var(--accent);margin-bottom:16px;text-transform:lowercase}.keybind-grid{display:flex;flex-direction:column;gap:8px}.keybind-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.keybind-key{font-size:12px;color:var(--text);background:#252525;padding:2px 8px;border-radius:4px;border:1px solid #333;white-space:nowrap}.keybind-desc{font-size:12px;color:var(--text-dim)}.keybind-footer{margin-top:16px;font-size:11px;color:#444;text-align:center}.wm-startup-hints{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#1a1a1af2;border:1px solid #333;border-radius:12px;padding:16px 24px 18px;z-index:150;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:260px}.wm-startup-hints-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.wm-startup-hints-title{font-size:12px;color:var(--accent);text-transform:lowercase;letter-spacing:.5px}.wm-startup-hints-close{background:none;border:none;color:#555;font-size:18px;cursor:pointer;padding:0 2px;line-height:1;transition:color .15s}.wm-startup-hints-close:hover{color:var(--text)}.wm-startup-hints-grid{display:flex;flex-direction:column;gap:6px}.wm-startup-hints .keybind-key{font-size:11px;padding:1px 6px}.wm-startup-hints .keybind-desc{font-size:11px}.wn-profile{display:flex;flex-direction:column;gap:16px}.wn-profile-header{display:flex;align-items:center;gap:14px}.wn-profile-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid #333;flex-shrink:0}.wn-profile-identity{display:flex;flex-direction:column;gap:2px}.wn-profile-name{font-size:18px;font-weight:600;color:var(--text)}.wn-profile-title{font-size:12px;color:var(--accent)}.wn-profile-bio{font-size:13px;color:var(--text-dim);line-height:1.6}.wn-profile-bio .wn-hl{color:var(--accent)}.wn-profile-meta{border:1px solid #282828;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.wn-meta-row{display:flex;font-size:12px;gap:8px}.wn-meta-label{color:var(--text-dim);min-width:80px;flex-shrink:0}.wn-meta-value{color:var(--text)}.wn-profile-likes{display:flex;flex-wrap:wrap;gap:6px}.wn-pill{font-size:11px;padding:3px 10px;border-radius:12px;background:#282828cc;border:1px solid #3a3a3a;color:var(--text);transition:border-color .2s,color .2s}.wn-pill:hover{border-color:var(--accent);color:var(--text)}.wn-experience{display:flex;flex-direction:column;gap:20px}.wn-company{border-left:2px solid var(--accent);padding-left:12px}.wn-company-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.wn-company-name{font-size:14px;font-weight:600;color:var(--text)}.wn-badge{font-size:10px;padding:1px 8px;border-radius:10px;background:#57a6ff1a;color:var(--accent);border:1px solid rgba(87,166,255,.2)}.wn-company-duration{font-size:11px;color:var(--text-dim);margin-bottom:10px}.wn-role{margin-bottom:10px}.wn-role:last-child{margin-bottom:0}.wn-role-title{font-size:13px;color:#4ec990;font-weight:500}.wn-role-period{font-size:11px;color:var(--text-dim);margin-bottom:4px}.wn-role-bullets{display:flex;flex-direction:column;gap:2px}.wn-bullet{font-size:12px;color:var(--text-dim);line-height:1.5;padding-left:14px;position:relative}.wn-bullet:before{content:"~";position:absolute;left:0;color:#444}.wn-skills{display:flex;flex-direction:column;gap:14px}.wn-skills-category{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);margin-bottom:4px}.wn-skills-list{display:flex;flex-wrap:wrap;gap:6px}.wn-contact{display:flex;flex-direction:column;gap:10px}.wn-contact-row{display:flex;align-items:center;gap:10px;font-size:12px;text-decoration:none;color:var(--text);transition:color .15s}a.wn-contact-row:hover{color:var(--accent)}.wn-contact-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:6px;font-size:11px;color:var(--accent);flex-shrink:0;font-weight:600}.wn-contact-label{color:var(--text-dim);min-width:60px}.wn-contact-value{color:var(--text)}.wn-contact-divider{border:none;border-top:1px solid #222;margin:4px 0}.wn-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4ec990;margin-right:6px;vertical-align:middle}@media (max-width: 700px){.tiling-layout{grid-template-columns:1fr!important;grid-template-rows:none!important;overflow-y:auto;padding:6px;gap:6px}.wm-window{min-height:200px}.wm-window.floating{position:relative!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important}.waybar{padding:0 12px;font-size:12px}.wm-exit-hint{bottom:8px;font-size:10px}.keybind-card{min-width:auto;margin:16px}.wm-startup-hints{display:none}}.browser-chrome{height:100%;display:flex;flex-direction:column;background:#0d1117}.browser-tabs{display:flex;align-items:flex-end;height:38px;padding:0 8px;background:#202124;gap:1px;flex-shrink:0}.browser-tab{display:flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:8px 8px 0 0;font-size:12px;color:#9aa0a6;background:transparent;cursor:default;max-width:200px;min-width:0;position:relative}.browser-tab.active{background:#35363a;color:#e8eaed}.browser-tab-favicon{width:14px;height:14px;border-radius:2px;flex-shrink:0;font-size:10px;display:flex;align-items:center;justify-content:center}.browser-tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-tab-close{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;color:#9aa0a6;flex-shrink:0;margin-left:auto}.browser-toolbar{display:flex;align-items:center;gap:4px;height:38px;padding:0 8px;background:#35363a;flex-shrink:0}.browser-nav{display:flex;gap:0}.browser-nav-btn{background:none;border:none;color:#9aa0a6;font-size:15px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:default;font-family:inherit;transition:background .1s}.browser-nav-btn:not(:disabled):hover{background:#ffffff14;color:#e8eaed;cursor:pointer}.browser-nav-btn:disabled{color:#5f6368}.browser-url-bar{flex:1;display:flex;align-items:center;gap:8px;background:#202124;border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:0 14px;height:30px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 4px}.browser-url-lock{color:#9aa0a6;font-size:12px;flex-shrink:0}.browser-url-text{color:#e8eaed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.browser-url-text .browser-url-path{color:#9aa0a6}.browser-toolbar-right{display:flex;align-items:center;gap:0}.browser-toolbar-btn{background:none;border:none;color:#9aa0a6;font-size:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:default}.browser-viewport{flex:1;overflow-y:auto}.browser-viewport::-webkit-scrollbar{width:6px}.browser-viewport::-webkit-scrollbar-track{background:transparent}.browser-viewport::-webkit-scrollbar-thumb{background:#3d444d;border-radius:3px}.wm-window:has(.browser-chrome){background:#202124}.wm-window-body:has(.browser-chrome){overflow:hidden;padding:0}.gh-page{background:#0d1117;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;color:#9198a1}.gh-profile-header{display:flex;align-items:center;gap:16px;padding:24px 32px 16px}.gh-avatar{width:80px;height:80px;border-radius:50%;border:1px solid #3d444d;object-fit:cover;flex-shrink:0}.gh-profile-info{display:flex;flex-direction:column;gap:0}.gh-display-name{color:#f0f6fc;font-size:20px;font-weight:600;line-height:1.25}.gh-username{color:#9198a1;font-size:16px;font-weight:300}.gh-tab-bar{display:flex;gap:0;padding:0 32px;border-bottom:1px solid #3d444d}.gh-tab{display:flex;align-items:center;gap:6px;color:#9198a1;font-size:14px;cursor:default;padding:8px 16px;border-bottom:2px solid transparent;font-weight:400}.gh-tab.active{color:#f0f6fc;border-bottom-color:#f78166;font-weight:600}.gh-tab-count{background:#2f3742;color:#9198a1;font-size:11px;padding:0 6px;border-radius:10px;font-weight:500;min-width:18px;text-align:center;line-height:18px}.gh-repo-list{padding:0 32px}.gh-repo-item{padding:24px 0;border-bottom:1px solid #3d444d;cursor:pointer}.gh-repo-item:last-child{border-bottom:none}.gh-repo-item:hover .gh-repo-name{text-decoration:underline}.gh-repo-name-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.gh-repo-name{color:#58a6ff;font-size:20px;font-weight:600}.gh-repo-visibility{color:#9198a1;border:1px solid #3d444d;padding:0 7px;border-radius:12px;font-size:12px;line-height:20px}.gh-repo-desc{color:#9198a1;font-size:14px;line-height:1.5;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.gh-repo-meta{display:flex;gap:16px;align-items:center;font-size:12px}.gh-repo-lang{display:flex;align-items:center;gap:6px;color:#9198a1}.gh-lang-dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex-shrink:0}.gh-lang-dot[data-lang=React],.gh-lang-dot[data-lang="Next.js"]{background:#61dafb}.gh-lang-dot[data-lang=Python],.gh-lang-dot[data-lang=Flask],.gh-lang-dot[data-lang=FastAPI]{background:#3572a5}.gh-lang-dot[data-lang=Solidity]{background:#aa6746}.gh-lang-dot[data-lang=Express],.gh-lang-dot[data-lang="Node.js"]{background:#f1e05a}.gh-repo-stars{display:flex;align-items:center;gap:4px;color:#9198a1}.gh-star-btn{margin-left:auto;display:flex;align-items:center;gap:4px;padding:3px 12px;border:1px solid #3d444d;border-radius:6px;background:#2f3742;color:#9198a1;font-size:12px;cursor:default;font-family:inherit;font-weight:500}.gh-detail-nav{display:flex;align-items:center;gap:8px;padding:16px 32px;flex-wrap:wrap}.gh-action-buttons{display:flex;gap:8px;margin-left:auto}.gh-action-btn{display:flex;align-items:center;gap:4px;padding:3px 12px;border:1px solid #3d444d;border-radius:6px;background:#2f3742;color:#9198a1;font-size:12px;font-weight:500;cursor:default}.gh-action-count{background:#2f3742;border-left:1px solid #3d444d;padding-left:6px;margin-left:4px}.gh-breadcrumb{font-size:18px}.gh-breadcrumb-owner{color:#58a6ff}.gh-breadcrumb-sep{color:#9198a1;margin:0 2px}.gh-breadcrumb-repo{color:#58a6ff;font-weight:600}.gh-visibility-badge{color:#9198a1;border:1px solid #3d444d;padding:0 7px;border-radius:12px;font-size:12px;line-height:20px}.gh-detail-tabs{display:flex;gap:0;padding:0 32px;border-bottom:1px solid #3d444d}.gh-detail-tab{display:flex;align-items:center;gap:6px;color:#9198a1;font-size:14px;padding:8px 16px;border-bottom:2px solid transparent}.gh-detail-tab.active{color:#f0f6fc;border-bottom-color:#f78166;font-weight:600}.gh-detail-content{display:grid;grid-template-columns:1fr 300px;gap:24px;padding:24px 32px}.gh-detail-main{min-width:0}.gh-file-tree{border:1px solid #3d444d;border-radius:6px;overflow:hidden;margin-bottom:16px}.gh-file-tree-header{display:flex;align-items:center;padding:8px 16px;background:#161b22;border-bottom:1px solid #3d444d}.gh-branch-label{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border:1px solid #3d444d;border-radius:6px;font-size:12px;color:#f0f6fc;background:#2f3742;font-weight:500}.gh-file-tree-table{width:100%;border-collapse:collapse;font-size:14px}.gh-file-tree-row{border-bottom:1px solid #3d444d}.gh-file-tree-row:last-child{border-bottom:none}.gh-file-tree-row td{padding:6px 16px}.gh-file-tree-icon{width:20px;padding-right:0;font-size:14px}.gh-file-tree-name{color:#58a6ff;white-space:nowrap}.gh-file-tree-msg{color:#9198a1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gh-file-tree-age{color:#9198a1;white-space:nowrap;text-align:right}.gh-detail-sidebar{display:flex;flex-direction:column;gap:16px}.gh-sidebar-section{border-bottom:1px solid #3d444d;padding-bottom:16px}.gh-sidebar-section:last-child{border-bottom:none}.gh-discipline-badge{display:inline-block;margin-top:12px;padding:2px 10px;border:1px solid #3d444d;border-radius:12px;font-size:12px;color:#9198a1}.gh-sidebar-link{color:#58a6ff;font-size:13px;text-decoration:none;word-break:break-all}.gh-sidebar-link:hover{text-decoration:underline}.gh-lang-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin:8px 0}.gh-lang-bar-segment{height:100%}.gh-lang-legend{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px}.gh-lang-legend-item{display:flex;align-items:center;gap:4px;color:#f0f6fc}.gh-lang-legend-item .gh-lang-dot{width:8px;height:8px}.gh-lang-pct{color:#9198a1}.gh-readme-role{margin-top:16px;font-style:italic;color:#9198a1}.gh-lang-dot[data-lang=PostgreSQL]{background:#336791}.gh-lang-dot[data-lang=Redis]{background:#d82c20}.gh-lang-dot[data-lang=Firebase]{background:#ffca28}.gh-lang-dot[data-lang=Docker]{background:#2496ed}.gh-lang-dot[data-lang=WebSocket]{background:#61dafb}.gh-lang-dot[data-lang="Tailwind CSS"]{background:#38bdf8}.gh-lang-dot[data-lang=OpenAI]{background:#10a37f}.gh-lang-dot[data-lang=Pinecone]{background:#0ea47a}.gh-lang-dot[data-lang=Selenium]{background:#43b02a}.gh-lang-dot[data-lang="Google Cloud STT/TTS"]{background:#4285f4}.gh-lang-dot[data-lang="twitterapi.io"]{background:#1da1f2}.gh-lang-dot[data-lang=ThreadPoolExecutor]{background:#3572a5}.gh-detail-about{margin-bottom:24px}.gh-about-heading{color:#f0f6fc;font-size:14px;font-weight:600;margin-bottom:8px}.gh-detail-desc{color:#9198a1;font-size:14px;line-height:1.5;margin-bottom:16px}.gh-detail-topics{display:flex;flex-wrap:wrap;gap:6px}.gh-topic-tag{background:#388bfd26;color:#58a6ff;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.gh-readme-section{border:1px solid #3d444d;border-radius:6px;overflow:hidden}.gh-readme-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#161b22;border-bottom:1px solid #3d444d;font-size:14px;color:#f0f6fc;font-weight:600}.gh-readme-body{padding:32px 40px;font-size:14px;line-height:1.6;color:#f0f6fc}.gh-readme-body h2{color:#f0f6fc;font-size:24px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #3d444d}.gh-readme-body h3{color:#f0f6fc;font-size:16px;font-weight:600;margin-top:24px;margin-bottom:12px}.gh-readme-body p{color:#9198a1;margin-bottom:16px;line-height:1.6}.gh-readme-body ul{list-style:disc;padding-left:24px;display:flex;flex-direction:column;gap:4px}.gh-readme-body li{color:#9198a1;font-size:14px}.gh-readme-body li::marker{color:#484f58}.gh-readme-body h4{color:#f0f6fc;font-size:14px;font-weight:600;margin-top:12px;margin-bottom:4px}.gh-readme-feature,.gh-readme-feature p{margin-bottom:8px}.gh-readme-tech-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}.gh-readme-tech-table td{padding:6px 12px;border:1px solid #3d444d;color:#9198a1;vertical-align:top}.gh-readme-tech-table td:first-child{white-space:nowrap;color:#f0f6fc;width:140px}.gh-readme-tech-table strong{font-weight:600}.forum-page{background:#030303;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;color:#d7dadc}.forum-thread{display:flex;background:#1a1a1b;min-height:100%}.forum-thread-sidebar{display:flex;flex-direction:column;align-items:center;gap:0;padding:12px 6px;background:#161617;width:40px;flex-shrink:0}.forum-thread-main{flex:1;padding:12px 16px;min-width:0}.forum-vote-up,.forum-vote-down{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:2px;cursor:default;font-size:18px;line-height:1}.forum-vote-up{color:#ff4500}.forum-vote-down{color:#818384}.forum-vote-count{color:#d7dadc;font-size:12px;font-weight:700;padding:2px 0}.forum-post-meta{display:flex;align-items:center;gap:4px;font-size:12px;margin-bottom:8px}.forum-subreddit{color:#d7dadc;font-weight:700}.forum-meta-dot,.forum-meta-text,.forum-author,.forum-time{color:#818384}.forum-post-title{color:#d7dadc;font-size:20px;font-weight:600;margin-bottom:10px;line-height:1.3}.forum-post-body{color:#d7dadc;font-size:14px;line-height:1.5;opacity:.85;margin-bottom:4px}.forum-post-actions{display:flex;gap:2px;margin-top:8px}.forum-post-action{display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:2px;font-size:12px;font-weight:700;color:#818384;cursor:default}.forum-post-action:hover{background:#d7dadc0d}.forum-divider{height:1px;background:#343536;margin:12px 0}.forum-comment-wrap{margin-bottom:4px}.forum-comment-label{color:#818384;font-size:12px;margin-bottom:8px}.forum-comment-label span{color:#4fbcff}.forum-comment-box{background:#272729;border:1px solid #343536;border-radius:4px 4px 0 0;padding:10px 14px;color:#545456;font-size:14px;font-family:inherit;cursor:text;min-height:80px}.forum-comment-box:hover{border-color:#d7dadc}.forum-comment-toolbar{display:flex;justify-content:flex-end;background:#272729;border:1px solid #343536;border-top:none;border-radius:0 0 4px 4px;padding:6px 8px}.forum-comment-submit{background:#d7dadc;color:#1a1a1b;border:none;border-radius:20px;padding:4px 16px;font-size:12px;font-weight:700;font-family:inherit;cursor:default;opacity:.4}.forum-sort-bar{display:flex;align-items:center;gap:6px;padding:8px 0;font-size:12px;color:#818384}.forum-sort-label{font-weight:400}.forum-sort-active{color:#4fbcff;font-weight:700;cursor:default}.forum-empty-state{display:flex;align-items:center;gap:8px;padding:24px 0 4px;justify-content:center}.forum-empty-icon{font-size:20px;opacity:.3}.forum-empty-text{color:#818384;font-size:14px;font-weight:600}.forum-empty-sub{color:#545456;font-size:13px;text-align:center;padding-bottom:24px}.forum-name-input{display:block;width:100%;background:#272729;border:1px solid #343536;border-radius:4px;padding:8px 14px;color:#d7dadc;font-size:13px;font-family:inherit;margin-bottom:6px;outline:none}.forum-name-input:focus{border-color:#d7dadc}.forum-name-input::placeholder{color:#545456}.forum-comment-textarea{display:block;width:100%;background:#272729;border:1px solid #343536;border-radius:4px 4px 0 0;padding:10px 14px;color:#d7dadc;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;outline:none}.forum-comment-textarea:focus{border-color:#d7dadc}.forum-comment-textarea::placeholder{color:#545456}.forum-comment-submit:not(:disabled){opacity:1;cursor:pointer}.forum-comment-submit:not(:disabled):hover{background:#c2c5c8}.forum-post-error{color:#ff4500;font-size:12px;margin-right:auto;align-self:center}.forum-loading{padding:16px 0;display:flex;flex-direction:column;gap:10px}.forum-skeleton{height:14px;width:70%;background:#272729;border-radius:4px;animation:skeleton-pulse 1.2s ease-in-out infinite}.forum-skeleton-short{width:40%}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.forum-error{color:#ff4500;font-size:13px;padding:12px 0}.forum-comment{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid #343536}.forum-comment:last-child{border-bottom:none}.forum-comment-vote-col{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0;padding-top:2px}.forum-vote-sm{font-size:12px;width:18px;height:18px}.forum-comment-content{flex:1;min-width:0}.forum-comment-meta{display:flex;align-items:center;gap:4px;font-size:12px;margin-bottom:4px}.forum-comment-author{color:#d7dadc;font-weight:500}.forum-comment-age{color:#818384}.forum-comment-text{color:#d7dadc;font-size:14px;line-height:1.5;opacity:.9}@media (max-width: 700px){.browser-tabs{display:none}.gh-profile-header{padding:16px}.gh-tab-bar,.gh-detail-nav,.gh-detail-tabs,.gh-repo-list{padding-left:16px;padding-right:16px}.gh-detail-content{grid-template-columns:1fr;padding:16px}.gh-action-buttons,.gh-file-tree-msg{display:none}.gh-avatar{width:48px;height:48px}.gh-display-name,.gh-repo-name{font-size:16px}.gh-readme-body{padding:16px}.forum-thread-sidebar{width:32px;padding:10px 4px}.forum-thread-main{padding:10px 12px}.forum-post-title{font-size:16px}}
