@font-face {
    font-family: 'Adventure Subtitles';
    src: url('./fonts/akudafont.ttf') format('truetype');
    font-weight: 400 900;
    font-display: swap;
}

:root{
    --bg:#000000;
    --bg2:#0f0f0f;
    --fg:#ffffff;
    --muted:rgba(255,255,255,.48);
    --accent:#ffffff;
    --accent-dim:#d0d0d0;
    --glass:rgba(255,255,255,.03);
    --border:rgba(255,255,255,.12);
    --border-soft:rgba(255,255,255,.06);
    --shadow: 0 20px 60px rgba(0,0,0,.7);
}

[data-theme="light"]{
    --bg:#ffffff;
    --bg2:#fafafa;
    --fg:#000000;
    --muted:rgba(0,0,0,.48);
    --accent:#000000;
    --accent-dim:#404040;
    --glass:rgba(0,0,0,.025);
    --border:rgba(0,0,0,.12);
    --border-soft:rgba(0,0,0,.06);
    --shadow: 0 15px 50px rgba(0,0,0,.06);
}

*{margin:0;padding:0;box-sizing:border-box;cursor:none}

@media (pointer:coarse){
    *{cursor:auto}
    .cursor-dot,.cursor-outline{display:none!important}
}
@media (max-width:768px){
    *{cursor:auto}
    .cursor-dot,.cursor-outline{display:none!important}
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:var(--fg);
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    transition:background-color .3s ease,color .3s ease;
    overflow-x:hidden;
    position:relative;
}

body::before{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), var(--glass), transparent 40%);
    opacity:0;
    transition:opacity .25s ease;
}
body.mouse-moving::before{opacity:1}

body::after{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:9990;
    background:repeating-linear-gradient(180deg, rgba(255,255,255,.008) 0px, rgba(255,255,255,.008) 1px, transparent 1px, transparent 2px);
    mix-blend-mode:overlay;
    opacity:.4;
}
[data-theme="light"] body::after{opacity:0}

.cursor-dot,.cursor-outline{
    position:fixed;top:0;left:0;
    transform:translate(-50%,-50%);
    border-radius:50%;
    z-index:9999;
    pointer-events:none;
}
.cursor-dot{width:5px;height:5px;background:var(--accent)}
.cursor-outline{
    width:30px;height:30px;
    border:1px solid var(--accent);
    transition:width .18s,height .18s,background-color .18s,transform .12s ease-out,border-color .18s;
}

a{color:inherit;-webkit-tap-highlight-color:transparent}

nav{
    width:100%;
    max-width:1300px;
    padding:.9rem 1.25rem;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.75rem;
    flex-wrap:wrap;
    opacity:0;
    transform:translateY(-12px);
    position:sticky;
    top:0;
    background:color-mix(in srgb, var(--bg) 92%, transparent);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    z-index:1000;
    border-bottom:1px solid var(--border-soft);
}

.logo{
    display:flex;
    align-items:baseline;
    gap:.35rem;
    font-family:'JetBrains Mono',monospace;
    font-size:.95rem;
    font-weight:600;
    flex-shrink:0;
}
.logo .prompt-sym{color:var(--accent)}
.logo b{
    font-family:'Adventure Subtitles',sans-serif;
    font-size:2rem;
    font-weight:900;
    letter-spacing:-.5px;
}
.logo .blink-cur{
    display:inline-block;
    width:7px;height:1rem;
    background:var(--accent);
    animation:blink 1s steps(1) infinite;
}

@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}

.nav-links{
    display:flex;
    align-items:center;
    gap:.2rem;
    flex-wrap:wrap;
}

.magnetic-btn{
    display:flex;
    align-items:center;
    gap:.35rem;
    color:var(--fg);
    text-decoration:none;
    font-family:'JetBrains Mono',monospace;
    font-weight:500;
    font-size:.76rem;
    padding:.45rem .7rem;
    border-radius:6px;
    transition:background .18s,color .18s;
    background:transparent;
    border:1px solid transparent;
    outline:none;
    min-height:38px;
    white-space:nowrap;
}
.magnetic-btn .pathbit{color:var(--muted)}
.magnetic-btn:hover,.magnetic-btn:focus-visible{background:var(--glass);border-color:var(--border-soft)}
.magnetic-btn.active{color:var(--accent);border-color:var(--border-soft)}
.magnetic-btn.active .dot{
    width:4px;height:4px;border-radius:50%;background:var(--accent);
    box-shadow:0 0 6px var(--accent);
    margin-left:2px;
}
.magnetic-btn svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}

.tz-tag{
    font-family:'JetBrains Mono',monospace;
    font-size:.7rem;
    color:var(--muted);
    display:none;
    border-left:1px solid var(--border-soft);
    padding-left:.9rem;
    white-space:nowrap;
}
@media (min-width:900px){.tz-tag{display:block}}

.theme-switch{
    display:flex;
    align-items:center;
    font-family:'JetBrains Mono',monospace;
    font-size:.66rem;
    border:1px solid var(--border);
    border-radius:100px;
    overflow:hidden;
    background:var(--glass);
    flex-shrink:0;
    min-height:34px;
}
.theme-switch span{
    padding:.4rem .6rem;
    color:var(--muted);
    transition:color .18s,background .18s;
}
.theme-switch span.on{color:var(--bg);background:var(--accent)}

main{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:2.2rem 1.25rem 1.8rem;
    max-width:1080px;
    width:100%;
    position:relative;
    z-index:1;
    gap:1.8rem;
}

.eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:.76rem;
    color:var(--accent);
    letter-spacing:.05em;
    opacity:0;
    transition:opacity .5s ease;
}

.reveal-text{overflow:hidden;display:inline-block}
.reveal-text span{
    display:inline-block;
    transform:translateY(100%);
    opacity:0;
    transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .7s;
}

h1{
    font-family:'Adventure Subtitles',sans-serif;
    font-size:clamp(2.6rem, 10vw, 5rem);
    font-weight:900;
    letter-spacing:-.02em;
    line-height:.95;
    text-align:center;
}

.term-window{
    width:100%;
    max-width:780px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--bg2);
    box-shadow:var(--shadow);
    opacity:0;
    transform:translateY(14px);
    transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1);
    overflow:hidden;
}
.term-bar{
    display:flex;
    align-items:center;
    gap:.45rem;
    padding:.6rem .95rem;
    border-bottom:1px solid var(--border-soft);
    background:var(--glass);
}
.term-dot{width:9px;height:9px;border-radius:50%;background:var(--border)}
.term-dot.live{background:var(--accent);box-shadow:0 0 6px var(--accent)}
.term-title{
    font-family:'JetBrains Mono',monospace;
    font-size:.7rem;
    color:var(--muted);
    margin-left:.35rem;
}
.term-body{
    padding:1.15rem 1rem 1.4rem;
    font-family:'JetBrains Mono',monospace;
    font-size:clamp(.74rem, 2.6vw, .86rem);
    line-height:1.75;
    text-align:left;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}
.term-line{color:var(--muted)}
.term-line .p{color:var(--accent)}
.term-out{white-space:pre-wrap;color:var(--fg);opacity:.9;word-break:break-word}
.term-cursor{
    display:inline-block;width:7px;height:.95rem;
    background:var(--accent);
    vertical-align:-2px;
    animation:blink 1s steps(1) infinite;
}

.stat-rail{
    width:100%;
    max-width:780px;
    display:flex;
    flex-wrap:wrap;
    gap:0;
    border:1px solid var(--border-soft);
    border-radius:10px;
    overflow:hidden;
    opacity:0;
    transform:translateY(12px);
    transition:opacity .8s ease .08s,transform .8s cubic-bezier(.16,1,.3,1) .08s;
}
.stat-cell{
    flex:1 1 120px;
    padding:.8rem .95rem;
    border-right:1px solid var(--border-soft);
    border-bottom:1px solid var(--border-soft);
    font-family:'JetBrains Mono',monospace;
}
.stat-cell:last-child{border-right:none}
.stat-cell label{display:block;font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.25rem}
.stat-cell b{font-size:.88rem;font-weight:600}

@media (max-width:480px){
    .stat-cell{flex:1 1 50%;border-right:1px solid var(--border-soft)}
    .stat-cell:nth-child(2n){border-right:none}
}

.neofetch{
    width:100%;
    max-width:780px;
    border:1px solid var(--border);
    border-radius:10px;
    overflow:hidden;
    background:var(--bg2);
    box-shadow:var(--shadow);
    opacity:0;
    transform:scale(.97);
    transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1);
}
.neofetch-bar{
    display:flex;align-items:center;gap:.45rem;
    padding:.6rem .95rem;border-bottom:1px solid var(--border-soft);
    background:var(--glass);
}
.neofetch-body{display:flex;flex-wrap:wrap}
.neofetch-img{
    flex:1 1 240px;
    position:relative;
    min-height:180px;
    overflow:hidden;
}
.neofetch-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.neofetch:hover .neofetch-img img{transform:scale(1.05)}
.neofetch-info{
    flex:1 1 240px;
    padding:1.3rem 1.4rem;
    font-family:'JetBrains Mono',monospace;
    font-size:clamp(.73rem, 2.4vw, .8rem);
    line-height:1.9;
    text-align:left;
}
.neofetch-info .k{color:var(--accent);margin-right:.45rem}
.neofetch-info .row{color:var(--muted)}
.neofetch-info .row b{color:var(--fg);font-weight:500}

.glass-card{
    background:var(--glass);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid var(--border);
    border-radius:12px;
    padding:1.6rem 1.4rem;
    width:100%;
    opacity:0;
    transform:scale(.97);
    transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1),border-color .25s ease;
    position:relative;
    z-index:1;
}

.cta-btn{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    border:1px solid var(--border);
    border-radius:7px;
    padding:.65rem 1.1rem;
    font-family:'JetBrains Mono',monospace;
    font-size:.83rem;
    text-decoration:none;
    min-height:42px;
    transition:background .18s;
}
.cta-btn:hover,.cta-btn:focus-visible{background:var(--glass)}
.cta-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}

h2{font-family:'JetBrains Mono',monospace;font-size:clamp(1.02rem,3.8vw,1.25rem);font-weight:700;margin-bottom:1.1rem;display:flex;align-items:center;gap:.55rem}
h2 .br{color:var(--accent)}

.page-head{text-align:center;max-width:640px}
.page-head h1{font-size:clamp(2.1rem,8.5vw,3.6rem)}
.page-head p{font-family:'JetBrains Mono',monospace;color:var(--muted);font-size:clamp(.76rem,2.8vw,.83rem);margin-top:.65rem}

.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:1.1rem;width:100%}
.pkg-pane{border:1px solid var(--border-soft);border-radius:9px;overflow:hidden;opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1)}
.pkg-pane-bar{display:flex;align-items:center;gap:.45rem;padding:.55rem .85rem;background:var(--glass);border-bottom:1px solid var(--border-soft);font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--muted)}
.pkg-pane-bar svg{width:13px;height:13px;stroke:var(--accent);fill:none;stroke-width:1.6}
.pkg-list{padding:.95rem .85rem 1.1rem;display:flex;flex-wrap:wrap;gap:.4rem}
.pkg{
    font-family:'JetBrains Mono',monospace;
    font-size:.72rem;
    padding:.38rem .65rem;
    border:1px solid var(--border-soft);
    border-radius:5px;
    background:var(--glass);
    opacity:0;
    transform:translateY(6px);
    transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1),background .18s,border-color .18s,color .18s;
    min-height:30px;
    display:flex;
    align-items:center;
}
.pkg::before{color:var(--accent)}
.pkg:hover,.pkg:focus-visible{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.pkg:hover::before,.pkg:focus-visible::before{color:var(--bg)}

.proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1.1rem;width:100%}
.proj-card{
    border:1px solid var(--border-soft);
    border-radius:10px;
    padding:1.3rem;
    text-align:left;
    background:var(--glass);
    opacity:0;
    transform:translateY(14px);
    transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1),border-color .22s;
    display:flex;
    flex-direction:column;
    gap:.75rem;
}
.proj-card:hover{border-color:var(--border)}
.proj-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.55rem;flex-wrap:wrap}
.proj-hash{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--accent);background:var(--glass);border:1px solid var(--border-soft);padding:.18rem .48rem;border-radius:4px}
.proj-status{font-family:'JetBrains Mono',monospace;font-size:.66rem;color:var(--muted)}
.proj-title{font-size:.98rem;font-weight:700}
.proj-desc{font-size:.83rem;color:var(--muted);line-height:1.55}
.proj-tags{display:flex;flex-wrap:wrap;gap:.38rem}
.proj-tags span{font-family:'JetBrains Mono',monospace;font-size:.66rem;color:var(--accent-dim);border:1px solid var(--border-soft);padding:.18rem .48rem;border-radius:4px}
.proj-links{display:flex;gap:.75rem;margin-top:.28rem;flex-wrap:wrap}
.proj-links a{font-family:'JetBrains Mono',monospace;font-size:.74rem;display:flex;align-items:center;gap:.32rem;text-decoration:none;color:var(--fg);opacity:.82;min-height:42px}
.proj-links a:hover{color:var(--accent);opacity:1}
.proj-links svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8}

.contact-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:1.3rem;width:100%}
@media (max-width:760px){.contact-wrap{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.38rem;margin-bottom:1.1rem;text-align:left}
.field label{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--accent)}
.field label::before{content:'> '}
.field input,.field textarea{
    background:var(--bg);
    border:1px solid var(--border-soft);
    border-radius:6px;
    padding:.7rem .85rem;
    color:var(--fg);
    font-family:'Inter',sans-serif;
    font-size:.98rem;
    cursor:text;
    resize:vertical;
    min-height:42px;
    -webkit-appearance:none;
    appearance:none;
}
.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.send-btn{
    cursor:pointer;
    border:1px solid var(--accent);
    background:var(--accent);
    color:var(--bg);
    font-family:'JetBrains Mono',monospace;
    font-weight:600;
    font-size:.83rem;
    padding:.7rem 1.3rem;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    gap:.48rem;
    min-height:42px;
    width:100%;
    justify-content:center;
    transition:filter .18s;
}
@media (min-width:480px){.send-btn{width:auto}}
.send-btn:hover{filter:brightness(1.06)}
.send-note{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted);margin-top:.65rem}

.contact-list{display:flex;flex-direction:column;gap:.85rem;text-align:left}
.contact-row{
    display:flex;align-items:center;gap:.85rem;
    border:1px solid var(--border-soft);border-radius:9px;
    padding:.85rem .95rem;
    text-decoration:none;color:var(--fg);
    transition:border-color .18s,background .18s;
    min-height:54px;
}
.contact-row:hover,.contact-row:focus-visible{border-color:var(--border);background:var(--glass)}
.contact-row svg{width:19px;height:19px;stroke:var(--accent);fill:none;stroke-width:1.6;flex-shrink:0}
.contact-row .r-title{font-weight:600;font-size:.97rem}
.contact-row .r-sub{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted)}

footer{
    width:100%;
    max-width:1300px;
    padding:1.4rem 1.25rem;
    margin-top:auto;
    border-top:1px solid var(--border-soft);
    position:relative;
    z-index:1;
}

.footer-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1.4rem;
}

.socials{display:flex;gap:.55rem}

.social-link{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border:1px solid var(--border-soft);
    border-radius:5px;
    color:var(--fg);
    background:var(--glass);
    transition:transform .18s ease,border-color .18s ease,background .18s ease;
    -webkit-tap-highlight-color:transparent;
}

.social-link::before{
    content:attr(data-label);
    position:absolute;
    bottom:calc(100% + 5px);
    left:50%;
    transform:translateX(-50%) translateY(-3px);
    background:var(--bg2);
    border:1px solid var(--border);
    padding:.28rem .55rem;
    border-radius:4px;
    font-family:'JetBrains Mono',monospace;
    font-size:.64rem;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
    box-shadow:var(--shadow);
}

@media (hover:hover){
    .social-link:hover::before{opacity:1;transform:translateX(-50%) translateY(0)}
    .social-link:hover{transform:translateY(-1px);border-color:var(--accent)}
    .social-link:hover svg{filter:brightness(0) invert(1)}
}

.social-link svg{
    width:17px;height:17px;
    fill:currentColor;
    transition:filter .18s ease;
}

[data-theme="light"] .social-link:hover svg{filter:brightness(0)}

.copyright{
    font-family:'JetBrains Mono',monospace;
    font-size:.7rem;
    color:var(--muted);
    display:flex;
    align-items:center;
    gap:.38rem;
    flex-wrap:wrap;
}

.copyright-sym{color:var(--accent)}
.current-year{color:var(--accent);font-weight:600}

.brand{
    font-family:'Adventure Subtitles',sans-serif;
    font-size:.92rem;
    font-weight:900;
    letter-spacing:-.5px;
    color:var(--accent);
    text-shadow:0 0 12px var(--accent);
}

.blink-cur{
    display:inline-block;
    width:5px;height:.72rem;
    background:var(--accent);
    animation:blink 1s steps(1) infinite;
    margin-left:2px;
}

@media (max-width:768px){
    .footer-content{flex-direction:column;text-align:center;gap:.95rem}
    .socials{justify-content:center}
    main{padding:1.9rem 1rem 1.8rem}
    .glass-card{padding:1.3rem 1rem}
    .neofetch-info{padding:1.1rem 1rem}
}

@media (max-width:380px){
    .logo b{font-size:1.7rem}
    .magnetic-btn .pathbit{display:none}
    nav{padding:.75rem .95rem}
}

@media (prefers-reduced-motion:reduce){
    *{animation-duration:0.001s!important;transition-duration:0.001s!important}
}
