:root{--paper:#f6f4ed;--ink:#253d33;--muted:#737c70;--line:#d9ded1;--green:#325c47;--lime:#dbf59a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{color:inherit}button{cursor:pointer}a{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bf6c36;outline-offset:5px}[hidden]{display:none!important}.shell{max-width:1080px;min-height:100svh;margin:auto;display:flex;flex-direction:column;padding:0 40px}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.wordmark{font:700 30px 'Space Grotesk',sans-serif;letter-spacing:-2px}.wordmark span{color:#8a9c6d}nav{display:flex;gap:8px;padding:4px;border:1px solid var(--line);border-radius:30px}nav button{font-size:12px;border:0;border-radius:20px;background:none;padding:9px 18px;color:var(--muted)}nav button[aria-selected=true]{background:var(--ink);color:var(--paper)}.online{font:10px monospace;color:var(--muted);white-space:nowrap}.online i,.status-dot{width:6px;height:6px;background:#86a568;display:inline-block;border-radius:50%;margin-right:6px}main{flex:1}#home{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:50px;min-height:calc(100svh - 155px);padding:36px 0;position:relative}.eyebrow{font:10px monospace;letter-spacing:1.2px;color:var(--muted)}h1,h2{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-2.5px;line-height:1.08}h1{font-size:clamp(38px,4.8vw,62px);margin:25px 0}em{font-style:normal;color:#7c915e}.intro>p{font-size:14px;line-height:1.9;max-width:350px}.intro>p>span{font-size:11px;color:var(--muted)}.toy{border:1px solid #bac7b1;border-radius:16px;background:#eeeee2;box-shadow:7px 7px 0 #dde2d2;padding:20px;min-width:0}.toy-top,.toy-bottom{display:flex;justify-content:space-between;gap:8px;font:9px monospace;color:var(--muted)}.toy-top{padding-bottom:14px;border-bottom:1px dashed #c8cebc}.toy-top>span:last-child{font-size:8px}.mascot{height:127px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.antenna{font-size:26px;color:#82985e;line-height:1}.face{width:69px;height:56px;background:var(--lime);border:1.5px solid var(--ink);border-radius:14px 14px 20px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:4px 3px 0 #c1cbaa;transform:rotate(-5deg);transition:transform .2s}.toy:focus-within .face{transform:rotate(4deg)}#eyes{font:17px monospace}.mouth{font:18px monospace;line-height:12px}.mascot-note{font:9px monospace;margin-top:12px;color:var(--muted)}.answer{min-height:105px;text-align:center;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;overflow-wrap:anywhere}.answer p{font-size:14px;line-height:1.8;margin:8px 0 18px}.entity{display:inline-flex;flex-direction:column;align-items:flex-start;border:1px solid #a3b68a;background:#e0edc5;border-radius:5px;padding:5px 8px;font:12px monospace;gap:4px;margin:4px 0}.entity small{font-size:8px;color:var(--green);letter-spacing:1px}.entity[data-type="EMAIL"]{background:#e7e1fb;border-color:#c2b6de}.entity[data-type="EMAIL"] small{color:#72538c}.input-wrap{display:flex;align-items:center;gap:10px;background:#fffef8;border:1px solid #b8c2ab;border-radius:7px;padding:6px 10px}.prompt-symbol{font:26px monospace;color:#91a16e}.input-wrap input{min-width:0;width:100%;border:0;background:none;padding:9px 0;color:var(--ink);font-size:13px}.input-wrap input:focus{outline:none}.input-wrap:focus-within{outline:2px solid #84966a;outline-offset:2px}#clear{border:0;background:none;color:var(--muted);font-size:21px}.correction{height:30px;display:flex;align-items:center;font-size:10px;color:var(--muted);gap:6px}.correction button{font:10px monospace;background:none;border:0;color:var(--green);text-decoration:underline;padding:0}.suggestions{display:flex;flex-wrap:wrap;gap:6px}.suggestions button{font-size:10px;padding:7px 9px;border:1px solid #c7ceba;background:transparent;border-radius:20px}.suggestions button:hover{background:var(--lime)}.toy-bottom{font-size:8px;margin-top:19px;border-top:1px dashed #c8cebc;padding-top:12px;line-height:1.6}.footnote{position:absolute;bottom:7px;left:0;color:var(--muted);font:9px monospace}.footnote span{margin-left:12px}footer{min-height:67px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;font:10px monospace;color:var(--muted)}footer div{display:flex;gap:20px}#experience,#writing{padding:36px 0 25px}.page-heading h2{font-size:42px;margin:15px 0}.page-heading>p{font-size:12px;color:var(--muted);line-height:1.7}.timeline{position:relative;height:210px;margin:10px 10px 20px 0}.timeline svg{width:100%;height:100%;overflow:visible}.grid{fill:none;stroke:#dde2d6;stroke-dasharray:4 6}.career-curve{fill:none;stroke:#6b8551;stroke-width:3}.curve-shadow{fill:none;stroke:#e5eccf;stroke-width:18}.job{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-8px);border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;min-width:68px}.job-dot{width:16px;height:16px;border-radius:50%;border:3px solid var(--paper);background:#8a9e71;box-shadow:0 0 0 1px #8a9e71;transition:transform .2s}.job[aria-pressed=true] .job-dot{background:var(--ink);box-shadow:0 0 0 6px #d9e7bf;transform:scale(1.15)}.job-name{margin-top:12px;font:500 13px 'Space Grotesk',sans-serif}.job small{font:9px monospace;margin-top:4px;color:var(--muted)}.chart-note{font:9px monospace;color:var(--muted);margin:0 0 16px}.job-detail{display:grid;grid-template-columns:1fr 1.5fr;gap:35px;border:1px solid var(--line);background:#efefe4;border-radius:10px;padding:22px;min-height:155px}.job-detail h3{font:500 22px 'Space Grotesk',sans-serif;letter-spacing:-.5px;margin:10px 0}.job-detail p{font-size:12px;line-height:1.8;margin:0 0 12px}.skill-tags{display:flex;flex-wrap:wrap;gap:6px}.skill-tags span{font:9px monospace;border:1px solid #becbad;border-radius:4px;padding:6px 8px;background:#e5edda}.toolbox{display:flex;align-items:center;gap:22px;margin-top:20px}.toolbox p{font-size:10px;color:var(--muted)}#writing{min-height:calc(100svh - 155px)}.empty-state{margin:35px 0;padding:30px;background:#eeeee2;border:1px dashed #b9c6aa;border-radius:12px;max-width:530px}.empty-icon{font:50px monospace;color:#9cac82;display:block;margin-bottom:15px}.empty-state p{font-size:13px;line-height:1.8;color:var(--muted)}.empty-state a{font-size:12px;border-bottom:1px solid}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.shell{padding:0 22px}header{height:72px;gap:15px}.online{display:none}nav button{padding:8px 13px}#home{grid-template-columns:1fr;gap:18px;min-height:auto;padding:28px 0 35px}.intro h1{font-size:39px;margin:12px 0}.intro h1 br{display:none}.intro h1 br:after{content:' '}.intro>p{font-size:12px;margin:10px 0}.intro>p>span{font-size:10px}.toy{padding:16px}.mascot{height:94px}.answer{min-height:88px}.answer p{font-size:13px}.footnote{position:static;margin:0;font-size:8px}.footnote span{margin-left:0}.footer-joke{display:none}footer{font-size:9px}footer div{gap:12px}.page-heading h2{font-size:34px}.timeline{height:175px}.job{min-width:48px}.job-name{font-size:11px}.job small{font-size:8px}.job-detail{grid-template-columns:1fr;gap:10px;padding:18px}.job-detail h3{margin:8px 0}.toolbox{display:block}.eyebrow{font-size:9px}.toy-top{font-size:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.inline-link{border:0;border-bottom:1px solid var(--green);padding:0;background:none;font-size:12px;margin-top:8px}.input-entities{font:10px monospace;color:var(--muted);line-height:1.8;max-height:70px;overflow:auto}.input-entities .entity{font-size:10px;padding:2px 5px}.input-entities .entity small{font-size:7px}.answer p .entity a:hover{text-decoration:underline}.intro h1 em{white-space:normal}@media(max-width:760px){.intro h1 br{display:block}.intro h1{font-size:36px}.intro h1 br:first-of-type{display:none}}
.job-detail{display:block;padding:18px 22px}.job-overview{display:grid;grid-template-columns:1fr 1.4fr;column-gap:25px}.job-overview>.eyebrow{grid-column:1}.job-overview h3{grid-column:1;font-size:19px}.job-overview>p{grid-column:2;grid-row:1/3;align-self:center;font-size:11px}.branch-tree{max-width:760px;margin:auto}.branch-tree svg{height:38px;width:100%;display:block;overflow:visible}.branch-tree svg path{fill:none;stroke:#9eb087;stroke-width:1.5}.branch-tree svg circle{fill:#567047}.branch-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.branch-buttons button{border:1px solid #bac9a6;border-radius:6px;background:#f4f4e9;padding:9px 5px;font:10px 'DM Sans',sans-serif;line-height:1.4}.branch-buttons button[aria-pressed=true]{background:#dcebc3;border-color:#7b955b}#branch-detail{padding-top:13px;min-height:75px}#branch-detail p{font-size:11px;margin-bottom:8px}.branch-skills{font:9px monospace;color:#5b7150}.toolbox{margin-top:12px}.timeline{height:180px}.page-heading h2{font-size:36px}.page-heading{margin-bottom:0}#experience{padding-top:25px}.answer{max-height:190px;overflow:auto}@media(max-width:760px){.job-overview{display:block}.job-overview>p{margin-top:10px}.branch-buttons{gap:5px}.branch-buttons button{font-size:9px;padding:8px 3px}.job-detail{padding:16px}.timeline{height:160px}.page-heading h2{font-size:30px}}
#opportunity-dialog{width:min(540px,calc(100% - 32px));max-height:90svh;overflow:auto;border:1px solid #a7b995;background:var(--paper);color:var(--ink);border-radius:16px;padding:26px;box-shadow:8px 8px 0 #bdc7ad}#opportunity-dialog::backdrop{background:#182b2380;backdrop-filter:blur(4px)}.compose-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.compose-top button{border:0;background:none;font-size:25px}.compose-intro,.recipient,.send-note{font-size:12px;line-height:1.7;color:var(--muted)}#opportunity-title{font:500 32px 'Space Grotesk',sans-serif;letter-spacing:-1px;margin:16px 0 10px}.recipient a{color:var(--green)}#opportunity-form label{display:block;font-size:12px;margin:17px 0 8px}#opportunity-form input,#opportunity-form textarea{width:100%;padding:12px;border:1px solid #bbc8ad;border-radius:6px;background:#fffef8;color:var(--ink);font:13px/1.7 'DM Sans',sans-serif}#opportunity-form textarea{resize:vertical;min-height:140px}.compose-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.compose-actions button{padding:11px 14px;border:1px solid #b4c3a5;border-radius:20px;background:none;font-size:11px}.compose-actions .send-draft{background:var(--green);color:white;border-color:var(--green)}@media(max-width:760px){#opportunity-dialog{padding:20px}.compose-actions button{font-size:10px;padding:10px}}
.ai-notice{font-size:.75rem;line-height:1.5;color:var(--muted,#666);margin:0 0 14px}.answer p{white-space:pre-line}#ask-ai:disabled{opacity:.6;cursor:wait}

/* Clear, consistent typography and a separate model speech bubble. */
:root{--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
button,input,textarea{font-family:inherit}
h1,h2,.wordmark,.job-name,.job-detail h3,#opportunity-title{font-family:var(--font-sans)}
h1,h2{letter-spacing:-.045em;line-height:1.12}
.mascot{height:auto;min-height:140px;padding:22px 0 16px;gap:10px}
.mascot-note{margin:0;font:12px/1.5 var(--font-sans)}
.answer{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;text-align:left;max-height:none;overflow:visible;min-height:100px;padding:4px 0 20px}
.answer>div:not(.llm-bubble){width:100%}
.answer p{font:15px/1.7 var(--font-sans);margin:0;white-space:pre-line}
.input-entities{font:13px/1.6 var(--font-sans);max-height:none;overflow:visible;overflow-wrap:anywhere}
.entity,.input-entities .entity{font-family:var(--font-sans);font-size:12px}
.entity small,.input-entities .entity small{font:600 9px/1.3 var(--font-sans);letter-spacing:.07em}
.llm-bubble{position:relative;margin:5px 0 0 12px;padding:20px 22px;background:#fffef8;border:1px solid #cbd4bf;border-radius:0 26px 26px 26px;box-shadow:0 4px 12px #253d3308}
.llm-bubble:before{content:"";position:absolute;left:-1px;top:-11px;width:18px;height:20px;background:#fffef8;border-left:1px solid #cbd4bf;border-top:1px solid #cbd4bf;clip-path:polygon(0 0,100% 100%,0 100%)}
.llm-bubble small{display:block;margin-top:14px;font:12px/1.5 var(--font-sans);color:var(--muted)}
.input-wrap input{font-size:16px}
.ai-notice{font-size:12px;line-height:1.6}
.suggestions button{font-size:12px}
.branch-buttons button,#opportunity-form input,#opportunity-form textarea{font-family:var(--font-sans)}
@media(max-width:760px){.intro h1{font-size:clamp(32px,8.5vw,42px);letter-spacing:-.045em}.intro h1 br,.intro h1 br:first-of-type{display:block}.intro>p{font-size:14px}.intro>p>span{font-size:12px}.mascot{min-height:130px}.answer p{font-size:15px}.llm-bubble{padding:18px;margin-left:8px}.toy-top,.toy-top>span:last-child,.toy-bottom{font-family:var(--font-sans);font-size:10px}.toy-bottom{flex-wrap:wrap;gap:5px 12px}.input-entities{font-size:13px}}


/* A finite, transparent vector vignette; no animated image download. */
.bowling-scene{position:relative;width:min(100%,320px);margin:0 auto}
.bowling-scene svg{display:block;width:100%;height:auto;overflow:visible}
.scene-replay{position:absolute;top:0;right:0;border:0;background:transparent;color:var(--muted);font:11px/1.5 var(--font-sans);min-height:32px;padding:5px 8px;border-radius:16px}
.scene-replay:hover{background:#dde2d2;color:var(--ink)}
@media(prefers-reduced-motion:reduce){.scene-replay{display:none}}

.entity[data-type="LOCATION"]{background:#dfebf3;border-color:#afc5d5}
.entity[data-type="RESEARCH TOPIC"],.entity[data-type="PROJECT"]{background:#e7e1fb;border-color:#c2b6de}
.entity[data-type="INTEREST"],.entity[data-type="MOVIE"],.entity[data-type="FOOD"],.entity[data-type="DRINK"]{background:#f6e8cf;border-color:#d6bd8e}
.entity[data-type="INTENT"],.entity[data-type="TOPIC"]{background:#edf0e7;border-color:#bdc7ad}
.llm-bubble .entity{vertical-align:middle;margin:3px 1px;max-width:100%;overflow-wrap:anywhere}
.llm-bubble .entity small{margin:0;font:600 9px/1.3 var(--font-sans);letter-spacing:.07em}

.entity[data-type="OBJECT"]{background:#f0e5dc;border-color:#cbb7a6}
