.subcard{background:var(--card);border-radius:var(--radius-md);border:1px solid var(--border-soft);margin-bottom:12px;padding:14px}.subcard:last-child{margin-bottom:0}.subcard .section-heading{margin-bottom:6px;font-size:1rem;font-weight:600}.round-toggle-button{--round-toggle-symbol-size:14px;--round-toggle-line-width:10px;--round-toggle-line-height:2px;appearance:none;box-sizing:border-box;width:30px;min-width:30px;height:30px;min-height:30px;color:var(--button-active-color);cursor:pointer;box-shadow:none;background:#0a66c21f;border:1px solid #7ebdff6b;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;line-height:0;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s,color .18s;display:inline-flex}.round-toggle-button-md{--round-toggle-symbol-size:18px;--round-toggle-line-width:13px;--round-toggle-line-height:2px;background:var(--button-bg);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--button-color);border-width:2px;border-color:#318be7b8;box-shadow:inset 0 0 0 1px #0a66c214}.round-toggle-button:hover{color:var(--button-active-color);background:#0a66c21f;border-color:#63afffe6;transform:translateY(-1px);box-shadow:0 8px 18px #0a66c22e}.round-toggle-button-md:hover{box-shadow:0 10px 24px #0a66c229}.round-toggle-button:focus-visible{outline-offset:3px;outline:3px solid #0a66c247}.round-toggle-symbol{width:var(--round-toggle-symbol-size);height:var(--round-toggle-symbol-size);display:block;position:relative}.round-toggle-line{width:var(--round-toggle-line-width);height:var(--round-toggle-line-height);background:currentColor;border-radius:999px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.round-toggle-line-vertical{transform:translate(-50%,-50%)rotate(90deg)}.experience-item{border:1px solid var(--item-border);background:var(--item-bg);box-shadow:var(--shadow-subtle);border-radius:18px;padding:16px 18px;transition:border-color .22s,background .22s,box-shadow .22s,transform .22s}.experience-item:hover{border-color:#7ebdff94;transform:none;box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #7ebdff2e,0 14px 34px #0a66c22e}.experience-item+.experience-item{margin-top:12px}.experience-item .bullets{margin-top:12px;margin-bottom:0;padding:0;list-style:none}.experience-item .bullets li{color:var(--text-muted);margin-bottom:4px;padding-left:16px;font-size:.87rem;position:relative}.experience-item .bullets li:before{content:"•";color:var(--accent);position:absolute;left:0}.exp-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.exp-toggle{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:flex-start;gap:12px;min-width:0;padding:0;display:inline-flex}.exp-title-wrap{gap:5px;display:grid}.exp-toggle-icon{border:1px solid var(--item-subtle-border);background:var(--chip-bg);border-radius:50%;flex-shrink:0;width:28px;height:28px;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s;position:relative}.exp-toggle-icon-line{background:var(--icon-line);border-radius:999px;width:11px;height:1.6px;transition:transform .22s,opacity .22s;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.exp-toggle-icon-line-v{transform:translate(-50%,-50%)rotate(90deg)}.exp-toggle:hover .exp-toggle-icon,.exp-toggle-open .exp-toggle-icon{background:#0a66c224;border-color:#63afff61;box-shadow:0 8px 18px #0a66c229}.exp-toggle-open .exp-toggle-icon{transform:rotate(180deg)}.exp-toggle-open .exp-toggle-icon-line-v{opacity:0;transform:translate(-50%,-50%)rotate(90deg)scaleX(0)}.exp-title{color:var(--text-main);font-size:.95rem;font-weight:600}.exp-meta{color:var(--text-muted);white-space:nowrap;padding-top:4px;font-size:.78rem}.exp-sub{color:var(--text-muted);font-size:.85rem}.exp-tech{color:var(--text-muted);margin-top:12px;font-size:.78rem}.exp-tech .label{color:var(--text-muted);margin-right:4px;font-size:.72rem}.experience-item .stack-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:inline-flex}.experience-item .stack-tag{background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--text-main);border-radius:999px;align-items:center;padding:3px 8px;font-size:.72rem;line-height:1.2;display:inline-flex}.exp-details-shell{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1),opacity .22s;display:grid}.exp-details-shell-open{grid-template-rows:1fr}.exp-details-inner{overflow:hidden}.exp-details{border-top:1px solid var(--item-subtle-border);margin-top:14px;padding-top:14px}.exp-details-label{letter-spacing:.12em;text-transform:uppercase;color:var(--toolbar-accent);margin-bottom:10px;font-size:.7rem;font-weight:700}.experience-item .detail-bullets{gap:10px;margin:0;padding:0;list-style:none;display:grid}.experience-item .detail-bullets li{color:var(--text-muted);padding-left:18px;line-height:1.5;position:relative}.experience-item .detail-bullets li:before{content:"";background:linear-gradient(135deg,#9dd0ff,#0a66c2);border-radius:50%;width:7px;height:7px;position:absolute;top:.55rem;left:0;box-shadow:0 0 0 4px #0a66c224}.experience-item .detail-title{color:var(--text-main);margin-bottom:2px;font-size:.82rem;font-weight:600;display:block}.experience-item .detail-body{font-size:.83rem;display:block}@media (width<=720px){.experience-item{padding:16px}.exp-header{flex-direction:column;gap:10px}.exp-meta{white-space:normal;padding-top:0;padding-left:40px}}.earlier-career-item{border:1px solid var(--item-border);background:var(--item-bg);box-shadow:var(--shadow-subtle);border-radius:18px;padding:16px 18px;transition:border-color .22s,background .22s,box-shadow .22s,transform .22s}.earlier-career-item:hover{border-color:#7ebdff94;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #7ebdff2e,0 14px 34px #0a66c22e}.earlier-career-item+.earlier-career-item{margin-top:12px}.career-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.career-toggle{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:flex-start;gap:12px;min-width:0;padding:0;display:inline-flex}.career-title-wrap{gap:6px;display:grid}.career-toggle-icon{border:1px solid var(--item-subtle-border);background:var(--chip-bg);border-radius:50%;flex-shrink:0;width:28px;height:28px;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s;position:relative}.career-toggle-icon-line{background:var(--icon-line);border-radius:999px;width:11px;height:1.6px;transition:transform .22s,opacity .22s;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.career-toggle-icon-line-v{transform:translate(-50%,-50%)rotate(90deg)}.career-toggle:hover .career-toggle-icon,.career-toggle-open .career-toggle-icon{background:#0a66c224;border-color:#63afff61;box-shadow:0 8px 18px #0a66c229}.career-toggle-open .career-toggle-icon{transform:rotate(180deg)}.career-toggle-open .career-toggle-icon-line-v{opacity:0;transform:translate(-50%,-50%)rotate(90deg)scaleX(0)}.career-title{color:var(--text-main);font-size:.95rem;font-weight:600}.career-summary{color:var(--text-muted);font-size:.84rem;line-height:1.55}.career-meta{color:var(--text-muted);white-space:nowrap;padding-top:4px;font-size:.78rem}.career-tech{color:var(--text-muted);margin-top:12px;font-size:.78rem}.career-tech .label{color:var(--text-muted);margin-right:4px;font-size:.72rem}.career-stack-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:inline-flex}.career-stack-tag{background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--text-main);border-radius:999px;align-items:center;padding:3px 8px;font-size:.72rem;line-height:1.2;display:inline-flex}.career-details-shell{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1);display:grid}.career-details-shell-open{grid-template-rows:1fr}.career-details-inner{overflow:hidden}.career-details{border-top:1px solid var(--item-subtle-border);margin-top:14px;padding-top:14px}.career-details-label{letter-spacing:.12em;text-transform:uppercase;color:var(--toolbar-accent);margin-bottom:10px;font-size:.7rem;font-weight:700}.career-detail-bullets{gap:10px;margin:0;padding:0;list-style:none;display:grid}.career-detail-bullets li{color:var(--text-muted);padding-left:18px;line-height:1.5;position:relative}.career-detail-bullets li:before{content:"";background:linear-gradient(135deg,#9dd0ff,#0a66c2);border-radius:50%;width:7px;height:7px;position:absolute;top:.55rem;left:0;box-shadow:0 0 0 4px #0a66c224}.career-detail-title{color:var(--text-main);margin-bottom:2px;font-size:.82rem;font-weight:600;display:block}.career-detail-body{font-size:.83rem;display:block}@media (width<=720px){.earlier-career-item{padding:16px}.career-header{flex-direction:column;gap:10px}.career-meta{white-space:normal;padding-top:0;padding-left:40px}}.card{background:var(--card-gradient);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);padding:20px 18px;transition:background .22s,border-color .22s,box-shadow .22s}.card-collapsible{cursor:pointer}.card-collapsible:focus-visible{outline-offset:3px;outline:3px solid #0a66c247}.card-collapsed{padding-bottom:16px}.card .section-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.12em;margin-bottom:12px;font-size:.9rem;line-height:1.2}.card .section-header{justify-content:space-between;align-items:center;gap:12px;min-height:30px;margin-bottom:12px;display:flex}.card-collapsed .section-header,.card .compact-title{margin-bottom:0}.card .section-shell{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1);display:grid}.card .section-shell-open{grid-template-rows:1fr}.card .section-shell-inner{overflow:hidden}.chat-card{background:var(--chat-bg);border-radius:var(--radius-lg);border:1px solid var(--chat-border);box-shadow:var(--shadow-soft);padding:22px 20px;transition:background .22s,border-color .22s,box-shadow .22s}.chat-card .chat-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.chat-card .chat-header-actions{align-items:center;gap:10px;display:flex}.chat-card .eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--toolbar-accent);margin-bottom:8px;font-size:.72rem}.chat-card .chat-header h2{margin:0;font-size:1.2rem}.chat-card .status-pill{background:var(--status-bg);color:var(--status-color);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;padding:6px 10px;font-size:.74rem;display:inline-flex}.chat-card .close-button{background:var(--button-bg);color:var(--text-main);font:inherit;cursor:pointer;border:1px solid #7884a552;border-radius:999px;padding:7px 12px;font-size:.74rem}.chat-card .close-button:hover{border-color:#0a66c28c}.chat-card .chat-description{color:var(--text-muted);margin:14px 0 18px;font-size:.88rem;line-height:1.6}.chat-card .field-label{color:var(--text-main);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.8rem;display:block}.chat-card .field-input,.chat-card .composer-input{box-sizing:border-box;background:var(--field-bg);width:100%;color:var(--text-main);font:inherit;border:1px solid #5661805c;border-radius:14px;padding:12px 14px;transition:border-color .12s,box-shadow .12s}.chat-card .field-input:focus,.chat-card .composer-input:focus{border-color:#0a66c2bf;outline:none;box-shadow:0 0 0 3px #0a66c224}.chat-card .field-input{margin-bottom:18px}.chat-card .prompt-grid{gap:10px;margin-bottom:18px;display:grid}.chat-card .prompt-chip{text-align:left;background:var(--button-bg);color:var(--button-color);font:inherit;cursor:pointer;border:2px solid #318be780;border-radius:14px;padding:10px 12px;font-size:.86rem;transition:transform .18s,border-color .18s,background .18s,color .18s,box-shadow .18s}.chat-card .prompt-chip:hover:not(:disabled){color:var(--button-active-color);background:#0a66c21f;border-color:#90c5ffe6;transform:translateY(-1px);box-shadow:0 10px 24px #0a66c21f}.chat-card .prompt-chip:disabled{opacity:.65;cursor:not-allowed}.chat-card .message-list{gap:12px;max-height:420px;margin-bottom:18px;padding-right:4px;display:grid;overflow-y:auto}.chat-card .message{border:1px solid #56618033;border-radius:16px;padding:14px 14px 12px}.chat-card .message-user{background:#0a66c224;border-color:#0a66c242}.chat-card .message-assistant{background:var(--message-bg)}.chat-card .message-role{text-transform:uppercase;letter-spacing:.08em;color:var(--toolbar-accent);margin-bottom:8px;font-size:.72rem}.chat-card .message-body{white-space:pre-wrap;color:var(--text-main);margin:0;font-size:.9rem;line-height:1.6}.chat-card .error-box{color:#ffb9b9;background:#6115152e;border:1px solid #d65d5d47;border-radius:14px;margin-bottom:16px;padding:12px 14px;font-size:.86rem}.chat-card .composer{gap:10px;display:grid}.chat-card .composer-input{resize:vertical;min-height:120px}.chat-card .composer-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.chat-card .helper-text{color:var(--text-muted);font-size:.78rem}.chat-card .send-button{background:var(--button-bg);color:var(--button-active-color);font:inherit;cursor:pointer;border:2px solid #318be7b8;border-radius:999px;padding:10px 16px;font-size:.9rem;font-weight:600;transition:opacity .18s,transform .18s,border-color .18s,background .18s,color .18s,box-shadow .18s}.chat-card .send-button:hover:not(:disabled){color:var(--button-active-color);background:#0a66c21f;border-color:#90c5ffeb;transform:translateY(-1px);box-shadow:0 10px 24px #0a66c229}.chat-card .send-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=959px){.chat-card .composer-actions{flex-direction:column;align-items:stretch}.chat-card .send-button{width:100%}}.portfolio-login{--accent:#0a66c2;--accent-soft:#0a66c21f;--text-main:#f5f7fb;--text-muted:#a3a8b8;--border-soft:#262a34;--radius-lg:18px;--radius-md:12px;--radius-pill:999px;--shadow-soft:0 18px 45px #0000008c;min-height:100vh;color:var(--text-main);box-sizing:border-box;background:radial-gradient(circle at top,#14192a 0,#05060a 55%);padding:24px 16px 60px}.portfolio-login .login-shell{place-items:center;min-height:calc(100vh - 84px);display:grid}.portfolio-login .login-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);width:min(100%,440px);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 0 0,#181d2b 0,#101320 45%,#090b12 100%);padding:24px 22px}.portfolio-login .toolbar-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#8fb4e6;margin-bottom:6px;font-size:.72rem}.portfolio-login h1{margin:0 0 6px;font-size:1.55rem;line-height:1.2}.portfolio-login p{color:var(--text-muted);margin:0;font-size:.9rem}.portfolio-login .login-form{gap:16px;margin-top:22px;display:grid}.portfolio-login .field{gap:8px;display:grid}.portfolio-login .field span{color:var(--text-muted);font-size:.78rem;font-weight:600}.portfolio-login .field input{box-sizing:border-box;border:1px solid var(--border-soft);border-radius:var(--radius-md);width:100%;color:var(--text-main);min-height:44px;font:inherit;background:#0d0f17;outline:none;padding:10px 12px;font-size:.95rem}.portfolio-login .field input:focus{border-color:#63afffe6;box-shadow:0 0 0 3px #0a66c229}.portfolio-login .error-message{color:#ffb4b4;border-radius:var(--radius-md);background:#be123c1f;border:1px solid #f871714d;padding:10px 12px}.portfolio-login .login-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.portfolio-login .primary-button,.portfolio-login .secondary-button{border-radius:var(--radius-pill);color:#a8cdfa;font:inherit;cursor:pointer;background:#080b1126;border:2px solid #318be7b8;padding:10px 16px;font-size:.92rem;font-weight:600;text-decoration:none;transition:transform .18s,border-color .18s,background .18s,color .18s,opacity .18s}.portfolio-login .primary-button{color:#eef5ff;background:#0a66c238;border-color:#90c5ffeb}.portfolio-login .primary-button:hover,.portfolio-login .secondary-button:hover{color:#d7e8ff;background:#0a66c21f;border-color:#63afffe6;transform:translateY(-1px)}.portfolio-login .primary-button:disabled{cursor:not-allowed;opacity:.55}@media (width<=560px){.portfolio-login .login-actions{flex-direction:column-reverse;align-items:stretch}.portfolio-login .primary-button,.portfolio-login .secondary-button{text-align:center;width:100%}}.portfolio-dashboard{--bg:#0b0c10;--bg-elevated:#111319;--card:#151821;--accent:#0a66c2;--accent-soft:#0a66c21f;--text-main:#f5f7fb;--text-muted:#a3a8b8;--border-soft:#262a34;--pill-bg:#1c2130;--radius-lg:18px;--radius-md:12px;--radius-pill:999px;--shadow-soft:0 18px 45px #0000008c;min-height:100vh;color:var(--text-main);box-sizing:border-box;background:radial-gradient(circle at top,#14192a 0,#05060a 55%);padding:24px 16px 60px}.portfolio-dashboard .dashboard-shell{gap:24px;min-width:0;max-width:1480px;margin:0 auto;display:grid}.portfolio-dashboard .dashboard-toolbar,.portfolio-dashboard .filters-header,.portfolio-dashboard .table-header,.portfolio-dashboard .table-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.portfolio-dashboard .dashboard-toolbar{padding:0 4px}.portfolio-dashboard .dashboard-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.portfolio-dashboard .toolbar-eyebrow,.portfolio-dashboard .section-title{text-transform:uppercase;letter-spacing:.14em;color:#8fb4e6;font-size:.72rem}.portfolio-dashboard .toolbar-copy h1{margin:4px 0 6px;font-size:1.55rem;line-height:1.2}.portfolio-dashboard .toolbar-copy p,.portfolio-dashboard .filters-header p,.portfolio-dashboard .table-header p{color:var(--text-muted);margin:0;font-size:.9rem}.portfolio-dashboard .portfolio-link,.portfolio-dashboard .primary-button,.portfolio-dashboard .secondary-button,.portfolio-dashboard .pagination button{border-radius:var(--radius-pill);color:#a8cdfa;font:inherit;cursor:pointer;background:#080b1126;border:2px solid #318be7b8;padding:10px 16px;font-size:.92rem;font-weight:600;text-decoration:none;transition:transform .18s,border-color .18s,background .18s,color .18s,opacity .18s}.portfolio-dashboard .portfolio-link:hover,.portfolio-dashboard .primary-button:hover,.portfolio-dashboard .secondary-button:hover,.portfolio-dashboard .pagination button:hover:not(:disabled){color:#d7e8ff;background:#0a66c21f;border-color:#63afffe6;transform:translateY(-1px)}.portfolio-dashboard .filter-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.portfolio-dashboard .primary-button{color:#eef5ff;background:#0a66c238;border-color:#90c5ffeb}.portfolio-dashboard .pagination button:disabled{cursor:not-allowed;opacity:.42}.portfolio-dashboard .filters-card,.portfolio-dashboard .table-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);box-sizing:border-box;background:radial-gradient(circle at 0 0,#181d2b 0,#101320 45%,#090b12 100%);min-width:0;padding:20px 18px}.portfolio-dashboard .filters-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.portfolio-dashboard .field,.portfolio-dashboard .page-size{gap:8px;display:grid}.portfolio-dashboard .field span,.portfolio-dashboard .page-size span{color:var(--text-muted);font-size:.78rem;font-weight:600}.portfolio-dashboard .field input,.portfolio-dashboard .field select,.portfolio-dashboard .page-size select{box-sizing:border-box;border:1px solid var(--border-soft);border-radius:var(--radius-md);width:100%;color:var(--text-main);min-height:42px;font:inherit;background:#0d0f17;outline:none;padding:9px 11px;font-size:.9rem}.portfolio-dashboard .field select,.portfolio-dashboard .page-size select{appearance:none;background-color:#0d0f17;background-image:linear-gradient(45deg,#0000 50%,#8fb4e6 50%),linear-gradient(135deg,#8fb4e6 50%,#0000 50%);background-position:calc(100% - 22px) 18px,calc(100% - 16px) 18px;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:42px}.portfolio-dashboard .field input:focus,.portfolio-dashboard .field select:focus,.portfolio-dashboard .page-size select:focus{border-color:#63afffe6;box-shadow:0 0 0 3px #0a66c229}.portfolio-dashboard .summary-pills{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.portfolio-dashboard .summary-pills span,.portfolio-dashboard .event-badge{border:1px solid var(--border-soft);border-radius:var(--radius-pill);background:var(--accent-soft);color:#a8cdfa;white-space:nowrap;align-items:center;padding:6px 10px;font-size:.78rem;display:inline-flex}.portfolio-dashboard .table-scroll{border:1px solid var(--border-soft);border-radius:var(--radius-md);box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-top:18px;display:block;overflow-x:hidden}.portfolio-dashboard table{border-collapse:collapse;table-layout:fixed;width:100%}.portfolio-dashboard th,.portfolio-dashboard td{text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top;overflow-wrap:anywhere;word-break:normal;padding:13px 14px;font-size:.86rem}.portfolio-dashboard th{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:#0d0f17c7;font-size:.72rem}.portfolio-dashboard th:first-child,.portfolio-dashboard td:first-child{width:11%}.portfolio-dashboard th:nth-child(2),.portfolio-dashboard td:nth-child(2),.portfolio-dashboard th:nth-child(3),.portfolio-dashboard td:nth-child(3){width:14%}.portfolio-dashboard th:nth-child(4),.portfolio-dashboard td:nth-child(4){width:13%}.portfolio-dashboard th:nth-child(5),.portfolio-dashboard td:nth-child(5){width:14%}.portfolio-dashboard th:nth-child(6),.portfolio-dashboard td:nth-child(6){width:18%}.portfolio-dashboard th:nth-child(7),.portfolio-dashboard td:nth-child(7){width:16%}.portfolio-dashboard td{color:var(--text-muted)}.portfolio-dashboard td strong{color:var(--text-main);font-size:.86rem;display:block}.portfolio-dashboard td span{margin-top:3px;display:block}.portfolio-dashboard tbody tr:last-child td{border-bottom:0}.portfolio-dashboard .mono{color:#d7e8ff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.portfolio-dashboard .details-cell,.portfolio-dashboard .question-cell,.portfolio-dashboard .referrer-cell{white-space:normal;line-height:1.45}.portfolio-dashboard .empty-state{text-align:center;color:var(--text-muted);padding:34px 16px}.portfolio-dashboard .table-footer{margin-top:16px}.portfolio-dashboard .page-size{grid-template-columns:auto 92px;align-items:center}.portfolio-dashboard .pagination{justify-content:flex-end;align-items:center;gap:10px;display:flex}.portfolio-dashboard .pagination span{color:var(--text-muted);text-align:center;min-width:96px;font-size:.86rem}@media (width<=1120px){.portfolio-dashboard .filters-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.portfolio-dashboard .dashboard-toolbar,.portfolio-dashboard .filters-header,.portfolio-dashboard .table-header,.portfolio-dashboard .table-footer{flex-direction:column;align-items:stretch}.portfolio-dashboard .portfolio-link,.portfolio-dashboard .primary-button,.portfolio-dashboard .secondary-button{text-align:center;width:100%}.portfolio-dashboard .dashboard-actions{flex-direction:column;align-items:stretch}.portfolio-dashboard .filter-actions{flex-direction:column-reverse;align-items:stretch}.portfolio-dashboard .filters-grid{grid-template-columns:1fr}.portfolio-dashboard .summary-pills,.portfolio-dashboard .pagination{justify-content:flex-start}.portfolio-dashboard .page-size{grid-template-columns:1fr}.portfolio-dashboard .table-footer{align-items:center;gap:18px}.portfolio-dashboard .page-size{width:min(100%,340px)}.portfolio-dashboard .pagination{justify-content:center;width:100%}.portfolio-dashboard .pagination button{width:auto;min-width:92px}.portfolio-dashboard .table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.portfolio-dashboard table{width:980px;min-width:980px}}.portfolio-api-preview{--bg:#0b0c10;--card:#151821;--accent:#0a66c2;--accent-soft:#0a66c21f;--text-main:#f5f7fb;--text-muted:#a3a8b8;--border-soft:#262a34;--pill-bg:#1c2130;--radius-lg:18px;--radius-md:12px;--radius-pill:999px;--shadow-soft:0 18px 45px #0000008c;min-height:100vh;color:var(--text-main);box-sizing:border-box;background:radial-gradient(circle at top,#14192a 0,#05060a 55%);padding:24px 16px 60px;overflow-x:hidden}.portfolio-api-preview-light{--bg:#f7f9fc;--card:#fff;--accent-soft:#0a66c21a;--text-main:#162033;--text-muted:#5f6b7d;--border-soft:#d9e1ec;--pill-bg:#eef4fb;--shadow-soft:0 18px 45px #14274424;background:radial-gradient(circle at top,#fff 0,#edf1f7 58%)}.portfolio-api-preview .api-preview-shell{gap:24px;width:100%;min-width:0;max-width:1480px;margin:0 auto;display:grid}.portfolio-api-preview .api-preview-toolbar,.portfolio-api-preview .api-summary,.portfolio-api-preview .api-card-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.portfolio-api-preview .api-preview-toolbar{min-width:0;padding:0 4px}.portfolio-api-preview .toolbar-copy{min-width:0}.portfolio-api-preview .toolbar-eyebrow,.portfolio-api-preview .section-title{text-transform:uppercase;letter-spacing:.14em;color:#8fb4e6;font-size:.72rem}.portfolio-api-preview .toolbar-copy h1,.portfolio-api-preview .api-card h2{margin:4px 0 6px;line-height:1.2}.portfolio-api-preview .toolbar-copy h1{font-size:1.55rem}.portfolio-api-preview .api-card h2{font-size:1.2rem}.portfolio-api-preview .toolbar-copy p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.65}.portfolio-api-preview .api-preview-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.portfolio-api-preview .api-action,.portfolio-api-preview .copy-button{border-radius:var(--radius-pill);color:#a8cdfa;font:inherit;cursor:pointer;white-space:nowrap;background:#080b1126;border:2px solid #318be7b8;padding:10px 16px;font-size:.92rem;font-weight:600;text-decoration:none;transition:transform .18s,border-color .18s,background .18s,color .18s}.portfolio-api-preview .api-action:hover,.portfolio-api-preview .copy-button:hover{color:#d7e8ff;background:#0a66c21f;border-color:#63afffe6;transform:translateY(-1px)}.portfolio-api-preview .api-action-primary{color:#eef5ff;background:#0a66c238;border-color:#90c5ffeb}.portfolio-api-preview .api-summary,.portfolio-api-preview .api-card{background:var(--card-gradient,radial-gradient(circle at top left, #181d2b 0, #101320 45%, #090b12 100%));border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:20px 18px}.portfolio-api-preview .endpoint-row{align-items:center;gap:10px;min-width:0;margin-top:10px;display:flex}.portfolio-api-preview .endpoint-row code{min-width:0;max-width:100%;color:var(--text-main);border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow-wrap:anywhere;background:#ffffff0a;padding:9px 11px}.portfolio-api-preview .method-pill,.portfolio-api-preview .status-panel{border:1px solid var(--border-soft);border-radius:var(--radius-pill);background:var(--accent-soft);color:#a8cdfa;white-space:nowrap;align-items:center;padding:6px 10px;font-size:.78rem;display:inline-flex}.portfolio-api-preview .method-pill{color:#7ae2a1;background:#55c67c24}.portfolio-api-preview .status-panel{gap:8px}.portfolio-api-preview .status-dot{background:#7ae2a1;border-radius:50%;width:8px;height:8px}.portfolio-api-preview .status-dot-error{background:#ff7a7a}.portfolio-api-preview .response-wrap{min-width:0;max-width:100%}.portfolio-api-preview .json-block{overscroll-behavior:contain;scrollbar-color:#8fb4e675 transparent;scrollbar-width:thin;box-sizing:border-box;border:1px solid var(--border-soft);border-radius:var(--radius-md);color:#f5f7fb;tab-size:2;background:#070911;width:100%;max-width:100%;height:clamp(240px,100vh - 390px,620px);max-height:62vh;margin:18px 0 0;padding:16px 16px 24px;font-size:.82rem;line-height:1.55;display:block;overflow:auto}@supports (height:100dvh){.portfolio-api-preview .json-block{height:clamp(240px,100dvh - 390px,620px);max-height:62dvh}}.portfolio-api-preview .json-block::-webkit-scrollbar{width:10px;height:10px}.portfolio-api-preview .json-block::-webkit-scrollbar-track{background:0 0}.portfolio-api-preview .json-block::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#8fb4e65c padding-box content-box;border:3px solid #0000}.portfolio-api-preview .json-block::-webkit-scrollbar-thumb:hover{background:#8fb4e69e padding-box content-box}.portfolio-api-preview .json-block::-webkit-scrollbar-corner{background:0 0}.portfolio-api-preview .json-block code{min-width:max-content;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;display:block}.portfolio-api-preview .json-key{color:#f5f7fb}.portfolio-api-preview .json-value{color:#7ae2a1}.portfolio-api-preview .api-state-card{color:var(--text-muted)}.portfolio-api-preview-light .toolbar-eyebrow,.portfolio-api-preview-light .section-title{color:#2468a7}.portfolio-api-preview-light .api-action,.portfolio-api-preview-light .copy-button{color:#155c9f;background:#fffc;box-shadow:inset 0 0 0 1px #0a66c214}.portfolio-api-preview-light .api-action:hover,.portfolio-api-preview-light .copy-button:hover{color:#0f3763;background:#0a66c214}.portfolio-api-preview-light .api-action-primary{color:#0f3763;background:#0a66c21f}.portfolio-api-preview-light .api-summary,.portfolio-api-preview-light .api-card{--card-gradient:radial-gradient(circle at top left, #fff 0, #f8fbff 46%, #edf3fa 100%)}.portfolio-api-preview-light .endpoint-row code{background:#ffffffb8}.portfolio-api-preview-light .method-pill{color:#16744a;background:#1f84531a}.portfolio-api-preview-light .status-panel{color:#155c9f}.portfolio-api-preview-light .json-block{color:#162033;scrollbar-color:#4755695c transparent;background:#f8fafc}.portfolio-api-preview-light .json-block::-webkit-scrollbar-thumb{background:#47556942 padding-box content-box}.portfolio-api-preview-light .json-block::-webkit-scrollbar-thumb:hover{background:#4755697a padding-box content-box}.portfolio-api-preview-light .json-key{color:#334155}.portfolio-api-preview-light .json-value{color:#16744a}@media (width<=767px){.portfolio-api-preview .api-preview-toolbar,.portfolio-api-preview .api-summary,.portfolio-api-preview .api-card-header{flex-direction:column;align-items:stretch}.portfolio-api-preview .api-preview-actions{flex-direction:column;align-items:stretch;width:100%}.portfolio-api-preview .api-action,.portfolio-api-preview .copy-button{box-sizing:border-box;justify-content:center;width:100%;display:inline-flex}.portfolio-api-preview .endpoint-row{flex-direction:column;align-items:stretch}.portfolio-api-preview .status-panel{justify-content:center}.portfolio-api-preview .json-block{height:clamp(220px,48vh,420px);max-height:48vh}@supports (height:100dvh){.portfolio-api-preview .json-block{height:clamp(220px,48dvh,420px);max-height:48dvh}}}.portfolio{--page-bg:#05060a;--bg:#0b0c10;--bg-elevated:#111319;--card:#151821;--accent:#0a66c2;--accent-soft:#0a66c21f;--text-main:#f5f7fb;--text-muted:#a3a8b8;--border-soft:#262a34;--pill-bg:#1c2130;--toolbar-accent:#8fb4e6;--button-bg:#080b1126;--button-color:#a8cdfa;--button-active-color:#eef5ff;--card-gradient:radial-gradient(circle at top left, #181d2b 0, #101320 45%, #090b12 100%);--item-bg:linear-gradient(180deg, #ffffff08, #090b12b8), #0a0c12e6;--item-border:#ffffff0f;--item-subtle-border:#ffffff14;--icon-line:#d6e7ff;--chip-bg:#ffffff0d;--chip-border:#ffffff14;--field-bg:#07090ee0;--chat-bg:radial-gradient(circle at top left, #0a66c22e, transparent 35%), linear-gradient(180deg, #141824f5 0%, #080a10fa 100%);--chat-border:#5c6c923d;--message-bg:#0c0f18e6;--status-bg:#55c67c24;--status-color:#7ae2a1;--radius-lg:18px;--radius-md:12px;--radius-pill:999px;--shadow-soft:0 18px 45px #0000008c;--shadow-subtle:0 10px 30px #00000059;max-width:1480px;min-height:100vh;color:var(--text-main);box-sizing:border-box;box-shadow:0 0 0 100vmax var(--page-bg);clip-path:inset(0 -100vmax);background:radial-gradient(circle at top,#14192a 0,#05060a 55%);margin:auto;padding:24px 16px 60px;transition:background .22s,color .22s,box-shadow .22s}.portfolio-light{--page-bg:#edf1f7;--bg:#f7f9fc;--bg-elevated:#fff;--card:#fff;--accent:#0a66c2;--accent-soft:#0a66c21a;--text-main:#162033;--text-muted:#5f6b7d;--border-soft:#d9e1ec;--pill-bg:#eef4fb;--toolbar-accent:#2468a7;--button-bg:#fffc;--button-color:#155c9f;--button-active-color:#0f3763;--card-gradient:radial-gradient(circle at top left, #fff 0, #f8fbff 46%, #edf3fa 100%);--item-bg:linear-gradient(180deg, #fffffff5, #f2f7fdeb), #fff;--item-border:#2a4c741f;--item-subtle-border:#2a4c7424;--icon-line:#155c9f;--chip-bg:#0a66c20f;--chip-border:#0a66c221;--field-bg:#ffffffeb;--chat-bg:radial-gradient(circle at top left, #0a66c21a, transparent 36%), linear-gradient(180deg, #fffffffa 0%, #f1f7fdfa 100%);--chat-border:#2a4c7429;--message-bg:#ffffffe6;--status-bg:#1f84531a;--status-color:#16744a;--shadow-soft:0 18px 45px #14274424;--shadow-subtle:0 10px 30px #1427441c;background:radial-gradient(circle at top,#fff 0,#edf1f7 58%)}.portfolio .portfolio-toolbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:0 4px;display:flex}.portfolio .toolbar-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--toolbar-accent);margin-bottom:6px;font-size:.72rem}.portfolio .toolbar-copy p{color:var(--text-muted);margin:0;font-size:.9rem}.portfolio .assistant-toggle{background:var(--button-bg);color:var(--button-color);font:inherit;cursor:pointer;border:2px solid #318be7b8;border-radius:999px;padding:10px 16px;font-size:.92rem;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s,opacity .18s,border-color .18s,background .18s,color .18s;box-shadow:inset 0 0 0 1px #0a66c214}.portfolio .toolbar-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.portfolio .mobile-menu-toggle{display:none}.portfolio .assistant-toggle:hover{color:var(--button-active-color);background:#0a66c21f;border-color:#63afffe6;transform:translateY(-1px);box-shadow:0 10px 24px #0a66c229}.portfolio .assistant-toggle-active{color:var(--button-active-color);background:#0a66c229;border-color:#90c5ffeb}.portfolio .theme-toggle{background:var(--button-bg);width:44px;height:44px;color:var(--button-color);cursor:pointer;border:2px solid #318be7b8;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s,color .18s;display:inline-flex;box-shadow:inset 0 0 0 1px #0a66c214}.portfolio .theme-toggle:hover{color:var(--button-active-color);background:#0a66c21f;border-color:#63afffe6;transform:translateY(-1px);box-shadow:0 10px 24px #0a66c229}.portfolio .theme-toggle-icon{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:20px;height:20px}.portfolio .mobile-menu-toggle{background:var(--button-bg);width:44px;height:44px;min-height:44px;color:var(--button-color);cursor:pointer;box-sizing:border-box;border:2px solid #318be7b8;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s,color .18s;box-shadow:inset 0 0 0 1px #0a66c214}.portfolio .mobile-menu-toggle:hover{color:var(--button-active-color);background:#0a66c21f;border-color:#63afffe6;transform:translateY(-1px);box-shadow:0 10px 24px #0a66c229}.portfolio .portfolio-shell{gap:24px;transition:grid-template-columns .42s cubic-bezier(.22,1,.36,1);display:grid}.portfolio .portfolio-content{min-width:0;transition:opacity .32s}.portfolio .portfolio-toolbar{grid-column:1/-1}.portfolio .chat-sidebar{pointer-events:none;min-width:0;overflow:hidden}.portfolio .layout{align-items:start;gap:24px;transition:grid-template-columns .42s cubic-bezier(.22,1,.36,1),gap .32s;display:grid}.portfolio section{gap:24px;transition:opacity .32s,gap .32s;display:grid}.portfolio .portfolio-content .card{transition:opacity .32s,box-shadow .32s}@media (width>=960px){.portfolio .layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr)}.portfolio .portfolio-shell{grid-template-columns:minmax(0,1fr);align-items:start}.portfolio .portfolio-shell-open{grid-template-columns:minmax(0,1fr) minmax(380px,430px);align-items:start}.portfolio .portfolio-content{grid-column:1}.portfolio .portfolio-shell-open .layout{grid-template-columns:minmax(0,1fr)}.portfolio .chat-sidebar{position:sticky;top:24px}.portfolio .portfolio-shell-open .chat-sidebar{grid-column:2}.portfolio .chat-sidebar-inner{opacity:0;transition:opacity .32s,transform .46s cubic-bezier(.22,1,.36,1);transform:translate(34px)}.portfolio .chat-sidebar-open{pointer-events:auto}.portfolio .chat-sidebar-open .chat-sidebar-inner{opacity:1;transform:translate(0)}}.portfolio .section-block>.section-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.12em;margin-bottom:12px;font-size:.9rem}.portfolio .avatar{aspect-ratio:1;background:#262c3d;border:2px solid #ffffff0f;border-radius:50%;flex:0 0 180px;width:180px;min-width:180px;height:180px;min-height:180px;overflow:hidden}.portfolio .avatar img{object-fit:cover;width:100%;height:100%}.portfolio .hero{align-items:center;gap:18px;display:flex}.portfolio .hero-main{min-width:0}.portfolio .hero-main h1{margin:0;font-size:1.45rem;line-height:1.2}.portfolio .role{color:var(--text-muted);overflow-wrap:anywhere;max-width:55ch;font-size:.95rem;line-height:1.45}.portfolio .xp-pill{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-pill);align-items:center;gap:6px;margin-top:6px;padding:4px 10px;font-size:.78rem;display:inline-flex}.portfolio .xp-pill .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.portfolio .hero-meta{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.portfolio .section-block{margin-top:18px}.portfolio .meta-pill{border-radius:var(--radius-pill);border:1px solid var(--border-soft);background:var(--pill-bg);color:var(--text-muted);padding:4px 9px;font-size:.78rem}.portfolio .meta-pill strong{color:var(--text-main)}.portfolio .meta-link{color:var(--accent);margin-left:4px;text-decoration:none}.portfolio .meta-link:hover{text-decoration:underline}.portfolio .body-text{color:var(--text-muted);font-size:.88rem}.portfolio .section-shell-inner>.bullets{margin:0;padding:0;list-style:none}.portfolio .section-shell-inner>.bullets>li{color:var(--text-muted);margin-bottom:8px;padding-left:16px;font-size:.88rem;position:relative}.portfolio .section-shell-inner>.bullets>li:before{content:"•";color:var(--accent);position:absolute;left:0}.portfolio .tag-list{flex-wrap:wrap;gap:8px;display:flex}.portfolio .tag-list>.tag{border-radius:var(--radius-pill);background:var(--pill-bg);border:1px solid var(--border-soft);color:var(--text-muted);align-items:center;padding:6px 10px;font-size:.8rem;display:inline-flex}.portfolio .earlier-career-body{margin-top:2px}.portfolio .portfolio-footer{color:var(--text-muted);letter-spacing:.02em;justify-content:center;margin-top:28px;padding:18px 4px 0;font-size:.82rem;display:flex}@media (width<=959px){.portfolio .portfolio-toolbar{flex-direction:column;align-items:stretch}.portfolio .portfolio-shell{gap:24px}.portfolio .chat-sidebar{opacity:0;order:-1;max-height:0;transition:max-height .42s cubic-bezier(.22,1,.36,1),opacity .32s,transform .36s cubic-bezier(.22,1,.36,1);transform:translateY(-18px)}.portfolio .chat-sidebar-open{opacity:1;pointer-events:auto;max-height:1600px;transform:translateY(0)}.portfolio .assistant-toggle{justify-content:center;align-items:center;width:100%;display:inline-flex}.portfolio .theme-toggle,.portfolio .global-section-toggle{border-radius:999px;width:100%}.portfolio .toolbar-actions{flex-direction:column;align-items:stretch}.portfolio .hero{align-items:flex-start}}@media (width<=767px){.portfolio .portfolio-toolbar{gap:14px;margin-bottom:0}.portfolio .mobile-menu-toggle{border-radius:999px;flex:0 0 44px;width:100%;display:inline-flex}.portfolio .toolbar-actions{opacity:0;gap:0;max-height:0;transition:max-height .32s cubic-bezier(.22,1,.36,1),opacity .2s,gap .22s;overflow:hidden}.portfolio .toolbar-actions>*{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1),visibility 0s linear .26s;transform:translateY(-8px)scale(.98)}.portfolio .toolbar-actions-open{opacity:1;gap:10px;max-height:340px}.portfolio .mobile-menu-toggle-active{color:var(--button-active-color);background:radial-gradient(circle,#63afff47,#0000 68%),#0a66c229;border-color:#90c5ffeb;box-shadow:0 0 0 4px #0a66c21a,0 12px 28px #0a66c238,inset 0 0 0 1px #ffffff14}.portfolio .toolbar-actions-open>*{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1),visibility;transform:translateY(0)scale(1)}.portfolio .toolbar-actions-open>:first-child{transition-delay:35ms}.portfolio .toolbar-actions-open>:nth-child(2){transition-delay:70ms}.portfolio .toolbar-actions-open>:nth-child(3){transition-delay:.105s}.portfolio .toolbar-actions-open>:nth-child(4){transition-delay:.14s}.portfolio .toolbar-actions-open>:nth-child(5){transition-delay:.175s}}
