:root{--font-latin-content:"SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI Variable Display", "Segoe UI", "Noto Sans JP", sans-serif;--font-simplified-chinese-content:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Segoe UI Variable Text", "Segoe UI", sans-serif;--font-japanese-content:"Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", "Segoe UI Variable Text", "Segoe UI", sans-serif;--font-korean-content:"Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", "Segoe UI Variable Text", "Segoe UI", sans-serif;--font-sans:var(--font-latin-content);--font-display:"SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI Variable Text", "Segoe UI", "PingFang SC", "Hiragino Sans", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#fff;--canvas-subtle:#f8fafc;--ink:#0f172a;--secondary:#64748b;--surface:#f1f5f9;--surface-raised:#fff;--rule:#0f172a14;--rule-hover:#2563eb40;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-purple:#7351b5;--accent-purple-light:#8b5cf61a;--accent-blue-light:#2563eb14;--accent-gradient:linear-gradient(135deg, #2563eb 0%, #8b5cf6 100%);--text-body:#475569;--text-strong:#334155;--on-ink:#fff;--header-bg:#ffffffd1;--hairline:#e2e8f0b3;--rule-strong:#dbe1e8;--track:#dde5ee;--badge-ink:#365471;--mesh-dot:#47556933;--glow-shadow:0 12px 32px -8px #2563eb1a;--gutter:clamp(20px, 3.2vw, 40px);--content:1280px;--motion-press:.1s;--motion-fast:.14s;--motion-base:.22s;--motion-slow:.36s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0b1120;--canvas-subtle:#111a2e;--ink:#e2e8f0;--secondary:#94a3b8;--surface:#1e293b;--surface-raised:#111a2e;--rule:#94a3b829;--rule-hover:#60a5fa59;--accent:#60a5fa;--accent-hover:#93c5fd;--accent-purple:#a78bfa;--accent-purple-light:#a78bfa24;--accent-blue-light:#60a5fa1f;--glow-shadow:0 12px 32px -8px #0006;--text-body:#cbd5e1;--text-strong:#e2e8f0;--on-ink:#0b1120;--header-bg:#0b1120d1;--hairline:#94a3b82e;--rule-strong:#1e293b;--track:#1e293b;--badge-ink:#9fb8d3;--mesh-dot:#94a3b833}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv02", "cv03", "cv04", "cv11";margin:0;font-size:17px;line-height:1.65;position:relative}::selection{color:var(--ink);background:#8b5cf638}body,p,h1,h2,h3{overflow-wrap:break-word}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;font-optical-sizing:auto;text-rendering:optimizelegibility;color:var(--ink);font-weight:650;line-height:1.1}h1{font-size:clamp(48px,6vw,80px)}h2{font-size:clamp(32px,3.8vw,50px)}h3{font-size:32px}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px;transition:color .18s,text-decoration-color .18s}button{font:inherit}svg,img{max-width:100%;display:block}.wrap{width:min(100%, var(--content));padding-inline:var(--gutter);margin-inline:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}main:focus{outline:none}.antigravity-mesh-canvas{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;inset:0}h1,h2,h3,.hero-role,.brand,.nav-link,.technology,.section-note,p,.hero-summary,.text-link{transform-origin:0;transition:transform .14s cubic-bezier(.16,1,.3,1)}main,.site-header,.site-footer{z-index:1;position:relative}.skip-link{z-index:100;background:var(--ink);color:var(--on-ink);border-radius:6px;padding:10px 18px;transition:transform .18s;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--rule);position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:32px;min-height:76px;display:flex}.brand{font:650 22px/1.2 var(--font-display);letter-spacing:-.025em;color:var(--ink);padding-block:10px;text-decoration:none;transition:opacity .18s}.brand:hover{opacity:.85}.nav-links{align-items:center;gap:42px;display:flex}.nav-link{min-height:44px;color:var(--secondary);align-items:center;font-size:15px;font-weight:500;text-decoration:none;transition:color .18s;display:inline-flex;position:relative}.nav-link:hover{color:var(--ink)}.nav-link[aria-current=page]{color:var(--accent);text-decoration:none}.nav-link[aria-current=page]:after{content:"";background:var(--accent-gradient);border-radius:2px;height:2px;position:absolute;bottom:8px;left:0;right:0}.menu-toggle,.mobile-contact-link{display:none}.home-hero{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:56px;padding-block:48px 40px;display:grid}.hero-copy{min-width:0}.hero-copy h1{letter-spacing:-.04em;font-size:clamp(44px,4.8vw,60px)}.hero-role{color:var(--accent-purple);letter-spacing:-.01em;margin-top:16px;font-size:clamp(17px,1.6vw,22px);font-weight:500}.hero-question{letter-spacing:-.02em;max-width:660px;margin-top:24px;font-size:clamp(21px,2vw,25px);font-weight:550;line-height:1.4}.hero-summary{max-width:660px;color:var(--text-body);margin-top:16px;font-size:17px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px 28px;margin-top:20px;display:flex}.home-sound-sketch{justify-self:end;width:100%;min-width:0;max-width:400px}.sound-sketch-caption{color:var(--secondary);text-align:center;margin-top:10px;font-size:12px}.text-link{min-height:44px;color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--accent) 25%, transparent);align-items:center;gap:12px;width:fit-content;font-size:16px;font-weight:550;text-decoration:none;transition:color .18s,background-color .18s,border-color .18s;display:inline-flex}.text-link span{transition:transform .2s cubic-bezier(.16,1,.3,1)}.text-link:hover{color:var(--accent-purple);border-bottom-color:var(--accent-purple)}.text-link:hover span{transform:translate(4px)}.music-figure{width:100%;min-width:0}.score-surface-container{border:1px solid var(--hairline);background:color-mix(in srgb, var(--canvas) 52%, transparent);box-shadow:0 20px 48px -12px #2563eb12, 0 0 0 1px color-mix(in srgb, var(--canvas) 70%, transparent) inset;-webkit-backdrop-filter:blur(12px);border-radius:16px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.score-surface-container:hover{box-shadow:0 24px 54px -12px #8b5cf61f, 0 0 0 1px color-mix(in srgb, var(--canvas) 80%, transparent) inset;border-color:#8b5cf659}.score-controls-stepless{z-index:2;position:absolute;top:8px;right:8px}.stepless-audio-widget{border-radius:6px;flex-direction:row-reverse;align-items:center;gap:8px;display:flex}.stepless-mute-btn{min-width:44px;height:44px;color:var(--secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;transition:color .16s;display:inline-flex}.stepless-mute-btn:hover{color:var(--ink)}.stepless-mute-btn.is-active{color:var(--accent)}.sound-icon-svg{width:14px;height:14px;display:block}.sound-enable-label{white-space:nowrap;font-size:11px;font-weight:400;display:none}.music-figure:hover .sound-enable-label,.stepless-mute-btn:focus-visible .sound-enable-label{display:inline}.score-controls-stepless .stepless-audio-widget[data-muted=true] .stepless-value-label{display:none}@media (hover:none){.sound-enable-label{display:inline}}.stepless-audio-widget .stepless-track,.stepless-audio-widget .stepless-value-label{display:none}.stepless-audio-widget:hover,.stepless-audio-widget:focus-within{background:color-mix(in srgb, var(--canvas) 96%, transparent);padding-left:10px}.stepless-audio-widget:hover .stepless-track,.stepless-audio-widget:focus-within .stepless-track,.stepless-audio-widget:hover .stepless-value-label,.stepless-audio-widget:focus-within .stepless-value-label{display:block}.stepless-track{cursor:pointer;touch-action:none;background:linear-gradient(#94a3b840,#94a3b840) 50%/100% 6px no-repeat;border-radius:3px;width:64px;height:44px;position:relative}.stepless-fill{background:var(--accent-gradient);pointer-events:none;border-radius:3px;height:6px;transition:width 50ms linear;position:absolute;top:calc(50% - 3px)}.stepless-thumb{border:2px solid var(--accent-purple);pointer-events:none;background:#fff;border-radius:50%;width:10px;height:10px;transition:left 50ms linear;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #0f172a33}.stepless-value-label{color:var(--secondary);text-align:right;letter-spacing:-.02em;min-width:30px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:600}.score-surface{background:0 0;width:100%;min-width:0;position:relative;overflow:hidden}.score-svg{aspect-ratio:12/7;pointer-events:none;width:100%;height:auto;display:block;position:relative}.score-staff{color:var(--secondary);opacity:.18}.elastic-staff-string{transition:stroke .2s,opacity .2s}.score-breath{transform-origin:50%;animation:7s ease-in-out infinite score-breathe}@keyframes score-breathe{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.score-surface[data-visible=false] .score-breath{animation-play-state:paused}.crystal-node-visual{cursor:pointer;transform-origin:50%;transform-box:fill-box;transition:transform .22s cubic-bezier(.16,1,.3,1),filter .22s}.crystal-node-group:hover .crystal-node-visual,.crystal-node-visual.is-sounding{filter:drop-shadow(0 4px 10px #8b5cf666);transform:scale(1.08)}.node-aura-rect{transition:opacity .2s}.node-core-rect{transition:fill .2s,stroke .2s,stroke-width .2s}.score-note{cursor:pointer;background:0 0;border:none;border-radius:9999px;outline:none;width:14%;min-width:44px;height:16%;min-height:44px;max-height:56px;position:absolute;transform:translate(-50%,-50%)}.score-note:disabled{cursor:default}.score-note:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.selected-work{padding-bottom:72px}.selected-work h2{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);border-top:1px solid var(--rule);flex-direction:column;align-items:flex-start;gap:8px;width:100%;margin-bottom:24px;padding-top:32px;font-size:26px;font-weight:650;line-height:1.25;display:inline-flex}.selected-work h2:after{content:"";background:var(--accent-gradient);border-radius:999px;width:36px;height:3px;display:block}.site-footer{background:color-mix(in srgb, var(--canvas-subtle) 45%, transparent);-webkit-backdrop-filter:blur(4px);color:var(--ink);border-top:1px solid var(--rule);padding-block:56px 28px;position:relative}.site-footer :focus-visible{outline-color:var(--accent)}.page-hero{width:min(100%, var(--content));padding:72px var(--gutter) 56px;margin-inline:auto}.page-hero>p{color:var(--secondary);max-width:730px;margin-top:28px;font-size:21px;line-height:1.55}.section-note{color:var(--secondary);margin-block:28px 16px;font-size:15px}.technology{color:var(--accent-purple);margin-top:24px;font-size:14px;font-weight:500}.contact-link{overflow-wrap:anywhere;max-width:100%;min-height:44px;color:var(--accent);align-items:center;font-weight:500;transition:color .18s;display:inline-flex}.contact-link:hover{color:var(--accent-purple)}.not-found-page{min-height:55vh;padding-bottom:100px}@media (hover:hover){a:hover{color:var(--accent)}.text-link:hover span{transform:translate(4px)}.site-footer a:hover{color:var(--accent)}}@media (max-width:1100px){.home-hero{gap:32px}}@media (max-width:760px){html{scroll-padding-top:90px}.nav-shell{flex-wrap:wrap;gap:0;min-height:74px}.brand{font-size:21px}.mobile-contact-link{white-space:nowrap;min-height:44px;color:var(--secondary);align-items:center;margin-left:auto;margin-right:12px;font-size:13px;text-decoration:none;display:inline-flex}.mobile-contact-link:hover,.mobile-contact-link[aria-current=page]{color:var(--accent)}.menu-toggle{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:0 4px;display:inline-flex}.menu-toggle span{font-size:24px}.nav-links{width:100%;padding-block:8px 20px;display:none}.nav-links[data-open=true]{flex-direction:column;align-items:stretch;gap:0;display:flex}.nav-link{border-top:1px solid var(--rule);min-height:52px}.home-hero{grid-template-columns:1fr;gap:24px;padding-block:28px 24px}.hero-copy h1{font-size:clamp(44px,11vw,68px)}.hero-role{margin-top:12px;font-size:17px}.hero-question{margin-top:20px;font-size:22px}.hero-summary{font-size:16px}.home-sound-sketch{justify-self:center;max-width:340px}.hero-actions{gap:12px 26px;margin-top:24px}.text-link{font-size:16px}.selected-work{padding-bottom:40px}.selected-work h2{margin-bottom:10px;padding-top:32px}.site-footer{padding-block:36px 22px}.page-hero{padding-top:42px;padding-bottom:38px}.page-hero h1{font-size:clamp(40px,9vw,60px)}.page-hero>p{margin-top:22px;font-size:18px}}@media (max-width:480px){.score-surface-container{padding-top:32px}.score-surface{margin-bottom:-24px}}@media (max-width:360px){:root{--gutter:20px}.hero-copy h1{font-size:42px}.hero-summary{font-size:18px}.hero-actions{gap:8px 16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.score-breath{opacity:.85;transform:none}.text-link:hover span{transform:none}}@media (forced-colors:active){.score-surface-container{border:1px solid canvastext}.nav-link[aria-current=page]{text-decoration-color:linktext}.score-note{border-color:buttontext}.score-breath{stroke:canvastext}}@media print{.site-header,.site-footer,.skip-link,.score-controls-stepless,.antigravity-mesh-canvas{display:none}body{color:#000;background:#fff}.page-hero{padding-top:0}}@media (prefers-reduced-transparency:reduce){.site-header,.score-controls-stepless{background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header,.score-controls-stepless{background:var(--canvas)}}@media (prefers-contrast:more){:root{--secondary:var(--text-strong);--rule:#94a3b8}.site-header{background:var(--canvas)}.score-staff{opacity:.6}}.primary-link{background:var(--ink);min-height:48px;color:var(--on-ink);border-radius:8px;justify-content:center;align-items:center;gap:22px;padding:11px 22px;font-size:16px;font-weight:550;text-decoration:none;display:inline-flex}.primary-link:hover{background:var(--accent);color:var(--on-ink)}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.work-card{border-top:1px solid var(--rule);background:var(--canvas);text-decoration:none}.work-card:focus-within{border-color:var(--rule-hover)}.work-card h3 a{text-decoration:none}.work-card h3 a:hover{color:var(--accent)}.work-card{display:flex}.work-card-copy{flex-direction:column;padding:24px 0;display:flex}.work-category{color:var(--secondary);margin-bottom:10px;font-size:13px;line-height:1.5}.work-card h3{margin-bottom:14px;font-size:25px;line-height:1.15}.work-card-copy>p:not(.work-category){color:var(--text-body);font-size:16px;line-height:1.6}.work-card-copy>p.home-contribution{color:var(--ink);margin-top:14px}.home-work-links{flex-wrap:wrap;gap:4px 24px;margin-top:auto;padding-top:14px;display:flex}.home-work-links .text-link{gap:8px;font-size:14px}.work-section-footer{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:28px;display:flex}.work-showcase{border-top:1px solid var(--rule);grid-template:"heading copy""meta copy""details copy"1fr/minmax(220px,.8fr) minmax(0,1.2fr);column-gap:56px;padding-block:36px 48px;scroll-margin-top:110px;display:grid}.work-showcase-heading{grid-area:heading}.work-showcase-copy{grid-area:copy}.work-showcase-meta{grid-area:meta}.work-showcase-details{grid-area:details}.work-showcase-heading h2{font-size:clamp(28px,3vw,40px)}.work-showcase-meta .technology{max-width:360px;margin-block:16px 8px}.technology-list{flex-wrap:wrap;gap:6px 8px;padding:0;list-style:none;display:flex}.technology-list li{border:1px solid var(--rule);background:var(--accent-purple-light);border-radius:999px;padding:3px 10px;font-size:13px;line-height:1.5}.work-showcase-details{max-width:360px}.work-showcase-details summary{color:var(--ink);font-weight:600}.work-summary{color:var(--text-body);max-width:500px;font-size:18px}.work-summary+.work-summary{margin-top:16px}.implementation-details{color:var(--secondary);margin-top:20px;font-size:15px}.implementation-details summary{cursor:pointer;width:fit-content;min-height:44px;color:var(--text-body);padding-block:9px}.implementation-details p{margin-block:12px;line-height:1.7}.implementation-details img{border:1px solid var(--rule);border-radius:8px;width:100%;height:auto;margin-top:16px}.other-projects{padding-block:28px 64px;scroll-margin-top:110px}.other-projects>h2{font-size:30px}.other-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;margin-block:32px;display:grid}.other-project-grid article{border-top:1px solid var(--rule);padding-top:24px;scroll-margin-top:110px}.other-project-grid h3{margin-bottom:14px;font-size:26px}.other-project-grid article>p:not(.work-category){color:var(--text-body);font-size:16px}.other-project-grid .text-link{margin-top:14px;font-size:15px}.other-project-feature{grid-column:1/-1}.other-project-feature>p:not(.work-category){max-width:720px}.other-project-feature>p+p{margin-top:16px}.coach-process{margin-top:32px}.coach-process h4{margin-bottom:22px;font-size:20px}.coach-workflow{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px;padding-left:22px;display:grid}.coach-workflow li{padding-left:6px}.coach-workflow li::marker{color:var(--accent);font-family:var(--font-mono);font-size:13px}.coach-workflow strong{font-size:16px;line-height:1.5;display:block}.coach-workflow p{color:var(--text-body);margin-top:8px;font-size:15px;line-height:1.7}.coach-workflow p.technology{color:var(--accent-purple);font-size:13px}.coach-comparison{max-width:920px;margin-top:32px}.coach-comparison h4{margin-bottom:12px;font-size:18px}.coach-comparison p{color:var(--text-body);font-size:15px;line-height:1.7}.coach-comparison a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.other-project-grid article>p.technology{color:var(--accent-purple);margin-top:16px;font-size:14px}@media (max-width:760px){.coach-workflow{grid-template-columns:minmax(0,1fr);gap:22px}}.research-overview{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:64px;padding-bottom:80px;display:grid}.research-copy{max-width:680px}.research-status{margin-top:14px}.research-path{border:1px solid var(--rule);background:var(--surface-raised);border-radius:12px;padding:26px 28px 10px}.research-path .research-focus-title{margin-top:0}.research-map{counter-reset:research-step;margin:14px 0 0;padding:0;list-style:none}.research-map-step{counter-increment:research-step;border-top:1px solid var(--rule);grid-template-columns:30px minmax(0,1fr);column-gap:12px;padding:16px 0;display:grid}.research-map-step:before{content:"0" counter(research-step);font:500 12px/1.9 var(--font-mono);color:var(--accent)}.research-map-step strong{color:var(--ink);font-weight:600}.research-map-step p{grid-column:2;margin-top:4px;font-size:15px;line-height:1.55}.research-overview h2{margin-bottom:22px;font-size:30px}.research-overview p{color:var(--text-body)}.research-focus-title{font:600 13px/1.4 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin-top:36px}.research-focus{flex-wrap:wrap;gap:8px;margin:14px 0 12px;padding:0;list-style:none;display:flex}.research-focus li{border:1px solid var(--rule);background:var(--accent-purple-light);color:var(--ink);border-radius:999px;padding:6px 14px;font-size:15px}.cv-download-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:80px;padding-bottom:80px;display:grid}.cv-paper-preview{border:1px solid var(--rule-strong);max-width:450px;display:block;box-shadow:0 12px 36px #0f172a14}.cv-paper-preview img{width:100%;height:auto}.cv-download-copy{scroll-margin-top:110px}.cv-download-copy h2{margin-bottom:20px}.cv-download-copy>p:not(.work-category){color:var(--text-body)}.cv-download-copy .primary-link{margin-top:28px}.cv-download-copy .cv-file-meta{color:var(--secondary);margin-top:12px;font-size:13px}.cv-contact-block{border-top:1px solid var(--rule);flex-direction:column;align-items:start;gap:4px;margin-top:32px;padding-top:22px;display:flex}.cv-education{border-top:1px solid var(--rule);margin-top:28px;padding-top:22px}.cv-education-list{margin:14px 0 0;padding:0;list-style:none}.cv-education-list li{flex-direction:column;gap:2px;padding:10px 0;display:flex}.cv-education-list li+li{border-top:1px solid var(--rule)}.cv-education-list strong{color:var(--ink);font-weight:600}.cv-education-list span{color:var(--secondary);font-size:14px}.compact-footer{padding-block:24px}.compact-footer-inner{align-items:center;gap:28px;font-size:14px;display:flex}.compact-footer-inner>span{margin-right:auto}.compact-footer-inner a{min-height:44px;color:var(--text-body);align-items:center;text-decoration:none;display:inline-flex}@media (max-width:1000px){.work-grid{gap:16px}.work-card-copy{padding:20px 0}.work-card h3{font-size:22px}.cv-download-layout,.research-overview{gap:36px}.work-showcase{column-gap:36px}}@media (max-width:760px){.work-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}.work-card h3{font-size:26px}.work-card-copy>p:not(.work-category){min-height:0}.work-showcase,.research-overview,.cv-download-layout{grid-template-columns:1fr;gap:28px}.work-showcase{grid-template-rows:none;grid-template-areas:"heading""copy""meta""details";row-gap:0}.work-showcase-copy{margin-top:20px}.work-showcase-details{max-width:none}.work-showcase{padding-block:26px 36px}.other-project-grid{grid-template-columns:1fr;gap:28px}.research-overview,.cv-download-layout{padding-bottom:48px}.cv-download-copy{grid-row:1}.cv-paper-preview{max-width:420px}.compact-footer-inner{flex-wrap:wrap;gap:8px 22px}.compact-footer-inner>span{flex-basis:100%}}.interests-content{max-width:1100px;padding-bottom:72px}.interests-section+.interests-section{margin-top:64px}.interests-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px 32px;margin-bottom:28px;display:flex}.interests-heading h2{margin-bottom:12px;font-size:30px}.interests-heading p{color:var(--text-body)}.photography-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.photography-post{min-width:0}.photography-post h3{min-height:48px;margin-bottom:14px;font-size:20px}.photo-link{border:1px solid var(--rule);background:var(--surface);border-radius:8px;display:block;overflow:hidden}.photo-link img{width:100%;height:auto;display:block}.photo-link:hover{border-color:var(--rule-hover)}.photography-post .text-link{margin-top:12px;font-size:14px}.gaming-stats{border-block:1px solid var(--rule);flex-wrap:wrap;gap:24px 64px;margin:0;padding-block:24px;display:flex}.gaming-stats div{flex-direction:column-reverse;gap:4px;display:flex}.gaming-stats dt{color:var(--secondary);font-size:14px}.gaming-stats dd{margin:0;font-size:30px;font-weight:550;line-height:1.3}.gaming-stats a{text-decoration:none}.gaming-stats a:hover{color:var(--accent)}.interests-updated{color:var(--secondary);margin-top:12px;font-size:13px}.gaming-group{margin-top:32px}.gaming-group-title{font-size:22px;line-height:1.3}.gaming-group-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;display:flex}.gaming-group-heading .text-link{font-size:14px}.game-favourite{border:1px solid var(--rule);background:var(--canvas-subtle);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);margin-top:18px;display:grid;overflow:hidden}.game-cover{aspect-ratio:460/215;object-fit:cover;width:100%;height:auto}.game-favourite>.game-cover{object-fit:contain;background:#10121a;height:100%}.game-favourite-copy{min-width:0;padding:24px 28px}.game-favourite h4{letter-spacing:-.025em;margin:0 0 8px;font-size:30px;line-height:1.2}.game-playtime{color:var(--text-body);font-size:15px}.achievement-progress{margin-top:20px}.achievement-progress-label{color:var(--text-body);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.achievement-progress-label>span:last-child{color:var(--ink);font-weight:650}.achievement-progress progress{background:var(--track);width:100%;height:7px;accent-color:var(--accent);border:0;border-radius:8px;display:block;overflow:hidden}.achievement-progress progress::-webkit-progress-bar{background:var(--track);border-radius:8px}.achievement-progress progress::-webkit-progress-value{background:var(--accent);border-radius:8px}.achievement-progress progress::-moz-progress-bar{background:var(--accent);border-radius:8px}.game-favourite .text-link,.game-platinum .text-link{margin-top:16px;font-size:14px}.platinum-games-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:18px;display:grid}.game-platinum{border:1px solid var(--rule);border-radius:10px;min-width:0;overflow:hidden}.platinum-cover{aspect-ratio:288/158;object-fit:cover;width:100%;height:auto;display:block}.game-platinum-copy{padding:20px}.platinum-award{align-items:center;gap:8px;display:flex}.platinum-award img{border-radius:5px;flex-shrink:0}.game-platinum-badge{color:var(--badge-ink);font-size:12px;font-weight:600}.game-platform{color:var(--secondary);margin-left:auto;font-size:12px}.game-platinum h4{letter-spacing:-.015em;min-height:55px;margin:16px 0 10px;font-size:21px;line-height:1.3}.game-platinum .game-playtime{font-size:14px}.game-platinum .game-playtime span{color:var(--ink);font-weight:600}.game-platinum .achievement-progress{margin-top:16px}.game-platinum progress{accent-color:#6888a6}.game-platinum progress::-webkit-progress-value{background:#6888a6}.game-platinum progress::-moz-progress-bar{background:#6888a6}@media (min-width:761px) and (max-width:1100px){.platinum-games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.photography-grid,.platinum-games-grid,.game-favourite{grid-template-columns:minmax(0,1fr)}.game-favourite>.game-cover{height:auto}.game-favourite-copy,.game-platinum-copy{padding:20px}.game-platinum h4{min-height:0}.gaming-stats{gap:24px 36px}.interests-section+.interests-section{margin-top:48px}.compact-footer-inner{flex-wrap:wrap;gap:12px 20px}}.interests-nav{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:8px 32px;margin-bottom:36px;padding-bottom:16px;display:flex}.interests-section{scroll-margin-top:110px}.live-music-layout{grid-template-columns:minmax(0,1fr) minmax(0,360px);align-items:start;gap:64px;display:grid}.live-music-copy h2{margin-bottom:22px;font-size:30px}.live-music-copy p{color:var(--text-body);max-width:520px}.live-music-copy p+p{margin-top:18px}@media (max-width:760px){.live-music-layout{grid-template-columns:minmax(0,1fr);gap:28px}.live-music-layout .photography-post{justify-self:center;width:100%;max-width:400px}}
