/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-font-weight:initial;--tw-border-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--color-black:#000;--spacing:.25rem;--container-sm:24rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600}}@layer base{*,:after,:before{border-style:solid;border-width:0;border-color:var(--border)}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-2{height:calc(var(--spacing) * 2)}.h-auto{height:auto}.h-full{height:100%}.w-\[100px\]{width:100px}.w-full{width:100%}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e+38px}.bg-background{background-color:var(--bg)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-muted{background-color:var(--bg-alt)}.p-4{padding:calc(var(--spacing) * 4)}.px-4{padding-inline:calc(var(--spacing) * 4)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-foreground{color:var(--text)}.text-muted-foreground{color:var(--muted)}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *),.group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:0}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:0}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:12px;border-top-right-radius:12px}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:0}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:0}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left]{width:75%}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:0}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:0}.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:0}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:0}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:12px;border-bottom-left-radius:12px}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media (min-width:40rem){.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--container-sm)}}@media (min-width:48rem){.md\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.md\:text-left{text-align:left}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--bg:#fff;--bg-alt:#f7f8fa;--text:#0f172a;--muted:#64748b;--brand:#2563eb;--brand-strong:#1d4ed8;--on-brand:#fff;--brand-weak:#2563eb1a;--accent:#16a34a;--border:#e2e8f0;--card:#fff;--input-bg:#fff;--focus-ring:#2563eb40;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}:root[data-theme=dark]{--bg:#0b1120;--bg-alt:#111827;--text:#e5e7eb;--muted:#94a3b8;--brand:#60a5fa;--brand-strong:#93c5fd;--on-brand:#0b1120;--brand-weak:#60a5fa24;--accent:#4ade80;--border:#334155;--card:#1a2234;--input-bg:#0b1120;--focus-ring:#60a5fa4d}*{box-sizing:border-box}body,html{margin:0;padding:0}body{color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.container{max-width:960px;margin:0 auto;padding:0 24px}.section{padding:64px 0}.section--alt{background:var(--bg-alt)}.eyebrow{font-family:var(--mono);color:var(--brand);font-size:14px}.card{border:1px solid var(--border);border-radius:12px;padding:20px}.btn,.card{background:var(--card)}.btn{cursor:pointer;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 20px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-block}.btn:hover{color:var(--brand)}.btn--primary,.btn:hover{border-color:var(--brand)}.btn--primary{background:var(--brand);color:var(--on-brand)}.btn--primary:hover{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand)}.tag{font-family:var(--mono);border:1px solid var(--border);border-radius:6px;margin:0 6px 6px 0;padding:4px 10px;font-size:13px;display:inline-block}.method-list{flex-wrap:wrap;margin:20px 0 0;padding:0;list-style:none;display:flex}input,textarea{border:1px solid var(--border);width:100%;font:inherit;background:var(--input-bg);color:var(--text);border-radius:8px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring);outline:none}input::placeholder,textarea::placeholder{color:var(--muted)}.bar{background:var(--border);border-radius:4px;height:6px;overflow:hidden}.bar>span{background:var(--brand);height:100%;display:block}.social-links{gap:10px;margin-top:16px;display:flex}.social-links a{border:1px solid var(--border);width:40px;height:40px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;transition:color .15s,border-color .15s,transform .15s;display:inline-flex}.social-links a:hover{color:var(--brand);border-color:var(--brand);transform:translateY(-2px)}.icon-btn{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s;display:inline-flex}.icon-btn:hover{color:var(--brand);border-color:var(--brand)}.select{height:36px;font-family:var(--mono);border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 10px center;background-repeat:no-repeat;border-radius:8px;padding:0 30px 0 12px;font-size:13px}.select:hover{border-color:var(--brand)}.skill-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;gap:14px 24px;margin:20px 0;padding:12px 0 18px}.skill-group,.skill-toolbar{flex-wrap:wrap;align-items:center;display:flex}.skill-group{gap:8px}.skill-tb-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:2px;font-size:11px}.skill-filter{font-family:var(--mono);border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:12.5px;transition:background .14s,border-color .14s,color .14s}.skill-filter:hover{border-color:var(--brand);color:var(--brand)}.skill-filter[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.skill-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.skill-card{border:1px solid var(--border);background:var(--card);border-radius:12px;flex-direction:column;gap:8px;padding:16px;animation:skill-pop .28s both;display:flex}@keyframes skill-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.skill-card{animation:none}}.skill-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.skill-name{font-size:16px;font-weight:700}.skill-badge{font-family:var(--mono);color:var(--brand);background:var(--brand-weak);border:1px solid var(--brand);white-space:nowrap;border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:600}.skill-cat{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.skill-card-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.skill-add{border:1px solid var(--border);background:var(--card);width:26px;height:26px;color:var(--muted);cursor:pointer;border-radius:8px;flex:none;font-size:16px;font-weight:700;line-height:1;transition:background .14s,border-color .14s,color .14s}.skill-add:hover{border-color:var(--brand);color:var(--brand)}.skill-add[aria-pressed=true]{border-color:var(--brand)}.shortlist-fab,.skill-add[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.shortlist-fab{z-index:40;border:1px solid var(--brand);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 20px #0f172a2e}.shortlist-fab:hover{background:var(--brand-strong);transform:translateY(-1px)}.shortlist-fab-count{background:var(--on-brand);min-width:22px;height:22px;color:var(--brand);font-family:var(--mono);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.shortlist-drawer{border-left:1px solid var(--border);background:var(--card);width:min(440px,100vw);max-width:none}.shortlist-title{margin:0;font-size:16px}.shortlist-clear{font-family:var(--mono);color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.shortlist-clear:hover{color:var(--brand)}.shortlist-empty{color:var(--muted);margin:4px 0 0;font-size:14px}.shortlist-footer{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.shortlist-chips{flex-wrap:wrap;margin:12px 0 0;padding:0;list-style:none;display:flex}.shortlist-chip{align-items:center;gap:6px;display:inline-flex}.shortlist-remove{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:15px;line-height:1}.shortlist-remove:hover{color:var(--brand)}.shortlist-add{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.shortlist-add input{flex:180px;width:auto}.shortlist-add .btn{flex:none}.form-sublabel{margin-bottom:4px;display:block}.shortlist-chips--readonly{margin-top:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.role-line{font-family:var(--mono);color:var(--brand);align-items:baseline;display:inline-flex}.role-prompt{color:var(--muted);margin-right:8px}.role-cursor{background:var(--brand);width:9px;height:1.05em;margin-left:3px;animation:cursor-blink 1.06s step-end infinite;display:inline-block;transform:translateY(2px)}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.role-cursor{animation:none}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}