﻿:root{--ink:#17221f;--muted:#60706a;--paper:#f5f5ef;--panel:#fffefa;--line:#dce3da;--green:#1f5b49;--lime:#c8ec8b;--shadow:0 16px 48px #17221f14;--r:22px;--mono:ui-monospace,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.site-header{position:sticky;top:0;z-index:20;background:#f5f5eff0;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{max-width:1160px;margin:auto;padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{text-decoration:none;font-weight:800;letter-spacing:-.04em;font-size:1.12rem}.brand span{color:var(--green)}.menu-toggle{display:none;background:var(--ink);color:white;border-radius:12px;padding:.55rem .8rem;border:0}.nav-links{display:flex;gap:.35rem;align-items:center}.nav-links a{padding:.55rem .72rem;text-decoration:none;border-radius:999px;font-size:.91rem;color:#3e4c46}.nav-links a:hover,.nav-links a[aria-current=page]{background:#e6ece3;color:var(--green)}main{max-width:1160px;margin:auto;padding:2.4rem 1.25rem 5rem}.eyebrow{font:600 .75rem var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green)}h1,h2,h3{line-height:1.12;letter-spacing:-.04em;margin-top:0}h1{font-size:clamp(2.7rem,7vw,5.8rem);margin:.65rem 0 1rem}h2{font-size:clamp(1.8rem,4vw,2.7rem);margin-bottom:.55rem}h3{font-size:1.2rem;margin-bottom:.5rem}p{margin-top:0}.lead{font-size:clamp(1.05rem,2vw,1.28rem);max-width:690px;color:#46564f}.muted,.meta{color:var(--muted)}.hero{padding:clamp(2rem,7vw,5.6rem) 0 3rem;display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center}.hero-copy{max-width:750px}.hero-mark{justify-self:end;width:min(300px,75%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#eff9d9 0 13%,transparent 14%),linear-gradient(145deg,var(--lime),#a8d6c2 65%,#8cb9a9);display:grid;place-items:center;box-shadow:var(--shadow);transform:rotate(-7deg);font-size:clamp(4rem,10vw,7rem);font-weight:800;color:var(--green);letter-spacing:-.1em}.actions,.row{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}.actions{margin:1.4rem 0}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:white;padding:.75rem 1.05rem;border-radius:999px;text-decoration:none;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s;border:0;cursor:pointer}.button:hover{transform:translateY(-2px);background:#174635;box-shadow:0 8px 20px #1f5b4930}.button.secondary{background:#e6ece3;color:var(--green)}.section{padding:2.6rem 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.2rem}.section-head p{max-width:540px;margin:0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1.4rem 0 0}.stat,.card,.tool-panel,.timeline-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.stat{padding:1rem 1.1rem}.stat strong{display:block;font-size:1.4rem;color:var(--green);letter-spacing:-.04em}.stat span{color:var(--muted);font-size:.88rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid.two{grid-template-columns:repeat(2,1fr)}.card{padding:1.25rem;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-4px);border-color:#adc7b5}.card p:last-child{margin-bottom:0}.card-tag{display:inline-block;font:600 .72rem var(--mono);padding:.28rem .55rem;background:#eaf1e8;color:var(--green);border-radius:99px;margin-bottom:.65rem}.card-link{text-decoration:none}.card-link:hover h3{text-decoration:underline;text-underline-offset:4px}.timeline{display:grid;gap:.8rem}.timeline-item{padding:1rem 1.1rem;display:grid;grid-template-columns:160px 1fr;gap:1rem}.timeline-item time{font:600 .8rem var(--mono);color:var(--green)}.timeline-item h3{margin:0 0 .25rem}.timeline-item p{margin:0;color:var(--muted)}.callout{border-radius:var(--r);padding:clamp(1.4rem,4vw,2.3rem);background:var(--ink);color:white}.callout p{color:#d7e1d9}.callout .button{background:var(--lime);color:var(--ink)}.page-intro{padding:2rem 0 1.2rem;max-width:820px}.breadcrumbs{font-size:.86rem;color:var(--muted);margin-bottom:1rem}.breadcrumbs a{text-decoration:none}.tool-panel{padding:clamp(1rem,3vw,1.6rem)}.field{display:grid;gap:.4rem;margin:.8rem 0}.field label{font-weight:700}.field input,.field textarea,.field select{width:100%;padding:.8rem .9rem;background:white;border:1px solid var(--line);border-radius:12px;color:var(--ink)}.field textarea{min-height:140px;resize:vertical}.result{padding:1rem;border-radius:14px;background:#edf3e9;margin-top:1rem;min-height:3rem}.mono{font-family:var(--mono)}.typing-text{font-size:1.25rem;line-height:1.8;background:#f1f3eb;border-radius:14px;padding:1rem;min-height:110px}.typing-text .done{color:#1b7954}.typing-text .wrong{color:#c34b3c;text-decoration:underline}.typing-text .current{background:var(--lime);border-radius:3px}.map-box{min-height:420px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#e9eee6}.device-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.device-item{padding:.8rem;border:1px solid var(--line);border-radius:13px;background:white}.device-item small{display:block;color:var(--muted)}.device-item strong{overflow-wrap:anywhere}.music-hero{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:center}.music-hero img{border-radius:var(--r);aspect-ratio:1.2;object-fit:cover;box-shadow:var(--shadow)}.release-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.release{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:1rem;border:1px solid var(--line);border-radius:15px;background:white}.release a{color:var(--green);font-weight:700}.site-footer{border-top:1px solid var(--line);padding:1.4rem 1.25rem;color:var(--muted);font-size:.9rem}.footer-inner{max-width:1160px;margin:auto;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-inner p{margin:0}.footer-links{display:flex;gap:1rem;flex-wrap:wrap}.footer-links a{color:var(--green)}.fade-in{animation:rise .65s both}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:760px){.nav-wrap{flex-wrap:wrap}.menu-toggle{display:block}.nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;padding:.5rem 0}.nav-links.open{display:flex}.nav-links a{padding:.7rem .8rem}.hero{grid-template-columns:1fr;padding-top:2rem}.hero-mark{justify-self:start;width:150px;grid-row:1}.hero h1{font-size:clamp(2.6rem,13vw,4.5rem)}.grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.timeline-item{grid-template-columns:1fr;gap:.25rem}.music-hero{grid-template-columns:1fr}.music-hero img{max-height:320px;object-fit:cover}.section-head{align-items:start;flex-direction:column}}@media(max-width:480px){main{padding:1.4rem 1rem 3rem}.grid,.grid.two,.release-list,.device-list{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:.8rem}.stat strong{font-size:1.2rem}.hero-mark{width:120px}.footer-inner{flex-direction:column}.map-box{min-height:320px}}
/* Deep blue-black theme with a saved light-mode option */
:root{--ink:#e8f1f5;--muted:#a9bdc8;--paper:#07111b;--panel:#101e2a;--line:#263b49;--green:#72d4c4;--lime:#9cebdc;--warm:#e8a874;--shadow:0 18px 55px #0008}
body{background-color:var(--paper);background-image:radial-gradient(ellipse at 8% 2%,#13324988,transparent 36%),radial-gradient(ellipse at 90% 30%,#162c3b66,transparent 42%),radial-gradient(#9ccbd00c .7px,transparent .8px);background-size:auto,auto,7px 7px;background-attachment:fixed;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.22;background:linear-gradient(115deg,transparent 0 47%,#a6d9dc08 47.1% 47.3%,transparent 47.4% 100%);background-size:150px 150px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}
body[data-theme="light"]{--ink:#17221f;--muted:#60706a;--paper:#f3f6f7;--panel:#fff;--line:#d5e0e4;--green:#1f6273;--lime:#c7ecec;--shadow:0 16px 48px #18354812;background-image:radial-gradient(ellipse at 8% 2%,#d6eaf1aa,transparent 36%),radial-gradient(ellipse at 90% 30%,#e4eef4aa,transparent 42%),radial-gradient(#2752650a .7px,transparent .8px);background-size:auto,auto,7px 7px}
.site-header{background:color-mix(in srgb,var(--paper) 88%,transparent);border-color:var(--line)}.brand,.nav-links a{color:var(--ink)}.nav-links a:hover,.nav-links a[aria-current=page]{background:#72d4c41b;color:var(--green)}
.card,.tool-panel,.timeline-item,.stat{background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,white 4%),var(--panel));border-color:var(--line);box-shadow:var(--shadow)}.card{position:relative;overflow:hidden}.card::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--green),#91baff,transparent);transform:scaleX(0);transform-origin:left;transition:transform .35s}.card:hover::before{transform:scaleX(1)}.card:hover{box-shadow:0 22px 50px #0005}.stat span,.section-head p,.timeline-item p{color:var(--muted)}.card-tag{background:#72d4c418;color:var(--green)}.button{color:#06161b}.button:hover{background:#9cebdc;color:#06161b}.button.secondary{background:#72d4c41b;color:var(--green);border:1px solid #72d4c433}.callout{background:linear-gradient(135deg,#0b1721,#122b3b 65%,#123c46);border:1px solid #436679}.callout p{color:#d1e2e8}.callout .button{background:var(--lime);color:#07111b}.field input,.field textarea,.field select{background:color-mix(in srgb,var(--panel) 88%,black);border-color:var(--line);color:var(--ink)}body[data-theme="light"] .field input,body[data-theme="light"] .field textarea,body[data-theme="light"] .field select{background:#fff}.result,.device-item,.release{background:color-mix(in srgb,var(--panel) 88%,var(--green) 12%);border-color:var(--line);color:var(--ink)}.typing-text{background:color-mix(in srgb,var(--panel) 85%,var(--green) 15%);color:var(--ink)}.map-box{background:#101e2a}.site-footer{border-color:var(--line);color:var(--muted)}.footer-links a{color:var(--green)}
.theme-toggle{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:.52rem .8rem;font-size:.83rem;font-weight:700;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.theme-toggle:hover{transform:translateY(-2px);border-color:var(--green)}
.site-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#132b39,#07111b 72%);color:#f4fbff;opacity:1;transition:opacity .42s ease,visibility .42s ease}.site-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.loader-content{text-align:center;padding:2rem;animation:loader-arrive .6s both}.loader-name{display:block;font-size:clamp(2rem,8vw,4.6rem);font-weight:800;letter-spacing:-.065em;background:linear-gradient(100deg,#f04444 0%,#f04444 20%,#b63e39 45%,#376d52 70%,#123e2c 100%);background-size:220% 100%;color:transparent;background-clip:text;-webkit-background-clip:text;animation:name-red-green 1.45s ease-in-out both,gradient-glint 1.2s ease-in-out .2s both}.loader-caption{display:block;margin-top:.65rem;color:#a8c1cb;font:600 .74rem var(--mono);letter-spacing:.18em;text-transform:uppercase}.loader-line{width:150px;height:2px;margin:1.5rem auto 0;background:#254150;overflow:hidden;border-radius:2px}.loader-line::after{content:"";display:block;width:45%;height:100%;background:linear-gradient(90deg,#ef4545,#46a078);animation:loading-line .95s ease-in-out infinite alternate}.loader-skip{margin-top:1rem;background:transparent;border:0;color:#9bb5c1;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:.8rem}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.25,1)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}
@keyframes name-red-green{0%{color:#f04444;background-position:0 50%}100%{color:#123e2c;background-position:100% 50%}}@keyframes gradient-glint{0%{filter:drop-shadow(0 0 0 #ef454500)}55%{filter:drop-shadow(0 0 20px #e55e5e55)}100%{filter:drop-shadow(0 0 12px #23805b40)}}@keyframes loading-line{from{transform:translateX(-25%)}to{transform:translateX(150%)}}@keyframes loader-arrive{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.menu-toggle{background:#173242;color:#ecf6f7}.nav-links{background:color-mix(in srgb,var(--paper) 94%,transparent);border-radius:16px}.nav-wrap{row-gap:.65rem}.theme-toggle{margin-left:auto}.hero-mark{box-shadow:0 12px 45px #72d4c422}}
@media(prefers-reduced-motion:reduce){.site-loader{transition:none}.loader-name,.loader-content,.loader-line::after{animation-duration:.01ms!important}.reveal-on-scroll{opacity:1;transform:none;transition:none}}
/* Refined editorial finish: near-black surfaces, restrained color, formal type */
:root{--ink:#f0f1f4;--muted:#a4a7b2;--paper:#090a0d;--panel:#111318;--line:#282a32;--green:#9fb4ff;--lime:#d9b77a;--warm:#e9a27f;--shadow:0 16px 48px #0008}
body{font-family:'DM Sans',Arial,sans-serif;background-image:radial-gradient(ellipse at 12% 0%,#25375a35,transparent 36%),radial-gradient(ellipse at 92% 28%,#452d3b22,transparent 38%),radial-gradient(#d4dcf109 .7px,transparent .8px);background-size:auto,auto,8px 8px}
h1,h2,h3,.brand,.stat strong{font-family:'Libre Baskerville',Georgia,serif;letter-spacing:-.035em}h1{font-weight:700;line-height:1.1}h2{font-weight:700}h3{font-weight:700}.eyebrow,.card-tag{letter-spacing:.04em}.hero-mark{background:radial-gradient(circle at 35% 28%,#f5eddb 0 13%,transparent 14%),linear-gradient(145deg,#d8ba85,#9eaee4 65%,#563d55);color:#17151a}.card,.tool-panel,.timeline-item,.stat{background:linear-gradient(145deg,#14161c,#101116 80%);border-color:#282a32;box-shadow:0 12px 32px #0005}.card{transition:transform .32s cubic-bezier(.2,.75,.25,1),border-color .32s,box-shadow .32s}.card:hover,.card:focus-within{transform:translateY(-6px);border-color:#727da0;box-shadow:0 22px 46px #0009,0 0 26px #829ce51b}.card::before{background:linear-gradient(90deg,transparent,#9fb4ff,#e3b77a,transparent)}.card-tag{background:#9fb4ff14;color:#c4d0ff}.stat strong{color:#d9b77a}.button{background:#b5c3f5;color:#14151a}.button:hover{background:#d9b77a;color:#151414;box-shadow:0 8px 24px #d9b77a2b}.button.secondary{background:#171921;color:#d8ddf0;border-color:#303342}.button.secondary:hover{background:#222632;color:#fff;border-color:#9fb4ff}.callout{background:linear-gradient(135deg,#101116,#171925 58%,#241b21);border-color:#393a49}.callout .eyebrow{color:#d9b77a!important}.callout .button{background:#d9b77a;color:#17151a}.site-header{background:#090a0de8}.nav-links a:hover,.nav-links a[aria-current=page]{background:#9fb4ff14;color:#c4d0ff}.footer-links a,.release a{color:#b9c8ff}.projects-github{margin:1.1rem 0 1.35rem}.projects-github .button{min-height:44px}
body[data-theme="light"]{--ink:#1b2028;--muted:#626c78;--paper:#f2f3f5;--panel:#fff;--line:#d7dbe2;--green:#405a97;--lime:#a67c3d;--shadow:0 14px 38px #24314712;background-image:radial-gradient(ellipse at 12% 0%,#e1e7f5,transparent 36%),radial-gradient(ellipse at 92% 28%,#f0e7e8,transparent 38%),radial-gradient(#2e3b5109 .7px,transparent .8px)}body[data-theme="light"] .card,body[data-theme="light"] .tool-panel,body[data-theme="light"] .timeline-item,body[data-theme="light"] .stat{background:linear-gradient(145deg,#fff,#f8f9fb);border-color:#d7dbe2;box-shadow:0 12px 32px #24314710}body[data-theme="light"] .card-tag{background:#405a9710;color:#405a97}body[data-theme="light"] .stat strong{color:#8a652f}body[data-theme="light"] .button{background:#405a97;color:white}body[data-theme="light"] .button:hover{background:#8a652f;color:white}body[data-theme="light"] .button.secondary{background:#e9edf5;color:#344a7d;border-color:#d7dbe2}body[data-theme="light"] .site-header{background:#f2f3f5eb}
body[data-page="achievements"] .card h3,body[data-page="achievements"] .card p,body[data-page="achievements"] .card li{transition:color .25s ease,text-shadow .25s ease,transform .25s ease}body[data-page="achievements"] .card h3:hover,body[data-page="achievements"] .card p:hover,body[data-page="achievements"] .card li:hover,body[data-page="achievements"] .card h3:focus-visible,body[data-page="achievements"] .card li:focus-visible{color:#dbe4ff;text-shadow:0 0 8px #9fb4ff7a,0 0 22px #9fb4ff35}body[data-page="achievements"] .card li:hover{transform:translateX(3px)}body[data-page="achievements"] .card:hover{border-color:#8b82a8;box-shadow:0 18px 48px #0009,0 0 30px #a58adc20}body[data-theme="light"][data-page="achievements"] .card h3:hover,body[data-theme="light"][data-page="achievements"] .card p:hover,body[data-theme="light"][data-page="achievements"] .card li:hover{color:#405a97;text-shadow:0 0 12px #899fd966}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #d9b77a;outline-offset:3px}
@media(max-width:760px){h1{font-size:clamp(2.5rem,12vw,4.2rem)}.hero-mark{background:linear-gradient(145deg,#d8ba85,#9eaee4 65%,#563d55)}.card:hover,.card:focus-within{transform:translateY(-3px)}}
/* Cleaner spacing and quieter surfaces */
:root{--r:15px;--shadow:0 8px 24px #0004}
body{background-image:radial-gradient(ellipse at 12% 0%,#25375a20,transparent 34%),radial-gradient(ellipse at 92% 28%,#452d3b10,transparent 38%);background-attachment:scroll}
body::before{display:none}.card,.tool-panel,.timeline-item,.stat{background:#111318;border-color:#252830;box-shadow:none}.card:hover,.card:focus-within{transform:translateY(-3px);box-shadow:0 10px 28px #0006,0 0 18px #829ce512}.card::before{height:1px}.site-header{backdrop-filter:blur(8px)}.section{padding:2.1rem 0}.section-head{margin-bottom:1rem}.card{padding:1.15rem}.stat{padding:.9rem 1rem}.callout{box-shadow:none}.projects-github{display:inline-flex;margin:.7rem 0 0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tools-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:2rem 0 .65rem}.tools-heading h3,.tools-heading p{margin:0}.tools-heading p{color:var(--muted)}.tools-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.2rem;border-top:1px solid var(--line)}.tool-link{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem .15rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:color .2s,border-color .2s,transform .2s}.tool-link span:last-child{color:var(--green);transition:transform .2s}.tool-link:hover{color:var(--green);border-color:#727da0;transform:translateX(2px)}.tool-link:hover span:last-child{transform:translate(2px,-2px)}body[data-theme="light"] .card,body[data-theme="light"] .tool-panel,body[data-theme="light"] .timeline-item,body[data-theme="light"] .stat{background:#fff;border-color:#d7dbe2;box-shadow:none}body[data-theme="light"] .card:hover{box-shadow:0 10px 24px #24314712,0 0 16px #899fd91c}body[data-theme="light"] .tool-link{color:var(--ink);border-color:var(--line)}body[data-theme="light"] .tool-link:hover{color:#405a97}
body[data-page="achievements"] .card:hover{box-shadow:0 12px 30px #0006,0 0 22px #a58adc17}body[data-theme="light"][data-page="achievements"] .card:hover{box-shadow:0 10px 24px #24314712,0 0 18px #899fd922}
@media(max-width:760px){.tools-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tools-heading{align-items:flex-start;flex-direction:column;gap:.25rem}.section{padding:1.7rem 0}}
@media(max-width:520px){.project-grid,.tools-list{grid-template-columns:1fr}.projects-github{margin-top:.55rem}}
