:root{color:#e8f1f8;background:#05070d;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}*,:before,:after{box-sizing:border-box}body{background:#05070d;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}#root{min-height:100vh}.app-shell{background:radial-gradient(circle at 50% 42%,#4082c824,#0000 26rem),radial-gradient(circle at 78% 80%,#8c64ff14,#0000 24rem),#05070d;flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.stage{flex:1;min-height:0;position:relative}.terminal__menus{flex-shrink:0;align-items:center;gap:.55rem;margin-left:auto;display:flex}.tune-panel{min-width:14.5rem;padding:.5rem .45rem .35rem}.hud-slider{border-radius:.45rem;grid-template-columns:3.2rem 1fr 1.9rem;align-items:center;gap:.45rem;padding:.26rem .35rem;display:grid}.hud-slider:hover{background:#46a0e614}.hud-slider__label{letter-spacing:.06em;color:#b4d2f0b3;font-size:.66rem}.hud-slider__value{text-align:right;color:#8ce8ff;font-variant-numeric:tabular-nums;font-size:.66rem}.hud-slider input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:.9rem;margin:0}.hud-slider input[type=range]::-webkit-slider-runnable-track{background:#96c8f54d;border-radius:999px;height:2px}.hud-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#8ce8ff;border-radius:999px;width:.58rem;height:.58rem;margin-top:-.23rem;box-shadow:0 0 6px #8ce8ff99}.hud-slider input[type=range]::-moz-range-track{background:#96c8f54d;border-radius:999px;height:2px}.hud-slider input[type=range]::-moz-range-thumb{background:#8ce8ff;border:0;border-radius:999px;width:.58rem;height:.58rem;box-shadow:0 0 6px #8ce8ff99}.hud-slider input[type=range]:focus-visible{outline-offset:2px;border-radius:999px;outline:2px solid #78e1ffd9}.shape-menu{position:relative}.shape-menu__toggle{letter-spacing:.05em;text-transform:none;color:#cde6fad9;background:#080d169e;border:1px solid #96c8f538;border-radius:999px;padding:.24rem .66rem;font-size:.7rem;transition:border-color .18s,background .18s,color .18s}.shape-menu__toggle:hover,.shape-menu__toggle[aria-expanded=true]{color:#f3fbff;background:#46a0e629;border-color:#8cdcffbf}.shape-menu__list{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04070de6;border:1px solid #a0d2fa33;border-radius:.7rem;flex-direction:column;min-width:10rem;max-height:min(60vh,24rem);padding:.35rem;display:flex;position:absolute;bottom:calc(100% + .55rem);right:0;overflow-y:auto;box-shadow:0 .8rem 2.4rem #00000080}.shape-menu__item{text-align:left;letter-spacing:.04em;color:#cde6fad1;border-radius:.45rem;padding:.42rem .7rem;font-size:.78rem;transition:background .14s,color .14s}.shape-menu__item:hover{color:#f3fbff;background:#46a0e62e}.shape-menu__item[data-active=true]{color:#8ce8ff}.shape-menu__item[data-active=true]:after{content:" •"}.shape-menu__divider{border-top:1px solid #a0d2fa29;margin:.3rem .4rem}.portfolio-scene{z-index:0;touch-action:none;cursor:crosshair;position:absolute;inset:0}.portfolio-scene__canvas,.portfolio-scene canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.portfolio-scene--fallback{place-items:center;display:grid}.portfolio-scene__fallback{text-align:center;justify-items:center;gap:1.1rem;padding:1.5rem;display:grid}.portfolio-scene__fallback img{opacity:.92;border-radius:999px}.portfolio-scene__fallback p{color:#c4daeead;margin:0;font-size:.8rem;line-height:1.6}.name-mark{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;top:clamp(.9rem,2.4vw,1.6rem);left:clamp(1rem,2.6vw,1.8rem)}.name-mark h1{letter-spacing:.06em;color:#e8f1f8d1;margin:0;font-size:.92rem;font-weight:500}.name-mark p{letter-spacing:.09em;text-transform:uppercase;color:#aac8e27a;margin:.18rem 0 0;font-size:.68rem}.terminal-dock{z-index:3;width:min(36rem,100vw - 2rem);transition:width .22s;position:fixed;bottom:clamp(.75rem,2.2vw,1.35rem);right:clamp(.75rem,2.4vw,1.6rem)}.terminal-dock--max{width:min(46rem,100vw - 2rem)}.terminal--max .terminal__output{min-height:16rem;max-height:55vh}.terminal--min{width:fit-content;margin-left:auto}.terminal--min .terminal__header{border-bottom:0}.terminal{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04070dd1;border:1px solid #a0d2fa2e;border-radius:.85rem;box-shadow:0 1rem 3rem #00000080}.terminal__header{color:#bedcf599;letter-spacing:.06em;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #aad7fa1f;align-items:center;gap:.7rem;padding:.45rem .8rem;font-size:.7rem;display:flex}.terminal__title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.terminal__traffic{gap:.34rem;display:inline-flex}.terminal__dot{opacity:.8;cursor:pointer;border-radius:999px;width:.72rem;height:.72rem;transition:transform .12s,filter .12s,opacity .12s}.terminal__dot:hover{opacity:1;filter:brightness(1.25);transform:scale(1.18)}.terminal__dot:focus-visible{outline-offset:2px;outline:2px solid #78e1ffd9}.terminal__dot[data-tone=red]{background:#ff6a6a}.terminal__dot[data-tone=yellow]{background:#ffd86d}.terminal__dot[data-tone=green]{background:#5df2ae}.terminal__output{color:#d6ecfce6;scrollbar-width:thin;scrollbar-color:#82beeb66 transparent;min-height:7.5rem;max-height:12.5rem;padding:.8rem;font-size:.78rem;line-height:1.55;overflow:auto}.terminal__line{white-space:pre-wrap}.terminal__line a{color:#8ce8ff;text-underline-offset:2px;text-decoration:underline}.terminal__cmd{color:#9fe9ff;font-weight:600}.terminal__line a:hover{color:#c4f2ff}.terminal__empty{color:#8cafcd80;margin:0}.terminal__input-row{border-top:1px solid #aad7fa1a;grid-template-columns:auto 1fr;align-items:center;gap:.5rem;padding:.6rem .8rem;font-size:.78rem;display:grid}.terminal__prompt{color:#8ce8ff}.terminal__input{color:#ecf7ff;caret-color:#8ce8ff;background:0 0;border:0;outline:0;width:100%;min-width:0}.terminal__input::placeholder{color:#96b9d773}.shape-menu__toggle:focus-visible,.shape-menu__item:focus-visible,.terminal__input:focus-visible{outline-offset:2px;outline:2px solid #78e1ffd9}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.name-mark h1{font-size:.84rem}.name-mark p{font-size:.62rem}.terminal-dock{left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));width:auto}.terminal__header{gap:.5rem;padding:.42rem .65rem}.terminal__menus{gap:.35rem}.shape-menu__toggle{text-overflow:ellipsis;white-space:nowrap;max-width:7.5rem;padding:.22rem .55rem;overflow:hidden}.shape-menu__list{max-height:min(46vh,18rem)}.tune-panel{max-width:calc(100vw - 2rem)}.terminal__output{min-height:5.5rem;max-height:8.5rem}.terminal--max .terminal__output{min-height:10rem;max-height:42vh}.terminal--min{width:auto;margin-left:0}.terminal__input{font-size:16px}.terminal,.shape-menu__list,.shape-menu__toggle{-webkit-backdrop-filter:none;backdrop-filter:none}.terminal{background:#04070df0}}@media (width<=560px){.terminal__title{display:none}.terminal__traffic{gap:.3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
