:root{--paper: #f4f1df;--paper-alt: #e8e2c5;--ink: #111111;--line: #777777;--growth: #2f6b2f;--danger: #7a1f1f}html{background:#c7c7c7;color:var(--ink);font-family:Georgia,Times New Roman,serif}body{margin:0}a{color:#00e}a:visited{color:#551a8b}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--growth);outline-offset:2px}.page-shell{position:relative;isolation:isolate;--frame-overlap: clamp(128px, 3vw, 34px);--frame-edge-height: clamp(108px, 14vw, 180px);--frame-side-width: clamp(72px, 9vw, 112px);max-width:820px;margin:calc(24px + var(--frame-overlap)) auto;padding:clamp(72px,8vw,108px) clamp(34px,6vw,72px);background:var(--paper);border:2px ridge var(--line)}.frame-scene{position:absolute;inset:calc(var(--frame-overlap) * -1);z-index:1;display:block;width:calc(100% + var(--frame-overlap) * 2);height:calc(100% + var(--frame-overlap) * 2);pointer-events:none}.page-shell>:not(.frame-scene){position:relative;z-index:2}.site-header h1{margin:0;font-size:42px}.site-header h1 a{color:var(--ink);text-decoration:none}.eyebrow{margin:0 0 8px;font-family:monospace;color:var(--danger)}.tagline{margin-top:8px;font-style:italic}.language-switcher{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:14px}.language-switcher a[aria-current=true]{color:var(--ink);font-weight:700;text-decoration:none}.box{margin:18px 0;padding:12px;border:1px solid var(--line);background:var(--paper-alt)}.error-box{border-style:dashed}.terminal-block,.directory-listing{overflow-x:auto;padding:12px;background:#111;color:#d8ffd8;font-family:Courier New,monospace;font-size:14px}.link-table{padding:0;list-style:none}.link-table li{display:grid;grid-template-columns:180px 130px 1fr;gap:8px;padding:4px 0;border-bottom:1px dotted var(--line)}.two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.status-box dl{margin:0}.status-box div{display:grid;grid-template-columns:120px 1fr;gap:8px}.status-box dt{font-weight:700}.canvas-box canvas{display:block;margin-top:12px;border:1px solid var(--line);background:#111}.site-footer{font-size:14px}@media(max-width:700px){.link-table li,.two-column,.status-box div{display:block}.page-shell{--frame-overlap: 0px;--frame-edge-height: clamp(72px, 24vw, 96px);--frame-side-width: clamp(42px, 12vw, 54px);margin:0;padding:calc(var(--frame-edge-height) * .78) max(calc(var(--frame-side-width) + 8px),22px) calc(var(--frame-edge-height) * .9);border-left:0;border-right:0}}.section-hint{font-size:14px;font-style:italic;color:var(--line)}.project-list{list-style:none;padding:0;margin:0}.project-card{padding:12px 0;border-bottom:1px dotted var(--line)}.project-card:last-child{border-bottom:0}.project-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.project-head h3{margin:0;font-size:17px}.project-status{font-family:monospace;font-size:12px;padding:1px 6px;border:1px dotted var(--line)}.status-bloomed .project-status{color:var(--growth);border-color:var(--growth)}.status-growing .project-status{color:var(--danger);border-color:var(--danger)}.project-year{font-size:12px;color:var(--line)}.project-tech code,.project-links code{display:inline-block;margin:2px 6px 2px 0;padding:0 4px;border:1px dotted var(--line);font-size:12px}.project-tech{margin:6px 0}.project-links{margin:6px 0;font-size:14px}.growth-list{list-style:none;padding:0;margin:0}.growth-list li{padding:6px 0;border-bottom:1px dotted var(--line)}.growth-list li:last-child{border-bottom:0}.growth-log{list-style:none;padding:0;margin:0;counter-reset:log-entry}.growth-log li{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:6px 0;border-bottom:1px dotted var(--line);counter-increment:log-entry}.growth-log li:last-child{border-bottom:0}.growth-log time{font-family:monospace;font-size:13px;color:var(--danger)}.about-name{font-size:28px;margin:4px 0 0}.about-role{font-family:monospace;font-size:14px;color:var(--danger);margin:0 0 8px}.about-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:14px}.about-actions button{font-family:monospace;font-size:13px;padding:4px 10px;border:1px solid var(--line);background:var(--paper-alt);color:var(--ink);cursor:pointer}.about-actions button:hover{background:var(--line);color:var(--paper)}.education-list{list-style:none;padding:0}.education-list li{display:grid;grid-template-columns:80px 1fr;gap:8px;padding:4px 0;border-bottom:1px dotted var(--line)}.education-year{font-family:monospace;color:var(--danger);font-size:14px}.terminal-interactive{cursor:text}.terminal-interactive:focus-within{outline:2px solid var(--growth);outline-offset:2px}.terminal-screen{height:360px;overflow:auto}.terminal-screen:focus{outline:none}.terminal-screen p{margin:0}.terminal-line-input{color:#9fdf9f}.terminal-line-error{color:#ff9f9f}.terminal-line-help{display:flex;gap:12px}.help-usage{min-width:11ch;font-weight:700;color:#6fdc6f}.terminal-input-row{display:flex}.terminal-prompt{color:#6fdc6f;white-space:pre}.theme-toggle{font-size:18px;padding:4px 8px;border:1px solid var(--line);background:var(--paper-alt);color:var(--ink);cursor:pointer;margin-top:8px}.theme-toggle:hover{background:var(--line);color:var(--paper)}#terminal-input{flex:1;min-width:0;width:100%;border:0;border-radius:0;padding:0;background:transparent;color:inherit;font:inherit;caret-color:#d8ffd8}#terminal-input:focus{outline:none;box-shadow:none}.specimen-list{list-style:none;padding:0}.specimen{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;padding:6px 4px;position:relative;isolation:isolate;border-bottom:1px dotted var(--line)}.specimen:focus-visible{outline:2px solid var(--growth);outline-offset:2px}.specimen:before{content:"";position:absolute;inset:2px -4px;z-index:-1;border-radius:3px;background:linear-gradient(90deg,#b8ce9b66,#e9cf8655 55%,transparent);opacity:0;transform:scaleX(.65);transform-origin:left;transition:opacity .3s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.specimen:is(:hover,:focus-visible):before{opacity:1;transform:scaleX(1)}.specimen-stage{display:block;width:28px;height:32px}.specimen-stage svg{width:100%;height:100%;overflow:visible}.specimen-stem{stroke:var(--growth);stroke-width:1.4;stroke-linecap:round}.specimen-leaf{fill:#94b570;stroke:var(--growth);stroke-width:.8;transition:transform .65s cubic-bezier(.2,.8,.25,1.3)}.leaf-left{transform-origin:16px 26px;transform:rotate(18deg) scale(.8)}.leaf-right{transform-origin:16px 22px;transform:rotate(-18deg) scale(.8)}.specimen-flower{fill:#d1b8d5;stroke:#705075;stroke-width:.8;transform-origin:16px 11px;transition:transform .75s cubic-bezier(.2,.8,.25,1.3),opacity .45s ease}.specimen-flower circle{fill:#d1ad55;stroke:#8a6e31}.stage-1 .specimen-flower{transform:scale(.35);opacity:.45}.stage-2 .specimen-flower{transform:scale(.65);opacity:.75}.stage-3 .specimen-flower{transform:scale(.9)}.specimen:is(:hover,:focus-visible) .leaf-left{transform:rotate(-12deg) scale(1.05)}.specimen:is(:hover,:focus-visible) .leaf-right{transform:rotate(12deg) scale(1.05)}.specimen:is(:hover,:focus-visible) .specimen-flower{transform:rotate(28deg) scale(1.15);opacity:1}.specimen-pollen{fill:#b88b35;opacity:0}.specimen:is(:hover,:focus-visible) .specimen-pollen{animation:pollen-rise 1.3s ease-out both}@keyframes pollen-rise{0%{opacity:0;transform:translateY(4px) scale(.7)}30%{opacity:.8}to{opacity:0;transform:translateY(-12px) scale(1.25)}}@media(prefers-reduced-motion:reduce){.specimen:before,.specimen-leaf,.specimen-flower{transition:none}.specimen:is(:hover,:focus-visible) .specimen-pollen{animation:none}.specimen:is(:hover,:focus-visible) .specimen-leaf,.specimen:is(:hover,:focus-visible) .specimen-flower{transform:none}}.specimen-meta{font-family:monospace;font-size:12px;color:var(--line)}.timeline{list-style:none;margin:0;padding:0 0 0 20px;position:relative}.timeline:before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:repeating-linear-gradient(var(--growth) 0 6px,transparent 6px 10px)}.timeline-entry{position:relative;padding:12px 0 12px 16px}.timeline-node{position:absolute;left:-19px;top:20px;width:10px;height:10px;border-radius:50%;background:var(--growth);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--growth)}.timeline-period{font-family:monospace;font-size:12px;color:var(--danger);margin:0 0 2px}.timeline-body h3{margin:0;font-size:17px}.timeline-company{color:var(--line);font-weight:400}.timeline-body>p{margin:6px 0}.timeline-highlights{margin:8px 0;padding-left:18px}.timeline-highlights li{margin:2px 0}.timeline-tags{margin:0}.timeline-tags code{display:inline-block;margin:2px 6px 2px 0;padding:0 4px;border:1px dotted var(--line);font-size:12px}@media print{html{background:#fff}.frame-scene,.no-print,.section-hint,.terminal-box,.scanline-overlay,.language-switcher{display:none!important}.page-shell{border:0;margin:0;padding:0;max-width:none}.box{border:0;background:#fff;padding:8px 0}a{color:#000}[data-reveal]{opacity:1!important;transform:none!important}}html[data-matrix=true] .terminal-block{background:#000;color:#0f0}html[data-matrix=true] .terminal-block :is(p,span,input){color:inherit;caret-color:currentColor}html[data-zen=true] *,html[data-zen=true] *:before,html[data-zen=true] *:after{animation:none!important;transition:none!important}html[data-theme=dark]{color-scheme:dark;--paper: #1a1a2e;--paper-alt: #242438;--ink: #eaeaea;--line: #a4a4b8;--growth: #9aca83;--danger: #ffb4a6;background:#101018}html[data-theme=light]{color-scheme:light}html[data-theme=dark] a{color:#9cc7ff}html[data-theme=dark] a:visited{color:#d5b0ff}html[data-theme=dark] .site-header h1 a,html[data-theme=dark] .language-switcher a[aria-current=true]{color:var(--ink)}@media print{html[data-theme=dark]{color-scheme:light;--paper: #fff;--paper-alt: #fff;--ink: #111;--line: #777;--growth: #2f6b2f;--danger: #7a1f1f;background:#fff;color:#111}html[data-theme=dark] a,html[data-theme=dark] a:visited{color:#000}}
