.stat-card{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px dashed var(--color-border)}.stat-card:first-child{border-top:none}.stat-card--link{text-decoration:none;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;transition:background-color .15s cubic-bezier(.25,.1,.25,1)}.stat-card--link:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.stat-card--link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.stat-card-label{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.stat-card-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;color:var(--color-accent);line-height:1;white-space:nowrap}.dark .stat-card-value{text-shadow:0 0 12px rgba(97,255,202,.45),0 0 30px rgba(97,255,202,.18)}.hero-section{position:relative;min-height:90svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.dark .hero-section{background:radial-gradient(ellipse at 70% 20%,rgba(97,255,202,.07) 0%,transparent 60%)}.hero-container{max-width:1200px;margin:0 auto;width:100%;padding:2rem 1rem}@media(min-width:768px){.hero-container{padding:2rem}}@media(min-width:1024px){.hero-container{padding:2rem 4rem}}.hero-grid{display:flex;flex-direction:column;gap:3rem}@media(min-width:768px){.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:start;gap:4rem}}.hero-content,.hero-panel{position:relative;z-index:3}.hero-role{display:inline-block;font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;line-height:1;margin-bottom:1rem}.hero-syshead{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.light .hero-syshead{justify-content:flex-start}.hero-holes{display:flex;gap:.5rem}.hero-holes .punch-hole{width:.5rem;height:.5rem}.hero-stamp{font-size:.75rem}.hero-boot{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);margin-bottom:1rem}.hero-status-term{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:767px){.hero-holes{display:none}.hero-syshead{justify-content:flex-start}.hero-status-term{text-align:left;white-space:normal;overflow:visible;text-overflow:clip}}.hero-proj,.hero-materials{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary)}.hero-materials{font-size:.75rem}.hero-techhead{margin-bottom:.25rem}.hero-techhead .term-line{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent)}.light .terminal-cursor:after{content:none}.hero-title{font-family:var(--font-display);font-size:clamp(3rem,8vw,5.5rem);font-weight:700;color:var(--color-text-primary);letter-spacing:-.03em;line-height:.95;margin-bottom:1.5rem}.hero-description{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.6;max-width:500px;margin-bottom:2rem}.hero-tech{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-secondary);letter-spacing:.02em}.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero-cta-btn{display:inline-flex;align-items:center;min-height:44px;padding:.75rem 1.25rem;border:2px solid var(--color-accent);font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s}.hero-cta-primary{background:var(--color-accent);color:var(--color-bg-primary)}.hero-cta-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.hero-cta-secondary{background:transparent;color:var(--color-text-primary)}.hero-cta-secondary:hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.dark .hero-cta-primary{box-shadow:0 0 12px #61ffca40}.hero-panel{border:2px solid var(--color-border-strong);background:var(--color-bg-secondary)}.hero-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;border-bottom:1px dashed var(--color-border)}.hero-panel-holes{display:flex;gap:.5rem}.hero-panel-holes .punch-hole{width:.5rem;height:.5rem}.hero-panel-label{font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-secondary)}.hero-stats{display:flex;flex-direction:column;padding:.5rem 1rem}.dark .hero-panel-label{color:var(--color-accent-secondary);text-shadow:0 0 6px rgba(97,255,202,.3)}.hero-stagger{opacity:0;animation:fade-in-up .5s cubic-bezier(.25,.1,.25,1) forwards;animation-delay:calc(var(--stagger) * .1s)}@media(prefers-reduced-motion:reduce){.hero-stagger{opacity:1!important}}.dark .hero-title{font-family:var(--font-punk);text-shadow:0 0 30px rgba(97,255,202,.5),0 0 80px rgba(97,255,202,.2);transform:rotate(-1.5deg)}.dark .hero-role{color:#61ffca;text-shadow:0 0 10px rgba(97,255,202,.3)}@media(max-width:767px){.dark .hero-section .punk-sticker:first-of-type{width:140px!important;top:-1%!important;right:-2%!important}.dark .hero-section .punk-sticker:nth-of-type(2){width:60px!important;top:2%!important;left:0%!important}.dark .hero-section .punk-sticker:nth-of-type(3){width:50px!important;bottom:20%!important;left:0%!important}.dark .hero-title{transform:rotate(-.5deg)}}.section-title{display:flex;align-items:center;gap:1.25rem;margin-bottom:3rem}.section-title-text{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em;white-space:nowrap;flex-shrink:0}@media(min-width:768px){.section-title-text{font-size:2.25rem}}.section-title-line{flex:1;height:1px;background:var(--color-border)}.section-title-subtitle{font-size:1rem;color:var(--color-text-secondary);margin-top:-2rem;margin-bottom:3rem}.dark .section-title-text{font-family:var(--font-punk);transform:rotate(-2.5deg);text-shadow:0 0 20px rgba(97,255,202,.4),0 0 50px rgba(97,255,202,.15);position:relative}.dark .section-title-line{background:linear-gradient(to right,#61ffca,#54c59f,#ff3e3e,#61ffca);height:3px;box-shadow:0 0 12px #61ffca66}@media(max-width:767px){.dark .section-title-text{transform:rotate(-1deg)}}.about-section{padding:4rem 0}.about-container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:768px){.about-container{padding:0 2rem}}@media(min-width:1024px){.about-container{padding:0 4rem}}.about-content{max-width:700px}.about-description{font-size:1rem;line-height:1.7;color:var(--color-text-secondary);margin-bottom:1.5rem}.about-description:last-child{margin-bottom:0}@media(min-width:768px){.about-description{font-size:1.125rem}}.about-pullquote{margin:2rem 0;padding-left:1.25rem;border-left:1px solid var(--color-accent);font-size:1.125rem;line-height:1.6;color:var(--color-text-primary);font-style:italic}@media(min-width:768px){.about-pullquote{font-size:1.25rem;padding-left:1.5rem}}.dark .about-pullquote{border-left:1px dashed var(--color-revolt);padding:1.25rem 1.5rem;background:#61ffca0a;border-radius:0 4px 4px 0;position:relative}.dark .about-pullquote:before{content:"";position:absolute;top:-4px;left:20px;width:60px;height:18px;background:#ff3e3e26;border:1px solid rgba(255,62,62,.25);transform:rotate(-2deg);border-radius:2px}.timeline-list{list-style:none;padding:0;margin:0;position:relative}.timeline-list:before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1px;background:var(--color-border)}.timeline-entry{display:flex;gap:1.5rem;padding-bottom:3rem;position:relative}.timeline-entry:last-child{padding-bottom:0}.timeline-marker{flex-shrink:0;position:relative;z-index:1;padding-top:4px}.timeline-dot{display:block;width:11px;height:11px;border-radius:50%}.timeline-dot--career{background:var(--color-accent)}.timeline-dot--project{background:transparent;border:2px solid var(--color-accent-secondary)}.timeline-content{flex:1;min-width:0}.timeline-date{display:inline-block;font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.timeline-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);letter-spacing:var(--font-heading-tracking);margin-bottom:.5rem}.timeline-title-link{color:inherit;text-decoration:none;transition:color .3s cubic-bezier(.25,.1,.25,1) .1s}.timeline-title-link:hover{color:var(--color-accent)}.timeline-description{font-size:.875rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:.75rem;max-width:60ch}@media(min-width:768px){.timeline-description{font-size:1rem}}.timeline-badges{display:flex;flex-wrap:wrap;gap:.5rem}.timeline-badges .tech-badge{font-size:.75rem;padding:.25rem .5rem}.dark .timeline-entry{border-bottom:1px dashed rgba(97,255,202,.2)}.dark .timeline-entry:last-child{border-bottom:none}.dark .timeline-date{color:#61ffca;text-shadow:0 0 10px rgba(97,255,202,.3)}.dark .timeline-list:before{border-left:2px dashed rgba(97,255,202,.4);background:none;width:0}.dark .timeline-dot--career{background:#61ffca;box-shadow:0 0 8px #61ffca99,0 0 20px #61ffca4d;width:13px;height:13px}.dark .timeline-dot--project{border-color:#ff3e3e;box-shadow:0 0 8px #ff3e3e66,0 0 20px #ff3e3e33;width:13px;height:13px}.timeline-section{padding:4rem 0}.timeline-container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:768px){.timeline-container{padding:0 2rem}}@media(min-width:1024px){.timeline-container{padding:0 4rem}}.case-study-trigger{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem .75rem;min-height:44px;border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;list-style:none;transition:border-color .15s cubic-bezier(.25,.1,.25,1),color .15s cubic-bezier(.25,.1,.25,1)}.case-study-trigger:hover{color:var(--color-accent);border-color:var(--color-accent)}.case-study-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.case-study-trigger::-webkit-details-marker{display:none}.case-study-trigger::marker{display:none;content:""}.case-study-chevron{display:inline-block;font-size:1rem;transition:transform .3s cubic-bezier(.25,.1,.25,1)}.case-study-details[open] .case-study-chevron{transform:rotate(90deg)}.case-study-details[open] .case-study-trigger{color:var(--color-accent);border-color:var(--color-accent)}.case-study-content{padding:1.5rem 0 .5rem;display:flex;flex-direction:column;gap:1.25rem}.case-study-section{display:flex;flex-direction:column;gap:.5rem}.case-study-label{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em}.case-study-text{font-size:.875rem;line-height:1.6;color:var(--color-text-secondary);max-width:60ch}@media(min-width:768px){.case-study-text{font-size:1rem}}.case-study-full{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;margin-top:.25rem;font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.case-study-full:hover{text-decoration-thickness:2px}.case-study-full:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dark .case-study-trigger{text-shadow:0 0 8px rgba(97,255,202,.3)}.project-card{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;padding:2rem 0;border-bottom:1px solid var(--color-border);transition:border-color .15s cubic-bezier(.25,.1,.25,1)}.project-card:first-child{padding-top:0}.project-card:last-child{border-bottom:none}.project-card:hover{border-bottom-color:color-mix(in srgb,var(--color-accent) 40%,transparent)}.project-card:hover .project-number{color:var(--color-accent)}.project-card:hover .project-content{transform:translate(4px)}.project-number{font-family:var(--font-mono);font-size:1.25rem;font-weight:700;color:var(--color-text-secondary);line-height:1;padding-top:.25rem;transition:color .15s cubic-bezier(.25,.1,.25,1)}.project-content{min-width:0;transition:transform .15s cubic-bezier(.25,.1,.25,1)}.project-header{margin-bottom:.5rem}.project-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);letter-spacing:var(--font-heading-tracking)}@media(min-width:768px){.project-title{font-size:1.5rem}}.project-links{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:.75rem}.project-link{position:relative;font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;transition:color .15s cubic-bezier(.25,.1,.25,1)}.project-link:after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}.project-link:hover{color:var(--color-accent)}.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.project-year{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent-secondary)}.project-type-stamp{font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.25rem .5rem;border:2px solid currentColor;border-radius:2px;line-height:1.4;transform:rotate(-4deg)}.project-type-stamp--project{color:var(--color-text-secondary)}.project-type-stamp--contribution{color:var(--color-accent)}.dark .project-type-stamp{transform:none;text-shadow:0 0 6px rgba(97,255,202,.4)}.dark .project-type-stamp--project{color:var(--color-accent-secondary)}.dark .project-type-stamp--contribution{color:var(--color-revolt)}.project-meta-sep{color:var(--color-text-secondary);font-size:.75rem}.project-meta .tech-badge{font-size:.75rem;padding:.25rem .5rem}.project-description{font-size:.875rem;line-height:1.6;color:var(--color-text-secondary);max-width:60ch}@media(min-width:768px){.project-description{font-size:1rem}}@media(max-width:767px){.project-card{grid-template-columns:1fr;gap:.5rem}}.dark .project-card{border-bottom-color:#61ffca26;position:relative}.dark .project-card:hover{animation:shake-msn .3s ease-in-out;border-bottom-color:#61ffca66}.dark .project-card:after{content:"";position:absolute;right:-.5rem;top:-.5rem;font-size:1.25rem;color:transparent;font-weight:900;writing-mode:vertical-rl;letter-spacing:-.15em;pointer-events:none;z-index:20}.dark .project-card:hover:after{content:"ゴゴゴ";color:#61ffca99;text-shadow:0 0 15px rgba(97,255,202,.4);animation:menacing-float 2s ease-in-out infinite}.dark .project-number{color:#61ffca4d}.dark .project-card:hover .project-number{color:#61ffca;text-shadow:0 0 20px rgba(97,255,202,.5),0 0 40px rgba(97,255,202,.2)}.dark .project-title{font-family:var(--font-punk)}.projects-section{padding:4rem 0}.projects-container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:768px){.projects-container{padding:0 2rem}}@media(min-width:1024px){.projects-container{padding:0 4rem}}.projects-list{display:flex;flex-direction:column}.contact-section{position:relative;padding:4rem 0}.contact-gradient-border{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;max-width:1000px;height:1px;background:linear-gradient(to right,transparent,var(--color-border) 20%,var(--color-border) 80%,transparent)}.contact-container{max-width:700px;margin:0 auto;padding:0 1.5rem;text-align:center}.contact-cta{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--color-text-primary);margin-top:2rem;line-height:1.2;letter-spacing:-.02em}.contact-subtitle{font-size:1rem;color:var(--color-text-secondary);margin-top:.75rem;line-height:1.6}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:2.5rem}.contact-link{display:inline-flex;align-items:center;min-height:44px;gap:.5rem;font-family:var(--font-mono);font-size:1rem;font-weight:500;color:var(--color-accent);padding:.5rem 0;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .2s cubic-bezier(.25,.1,.25,1)}.contact-link:hover{text-decoration-color:currentColor}.contact-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px}.contact-link--cv{color:var(--color-text-primary);font-weight:600}@media(min-width:768px){.contact-cta{font-size:2.75rem}.contact-subtitle{font-size:1.125rem}}.dark .contact-gradient-border{background:linear-gradient(to right,transparent,#61ffca 15%,#61ffca 35%,#ff3e3e 55%,#61ffca 75%,transparent);height:3px;box-shadow:0 0 20px #61ffca4d}.dark .contact-cta{font-family:var(--font-punk);color:var(--color-revolt);text-shadow:0 0 30px rgba(255,62,62,.4),0 0 60px rgba(255,62,62,.15);transform:rotate(-1deg)}.dark .contact-link{position:relative;text-shadow:0 0 10px rgba(97,255,202,.3)}.dark .contact-link:hover{text-shadow:0 0 15px rgba(97,255,202,.5)}.dark .contact-link:after{content:"";position:absolute;right:-.5rem;top:-.5rem;font-size:1.25rem;color:transparent;font-weight:900;writing-mode:vertical-rl;letter-spacing:-.15em;pointer-events:none;z-index:20}.dark .contact-link:hover:after{content:"ゴゴゴ";color:#61ffca80;text-shadow:0 0 12px rgba(97,255,202,.3);animation:menacing-float 2s ease-in-out infinite}@media(max-width:767px){.dark .contact-section .punk-sticker-bg{width:100px!important;top:3%!important;left:-1%!important}.dark .contact-section .punk-sticker:nth-of-type(2){width:80px!important;bottom:2%!important;right:-1%!important}.dark .contact-section .punk-sticker:nth-of-type(3){width:70px!important;top:10%!important;right:5%!important}.dark .contact-cta{transform:rotate(-.5deg)}}
