:root{--bg: #0a0907;--panel: #16130f;--fg: #e6ddcf;--muted: #a39a8b;--faint: #756d5f;--accent: #c79a63;--link: #d8a86a;--line: #2c2620}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}html{font-size:13px}body{background-color:var(--bg);background-image:linear-gradient(rgba(200,192,178,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(200,192,178,.05) 1px,transparent 1px),linear-gradient(rgba(200,192,178,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(200,192,178,.025) 1px,transparent 1px);background-size:96px 96px,96px 96px,32px 32px,32px 32px;background-attachment:fixed;color:var(--fg);font-family:JetBrains Mono,Fira Code,Cascadia Code,SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem}#app{width:100%;max-width:780px}.intro,section{background:#16130f66;backdrop-filter:blur(4px) saturate(115%);-webkit-backdrop-filter:blur(4px) saturate(115%);border:1px solid rgba(230,221,207,.08);padding:1.15rem 1.35rem;transition:border-color .2s ease,background-color .2s ease}.intro:hover,section:hover{border-color:#e6ddcf29;background-color:#1c181380}.intro{margin-bottom:1rem}h1{font-size:1.5rem;font-weight:600;letter-spacing:.02em}.intro .title{color:var(--accent);font-size:.85rem}.intro-meta{margin-top:.55rem;font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.intro-meta .resume{color:var(--muted);text-decoration:none;transition:color .2s ease}.intro-meta .resume .br{color:var(--accent)}.intro-meta .resume:hover{color:var(--fg)}.columns{display:grid;grid-template-columns:240px 1fr;gap:1rem;align-items:start}.sidebar{position:sticky;top:2rem;display:flex;flex-direction:column;gap:1rem}.main{display:flex;flex-direction:column;gap:1rem}.columns-3{grid-template-columns:240px 1fr 1fr}.col{display:flex;flex-direction:column;gap:1rem}.col-sm{position:sticky;top:2rem}.sec-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.55rem}h2{font-size:.8rem;font-weight:500;letter-spacing:.05em;margin:0}.sec-toggle{font:inherit;letter-spacing:inherit;color:var(--muted);background:none;border:none;padding:0;cursor:pointer}.sec-toggle:hover{color:var(--fg)}h2 .br{color:var(--accent)}.back{font:inherit;background:none;border:none;padding:0;cursor:pointer;color:var(--faint);font-size:.78rem}.back:hover{color:var(--accent)}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.intro,section{animation:panel-in .4s cubic-bezier(.22,1,.36,1) both}.sec-toggle,.back,.links a,.entry-title a,.tag{transition:color .2s ease,border-color .2s ease}.body{color:var(--fg)}.links{list-style:none;display:flex;flex-direction:column;gap:.15rem;font-size:.82rem}.links li{display:flex;gap:.4rem;word-break:break-word}.links .mark{color:var(--faint);flex-shrink:0}.links a{color:var(--link);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.links a:hover{color:var(--fg)}.links .plain{color:var(--muted)}.skills{list-style:none;display:flex;flex-direction:column;gap:.55rem;font-size:.8rem}.skills .sk-label{display:block;color:var(--accent);margin-bottom:.3rem}.skills .tags{display:flex;flex-wrap:wrap;gap:.3rem}.skills .tag{flex:0 0 auto;border:1px solid var(--line);color:var(--muted);padding:.05rem .4rem;font-size:.72rem;line-height:1.5;white-space:nowrap}.entry{margin-bottom:1rem}.entry:last-child{margin-bottom:0}.entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.entry-title{font-weight:600}.entry-title a{color:var(--link);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.entry-title a:hover{color:var(--fg)}.period{color:var(--faint);font-size:.78rem;white-space:nowrap;flex-shrink:0}.meta{color:var(--accent);font-size:.8rem;font-style:italic;margin-top:.1rem}.bullets{list-style:none;margin-top:.35rem;display:flex;flex-direction:column;gap:.25rem}.bullets li{position:relative;padding-left:1.1rem;color:var(--muted);font-size:.85rem}.bullets li:before{content:"*";position:absolute;left:0;color:var(--accent)}@media (min-width: 1100px){#app{max-width:1100px}}@media (max-width: 768px){.columns{grid-template-columns:1fr}.sidebar{position:static}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
