.classic{--c-bg:#f5f6f8;--c-surface:#fff;--c-ink:#141820;--c-body:#3d4552;--c-dim:#5a6370;--c-line:#e2e5ea;--c-line-soft:#eef0f3;--c-accent:#9a5800;--c-accent-light:#f5b342;--c-ok-bg:#ddf3ec;--c-ok:#1f6b55;--c-dark:#11151c;background:var(--c-bg);color:var(--c-ink);font-family:var(--font-sans);min-height:100vh;font-size:16px;line-height:1.6}.classic a{color:var(--c-accent)}.classic .mono{font-family:var(--font-mono)}.classic .dim{color:var(--c-dim)}.classic .accent{color:var(--c-accent)}.classic .accent-light{color:var(--c-accent-light)}.classic .meta{color:var(--c-accent);font-size:12px}.c-container{max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}.c-header{z-index:10;-webkit-backdrop-filter:saturate(1.4)blur(8px);backdrop-filter:saturate(1.4)blur(8px);border-bottom:1px solid var(--c-line);background:#f5f6f8eb;position:sticky;top:0}.c-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px;display:flex}.c-logo{font-family:var(--font-mono);align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex;color:var(--c-ink)!important}.c-logo .caret{background:var(--c-accent);width:8px;height:16px;animation:1.1s step-end infinite blink;display:inline-block}.c-nav{flex-wrap:wrap;align-items:center;gap:20px;font-size:14px;display:flex}.c-nav>a{color:var(--c-body);text-decoration:none}.c-nav>a:hover{color:var(--c-ink)}.c-switch{background:var(--c-surface);font-family:var(--font-mono);border:1px solid #dce0e6;border-radius:10px;padding:4px;display:flex}.c-switch a{color:var(--c-dim);border-radius:7px;padding:7px 12px;font-size:13px;text-decoration:none}.c-switch a[aria-current=page]{background:var(--c-ink);color:#fff}.c-hero{flex-wrap:wrap;align-items:center;gap:48px;padding-top:96px;padding-bottom:72px;display:flex}.c-hero-copy{flex-direction:column;flex:999 520px;gap:24px;min-width:0;display:flex}.c-pill{font-family:var(--font-mono);color:var(--c-ok);background:var(--c-ok-bg);border-radius:999px;align-self:flex-start;padding:6px 14px;font-size:13px}.c-hero h1{letter-spacing:-.02em;margin:0;font-size:clamp(36px,5vw,58px);font-weight:700;line-height:1.06}.c-hero .lead{color:#4a5260;max-width:620px;margin:0;font-size:19px}.c-actions{flex-wrap:wrap;gap:12px;display:flex}.btn-dark,.btn-ghost,.btn-accent,.btn-outline{border-radius:10px;align-items:center;gap:10px;min-height:48px;padding:14px 20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.classic .btn-dark{background:var(--c-ink);color:#fff}.classic .btn-ghost{color:var(--c-ink);border:1px solid #c9ced6}.classic .btn-accent{background:var(--c-accent-light);color:var(--c-ink);font-weight:700}.classic .btn-outline{color:#eef2f6;border:1px solid #3a4250}.c-mini-term{background:var(--c-dark);min-width:0;font-family:var(--font-mono);color:#d3dae3;border-radius:16px;flex-direction:column;flex:340px;gap:10px;padding:22px;font-size:13px;display:flex;box-shadow:0 24px 60px #1418202e}.c-mini-term .dots{gap:6px;display:flex}.c-mini-term .dot{border-radius:50%;width:10px;height:10px}.c-mini-term .dot.r{background:#e5675b}.c-mini-term .dot.y{background:#e8b44c}.c-mini-term .dot.g{background:#5fc07a}.c-mini-term .p{color:#7fd8be}.c-mini-term .dim{color:#a9b4c2}.c-mini-term .cursor{background:var(--c-accent-light);vertical-align:middle;width:8px;height:14px;animation:1.1s step-end infinite blink;display:inline-block}.c-stats-band{border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:var(--c-surface)}.c-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;padding-top:28px;padding-bottom:28px;display:grid}.c-stats .sv{font-size:32px;font-weight:700}.c-stats .sl{color:var(--c-dim);font-size:14px}.c-section{flex-direction:column;gap:28px;padding-top:72px;padding-bottom:24px;scroll-margin-top:64px;display:flex}.c-section h2{letter-spacing:-.01em;margin:0;font-size:36px}.c-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.c-section-head .mono{font-size:13px}.c-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.c-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:16px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.c-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #14182014}.c-card-img{color:#6a7380;background:#e9ecf0;justify-content:center;align-items:center;height:190px;font-size:13px;display:flex}.c-card-body{flex-direction:column;gap:10px;padding:22px;display:flex}.c-card h3{margin:0;font-size:21px}.c-card p{color:#4a5260;margin:0;font-size:15px}.c-card a{font-size:14px;font-weight:600;text-decoration:none}.c-also{flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.c-also a{text-decoration:none}.c-also-item{gap:10px;display:inline-flex}.c-also .sep{color:#b0b6bf}.c-cap-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.c-cap{background:var(--c-ink);color:#eef2f6;border-radius:16px;flex-direction:column;gap:10px;padding:24px;display:flex}.c-cap h3{margin:0;font-size:19px}.c-cap p{color:#a9b4c2;margin:0;font-size:15px}.c-cap-tags{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px;display:flex}.c-cap-tags span{color:var(--c-accent-light);background:#1e2530;border-radius:6px;padding:4px 9px;font-size:12px}.c-split{flex-flow:wrap;gap:48px}.c-split-intro{flex:260px;min-width:0}.c-split-intro p{margin:12px 0 0}.c-skill-grid{flex:999 560px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;min-width:0;display:grid}.c-skill{background:var(--c-surface);border:1px solid var(--c-line);color:var(--c-body);border-radius:14px;padding:20px;font-size:15px}.c-skill .meta{margin-bottom:8px;font-size:13px}.c-log{background:var(--c-surface);border:1px solid var(--c-line);border-radius:16px;padding:8px 0}.c-log-row{border-bottom:1px solid var(--c-line-soft);flex-wrap:wrap;align-items:baseline;gap:4px 24px;padding:18px 24px;display:flex}.c-log-row:last-child{border-bottom:none}.c-log-row .hash{width:64px;font-size:13px}.c-log-row .years{width:120px;font-size:13px}.c-log-row .what{flex:320px;min-width:0}.c-contact-wrap{padding-bottom:72px}.c-contact{background:var(--c-ink);color:#eef2f6;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:clamp(28px,5vw,48px);display:flex}.c-contact-copy{flex-direction:column;flex:420px;gap:10px;min-width:0;display:flex}.c-contact h2{font-size:34px;line-height:1.15}.c-contact p{color:#a9b4c2;margin:0}.c-contact .mono{font-size:13px}.c-footer{padding-top:8px;padding-bottom:120px;font-size:13px}.dock{background:var(--c-dark);width:360px;max-width:calc(100vw - 32px);font-family:var(--font-mono);color:#d3dae3;z-index:20;border-radius:16px;flex-direction:column;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 24px 60px #14182047}.dock .tone-ok,.dock-fab .tone-ok{color:#7fd8be}.dock-head{border-bottom:1px solid #1e2530;justify-content:space-between;align-items:center;padding:10px 8px 10px 16px;font-size:13px;display:flex}.dock-min{color:#8c97a6;cursor:pointer;background:0 0;border:none;width:44px;height:36px}.dock-list{flex-direction:column;gap:10px;max-height:320px;padding:14px 16px;display:flex;overflow-y:auto}.dock-msg{font-size:14px;line-height:1.55}.dock-msg.assistant{font-family:var(--font-sans);color:#c9d1db}.dock-msg.user{color:#eef2f6;font-size:13px}.dock-msg.thinking{color:#6b7685;font-size:12px;font-family:var(--font-mono)}.dock-chips{flex-wrap:wrap;gap:6px;display:flex}.dock-chips button{font-family:var(--font-mono);color:#d3dae3;cursor:pointer;background:#171c25;border:1px solid #2a3240;border-radius:7px;padding:8px 10px;font-size:12px}.dock-input{border-top:1px solid #1e2530;align-items:center;gap:8px;padding:12px 16px;display:flex}.dock-input input{min-width:0;font:inherit;color:#eef2f6;caret-color:var(--c-accent-light);background:0 0;border:none;outline:none;flex:1;font-size:13px}.dock-fab{z-index:20;font-family:var(--font-mono);color:#eef2f6;background:var(--c-dark);cursor:pointer;border:none;border-radius:999px;padding:14px 18px;font-size:13px;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #14182040}@media (max-width:640px){.c-hero{padding-top:56px}.dock{bottom:16px;right:16px}}
