@import "https://fonts.googleapis.com/css2?family=Fragment+Mono:wght@400&display=swap";
*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f0f;--text:#f0f0f0;--accent:#ff3c00;--accent-dim:#ff3c001a;--border:#222}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Fragment Mono,monospace;overflow-x:hidden}.container{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.progress-bar{background:var(--accent);z-index:1000;height:3px;transition:width .1s ease-out;position:fixed;top:0;left:0}.left{border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;height:100vh;padding:48px;display:flex;position:sticky;top:0}.right{padding:48px}.name{letter-spacing:-.04em;margin-bottom:24px;font-size:clamp(48px,10vw,120px);line-height:.85}.name span{opacity:0;animation:.8s forwards fadeInUp;display:block;transform:translateY(20px)}.name span:first-child{animation-delay:.2s}.name span:nth-child(2){animation-delay:.4s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.name .accent{color:var(--accent)}.meta{color:#666;opacity:0;font-size:14px;line-height:1.8;animation:.8s .6s forwards fadeInUp;transform:translateY(20px)}.meta span{margin-top:8px;display:block}.nav{opacity:0;margin-top:48px;animation:.8s .8s forwards fadeInUp}.nav a{color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 0;font-size:16px;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.nav a:before{content:"";background:var(--accent);width:4px;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleY(0)}.nav a:hover{color:var(--accent);padding-left:16px}.nav a:hover:before{transform:scaleY(1)}.nav-number{color:#444;min-width:20px;font-size:12px}.nav a:hover .nav-number{color:var(--accent)}.section{opacity:0;margin-bottom:80px;transition:all .6s;transform:translateY(30px)}.section.visible{opacity:1;transform:translateY(0)}.section:last-child{margin-bottom:0}.section-header{align-items:center;gap:16px;margin-bottom:32px;display:flex}.section-title{color:var(--accent);letter-spacing:.1em;font-size:12px}.section-line{background:var(--border);flex:1;height:1px}.work-item{border:1px solid var(--border);margin-bottom:48px;padding:24px;transition:all .3s}.work-item:hover{border-color:var(--accent);background:var(--accent-dim);transform:translate(8px)}.work-item h3{align-items:center;gap:12px;margin-bottom:12px;font-size:28px;font-weight:400;display:flex}.work-item h3 a{color:var(--text);text-decoration:none;transition:color .2s}.work-item h3 a:hover{color:var(--accent)}.work-item h3:after{content:"↗";color:var(--accent);opacity:0;font-size:16px;transition:all .3s;transform:translate(-8px,8px)}.work-item:hover h3:after{opacity:1;transform:translate(0)}.work-item p{color:#666;margin-bottom:12px;font-size:14px}.work-item .tech{color:var(--accent);gap:12px;font-size:12px;display:flex}.work-item .tech span:not(:last-child):after{content:"·";color:var(--border);margin-left:12px}.skills-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.skill{border:1px solid var(--border);cursor:default;padding:20px;font-size:14px;transition:all .3s;position:relative;overflow:hidden}.skill:before{content:"";background:var(--accent);opacity:0;z-index:-1;width:100%;height:100%;transition:all .3s;position:absolute;top:0;left:0;transform:translateY(100%)}.skill:hover{border-color:var(--accent);color:var(--bg)}.skill:hover:before{opacity:1;transform:translateY(0)}.skill-name{margin-bottom:4px;font-weight:600}.skill-desc{color:#666;font-size:11px}.skill:hover .skill-desc{color:#0009}.about-text{border:1px solid var(--border);max-width:520px;padding:24px;font-size:22px;line-height:1.7;transition:all .3s}.about-text:hover{border-color:var(--accent)}.about-text strong{color:var(--accent);font-weight:400}.contact-list{flex-direction:column;gap:8px;display:flex}.contact-item{padding:16px 0}.contact-item a{color:var(--text);align-items:center;gap:12px;font-size:24px;text-decoration:none;transition:all .3s;display:inline-flex}.contact-item a:before{content:"→";color:var(--accent);opacity:0;transition:all .3s;transform:translate(-8px)}.contact-item a:hover{color:var(--accent);padding-left:8px}.contact-item a:hover:before{opacity:1;transform:translate(0)}.footer{border-top:1px solid var(--border);color:#666;gap:24px;margin-top:80px;padding-top:24px;font-size:12px;display:flex}.links{flex-direction:column;gap:8px;margin-top:24px;display:flex}.links-link{color:var(--text);border:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;font-size:14px;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.links-icon{background:var(--border);width:32px;height:32px;color:var(--text);justify-content:center;align-items:center;font-size:10px;font-weight:600;transition:all .3s;display:flex}.links-link:before{content:"";background:var(--accent);width:4px;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleY(0)}.links-link:hover{border-color:var(--accent);background:var(--accent-dim);padding-left:28px}.links-link:hover:before{transform:scaleY(1)}.links-link:hover .links-icon{background:var(--accent);color:var(--bg)}.links-container{flex-direction:column;justify-content:center;align-items:center;max-width:400px;min-height:100vh;margin:0 auto;padding:48px;display:flex}.links-header{text-align:center;margin-bottom:48px}.links-header .name{margin-bottom:16px;font-size:clamp(32px,8vw,64px)}.links-header .meta{opacity:1;animation:none;transform:none}.back-link{color:#666;margin-top:48px;font-size:14px;text-decoration:none;transition:color .3s}.back-link:hover{color:var(--accent)}@media (max-width:900px){.container{grid-template-columns:1fr}.left{border-right:none;border-bottom:1px solid var(--border);height:auto;padding:32px;position:relative}.right{padding:32px}.skills-grid{grid-template-columns:1fr}.about-text{font-size:18px}.work-item h3{font-size:24px}.contact-item a{font-size:20px}}@media (max-width:500px){.left,.right{padding:24px}.skills-grid{grid-template-columns:1fr}.links-container{padding:24px}}.blog-container{flex-direction:column;max-width:800px;min-height:100vh;margin:0 auto;padding:48px;display:flex}.blog-header{margin-bottom:48px}.blog-header .name{margin-bottom:16px}.blog-header .meta{opacity:1;animation:none;transform:none}.posts-list{flex-direction:column;gap:16px;display:flex}.post-link{text-decoration:none}.post-card{border:1px solid var(--border);padding:24px;transition:all .3s}.post-card:hover{border-color:var(--accent);background:var(--accent-dim);transform:translate(8px)}.post-date{color:#666;margin-bottom:8px;font-size:12px}.post-title{color:var(--text);margin-bottom:12px;font-size:24px;font-weight:400}.post-excerpt{color:#666;font-size:14px;line-height:1.6}.blog-post{margin-bottom:48px}.post-meta{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.back-to-blog{color:#666;font-size:14px;text-decoration:none;transition:color .3s}.back-to-blog:hover{color:var(--accent)}.blog-post .post-title{margin-bottom:32px;font-size:clamp(32px,6vw,48px);line-height:1.2}.post-content{font-size:18px;line-height:1.8}.post-content p{margin-bottom:16px}.post-content h2{color:var(--accent);margin:32px 0 16px;font-size:28px}.post-content h3{margin:24px 0 12px;font-size:22px}.post-content ul{margin-bottom:16px;padding-left:24px}.post-content li{margin-bottom:8px}.inline-link{color:#fff;text-decoration:underline}.empty-state{border:1px solid var(--border);text-align:center;padding:48px}.empty-state p{color:#666;font-size:16px}.blog-editor{flex-direction:column;max-width:1400px;min-height:100vh;margin:0 auto;padding:48px;display:flex}.editor-header{margin-bottom:32px}.editor-header .name{margin-bottom:16px}.editor-header .meta{opacity:1;animation:none;transform:none}.editor-container{grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px;display:grid}.editor-form{flex-direction:column;gap:24px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.form-group input,.form-group textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:16px;font-family:inherit;font-size:14px;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);background:var(--accent-dim);outline:none}.form-group textarea{resize:vertical;min-height:200px;line-height:1.6}.code-output{border:1px solid var(--border);background:#0a0a0a;max-height:600px;padding:24px;overflow-y:auto}.code-output h3{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin:24px 0 12px;font-size:12px}.code-output h3:first-child{margin-top:0}.code-output pre{border-left:3px solid var(--accent);background:#111;margin-bottom:16px;padding:16px;overflow-x:auto}.code-output code{color:#e0e0e0;font-size:12px}.instructions{background:var(--accent-dim);border:1px solid var(--accent);margin-top:24px;padding:16px}.instructions h3{color:var(--text);margin-bottom:12px;font-size:14px}.instructions ol{color:#ccc;padding-left:24px;font-size:13px;line-height:1.8}.instructions li{margin-bottom:8px}.form-group .help-text{color:#666;margin-top:4px;font-size:11px}.code-header{justify-content:space-between;align-items:center;margin:24px 0 12px;display:flex}.code-header h3{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:12px}.copy-button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;padding:8px 16px;font-family:inherit;font-size:12px;transition:all .3s}.copy-button:hover{border-color:var(--accent);color:var(--accent);padding-left:20px}.copy-button:before{content:"";background:var(--accent);width:3px;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleY(0)}.copy-button:hover:before{transform:scaleY(1)}
