:root{color-scheme:light;--paper:#f4f0e7;--deep:#e7e1d4;--ink:#17252c;--muted:#52636a;--sea:#17647a;--sea-dark:#0d4b5e;--line:#9fb3b8;--focus:#b54d18;--mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--serif:Iowan Old Style,Palatino Linotype,Book Antiqua,Palatino,Georgia,serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--serif);text-rendering:optimizeLegibility}a{color:var(--sea-dark);text-underline-offset:.2em;text-decoration-thickness:.08em}a:hover{color:var(--sea)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-6rem;z-index:10;padding:.7rem 1rem;background:var(--ink);color:var(--paper);font-family:var(--mono)}.skip-link:focus{top:1rem}.wrap{width:min(70rem,calc(100% - 2rem));margin-inline:auto}.measure{max-width:48rem}header{padding-block:1rem;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.9rem}nav{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}nav ul{display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;margin:0;padding:0;list-style:none}.name{color:var(--ink);font-weight:700;text-decoration:none}main{padding-block:clamp(2.5rem,7vw,6rem)}section{padding-block:clamp(2.3rem,6vw,4.8rem);border-top:1px solid var(--line)}section:first-child{padding-top:0;border:0}.prompt-line{margin:0 0 1.4rem;font:500 clamp(.95rem,2.4vw,1.1rem)/1.5 var(--mono);overflow-wrap:anywhere}.command,.tap-command{display:inline-flex;min-height:44px;align-items:center;padding:.45rem .2rem;border:0;background:transparent;color:var(--sea-dark);font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.prompt-line .command{margin-block:-.45rem}.human-output{font-size:clamp(1.16rem,2.4vw,1.45rem);line-height:1.62}.human-output p{margin:0 0 1.25rem}.status-list,.case-meta{margin:2rem 0 0;font:clamp(.82rem,2vw,.94rem)/1.55 var(--mono)}.status-list div,.case-meta div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.8rem}.status-list dt,.case-meta dt{color:var(--muted)}.status-list dd,.case-meta dd{margin:0}.coast{margin:0;overflow:hidden;background:#8297a9}.coast picture{display:contents}.coast img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}.coast figcaption{padding:.55rem .75rem;background:var(--deep);color:var(--muted);font:.78rem/1.4 var(--mono)}.listing article{padding:1.15rem 0;border-bottom:1px dashed var(--line)}.listing article:first-child{padding-top:0}.listing article:last-child{border:0}.listing p{max-width:48rem;margin:.3rem 0}.file-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;align-items:baseline;font-family:var(--mono)}.file-line span,.file-line small{color:var(--muted);font-size:.78rem}.tap-command{font:.85rem/1.4 var(--mono)}.contact-links{display:grid;gap:.3rem;margin:1.4rem 0 0;padding:0;list-style:none;font-family:var(--mono)}.contact-links li{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem}.contact-links a{display:inline-flex;min-width:6.5rem;min-height:44px;align-items:center;font-weight:700}.contact-links span{color:var(--muted)}.console-disclosure{margin-top:clamp(2rem,6vw,5rem);padding-top:1rem;border-top:3px double var(--sea);font-family:var(--mono)}.console-disclosure>summary{display:flex;min-height:44px;width:max-content;align-items:center;color:var(--sea-dark);cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.console-form{margin-top:1rem}.console-form label{display:block;margin-bottom:.4rem;font-size:.86rem;font-weight:700}.input-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center}.input-row input{min-width:0;height:44px;padding:.55rem .65rem;border:1px solid var(--line);border-radius:0;background:#faf7f0;color:var(--ink);font:1rem var(--mono)}button{min-height:44px;padding:.5rem 1rem;border:1px solid var(--sea-dark);background:var(--sea-dark);color:var(--paper);font:700 .9rem var(--mono);cursor:pointer}.console-output{margin-top:1.2rem}.result{margin:0 0 1.2rem;padding-left:1rem;border-left:2px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.result .entered{display:block;color:var(--muted)}.result a{display:inline-flex;min-height:44px;align-items:center}.noscript{padding:1rem;background:var(--deep);font-family:var(--mono);font-size:.85rem}footer{padding-block:2rem;border-top:1px solid var(--line);color:var(--muted);font:.78rem/1.5 var(--mono)}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem}
.listing article.agent-match{margin-inline:-.75rem;padding-inline:.75rem;border-left:3px solid var(--focus);background:rgb(181 77 24/.07)}.webmcp-status{max-width:48rem;margin:1rem 0 0;color:var(--muted);font:.82rem/1.5 var(--mono)}
.listing .agent-badge{display:inline-flex;min-height:44px;align-items:center;gap:.45rem;padding:.15rem .7rem;border:1px solid var(--sea);border-radius:999px;background:rgb(23 100 122/.06);font:.76rem/1.4 var(--mono);text-decoration:none}.agent-badge:hover{background:rgb(23 100 122/.12)}
/* case files */.casefile{max-width:58rem}.casefile h1{margin:.35rem 0 1rem;font:500 clamp(2.3rem,7vw,4.8rem)/1.08 var(--serif);letter-spacing:-.025em}.manual-name,.casefile h2{font-family:var(--mono)}.manual-name{margin:0;color:var(--muted);font-size:.86rem}.casefile .lede{max-width:48rem;margin:0 0 2rem;font-size:clamp(1.2rem,2.5vw,1.55rem)}.casefile h2{margin:3.2rem 0 .8rem;padding-bottom:.35rem;border-bottom:1px solid var(--line);font-size:1rem;letter-spacing:.04em;text-transform:lowercase}.casefile p,.casefile ul{max-width:48rem}.casefile code{font-family:var(--mono);font-size:.88em}.evidence{margin:1rem 0;padding:1rem;border-left:3px solid var(--sea);background:var(--deep);font:.86rem/1.6 var(--mono)}.trace{max-width:48rem;margin:2.5rem 0;border-block:1px dashed var(--line);font-family:var(--mono)}.trace summary{display:flex;min-height:52px;align-items:center;color:var(--sea-dark);cursor:pointer}.trace p{font-family:var(--serif);font-size:1.08rem}.return-command{display:inline-flex;min-height:44px;align-items:center;font-family:var(--mono)}
@media (hover:hover) and (pointer:fine) and (min-width:48rem){.console-disclosure>summary{display:none}.console-disclosure:not([open])>.console-form,.console-disclosure:not([open])>.console-output{display:block}.console-disclosure{padding-top:1.5rem}}
@media(max-width:42rem){nav{align-items:flex-start;flex-direction:column}.file-line{align-items:flex-start;flex-direction:column}.file-line span{display:none}.status-list div,.case-meta div{grid-template-columns:1fr;gap:0;margin-bottom:.65rem}.coast img{aspect-ratio:4/3}.human-output br{display:none}footer .wrap{flex-direction:column}.casefile h2{margin-top:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:#fff}.skip-link,nav ul,.console-disclosure,.tap-command{display:none!important}header{border:0}.coast{break-inside:avoid}a{color:inherit}}
.prose{max-width:48rem}.prose h1{margin:.4rem 0 1.2rem;font:500 clamp(2.2rem,6vw,4rem)/1.1 var(--serif)}.prose h2{margin:3rem 0 .7rem;padding-bottom:.3rem;border-bottom:1px solid var(--line);font:600 1rem/1.4 var(--mono)}.prose .lede{font-size:clamp(1.15rem,2.5vw,1.45rem)}
.prose>.eyebrow{margin:0;color:var(--muted);font:500 .82rem/1.5 var(--mono)}
.case-lab{max-width:48rem;margin:1.5rem 0 2rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--line);background:rgb(255 255 255/.22)}.case-lab blockquote{margin:.4rem 0 0;font-size:clamp(1.35rem,3vw,1.8rem)}.case-lab-label{margin:0;color:var(--muted);font:.75rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em}.surface-temptation{margin:.2rem 0 .8rem;color:var(--muted);font-style:italic}.agent-prompt{margin:0 0 1.2rem;padding:.75rem;border:1px dashed var(--line);font:.82rem/1.55 var(--mono)}.evidence-controls{display:flex;flex-wrap:wrap;gap:.6rem}.evidence-controls button{background:transparent;color:var(--sea-dark)}.evidence-controls button:disabled{border-color:var(--line);color:var(--muted);cursor:default}.case-lab-status{margin:.7rem 0;color:var(--muted);font:.78rem/1.5 var(--mono)}.case-field-note{margin:.7rem 0 0;color:var(--sea-dark);font:.82rem/1.5 var(--mono)}.evidence-stack{display:grid;gap:.6rem;margin:1rem 0;padding:0;list-style:none}.evidence-stack li{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;padding:.75rem;border-left:3px solid var(--sea);background:var(--deep)}.evidence-stack strong{font:.78rem/1.5 var(--mono)}.case-assessment{margin-top:1rem;padding:1rem;border:2px solid var(--focus)}.case-assessment p{margin:.25rem 0}.case-assessment #assessment-rationale{color:var(--muted);font-size:.9rem}.case-assessment-note{font:.78rem/1.5 var(--mono)}
.intro-output{max-width:52rem}.experience-list{max-width:52rem}.experience-name{margin:0;font:600 clamp(1.3rem,3vw,1.7rem)/1.3 var(--serif)}.experience-scope{margin:.25rem 0 1.5rem;color:var(--muted);font: .88rem/1.5 var(--mono)}.experience-signals{margin:1.4rem 0 1.7rem;padding-block:1rem;border-block:1px dashed var(--line);font:.88rem/1.6 var(--mono)}.experience-signals div{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem}.experience-signals dt{color:var(--muted)}.experience-signals dd{margin:0}.experience-summary{font-size:1.15rem}.inline-links{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:1.5rem;font-family:var(--mono);font-size:.85rem}.contact-section{border-top-color:var(--sea)}
.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.focus-card{display:flex;flex-direction:column;padding:1.1rem;border:1px solid var(--line);background:rgb(255 255 255/.2)}.focus-card h3{margin:0 0 .7rem;font:600 1.05rem/1.35 var(--serif)}.focus-card p{margin:.4rem 0}.focus-card .focus-link{margin-top:auto;padding-top:.8rem;font-family:var(--mono);font-size:.8rem}.focus-card a{display:inline-flex;min-height:44px;align-items:center}.project-focus{margin:.25rem 0 0!important;color:var(--muted);font:.78rem/1.5 var(--mono)}
.icebreakers{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.6rem 0}.icebreakers article{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--line);background:rgb(255 255 255/.2)}.icebreakers p{margin:0 0 1rem}.icebreaker-label{color:var(--muted);font:.75rem/1.4 var(--mono);text-transform:lowercase}.icebreakers .copy-opener{align-self:flex-start;margin-top:auto;background:transparent;color:var(--sea-dark);font-size:.78rem}.copy-status{min-height:1.5em;margin:0;color:var(--muted);font:.78rem/1.5 var(--mono)}
.rehearsal-section{border-top-color:var(--sea)}.rehearsal-agent-prompt{padding:.75rem;border:1px dashed var(--line);font:.82rem/1.55 var(--mono)}.starter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;max-width:48rem;margin:1.4rem 0}.starter-grid button{text-align:left;background:transparent;color:var(--sea-dark)}.rehearsal-scene,.conversation-card{max-width:48rem;margin:1rem 0;padding:1rem;border:1px solid var(--line);background:rgb(255 255 255/.22)}.rehearsal-scene h3{margin:.25rem 0;font:500 clamp(1.25rem,3vw,1.6rem)/1.3 var(--serif)}.rehearsal-example{font-size:1.2rem}.rehearsal-paths,.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.rehearsal-paths a{display:inline-flex;min-height:44px;align-items:center;font-family:var(--mono);font-size:.82rem}.conversation-card label{display:block;margin-top:1rem;font:700 .78rem/1.5 var(--mono)}.conversation-card textarea{display:block;width:100%;margin:.35rem 0;padding:.65rem;border:1px solid var(--line);border-radius:0;background:#faf7f0;color:var(--ink);font:1rem/1.45 var(--serif);resize:vertical}.card-evidence{margin:.8rem 0 .2rem;padding:.75rem;border-left:3px solid var(--sea);background:var(--deep);font:.8rem/1.5 var(--mono)}.secondary-action{background:transparent;color:var(--sea-dark)}.privacy-note{color:var(--muted);font:.76rem/1.5 var(--mono)}
@media(max-width:42rem){.experience-signals div,.evidence-stack li{grid-template-columns:1fr;gap:.2rem}.experience-signals div{margin-bottom:.65rem}.icebreakers,.starter-grid{grid-template-columns:1fr}.focus-grid{grid-template-columns:1fr}}

/* living diary */
.site-title{margin:0;font:inherit}.diary-shell,.diary-nav{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.diary-mode .portfolio-nav,.diary-mode #about,.diary-mode #experience,.diary-mode #projects,.diary-mode #contact,.diary-mode #coast,.diary-mode #console,.diary-mode footer{display:none!important}.diary-mode .diary-nav{display:flex}.diary-mode .diary-shell{display:block;min-height:70vh;max-width:48rem;padding-top:0}.diary-mode main{padding-top:clamp(3.5rem,10vw,8rem)}
.diary-invitation{max-width:38rem;margin:0 0 1.7rem;font-size:clamp(1.2rem,2.8vw,1.55rem)}.diary-beat{margin:0 0 1.3rem;padding:1rem 1.1rem;border-left:3px solid var(--line);background:rgb(255 255 255/.18)}.diary-beat-label{margin:0 0 .4rem;color:var(--muted);font:.74rem/1.4 var(--mono);text-transform:lowercase}.diary-beat-text{margin:0;white-space:pre-line;font-size:clamp(1.12rem,2.4vw,1.38rem);line-height:1.55}.diary-aside{margin:.55rem 0 0;color:var(--muted);font-style:italic}.diary-beat-evidence{border-color:var(--sea);background:var(--deep)}.diary-beat-evidence .diary-beat-text{font:.88rem/1.6 var(--mono)}.diary-beat-inference{border:1px dashed var(--line);border-left:3px dashed var(--focus)}.diary-beat-inference .diary-beat-text{font-style:italic}.diary-beat a{display:inline-flex;min-height:44px;align-items:center;margin-top:.35rem;font:.8rem/1.4 var(--mono)}.diary-actions,.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:1rem}.diary-actions button:disabled{border-color:var(--line);background:transparent;color:var(--muted);cursor:default}.earlier-ink{margin:1.25rem 0;border-block:1px dashed var(--line)}.earlier-ink summary{display:flex;min-height:44px;align-items:center;color:var(--muted);font:.8rem/1.4 var(--mono);cursor:pointer}.earlier-ink .diary-beat{opacity:.8}.diary-beat.is-new{animation:ink-in .38s ease-out both}@keyframes ink-in{from{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:none}}
@media(max-width:42rem){.diary-mode nav{gap:.6rem}.diary-mode .diary-nav{gap:.2rem 1rem}.diary-mode main{padding-top:3rem}.diary-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.diary-beat.is-new{animation:none}}
