@font-face{font-family:__JetBrains_Mono_db99bd;font-style:normal;font-weight:100 800;font-display:swap;src:url(/portfolio/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_db99bd;font-style:normal;font-weight:100 800;font-display:swap;src:url(/portfolio/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_db99bd;font-style:normal;font-weight:100 800;font-display:swap;src:url(/portfolio/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_db99bd;font-style:normal;font-weight:100 800;font-display:swap;src:url(/portfolio/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_db99bd;font-style:normal;font-weight:100 800;font-display:swap;src:url(/portfolio/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_db99bd;font-style:normal;font-weight:100 800;font-display:swap;src:url(/portfolio/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_db99bd;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_db99bd{font-family:__JetBrains_Mono_db99bd,__JetBrains_Mono_Fallback_db99bd;font-style:normal}.__variable_db99bd{--font-mono:"__JetBrains_Mono_db99bd","__JetBrains_Mono_Fallback_db99bd"}:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ide-bg0:#070a10;--ide-bg1:#0b1020;--ide-bg2:rgba(15,23,42,.76);--ide-pane:rgba(11,16,32,.78);--ide-border:rgba(148,163,184,.16);--ide-border-strong:rgba(148,163,184,.24);--ide-text:rgba(226,232,240,.92);--ide-muted:rgba(148,163,184,.85);--ide-faint:rgba(148,163,184,.55);--ide-accent:#2563eb;--ide-accent2:#22d3ee;--ide-warn:#fbbf24;--ide-ok:#34d399;--radius-xl:18px;--radius-lg:14px;--radius-md:12px;--shadow-elev:0 20px 80px rgba(0,0,0,.55);--ide-chrome-gradient:linear-gradient(180deg,rgba(11,16,32,.86),rgba(11,16,32,.64));--ide-body-orb1:rgba(37,99,235,.18);--ide-body-orb2:rgba(34,211,238,.12);--ide-body-orb3:rgba(2,132,199,.1);--ide-body-orb-null:transparent;--ide-focus-ring:rgba(34,211,238,.7);--ide-divider:rgba(148,163,184,.12);--ide-divider-strong:rgba(148,163,184,.16);--ide-ui-border:rgba(148,163,184,.18);--ide-hover-bg:rgba(148,163,184,.08);--ide-titlebar-bg:rgba(2,6,23,.55);--ide-pill-bg:rgba(2,6,23,.45);--ide-tabstrip-bg:rgba(2,6,23,.4);--ide-tab-active-bg:rgba(15,23,42,.64);--ide-tab-accent:rgba(37,99,235,.9);--ide-tab-accent-ring:rgba(37,99,235,.15);--ide-tab-border-right:rgba(148,163,184,.12);--ide-tab-filler-border:rgba(148,163,184,.12);--ide-pane-bg:rgba(2,6,23,.35);--ide-editor-bg:rgba(2,6,23,.22);--ide-pane-header-bg:rgba(2,6,23,.35);--ide-editor-tab-row-bg:rgba(2,6,23,.35);--ide-mobile-btn-bg:rgba(2,6,23,.25);--ide-pane-icon-bg:rgba(2,6,23,.25);--ide-tree-active-grad:linear-gradient(90deg,rgba(37,99,235,.18),rgba(34,211,238,.08));--ide-tree-active-ring:rgba(37,99,235,.22);--ide-gutter-text:rgba(148,163,184,.5);--ide-meta-color:rgba(148,163,184,.7);--ide-rich-h2:rgba(147,197,253,.9);--ide-rich-body:rgba(226,232,240,.9);--ide-rich-bullet-bg:rgba(2,6,23,.22);--ide-rich-bullet-border:rgba(148,163,184,.14);--ide-accent-gradient:linear-gradient(180deg,rgba(59,130,246,.95),rgba(34,211,238,.9));--ide-accent-ring-soft:rgba(37,99,235,.14);--ide-tag-border:rgba(147,197,253,.26);--ide-tag-bg:rgba(37,99,235,.12);--ide-tag-text:rgba(191,219,254,.96);--ide-pub-card-border:rgba(147,197,253,.2);--ide-pub-card-bg:linear-gradient(180deg,rgba(30,41,59,.5),rgba(2,6,23,.3));--ide-pub-meta:rgba(147,197,253,.82);--ide-pub-title:rgba(239,246,255,.98);--ide-pub-muted:rgba(191,219,254,.86);--ide-pub-authors:rgba(191,219,254,.78);--ide-pub-link-border:rgba(148,163,184,.22);--ide-pub-link-text:rgba(191,219,254,.95);--ide-pub-link-bg:rgba(37,99,235,.16);--ide-pub-link-bg-hover:rgba(37,99,235,.24);--ide-pub-link-border-hover:rgba(147,197,253,.38);--ide-pub-link-muted-fg:rgba(148,163,184,.7);--ide-pub-link-muted-bg:rgba(15,23,42,.26);--ide-chat-bubble-border:rgba(148,163,184,.16);--ide-chat-bubble-bg:rgba(2,6,23,.35);--ide-chat-bubble-text:rgba(226,232,240,.92);--ide-chat-user-bg:rgba(37,99,235,.14);--ide-chat-user-border:rgba(37,99,235,.28);--ide-chat-caret:rgba(147,197,253,.95);--ide-composer-bg:rgba(2,6,23,.22);--ide-composer-hint:rgba(148,163,184,.65);--ide-composer-key-fg:rgba(148,163,184,.6);--ide-terminal-handle-bg:rgba(2,6,23,.42);--ide-terminal-root-bg:rgba(2,6,23,.4);--ide-terminal-handle-btn-hover:rgba(148,163,184,.12);--ide-term-border:rgba(148,163,184,.12);--ide-term-body-text:rgba(226,232,240,.88);--ide-term-line-out:rgba(226,232,240,.82);--ide-term-line-in:rgba(34,211,238,.85);--ide-term-input-row-bg:rgba(2,6,23,.45);--ide-term-input-bg:rgba(2,6,23,.2);--ide-term-input-border:rgba(148,163,184,.16);--ide-term-input-text:rgba(226,232,240,.92);--ide-term-placeholder:rgba(148,163,184,.55);--ide-status-bg:rgba(2,6,23,.62);--ide-status-fg:rgba(148,163,184,.86);--ide-status-pill-bg:rgba(2,6,23,.25);--ide-status-pill-border:rgba(148,163,184,.14);--ide-scrollbar-thumb:rgba(148,163,184,.38);--ide-scrollbar-thumb-hover:rgba(148,163,184,.55);--ide-scrollbar-track:transparent;--ide-overlay-scrim:rgba(0,0,0,.62);--ide-mobile-sheet-bg:rgba(2,6,23,.68);--ide-mobile-sheet-border:rgba(148,163,184,.16)}html[data-theme=light]{--ide-bg0:#f8fafc;--ide-bg1:#eef2ff;--ide-bg2:hsla(0,0%,100%,.72);--ide-pane:hsla(0,0%,100%,.74);--ide-border:rgba(15,23,42,.14);--ide-border-strong:rgba(15,23,42,.22);--ide-text:rgba(15,23,42,.92);--ide-muted:rgba(51,65,85,.86);--ide-faint:rgba(51,65,85,.6);--shadow-elev:0 20px 50px rgba(15,23,42,.1);--ide-chrome-gradient:linear-gradient(180deg,hsla(0,0%,100%,.97),rgba(248,250,252,.94));--ide-body-orb1:rgba(37,99,235,.12);--ide-body-orb2:rgba(34,211,238,.08);--ide-body-orb3:rgba(2,132,199,.06);--ide-focus-ring:rgba(37,99,235,.45);--ide-divider:rgba(15,23,42,.08);--ide-divider-strong:rgba(15,23,42,.12);--ide-ui-border:rgba(15,23,42,.14);--ide-hover-bg:rgba(15,23,42,.06);--ide-titlebar-bg:hsla(0,0%,100%,.78);--ide-pill-bg:rgba(241,245,249,.95);--ide-tabstrip-bg:rgba(248,250,252,.98);--ide-tab-active-bg:rgba(226,232,240,.98);--ide-tab-accent:rgba(37,99,235,.95);--ide-tab-accent-ring:rgba(37,99,235,.2);--ide-tab-border-right:rgba(15,23,42,.08);--ide-tab-filler-border:rgba(15,23,42,.08);--ide-pane-bg:hsla(0,0%,100%,.58);--ide-editor-bg:rgba(248,250,252,.82);--ide-pane-header-bg:hsla(0,0%,100%,.72);--ide-editor-tab-row-bg:hsla(0,0%,100%,.72);--ide-mobile-btn-bg:rgba(241,245,249,.98);--ide-pane-icon-bg:rgba(241,245,249,.95);--ide-tree-active-grad:linear-gradient(90deg,rgba(37,99,235,.12),rgba(34,211,238,.06));--ide-tree-active-ring:rgba(37,99,235,.22);--ide-gutter-text:rgba(71,85,105,.55);--ide-meta-color:rgba(71,85,105,.75);--ide-rich-h2:rgba(30,64,175,.88);--ide-rich-body:rgba(30,41,59,.9);--ide-rich-bullet-bg:hsla(0,0%,100%,.72);--ide-rich-bullet-border:rgba(15,23,42,.1);--ide-accent-gradient:linear-gradient(180deg,rgba(37,99,235,.85),rgba(34,211,238,.75));--ide-accent-ring-soft:rgba(37,99,235,.18);--ide-tag-border:rgba(37,99,235,.22);--ide-tag-bg:rgba(37,99,235,.1);--ide-tag-text:rgba(30,64,175,.95);--ide-pub-card-border:rgba(37,99,235,.2);--ide-pub-card-bg:linear-gradient(180deg,hsla(0,0%,100%,.95),rgba(241,245,249,.9));--ide-pub-meta:rgba(51,65,85,.75);--ide-pub-title:rgba(15,23,42,.96);--ide-pub-muted:rgba(51,65,85,.85);--ide-pub-authors:rgba(51,65,85,.78);--ide-pub-link-border:rgba(15,23,42,.12);--ide-pub-link-text:rgba(30,64,175,.95);--ide-pub-link-bg:rgba(37,99,235,.1);--ide-pub-link-bg-hover:rgba(37,99,235,.16);--ide-pub-link-border-hover:rgba(37,99,235,.35);--ide-pub-link-muted-fg:rgba(100,116,139,.75);--ide-pub-link-muted-bg:rgba(241,245,249,.95);--ide-chat-bubble-border:rgba(15,23,42,.1);--ide-chat-bubble-bg:hsla(0,0%,100%,.75);--ide-chat-bubble-text:rgba(30,41,59,.92);--ide-chat-user-bg:rgba(37,99,235,.1);--ide-chat-user-border:rgba(37,99,235,.28);--ide-chat-caret:rgba(30,64,175,.85);--ide-composer-bg:hsla(0,0%,100%,.8);--ide-composer-hint:rgba(71,85,105,.65);--ide-composer-key-fg:rgba(71,85,105,.55);--ide-terminal-handle-bg:rgba(248,250,252,.95);--ide-terminal-root-bg:hsla(0,0%,100%,.72);--ide-terminal-handle-btn-hover:rgba(15,23,42,.06);--ide-term-border:rgba(15,23,42,.1);--ide-term-body-text:rgba(30,41,59,.9);--ide-term-line-out:rgba(51,65,85,.88);--ide-term-line-in:rgba(8,145,178,.9);--ide-term-input-row-bg:rgba(248,250,252,.98);--ide-term-input-bg:hsla(0,0%,100%,.95);--ide-term-input-border:rgba(15,23,42,.12);--ide-term-input-text:rgba(15,23,42,.92);--ide-term-placeholder:rgba(100,116,139,.55);--ide-status-bg:rgba(248,250,252,.96);--ide-status-fg:rgba(71,85,105,.88);--ide-status-pill-bg:hsla(0,0%,100%,.85);--ide-status-pill-border:rgba(15,23,42,.1);--ide-scrollbar-thumb:rgba(100,116,139,.35);--ide-scrollbar-thumb-hover:rgba(71,85,105,.45);--ide-overlay-scrim:rgba(15,23,42,.45);--ide-mobile-sheet-bg:hsla(0,0%,100%,.96);--ide-mobile-sheet-border:rgba(15,23,42,.12)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;min-height:100dvh;height:100%}body{color:var(--ide-text);background:radial-gradient(1200px 700px at 18% 12%,var(--ide-body-orb1),var(--ide-body-orb-null)),radial-gradient(900px 600px at 76% 22%,var(--ide-body-orb2),var(--ide-body-orb-null)),radial-gradient(1400px 900px at 50% 110%,var(--ide-body-orb3),var(--ide-body-orb-null)),linear-gradient(180deg,var(--ide-bg0),var(--ide-bg1));font-family:var(--font-mono);font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}:focus-visible{outline:2px solid var(--ide-focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.ideRoot{min-height:100dvh;height:100dvh;padding:0;overflow:hidden;display:grid;place-items:stretch}.ideChrome{width:100%;height:100%;min-height:0;border-radius:0;border:none;background:var(--ide-chrome-gradient);box-shadow:none;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:relative}.ideTop{border-bottom:1px solid var(--ide-border)}.ideTitleBar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 12px;background:var(--ide-titlebar-bg)}.ideTitleBarLead{min-width:0;display:flex;align-items:center}.ideTitleBarNav{display:none;align-items:center;gap:8px}@media (max-width:980px){.ideTitleBarNav{display:flex}}.titleBarNavBtn{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;border-radius:10px;border:1px solid var(--ide-border-strong);background:var(--ide-mobile-btn-bg);color:var(--ide-text);cursor:pointer;align-items:center;justify-content:center;box-shadow:0 1px 0 var(--ide-divider-strong)}.titleBarNavBtn:hover{background:var(--ide-hover-bg);border-color:var(--ide-ui-border)}.titleBarNavBtn:focus-visible{outline:2px solid var(--ide-focus-ring);outline-offset:2px}@media (max-width:980px){.titleBarNavBtn--chat{display:inline-flex}.ideCommandPalette{max-width:420px}}@media (max-width:760px){.titleBarNavBtn--files{display:inline-flex}.ideCommandPalette{max-width:320px;padding:6px 10px}.commandPaletteText{font-size:12px}}.ideCommandPalette,.ideTitle{min-width:0;display:flex;justify-content:center}.ideCommandPalette{width:min(560px,100%);align-items:center;border:1px solid var(--ide-border-strong);background:var(--ide-pill-bg);border-radius:10px;padding:7px 12px;box-shadow:inset 0 0 0 1px var(--ide-divider),0 1px 0 var(--ide-divider-strong)}.commandPaletteText{min-width:0;font-size:13px;color:var(--ide-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ideTopRight{display:inline-flex;gap:8px;align-items:center}.pill{font-size:12px;color:var(--ide-muted);border:1px solid var(--ide-border);background:var(--ide-pill-bg);padding:4px 8px;border-radius:999px}.pillBtn{cursor:pointer}.pillBtn:hover{background:var(--ide-hover-bg);border-color:var(--ide-border-strong);color:var(--ide-text)}.tabStrip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(140px,max-content);overflow-x:auto;overflow-y:hidden;background:var(--ide-tabstrip-bg);scrollbar-width:thin;scrollbar-color:var(--ide-scrollbar-thumb) var(--ide-scrollbar-track)}.tabStrip::-webkit-scrollbar{height:5px}.tabStrip::-webkit-scrollbar-track{background:var(--ide-scrollbar-track)}.tabStrip::-webkit-scrollbar-thumb{background:var(--ide-scrollbar-thumb);border-radius:999px}.tabStrip::-webkit-scrollbar-thumb:hover{background:var(--ide-scrollbar-thumb-hover)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ide-muted);padding:9px 12px;display:inline-flex;align-items:center;gap:8px;border-right:1px solid var(--ide-tab-border-right);cursor:pointer;white-space:nowrap;min-width:0;max-width:260px}.tab:hover{background:var(--ide-hover-bg)}.tab.active{color:var(--ide-text);background:var(--ide-tab-active-bg)}.tabDot{width:8px;height:8px;border-radius:999px;background:var(--ide-tab-accent);box-shadow:0 0 0 3px var(--ide-tab-accent-ring);flex-shrink:0}.tabLabel{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis}.tabFiller{border-left:1px solid var(--ide-tab-filler-border);min-width:18px}.ideMain{display:grid;grid-template-columns:260px minmax(0,1fr) 360px;min-height:0}.ideCenterStack{min-width:0}.ideCenterStack,.ideTerminalStack{min-height:0;display:flex;flex-direction:column}.ideTerminalStack{flex-shrink:0}.ideAssistant,.ideExplorer{min-height:0;display:grid;grid-template-rows:auto 1fr;background:var(--ide-pane-bg)}.ideExplorer{border-right:1px solid var(--ide-border)}.ideAssistant{border-left:1px solid var(--ide-border)}.ideEditor{flex:1 1;min-height:0;min-width:0;width:100%;display:grid;grid-template-rows:auto 1fr;background:var(--ide-editor-bg)}.ideEditorTabRow{min-width:0;border-bottom:1px solid var(--ide-border);background:var(--ide-editor-tab-row-bg)}.ideEditorBody{min-height:0;min-width:0;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.paneHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7.5px 12px;border-bottom:1px solid var(--ide-divider);background:var(--ide-pane-header-bg)}.editorHeaderLeft{display:inline-flex;align-items:center;gap:10px;min-width:0}.paneTitle{font-size:12px;letter-spacing:.12em;color:var(--ide-faint)}.paneMeta{font-size:12px;color:var(--ide-meta-color);white-space:nowrap}.paneIconBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--ide-ui-border);background:var(--ide-pane-icon-bg);color:var(--ide-muted);border-radius:10px;padding:6px 8px;cursor:pointer}.paneIconBtn:hover{background:var(--ide-hover-bg)}.fileTree{padding:8px 6px 10px;overflow:auto}.treeRow{width:100%;text-align:left;display:inline-flex;align-items:center;gap:8px;padding:7px 8px;border-radius:12px;color:var(--ide-muted)}.treeIndent{display:inline-block}.treeTwisty{width:14px;color:var(--ide-meta-color)}.treeIcon{width:18px;opacity:.9}.treeLabel{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folderRow{opacity:.95}.fileRow{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer}.fileRow:hover{background:var(--ide-hover-bg)}.fileRow.active{background:var(--ide-tree-active-grad);color:var(--ide-text);box-shadow:inset 0 0 0 1px var(--ide-tree-active-ring)}.editorPane{overflow:hidden;min-width:0;width:100%}.editorSurface{height:100%;width:100%;box-sizing:border-box;overflow:auto;padding:14px 12px 18px;font-size:14px;line-height:1.65}.editorLine{display:grid;grid-template-columns:44px 1fr;grid-gap:12px;gap:12px;align-items:baseline}.editorGutter{color:var(--ide-gutter-text);text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.editorText{white-space:pre;color:var(--ide-text)}.richDoc{display:grid;grid-gap:10px;gap:10px;padding:2px 2px 12px;width:100%;grid-template-columns:minmax(0,1fr)}.richH1{font-size:clamp(21px,2.2vw,29px);line-height:1.2;color:var(--ide-text);margin-bottom:2px;letter-spacing:.01em}.richH2{font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--ide-rich-h2);margin-top:8px}.richP{color:var(--ide-rich-body)}.richStrong{font-weight:600;color:var(--ide-text)}.richEm{font-style:italic;color:inherit}.richSpacer{height:6px}.richBullet{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;align-items:start;border:1px solid var(--ide-rich-bullet-border);background:var(--ide-rich-bullet-bg);border-radius:12px;padding:10px 12px}.richBulletDot{width:8px;height:8px;border-radius:999px;margin-top:6px;background:var(--ide-accent-gradient);box-shadow:0 0 0 4px var(--ide-accent-ring-soft)}.richTags{display:flex;flex-wrap:wrap;gap:8px}.richTag{border-radius:999px;border:1px solid var(--ide-tag-border);background:var(--ide-tag-bg);color:var(--ide-tag-text);font-size:13px;padding:5px 10px}.pubGrid{display:grid;width:100%;min-width:0;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));grid-gap:12px;gap:12px}.richDoc--publications .pubGrid{grid-template-columns:minmax(0,1fr)}.richDoc--experience .expGrid{display:grid;grid-gap:14px;gap:14px;width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.expCard{box-sizing:border-box;width:100%;min-width:0;border-radius:14px;border:1px solid var(--ide-pub-card-border);background:var(--ide-pub-card-bg);padding:14px 16px;display:grid;grid-gap:10px;gap:10px}.expCardTitle{font-size:15px;font-weight:600;line-height:1.35;color:var(--ide-pub-title);letter-spacing:.02em}.expCardMeta{font-size:13px;color:var(--ide-pub-muted);font-style:italic}.expCardList{margin:0;padding:0 0 0 1.15em;display:grid;grid-gap:8px;gap:8px;color:var(--ide-rich-body);font-size:14px;line-height:1.55}.expCardItem::marker{color:var(--ide-muted)}.pubCard{box-sizing:border-box;width:100%;min-width:0;border-radius:14px;border:1px solid var(--ide-pub-card-border);background:var(--ide-pub-card-bg);padding:12px;display:grid;grid-gap:8px;gap:8px}.pubHead{display:flex;justify-content:space-between;align-items:center;color:var(--ide-pub-meta);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.pubTitle{font-size:17px;line-height:1.3;color:var(--ide-pub-title)}.pubVenue{font-size:14px;color:var(--ide-pub-muted)}.pubAuthors{font-size:13px;color:var(--ide-pub-authors);line-height:1.5}.pubLinks{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.pubLink{font-size:12px;text-transform:uppercase;padding:4px 7px;border-radius:999px;border:1px solid var(--ide-pub-link-border)}.pubLink.active{color:var(--ide-pub-link-text);background:var(--ide-pub-link-bg);text-decoration:none}.pubLink.active:hover{background:var(--ide-pub-link-bg-hover);border-color:var(--ide-pub-link-border-hover)}.pubLink.muted{color:var(--ide-pub-link-muted-fg);background:var(--ide-pub-link-muted-bg)}.richDoc--contact .contactGrid{display:grid;grid-gap:14px;gap:14px;width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.contactCard{box-sizing:border-box;width:100%;min-width:0;border-radius:14px;border:1px solid var(--ide-pub-card-border);background:var(--ide-pub-card-bg);padding:14px 16px;display:grid;grid-gap:10px;gap:10px}.contactKey{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ide-pub-meta)}.contactValue{line-height:1.5;color:var(--ide-rich-body)}.contactLink,.contactValue{font-size:14px;word-break:break-word}.contactLink{align-self:start;display:inline-flex;max-width:100%;font-weight:500;line-height:1.45;color:var(--ide-pub-link-text);background:var(--ide-pub-link-bg);border:1px solid var(--ide-pub-link-border);border-radius:10px;padding:8px 12px;text-decoration:none}.contactLink:hover{color:var(--ide-pub-link-text);background:var(--ide-pub-link-bg-hover);border-color:var(--ide-pub-link-border-hover)}.chatRoot{display:grid;grid-template-rows:1fr auto auto;min-height:0}.chatScroll{padding:12px;overflow:auto}.chatMsg{display:grid;margin-bottom:10px}.chatMsg.assistant{justify-items:start}.chatMsg.user{justify-items:end}.chatBubble{max-width:92%;border-radius:14px;padding:10px;font-size:13.5px;line-height:1.45;border:1px solid var(--ide-chat-bubble-border);background:var(--ide-chat-bubble-bg);color:var(--ide-chat-bubble-text)}.chatMsg.user .chatBubble{background:var(--ide-chat-user-bg);border-color:var(--ide-chat-user-border)}.chatBubble.streaming:after{content:"▍";display:inline-block;margin-left:3px;vertical-align:-.05em;color:var(--ide-chat-caret);animation:chatCaretBlink .85s steps(2) infinite}@keyframes chatCaretBlink{0%{opacity:1}50%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.chatBubble.streaming:after{animation:none}}.chatMenu{padding:10px 12px 12px;border-top:1px solid var(--ide-divider);position:relative}.chatMenuBtn{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--ide-divider-strong);background:var(--ide-composer-bg);color:var(--ide-text);border-radius:12px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.chatMenuBtn:hover{background:var(--ide-hover-bg);border-color:var(--ide-ui-border)}.chatMenuBtn:hover .chatMenuBtnText{color:var(--ide-text)}.chatMenuBtn:disabled{opacity:.5;cursor:not-allowed}.chatMenuBtn:disabled:hover{background:var(--ide-composer-bg);border-color:var(--ide-divider-strong)}.chatMenuBtnText{min-width:0;font-size:13px;color:var(--ide-composer-hint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatMenuBtnCaret{font-size:12px;color:var(--ide-composer-key-fg);border:1px solid var(--ide-ui-border);border-radius:10px;padding:3px 8px;flex-shrink:0}.chatMenuPopover{position:absolute;left:12px;right:12px;bottom:calc(100% + 8px);z-index:5;border-radius:14px;border:1px solid var(--ide-border-strong);background:var(--ide-bg1);box-shadow:var(--shadow-elev);overflow:hidden;display:grid;max-height:min(46vh,420px)}.chatMenuOption{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ide-text);text-align:left;padding:10px 12px;font-size:13px;cursor:pointer}.chatMenuOption+.chatMenuOption{border-top:1px solid var(--ide-divider)}.chatMenuOption:hover{background:var(--ide-hover-bg)}.ideTerminalHandleRow{display:flex;justify-content:center;align-items:center;flex-shrink:0;padding:2px 6px 3px;border-top:1px solid var(--ide-border);background:var(--ide-terminal-handle-bg)}.ideTerminalWrap{background:var(--ide-terminal-root-bg);height:0;max-height:0;min-height:0;overflow:hidden;transition:height .26s ease,max-height .26s ease;display:flex;flex-direction:column}.ideTerminalWrap.open{height:min(220px,30vh);max-height:min(220px,30vh);flex-shrink:0}.ideTerminalHandleBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ide-muted);cursor:pointer;padding:4px 8px;line-height:1;border-radius:6px;width:100%;display:flex;justify-content:center}.ideTerminalHandleBtn:hover{background:var(--ide-terminal-handle-btn-hover);color:var(--ide-text)}.ideTerminalHandleIcon{font-size:12px;letter-spacing:.02em;opacity:.95}.terminalRoot{flex:1 1;min-height:0;display:flex;flex-direction:column}.terminalHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--ide-term-border);flex-shrink:0}.terminalBody{flex:1 1 auto;min-height:0;padding:10px 12px;overflow:auto;font-size:13px;line-height:1.6;color:var(--ide-term-body-text)}.termLine.out{color:var(--ide-term-line-out)}.termLine.in{color:var(--ide-term-line-in)}.terminalInputRow{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px 12px;border-top:1px solid var(--ide-term-border);flex-shrink:0;background:var(--ide-term-input-row-bg)}.termPrompt{color:var(--ide-term-line-in)}.termInput{width:100%;background:var(--ide-term-input-bg);border:1px solid var(--ide-term-input-border);color:var(--ide-term-input-text);border-radius:12px;padding:8px 10px;font-family:var(--font-mono);font-size:13px;outline:none}.termInput:hover{border-color:var(--ide-border-strong);background:var(--ide-hover-bg)}.termInput:focus-visible{border-color:var(--ide-tab-accent)}.termInput::placeholder{color:var(--ide-term-placeholder)}.statusBar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid var(--ide-divider-strong);background:var(--ide-status-bg);font-size:13px;color:var(--ide-status-fg)}.statusLeft,.statusRight{display:flex;gap:10px;align-items:center}.statusItem{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid var(--ide-status-pill-border);background:var(--ide-status-pill-bg)}.statusDot{width:8px;height:8px;border-radius:999px}.statusDot.ok{background:rgba(52,211,153,.9)}@media (max-width:980px){.ideMain{grid-template-columns:240px minmax(0,1fr)}.ideAssistant{display:none}}@media (max-width:760px){.ideMain{grid-template-columns:minmax(0,1fr)}.ideExplorer,.statusItemClean,.statusItemCursor{display:none}}.mobileOverlay{display:none}@media (max-width:980px){.mobileOverlay.open{display:grid}.mobileOverlay{position:absolute;inset:0;background:var(--ide-overlay-scrim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:end;justify-items:stretch;z-index:20}.mobileSheet{max-height:min(70vh,640px);border-top-left-radius:16px;border-top-right-radius:16px;border:1px solid var(--ide-mobile-sheet-border);background:var(--ide-mobile-sheet-bg);overflow:hidden;display:grid;grid-template-rows:auto 1fr}}