:root{--color-bg: #272822;--color-surface: #3e3d32;--color-border: #49483e;--color-text-primary: #f8f8f2;--color-text-secondary: #75715e;--color-accent: #a6e22e;--color-accent-dim: #4f6b1a;--color-link: #66d9ef;--color-red: #f92672;--color-orange: #fd971f;--color-yellow: #e6db74;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-2xl: 1.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--max-content-width: 760px;--transition-fast: .15s ease;--transition-base: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:100%}body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:IBM Plex Mono,Consolas,Courier New,monospace;font-size:var(--font-size-base);line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{line-height:1.25;font-weight:600;color:var(--color-text-primary)}p{color:var(--color-text-primary);max-width:65ch}::selection{background-color:var(--color-yellow);color:var(--color-bg)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-text-primary)}.nav{position:sticky;top:0;z-index:100;background-color:var(--color-bg)}.nav__frame{max-width:var(--max-content-width);margin:0 auto;padding:var(--space-3) var(--space-6);display:flex;flex-direction:column}.nav__row{display:flex;align-items:center;line-height:1.5}.nav__glyph{color:var(--color-border);font-size:var(--font-size-sm);flex-shrink:0;-webkit-user-select:none;user-select:none}.nav__rule{flex:1;overflow:hidden;white-space:nowrap;color:var(--color-border);font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none}.nav__rule:before{content:"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━";display:block}.nav__brand{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:600;flex-shrink:0;transition:color var(--transition-fast)}.nav__brand:hover,.nav__brand--active{color:var(--color-red)}.nav__links{display:flex;align-items:center;gap:var(--space-6);list-style:none;padding:0 var(--space-3)}.nav__rule--dots:before{content:"···············································································································································································································································································································································································································································································································································································································································"}.nav__link{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);transition:color var(--transition-fast)}.nav__link:hover,.nav__link--active{color:var(--color-link)}.nav__bracket{opacity:0;transition:opacity var(--transition-base)}.nav__bracket--visible{opacity:1}@media (max-width: 480px){.nav__frame{padding:var(--space-2) var(--space-3)}.nav__links{gap:var(--space-3)}}.page-section{padding-bottom:var(--space-16)}.page-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-accent);margin-bottom:var(--space-8);letter-spacing:-.01em;display:flex;align-items:center;gap:var(--space-3)}.page-title:after{content:"·····················································································································································································································································································································································";flex:1;overflow:hidden;white-space:nowrap;color:var(--color-border);font-size:var(--font-size-base);font-weight:400}.page-prose{display:flex;flex-direction:column;gap:var(--space-4)}.cv-page{width:100%;height:100dvh;padding:var(--space-4)}.cv-embed{width:100%;height:100%;border:1px solid var(--color-border);border-radius:2px;background:var(--color-surface)}.pub-list{list-style:none;counter-reset:pub-counter;display:flex;flex-direction:column;gap:var(--space-6)}.pub-entry{counter-increment:pub-counter;padding-left:var(--space-6);position:relative}.pub-entry:before{content:"[" counter(pub-counter) "]";position:absolute;left:0;top:0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.pub-entry__title{display:block;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:500;margin-bottom:var(--space-1)}.pub-entry__meta{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;max-width:none}.pub-entry__note{display:inline-block;margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-accent);border:1px solid var(--color-accent-dim);padding:1px var(--space-2);border-radius:3px}.creative-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-6)}.creative-entry{border-left:2px solid var(--color-border);padding-left:var(--space-4);transition:border-color var(--transition-base)}.creative-entry:hover{border-color:var(--color-orange)}.creative-entry__header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-1)}.creative-entry__title{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:500}.creative-entry__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.creative-entry__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}@media (max-width: 600px){.creative-entry__header{flex-direction:column;gap:var(--space-1)}}.app{min-height:100dvh;display:flex;flex-direction:column}.app__main{flex:1}@keyframes pageFadeIn{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}.page-container,.cv-page{animation:pageFadeIn .2s ease}.page-container{max-width:var(--max-content-width);margin:0 auto;padding:var(--space-12) var(--space-6)}@media (max-width: 768px){.page-container{padding:var(--space-8) var(--space-4)}}@media (max-width: 480px){.page-container{padding:var(--space-6) var(--space-3)}}
