/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--color-gray-500:oklch(55.1% .027 264.364);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-body)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.py-4{padding-block:calc(var(--spacing)*4)}.py-10{padding-block:calc(var(--spacing)*10)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-gray-500{color:var(--color-gray-500)}.italic{font-style:italic}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}@media (hover:hover){.hover\:no-underline:hover{text-decoration-line:none}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline:focus{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--background:#fff;--foreground:#171717;--font-body:"Avenir Next","Segoe UI","Helvetica Neue",sans-serif;--font-display:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body{background:var(--background);color:var(--foreground);font-family:var(--font-body),sans-serif}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--bg-color:#07090c;--bg-elevated:rgba(12,15,20,0.86);--bg-panel:rgba(11,14,19,0.92);--bg-panel-soft:rgba(15,19,25,0.84);--line-color:rgba(255,255,255,0.08);--line-strong:rgba(255,255,255,0.12);--text-primary:#f2f5f7;--text-secondary:#a9b1ba;--text-muted:#7f8893;--accent-a:#22d3c5;--accent-b:#1580ff;--accent-solid:#15c6bd;--shadow-color:rgba(0,0,0,0.34)}body,html{margin:0;padding:0;width:100%}body{min-height:100vh;overflow-x:hidden;color:var(--text-primary);line-height:1.5;background:radial-gradient(circle at 18% 8%,rgba(30,130,124,.18),transparent 18%),radial-gradient(circle at 78% 92%,rgba(10,102,210,.14),transparent 22%),linear-gradient(180deg,#080a0d,#050608)}body:before{content:"";background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 22%),repeating-linear-gradient(90deg,transparent,transparent calc(25% - 1px),rgba(255,255,255,.02) calc(25% - 1px),rgba(255,255,255,.02) 25%);opacity:.35}#starfield,body:before{position:fixed;inset:0;pointer-events:none;z-index:0}#starfield{width:100%;height:100%;opacity:.9}.contact-shell,.home-shell,.work-detail-shell{position:relative;z-index:1}.home-v1{width:min(1640px,calc(100% - 2.5rem));margin:0 auto;padding:0 0 4rem}.home-nav{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;min-height:72px;padding:1rem 0;border-bottom:1px solid var(--line-color);background:rgba(7,9,12,.78);backdrop-filter:blur(18px)}.home-brand{gap:1rem;color:var(--text-primary);text-decoration:none}.home-brand,.home-brand-mark{display:inline-flex;align-items:center}.home-brand-mark{justify-content:center;width:2.4rem;height:2.4rem;border-radius:999px;background:linear-gradient(135deg,rgba(34,211,197,.18),rgba(21,128,255,.2));border:1px solid rgba(255,255,255,.08);font-size:.85rem;font-weight:800;letter-spacing:.12em}.home-brand-copy{display:grid;gap:.05rem}.home-brand-copy strong{font-size:.95rem;font-weight:700}.home-brand-copy span{color:var(--text-muted);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.contact-actions,.hero-actions,.hero-meta,.home-nav-actions,.home-nav-links,.lang-toggle{display:flex;align-items:center;flex-wrap:wrap}.home-nav-links{justify-content:center;gap:1.8rem}.home-nav-links a{color:var(--text-secondary);text-decoration:none;font-size:.92rem;font-weight:500}.hero-panel-footer a:hover,.home-nav-links a:hover,.track-link:hover{color:var(--text-primary)}.home-nav-actions{justify-content:flex-end;gap:.9rem}.lang-toggle{border:1px solid var(--line-strong);border-radius:999px;padding:.2rem;background:rgba(255,255,255,.02)}.lang-btn{border:0;background:transparent;color:var(--text-muted);border-radius:999px;padding:.45rem .75rem;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer}.lang-btn.active{background:rgba(255,255,255,.08);color:var(--text-primary)}.contact-form button,.feature-link,.hero-btn,.nav-cta,.play-button,.work-contact-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.78rem 1.25rem;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:600;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.contact-form button:hover,.feature-link:hover,.hero-btn:hover,.nav-cta:hover,.play-button:hover,.work-contact-btn:hover{transform:translateY(-1px)}.hero-btn-secondary,.nav-cta,.track-link{background:rgba(255,255,255,.04);color:var(--text-primary);border-color:var(--line-strong)}.contact-form button,.feature-link,.hero-btn-primary,.play-button,.work-contact-btn{background:linear-gradient(90deg,var(--accent-a),var(--accent-b));color:#041014}.contact-card,.contact-stage,.game-card,.game-container,.game-over,.hero-stage,.music-card,.section-stage,.work-content,.work-hero{position:relative;border-radius:0}.hero-stage{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.9fr);gap:5rem;padding:4.5rem 0 4.25rem;border-bottom:1px solid var(--line-color)}.hero-copy{max-width:930px}.contact-kicker,.cv-kicker,.feature-meta,.list-meta,.meta-label,.section-eyebrow,.work-type-chip{margin:0;color:var(--accent-solid);font-size:.82rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.section-eyebrow{display:inline-flex;align-items:center;gap:.85rem;color:var(--text-muted)}.eyebrow-line{display:inline-block;width:1.6rem;height:1px;background:linear-gradient(90deg,var(--accent-a),var(--accent-b))}.contact-card h1,.cv-card h3,.focus-card h3,.game-info h2,.hero-title,.music-info h2,.section-title,.service-content h3,.track-card h3,.work-content h1{margin:0;font-family:var(--font-body),sans-serif;font-weight:700;letter-spacing:-.05em;line-height:.96}.hero-title{margin-top:1.35rem;max-width:12ch;font-size:clamp(2.9rem,5.8vw,5rem)}.hero-title span,.section-title span{background:linear-gradient(90deg,var(--accent-a),var(--accent-b));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-quote{margin:2rem 0 0;color:#9ea6b2;font-size:.98rem;font-style:italic;letter-spacing:.08em}.contact-intro,.cv-card p,.focus-card p,.game-description,.hero-body,.music-description,.section-body,.section-description,.service-content p,.track-copy,.work-abstract p{color:var(--text-secondary)}.hero-body{max-width:920px;margin:2rem 0 0;font-size:clamp(1.02rem,1.2vw,1.18rem);line-height:1.72}.contact-actions,.hero-actions{gap:1rem;margin-top:2rem}.hero-meta{gap:1.2rem;margin-top:1.4rem}.hero-meta-link{color:var(--text-muted);text-decoration:none;font-size:.95rem}.hero-meta-link:hover{color:var(--text-primary)}.hero-panel{align-self:end;border:1px solid var(--line-strong);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,0)),var(--bg-panel);box-shadow:0 28px 70px var(--shadow-color)}.hero-panel-footer,.hero-panel-header,.hero-panel-item{display:flex;align-items:center;justify-content:space-between;gap:1rem}.hero-panel-footer,.hero-panel-header{padding:1.5rem 1.6rem}.hero-panel-header{color:var(--text-muted);font-size:.86rem;letter-spacing:.16em;text-transform:uppercase}.live-pill{display:inline-flex;align-items:center;gap:.45rem;color:var(--accent-a)}.live-pill:before{content:"";width:.5rem;height:.5rem;border-radius:999px;background:var(--accent-a);box-shadow:0 0 16px rgba(34,211,197,.55)}.hero-panel-list{border-top:1px solid var(--line-color);border-bottom:1px solid var(--line-color)}.hero-panel-image-wrap{padding:0 1.1rem 1.1rem}.hero-panel-image{display:block;width:100%;height:auto;aspect-ratio:4/4.9;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.hero-panel-item{padding:1.45rem 1.6rem}.hero-panel-item+.hero-panel-item{border-top:1px solid var(--line-color)}.hero-panel-copy{display:grid;gap:.28rem}.hero-panel-copy strong{font-size:1rem;font-weight:500}.hero-panel-copy span,.hero-panel-footer span{color:var(--text-muted)}.hero-panel-value{color:var(--accent-a);font-size:1.2rem;font-weight:700;white-space:nowrap}.hero-panel-footer a,.track-link{color:var(--text-primary);text-decoration:none}.contact-stage,.section-stage{padding:4rem 0;border-bottom:1px solid var(--line-color)}.section-intro{max-width:1040px;margin-bottom:3rem}.section-intro.compact{margin-bottom:2rem}.section-title{margin-top:1rem;max-width:14ch;font-size:clamp(2.2rem,4.2vw,3.7rem)}.section-body{max-width:1080px;margin:1.5rem 0 0;font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.72}.cv-grid,.focus-grid,.games-grid,.list-grid,.music-grid,.track-grid{display:grid}.focus-grid{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-color);border-bottom:1px solid var(--line-color)}.focus-card{padding:3rem 2.8rem 2.3rem;border-right:1px solid var(--line-color)}.focus-card:last-child{border-right:0}.card-eyebrow{color:var(--accent-solid)}.focus-card h3,.track-card h3{margin-top:2rem;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.14}.focus-card p{margin:1.5rem 0 0;font-size:.96rem;line-height:1.72}.focus-route{margin-top:2rem;padding-top:1.8rem;color:var(--text-muted);font-size:.9rem}.focus-route,.track-grid{border-top:1px solid var(--line-color)}.track-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line-color)}.track-card{padding:3rem 3rem 2.5rem;border-right:1px solid var(--line-color)}.track-card:last-child{border-right:0}.track-copy{max-width:44rem;margin:1.7rem 0 0;font-size:.97rem;line-height:1.72}.track-facts{display:grid;gap:.95rem;margin-top:2.4rem}.track-row{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:start}.track-row span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.track-row strong{font-size:.95rem;font-weight:500}.track-link{display:inline-flex;margin-top:2.6rem;font-size:1rem}.service-list{border-top:1px solid var(--line-color)}.service-list,.service-row{display:grid;border-bottom:1px solid var(--line-color)}.service-row{grid-template-columns:84px minmax(0,1fr) auto;gap:1.5rem;align-items:start;padding:1.7rem 0;text-decoration:none;color:inherit}.service-row:last-child{border-bottom:0}.service-row:hover .service-arrow{transform:translateX(3px)}.service-index{color:var(--text-muted);font-size:.95rem;font-weight:600}.list-meta,.service-meta{color:var(--accent-solid);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.cv-card h3,.service-content h3{margin-top:.45rem;font-size:clamp(1.2rem,1.8vw,1.7rem);line-height:1.08}.service-content p{max-width:60rem;margin:1rem 0 0;font-size:.96rem;line-height:1.72}.service-arrow{color:var(--text-primary);font-size:1.5rem;transition:transform .18s ease}.cv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-color)}.cv-card{min-height:220px;padding:2rem;background:rgba(8,10,13,.78)}.cv-kicker{color:var(--accent-solid)}.cv-card p{margin:1rem 0 0;font-size:.95rem;line-height:1.7}.whoami-body{max-width:880px}.contact-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}.contact-copy{max-width:820px}.contact-shell,.work-detail-shell{width:min(1100px,calc(100% - 2rem));margin:2rem auto 3rem}.work-detail-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.work-back-link{color:var(--text-secondary);text-decoration:none;font-weight:500}.work-type-chip{padding:.38rem .7rem;border-radius:999px;border:1px solid var(--line-strong);color:var(--accent-solid)}.work-hero{overflow:hidden;border:1px solid var(--line-color);border-radius:18px;background:var(--bg-panel)}.work-hero-image{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}.work-hero-fallback{height:320px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 25% 20%,rgba(34,211,197,.16),transparent 25%),radial-gradient(circle at 80% 80%,rgba(21,128,255,.14),transparent 25%),#0b0f14}.work-hero-fallback span{color:var(--accent-solid);letter-spacing:.16em;text-transform:uppercase}.contact-card,.work-content{margin-top:1rem;padding:1.5rem;border:1px solid var(--line-color);border-radius:18px;background:rgba(11,14,19,.9)}.contact-card h1,.work-content h1{font-size:clamp(2.4rem,5vw,4rem)}.work-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.meta-label{color:var(--text-muted)}.meta-value{margin:.25rem 0 0;color:var(--text-primary)}.work-abstract h2{margin:0 0 .5rem}.work-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.3rem}.work-tags span{padding:.32rem .64rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-secondary)}.work-cta-row{margin-top:1.4rem}.contact-kicker{margin-bottom:.35rem}.contact-intro{margin:0 0 1rem}.contact-form{display:grid;gap:.85rem}.contact-form label{display:grid;gap:.35rem}.contact-form input,.contact-form textarea{border:1px solid var(--line-strong);border-radius:12px;background:rgba(255,255,255,.03);color:var(--text-primary);padding:.75rem .9rem;font:inherit}body:has(.playground-body){background:#dff3ed;color:#07131b}body:has(.playground-body):before{opacity:0}.playground-body{--play-ink:#07131b;--play-paper:#f8fff4;--play-cyan:#22d8f6;--play-yellow:#f5ec3f;--play-red:#ef4057;--play-green:#72e33f;position:relative;min-height:100svh;padding:0 0 6rem;overflow:hidden;isolation:isolate;background:linear-gradient(118deg,transparent 0 68%,rgba(34,216,246,.16) 68% 73%,transparent 73%),linear-gradient(170deg,#e9f8f1,#d7efea 48%,#f8fff4);color:var(--play-ink)}.playground-body:before{content:"";opacity:.42;background-image:radial-gradient(rgba(7,19,27,.22) .8px,transparent 0);background-size:9px 9px;mask-image:linear-gradient(120deg,transparent 10%,#000 42%,transparent 78%)}.playground-body:before,.playground-graphic-bg{position:fixed;inset:0;z-index:0;pointer-events:none}.playground-graphic-bg{overflow:hidden}.graphic-dot-field,.graphic-slash{position:absolute;display:block}.graphic-slash-one{top:7rem;right:-7rem;width:min(48vw,48rem);height:18rem;background:var(--play-ink);clip-path:polygon(18% 0,100% 10%,86% 78%,4% 100%);transform:rotate(-4deg)}.graphic-slash-two{bottom:7%;left:-14rem;width:38rem;height:9rem;background:var(--play-red);clip-path:polygon(0 28%,100% 0,82% 100%,8% 76%);transform:rotate(5deg)}.graphic-dot-field{top:12rem;right:4vw;width:22rem;height:22rem;opacity:.5;background-image:radial-gradient(var(--play-yellow) 0 3px,transparent 3.5px);background-size:18px 18px;clip-path:polygon(22% 0,100% 12%,82% 100%,0 74%);transform:rotate(8deg)}.audio-control-container,.back-button-container,.game-container,.playground-shell,.playground-toolbar{position:relative;z-index:2}.playground-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:0 max(1.2rem,calc((100vw - 1280px) / 2));border-bottom:3px solid var(--play-ink);background:rgba(248,255,244,.92);backdrop-filter:blur(12px)}.playground-brand{display:inline-flex;align-items:center;gap:.8rem;color:var(--play-ink);text-decoration:none}.playground-brand-mark{display:grid;place-items:center;width:2.65rem;height:2.65rem;border:3px solid var(--play-ink);background:var(--play-yellow);font:italic 900 .88rem/1 Arial Black,sans-serif;box-shadow:4px 4px 0 var(--play-ink)}.playground-brand-copy{display:grid;gap:.08rem}.playground-brand-copy strong{font:900 .72rem/1 Arial Black,sans-serif;letter-spacing:.14em}.playground-brand-copy small{font:700 .5rem/1.2 monospace;letter-spacing:.12em}.playground-toolbar-actions{display:flex;align-items:center;gap:.35rem}.playground-toolbar-actions a,.playground-toolbar-actions button{min-height:36px;padding:0 .85rem;border:2px solid transparent;background:transparent;color:var(--play-ink);font:800 .62rem/1 monospace;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;cursor:pointer}.playground-toolbar-actions a:focus-visible,.playground-toolbar-actions a:hover{border-color:var(--play-ink);background:var(--play-cyan)}.playground-toolbar-actions button{border-color:var(--play-ink);background:var(--play-ink);color:var(--play-paper);box-shadow:4px 4px 0 var(--play-red)}.playground-toolbar-actions button:focus-visible,.playground-toolbar-actions button:hover{color:var(--play-yellow);transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--play-red)}.playground-shell{width:min(1280px,calc(100% - 2.5rem));margin:0 auto}.playground-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(2rem,7vw,7rem);align-items:center;min-height:min(720px,calc(100svh - 74px));padding:5rem 0 4rem}.playground-hero-copy{position:relative}.game-kicker,.lab-section-heading>div>p,.music-info p,.playground-kicker{margin:0;font:800 .66rem/1.3 monospace;letter-spacing:.15em;text-transform:uppercase}.playground-kicker span{display:inline-block;padding:.4rem .58rem;background:var(--play-red);color:var(--play-paper)}.playground-hero h1{display:grid;width:fit-content;margin:1.15rem 0 0;font:italic 900 clamp(5rem,12vw,10.5rem)/.69 Impact,Arial Black,sans-serif;letter-spacing:-.075em;text-transform:uppercase;transform:skewX(-4deg) rotate(-1deg)}.playground-hero h1 span,.playground-hero h1 strong{display:block;padding:.02em .12em .06em .05em;font:inherit}.playground-hero h1 span{width:78%;background:var(--play-ink);color:var(--play-paper);clip-path:polygon(0 8%,100% 0,92% 94%,4% 100%)}.playground-hero h1 strong{margin-top:-.02em;background:var(--play-yellow);color:var(--play-ink);text-shadow:4px 4px 0 var(--play-paper);clip-path:polygon(5% 4%,100% 0,95% 100%,0 89%)}.playground-lede{max-width:47rem;margin:2.1rem 0 0;font-size:clamp(1rem,1.4vw,1.18rem);font-weight:650;line-height:1.65}.playground-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.6rem}.playground-chips span{padding:.48rem .72rem;border:2px solid var(--play-ink);background:var(--play-paper);font:800 .58rem/1 monospace;letter-spacing:.08em;text-transform:uppercase;box-shadow:3px 3px 0 var(--play-ink)}.playground-status-card{position:relative;padding:1.5rem;border:4px solid var(--play-ink);background:var(--play-paper);box-shadow:12px 12px 0 var(--play-cyan);transform:rotate(1.4deg)}.playground-status-card:before{content:"";position:absolute;top:-1rem;right:2rem;width:7.5rem;height:2rem;background:var(--play-red);clip-path:polygon(8% 0,100% 14%,91% 100%,0 82%)}.status-card-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:3px solid var(--play-ink)}.status-card-heading span{display:inline-flex;align-items:center;gap:.5rem;font:900 .68rem/1 monospace;letter-spacing:.1em}.status-card-heading i{width:.6rem;height:.6rem;border:2px solid var(--play-ink);border-radius:50%;background:var(--play-green)}.status-card-heading b{font:italic 900 3.2rem/.8 Impact,sans-serif}.playground-status-card dl{margin:0}.playground-status-card dl>div{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(7,19,27,.28)}.playground-status-card dd,.playground-status-card dt{margin:0;font-size:.75rem}.playground-status-card dt{font-family:monospace;letter-spacing:.08em;text-transform:uppercase}.playground-status-card dd{font-weight:900;text-transform:uppercase}.playground-status-card>p{margin:1rem 0 0;color:#52696d;font:800 .55rem/1.4 monospace;letter-spacing:.08em;text-align:right}.playground-body .lab-section{width:100%;margin:0;padding:5rem 0;scroll-margin-top:74px}.lab-section-heading{display:grid;grid-template-columns:5rem minmax(0,1fr) minmax(260px,.75fr);gap:1.6rem;align-items:end;margin-bottom:2.5rem;padding:1.4rem 0;border-top:4px solid var(--play-ink);border-bottom:2px solid var(--play-ink)}.lab-section-index{display:grid;place-items:center;width:4.2rem;height:4.2rem;border:3px solid var(--play-ink);background:var(--play-cyan);font:italic 900 2.4rem/1 Impact,sans-serif;box-shadow:5px 5px 0 var(--play-ink)}.music-section .lab-section-index{background:var(--play-yellow)}.lab-section-heading h2{margin:.25rem 0 0;font:italic 900 clamp(2.8rem,6vw,5.5rem)/.84 Impact,Arial Black,sans-serif;letter-spacing:-.04em;text-transform:uppercase}.lab-section-description{margin:0;font-size:.9rem;font-weight:650;line-height:1.55}.playground-body .games-grid,.playground-body .music-grid{width:100%;max-width:none;margin:0;padding:0}.playground-body .games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.playground-body .game-card{position:relative;display:grid;grid-template-rows:minmax(18rem,.9fr) auto;min-width:0;padding:0;overflow:visible;border:4px solid var(--play-ink);border-radius:0;background:var(--play-paper);box-shadow:10px 10px 0 var(--play-ink);transition:transform .17s ease,box-shadow .17s ease}.playground-body .game-card:hover{transform:translate(-3px,-3px) rotate(-.35deg);box-shadow:15px 15px 0 var(--play-ink)}.game-card-index{position:absolute;top:-1.2rem;right:1.1rem;z-index:3;padding:.35rem .68rem;border:3px solid var(--play-ink);background:var(--play-red);color:var(--play-paper);font:italic 900 2rem/1 Impact,sans-serif;box-shadow:4px 4px 0 var(--play-ink);transform:rotate(3deg)}.playground-body .game-icon{position:relative;height:auto;min-height:18rem;margin:0;overflow:hidden;border-bottom:4px solid var(--play-ink);background:var(--play-cyan)}.playground-body .game-card-yellow .game-icon{background:var(--play-yellow)}.playground-body .game-icon:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(140deg,transparent 58%,rgba(7,19,27,.34) 58% 60%,transparent 60%)}.playground-body .game-icon img{display:block;width:100%;height:100%;min-height:18rem;border-radius:0;object-fit:cover;filter:saturate(.92) contrast(1.08);mix-blend-mode:multiply}.playground-body .game-icon>span{position:absolute;bottom:.75rem;left:.75rem;z-index:2;padding:.45rem .65rem;border:2px solid var(--play-paper);background:var(--play-ink);color:var(--play-paper);font:900 .58rem/1 monospace;letter-spacing:.12em;text-transform:uppercase}.playground-body .game-info{display:flex;flex:1;flex-direction:column;min-width:0;padding:1.6rem}.game-kicker{color:#587076}.playground-body .game-info h2{margin:.45rem 0 0;font:italic 900 clamp(2.5rem,5vw,4.4rem)/.92 Impact,Arial Black,sans-serif;letter-spacing:-.035em;text-transform:uppercase}.playground-body .game-description{margin:1rem 0 0;color:#30464c;font-size:.95rem;line-height:1.65}.playground-body .game-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:auto;padding-top:1.6rem}.playground-body .deployment-date{color:#52696d;font:800 .58rem/1.3 monospace;letter-spacing:.08em}.playground-body #restartButton,.playground-body .play-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:43px;padding:0 1rem;border:3px solid var(--play-ink);border-radius:0;background:var(--play-yellow);color:var(--play-ink);font:900 .68rem/1 monospace;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;box-shadow:4px 4px 0 var(--play-ink);clip-path:polygon(5% 0,100% 0,94% 100%,0 100%);cursor:pointer}.playground-body #restartButton:focus-visible,.playground-body #restartButton:hover,.playground-body .play-button:focus-visible,.playground-body .play-button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--play-ink)}.playground-body .music-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.playground-body .music-card{display:flex;min-width:0;flex-direction:column;padding:1.1rem;border:3px solid var(--play-ink);border-radius:0;background:rgba(248,255,244,.94);box-shadow:7px 7px 0 rgba(7,19,27,.92);content-visibility:auto;contain-intrinsic-size:340px}.playground-body .music-info{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:.85rem;align-items:start;min-height:5.6rem;padding-bottom:.9rem}.track-number{display:grid;place-items:center;width:3.1rem;height:3.1rem;background:var(--play-red);color:var(--play-paper);font:italic 900 1.8rem/1 Impact,sans-serif;clip-path:polygon(0 7%,100% 0,92% 100%,8% 92%)}.playground-body .music-info p{color:#587076;font-size:.53rem}.playground-body .music-info h2{margin:.35rem 0 0;overflow-wrap:anywhere;font:italic 900 clamp(1.25rem,2.4vw,2rem)/1 Impact,Arial Black,sans-serif;letter-spacing:-.02em;text-transform:uppercase}.soundcloud-frame{overflow:hidden;border:3px solid var(--play-ink);background:var(--play-ink)}.soundcloud-frame iframe{display:block}.soundcloud-attribution{margin:.75rem 0 0;overflow:hidden;color:#52696d;font:700 .55rem/1.3 monospace;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.soundcloud-attribution a{color:inherit;text-decoration:none}.soundcloud-attribution a:focus-visible,.soundcloud-attribution a:hover{color:var(--play-red);text-decoration:underline}.playground-game-page{display:grid;place-items:center;min-height:100svh;padding:6rem 1.25rem 5rem}.back-button-container{position:fixed;top:1.25rem;left:1.25rem;z-index:30}.back-button,.sound-toggle{display:flex;align-items:center;border:3px solid var(--play-ink);border-radius:0;background:var(--play-paper);color:var(--play-ink);box-shadow:5px 5px 0 var(--play-ink)}.back-button{min-height:44px;padding:0 .85rem;font:900 .65rem/1 monospace;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.back-button:focus-visible,.back-button:hover,.sound-toggle:focus-visible,.sound-toggle:hover{background:var(--play-cyan);transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--play-ink)}.back-button svg,.sound-toggle svg{width:22px;height:22px}.back-button .back-text{margin-left:.55rem}.playground-body .game-container{position:relative;width:min(82vmin,800px);height:min(82vmin,800px);max-width:calc(100vw - 2.5rem);max-height:calc(100svh - 8rem);margin:auto;padding:1.1rem;border:5px solid var(--play-ink);border-radius:0;background:var(--play-ink);box-shadow:14px 14px 0 var(--play-cyan);transform:rotate(-.35deg)}.playground-body #gameCanvas{display:block;width:100%;height:100%;border:2px solid var(--play-paper);border-radius:0;background:#0b1820}.playground-body .score-display{position:absolute;top:-2.9rem;left:-.3rem;padding:.5rem .75rem;border:3px solid var(--play-ink);background:var(--play-yellow);font:900 .7rem/1 monospace;letter-spacing:.08em;text-transform:uppercase;box-shadow:4px 4px 0 var(--play-ink)}.playground-body .game-over{position:absolute;top:50%;left:50%;width:min(24rem,80%);padding:1.6rem;border:4px solid var(--play-paper);border-radius:0;background:var(--play-ink);color:var(--play-paper);box-shadow:9px 9px 0 var(--play-red);text-align:center;transform:translate(-50%,-50%) rotate(1deg)}.playground-body .game-over h2{margin:0;font:italic 900 2.5rem/1 Impact,sans-serif;text-transform:uppercase}.playground-body .controls,.playground-body .game-over.hidden{display:none}.playground-body .sound-toggle{position:relative;right:auto;bottom:auto;justify-content:center;width:42px;height:42px;padding:0;cursor:pointer}.sound-toggle .sound-off,.sound-toggle .sound-on{position:absolute}body:has(.playground-body)>footer{width:100%;margin:0;padding:1.2rem;border-top:3px solid #07131b;background:#f8fff4;color:#52696d}body:has(.playground-body)>footer a{color:#07131b}@media (max-width:900px){.playground-toolbar{padding:0 1rem}.playground-toolbar-actions a{display:none}.playground-shell{width:min(1280px,calc(100% - 1.5rem))}.playground-hero{grid-template-columns:1fr;min-height:auto;padding:4rem 0 5rem}.playground-status-card{max-width:34rem}.lab-section-heading{grid-template-columns:4.4rem minmax(0,1fr)}.lab-section-description{grid-column:1/-1}.playground-body .games-grid,.playground-body .music-grid{grid-template-columns:1fr}}@media (max-width:600px){.playground-brand-copy small{display:none}.playground-hero h1{font-size:clamp(4.1rem,24vw,7rem)}.playground-body .lab-section{padding:3.5rem 0}.lab-section-heading{gap:.8rem}.lab-section-index{width:3.6rem;height:3.6rem;font-size:2rem}.playground-body .game-card{grid-template-rows:minmax(14rem,auto) auto}.playground-body .game-icon,.playground-body .game-icon img{min-height:14rem}.playground-body .game-meta{align-items:stretch;flex-direction:column}.playground-body .play-button{width:100%}.playground-body .music-info{min-height:0}.playground-game-page{padding-right:.75rem;padding-left:.75rem}}body>footer{position:relative;z-index:1;width:min(1640px,calc(100% - 2.5rem));margin:0 auto 1.5rem;padding-top:1rem;border-top:1px solid var(--line-color);color:var(--text-muted)}body>footer a{color:var(--text-primary)}@media (max-width:1280px){.contact-stage,.hero-stage,.home-nav{grid-template-columns:1fr}.home-nav-links{justify-content:flex-start}.home-nav-actions{justify-content:space-between}.cv-grid,.focus-grid,.track-grid{grid-template-columns:1fr}.focus-card,.track-card{border-right:0;border-bottom:1px solid var(--line-color)}.focus-card:last-child,.track-card:last-child{border-bottom:0}}@media (max-width:900px){.home-v1{width:min(100%,calc(100% - 1.25rem))}.contact-stage,.hero-stage,.section-stage{padding:2.2rem 0}.hero-stage{gap:2rem}.hero-title{max-width:none;font-size:clamp(2.5rem,10vw,4rem)}.section-title{font-size:clamp(1.9rem,8vw,3rem)}.hero-body,.section-body{font-size:.98rem}.service-row{grid-template-columns:1fr}.hero-panel-footer,.hero-panel-header,.hero-panel-item,.track-row{grid-template-columns:1fr;flex-direction:column;align-items:flex-start}.contact-actions,.hero-actions,.home-nav-actions{align-items:stretch}.contact-actions .hero-btn,.hero-btn,.nav-cta{width:100%}}@media (max-width:640px){.home-nav-links{gap:1rem}.contact-stage,.hero-stage,.section-stage{padding:1.8rem 0}.cv-card,.focus-card,.track-card{padding:1.6rem 0;background:transparent}.service-row{padding:1.2rem 0}body>footer{width:min(100%,calc(100% - 1.25rem))}}