@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans+KR:wght@300;400;500;600&family=Noto+Serif+KR:wght@600;900&family=Tinos:wght@400;700&display=swap";:root{--bg: #0c0f16;--surface: #141922;--surface-strong: #1b2230;--text: #e8ecf3;--muted: #a2a9b8;--accent: #49d3a6;--accent-alt: #f1c77d;--accent-glow: rgba(73, 211, 166, .35);--border: #232b3b;--shadow: 0 18px 44px rgba(4, 8, 16, .6);--radius-lg: 28px;--radius-md: 18px;--ease-out: cubic-bezier(.22, 1, .36, 1);--void: #000;--plate: #0a1012;--line: #1a2427;--line-2: #26343a;--bone: #f2f0eb;--fog: #8f9a99;--fog-2: #bcc4c2;--body-text: #cfd6d4;--signal: #ff0000;--signal-soft: #ff4b4b;--signal-deep: #662626;--mint: #49d3a6;--mint-ink: #03140d;--amber: #f1c77d;--topbar-h: 68px;--ease-snap: cubic-bezier(.16, 1, .3, 1);--font-display: "Noto Serif KR", "Tinos", Georgia, serif;--font-mark: "Tinos", "Times New Roman", Times, serif;font-family:Space Grotesk,IBM Plex Sans KR,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth}body{background:var(--void);color:var(--text);line-height:1.7;min-height:100vh;overflow-y:scroll;overflow-x:hidden;position:relative;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(42vw 42vw at 88% 12%,rgba(73,211,166,.07),transparent 70%),radial-gradient(36vw 36vw at 6% 86%,rgba(255,0,0,.05),transparent 70%),#030506}body:after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");will-change:transform;animation:grain 1.4s steps(6) infinite}body[data-view^="lab/"]{background:var(--bg)}body[data-view^="lab/"]:before{inset:-25% -10% auto auto;width:55vw;height:55vw;z-index:-2;background:radial-gradient(circle at 40% 40%,rgba(73,211,166,.28),transparent 70%);filter:blur(40px);animation:drift 18s ease-in-out infinite}body[data-view^="lab/"]:after{z-index:-3;opacity:1;will-change:auto;animation:none;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.05),transparent 45%),radial-gradient(circle at 80% 10%,rgba(241,199,125,.14),transparent 45%),linear-gradient(160deg,rgba(255,255,255,.03),transparent 60%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;border-radius:16px}h1,h2,h3,h4{font-weight:600;letter-spacing:.6px}:where(.top-bar,.hero,.site-footer,.board-page,.modal) :where(button,input,select,textarea){font:inherit;color:inherit}:where(.top-bar,.hero,.site-footer,.board-page,.modal) button{cursor:pointer}:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.container{width:min(1180px,calc(100vw - 48px));margin:0 auto}.top-bar{position:sticky;top:0;z-index:40;background:#0000009e;border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);transition:background .3s ease,box-shadow .3s ease;view-transition-name:topbar}.top-bar.is-scrolled{background:#030506db;box-shadow:0 12px 34px #00000080}.top-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px;padding:.75rem 0}.top-bar-brand{display:inline-flex;align-items:center;gap:.7rem}.top-bar-brand a{font-family:var(--font-mark);font-weight:700;font-size:1.08rem;letter-spacing:.04em;color:var(--bone);transition:color .2s ease,text-shadow .2s ease}.top-bar-brand a:hover{color:var(--signal);text-shadow:.05em .05em 0 var(--signal-deep)}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 10px #ff0000b3;animation:heartbeat 2.4s var(--ease-out) infinite}.top-bar-actions{display:flex;align-items:center;gap:.8rem}.top-bar-nav{position:relative;display:flex;align-items:center;gap:.15rem;padding:.25rem;border-radius:999px;background:#ffffff08;border:1px solid rgba(255,255,255,.07)}.nav-indicator{position:absolute;top:.25rem;bottom:.25rem;left:0;width:0;border-radius:999px;background:var(--mint);box-shadow:0 0 22px #49d3a666;opacity:0;transition:transform .46s var(--ease-snap),width .46s var(--ease-snap),opacity .2s ease}.top-bar-nav a{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:32px;padding:.3rem .95rem;border-radius:999px;font-size:.84rem;font-weight:600;color:var(--fog);transition:color .24s ease}.top-bar-nav a:hover{color:var(--bone)}.top-bar-nav a.is-active{color:var(--mint-ink)}.lang-toggle{position:relative;display:flex;padding:.22rem;border-radius:999px;border:1px solid rgba(255,255,255,.07);background:#00000080}.lang-thumb{position:absolute;top:.22rem;bottom:.22rem;left:.22rem;width:calc(50% - .22rem);border-radius:999px;background:var(--bone);transition:transform .42s var(--ease-snap)}.lang-toggle[data-active=en] .lang-thumb{transform:translate(100%)}.lang-toggle button{position:relative;z-index:1;min-width:40px;padding:.28rem .6rem;border:0;border-radius:999px;background:transparent;color:var(--fog);font-size:.74rem;font-weight:700;letter-spacing:.06em;transition:color .24s ease}.lang-toggle button.active{color:#050505}.top-bar-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}.top-bar-progress span{position:absolute;inset:0;transform-origin:left center;transform:scaleX(var(--p, 0));background:linear-gradient(90deg,var(--signal),#ff5a3c 45%,var(--mint));will-change:transform}.top-bar-progress i{position:absolute;top:50%;left:0;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 10px 3px #49d3a6cc;transform:translate(calc(var(--p, 0) * 100vw - 3px),-50%);opacity:var(--p-on, 0);transition:opacity .3s ease;will-change:transform}.hero{position:relative;min-height:max(560px,calc(100svh - var(--topbar-h)));display:grid;place-items:center;overflow:hidden;background:#000;isolation:isolate;touch-action:pan-y}.hero-field{position:absolute;inset:0;width:100%;height:100%;z-index:-3;border-radius:0}.hero-vignette{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse 46% 34% at 50% 44%,rgba(0,0,0,.82),rgba(0,0,0,.35) 62%,transparent 82%),linear-gradient(to bottom,rgba(0,0,0,.55),transparent 18%,transparent 78%,rgba(0,0,0,.75))}.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.022) 0 1px,transparent 1px 3px)}.hero-trace{position:absolute;left:0;top:44%;width:50%;height:96px;transform:translateY(-50%);pointer-events:none;opacity:0;overflow:visible}.hero-trace path{fill:none;stroke:var(--signal);stroke-width:2;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 6px rgba(255,0,0,.9));vector-effect:non-scaling-stroke}.hero-trace.is-running{animation:trace-fade .9s linear both}.hero-trace.is-running path{animation:trace-draw .62s cubic-bezier(.55,0,.3,1) both}.hero-inner{display:grid;justify-items:center;gap:1.35rem;padding:3.5rem 0 8.5rem;text-align:center;pointer-events:none}.hero-inner a,.hero-inner button{pointer-events:auto}.wordmark{display:grid;justify-items:center;font-family:var(--font-mark);font-weight:700;font-size:clamp(3.3rem,12.2vw,9.4rem);line-height:.92;letter-spacing:normal;user-select:none;transition:opacity .5s ease,filter .7s var(--ease-out),transform .9s var(--ease-out)}.wordmark-main{position:relative;display:block;color:var(--signal);letter-spacing:-.008em;text-shadow:.035em .035em 0 var(--signal-deep),0 0 .45em rgba(255,0,0,.32)}.wordmark-main:before,.wordmark-main:after{content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none;text-shadow:none;mix-blend-mode:screen}.wordmark-main:before{color:#00f0ff}.wordmark-main:after{color:#ff2020}.wordmark-tag{display:block;margin-top:.2em;font-size:.272em;font-weight:400;line-height:1.2;letter-spacing:.045em;color:#fff}.hero-caption{min-height:1.6em;max-width:34rem;color:var(--fog-2);font-size:clamp(.84rem,2.4vw,.98rem);font-weight:500;letter-spacing:.01em;transition:opacity .6s ease .2s}.hero .link-row--hero{transition:opacity .7s ease .45s,transform .7s var(--ease-out) .45s}.hero-scroll{position:absolute;right:max(24px,calc((100% - 1180px)/2));bottom:76px;display:grid;place-items:center;width:36px;height:56px;border:0;background:transparent;transition:opacity .7s ease .9s}.hero-scroll-line{position:relative;display:block;width:1px;height:44px;background:linear-gradient(#ffffff0d,#ffffff59)}.hero-scroll-line i{position:absolute;left:-2px;top:0;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 10px 2px #ff0000e6;animation:axon-drop 1.9s cubic-bezier(.6,0,.3,1) infinite}.hero-scroll:hover .hero-scroll-line{background:linear-gradient(rgba(255,255,255,.1),var(--mint))}.hero-raster{position:absolute;left:0;right:0;bottom:0;width:100%;height:58px;border-radius:0;border-top:1px solid rgba(255,255,255,.07);background:#020303}.hero.is-intro .wordmark{opacity:0;filter:blur(10px);transform:scale(1.04)}.hero.is-intro .hero-caption,.hero.is-intro .hero-scroll{opacity:0;transition-delay:0ms}.hero.is-intro .link-row--hero{opacity:0;transform:translateY(10px);transition-delay:0ms}.link-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem}.link-row--hero{justify-content:center}.link-pill{position:relative;display:inline-flex;align-items:center;gap:.5rem;height:2.25rem;padding:0 1rem 0 .85rem;border-radius:999px;border:1px solid rgba(73,211,166,.45);color:var(--mint);background:#050c0cb3;font-size:.8rem;font-weight:600;overflow:hidden;isolation:isolate;transition:color .26s ease,border-color .26s ease,transform .26s var(--ease-out),box-shadow .26s ease}.link-pill:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--mint);transform:translate(-101%);transition:transform .38s var(--ease-snap)}.link-pill:hover,.link-pill:focus-visible{color:var(--mint-ink);border-color:var(--mint);transform:translateY(-2px);box-shadow:0 10px 26px #49d3a638}.link-pill:hover:before,.link-pill:focus-visible:before{transform:translate(0)}.link-pill:active{transform:translateY(0) scale(.97)}.link-icon{display:inline-flex;width:16px;height:16px;transition:transform .3s var(--ease-out)}.link-pill:hover .link-icon{transform:rotate(-8deg) scale(1.1)}.link-icon svg{width:16px;height:16px;fill:currentColor}.link-icon--stroke svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.section{position:relative;padding:7rem 0 8rem;background:linear-gradient(#000,#03050600 22rem)}.section-header{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:4.5rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line);overflow-x:clip}.section-header:after{content:"";position:absolute;left:0;bottom:-1px;width:26%;height:1px;background:linear-gradient(90deg,transparent,var(--signal),#fff,var(--mint),transparent);transform:translate(-100%);opacity:0}.section-header.is-inview:after{animation:run-line 1.8s var(--ease-out) .15s both}.section-eyebrow{display:block;margin-bottom:.7rem;color:var(--signal-soft);font-size:.92rem;font-weight:500}.section-header h2{font-family:var(--font-display);font-weight:900;font-size:clamp(2.9rem,7.4vw,5.8rem);line-height:.98;letter-spacing:-.035em;color:var(--bone)}.section-header p{color:var(--fog);font-size:.95rem;padding-bottom:.4rem}.year-list{position:relative;display:grid;gap:6.5rem}.axon{position:absolute;left:5px;top:19px;width:1px;height:var(--axon-len, 0px);background:linear-gradient(var(--line-2),rgba(38,52,58,.2));pointer-events:none}.axon-fill{position:absolute;left:0;top:0;width:1px;height:100%;background:linear-gradient(to bottom,rgba(255,0,0,.25),var(--signal) 18%,#ff6a3c);box-shadow:0 0 10px #ff0000a6;transform-origin:top center;transform:scaleY(var(--axon-k, 0));will-change:transform}.axon-spark{position:absolute;left:-3px;top:0;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #ff000073,0 0 18px 5px #f00c;transform:translateY(calc(var(--axon, 0px) - 3px));opacity:var(--axon-on, 0);transition:opacity .3s ease;will-change:transform}.year-block{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem)}.year-marker{position:sticky;top:calc(var(--topbar-h) + 32px);align-self:start;padding-left:1.9rem}.year-marker-dot{position:absolute;top:13px;left:0;width:11px;height:11px;border-radius:50%;background:#000;border:1px solid var(--line-2);transition:background .3s ease,border-color .3s ease,box-shadow .5s ease}.year-block.is-lit .year-marker-dot{background:var(--signal);border-color:var(--signal);box-shadow:0 0 0 4px #ff000024,0 0 22px #ff0000d9}.year-title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.15;letter-spacing:-.03em;white-space:nowrap;color:var(--fog);font-variant-numeric:lining-nums;transition:color .4s ease}.year-block.is-lit .year-title{color:var(--bone)}.year-title,.section-header h2,.page-head h1,.board-banner h1{position:relative}.decode-overlay{position:absolute;inset:0;contain:strict;overflow:hidden;white-space:nowrap;pointer-events:none;visibility:hidden;-webkit-text-fill-color:currentColor}.is-decoding{-webkit-text-fill-color:transparent}.is-decoding>.decode-overlay{visibility:visible}.year-marker p{margin-top:.35rem;color:var(--fog);font-size:.82rem}.year-grid{display:grid;gap:1.9rem}.project-card{position:relative;display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);overflow:hidden;border-radius:22px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.035),transparent 42%),var(--plate);box-shadow:0 24px 60px -30px #000000e6;transition:border-color .5s ease,transform .5s var(--ease-out)}.project-card:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx, 50%) var(--my, 0%),rgba(73,211,166,.075),transparent 45%);opacity:0;transition:opacity .4s ease}.project-card:hover:before{opacity:1}.project-card:hover{border-color:#49d3a642;transform:translateY(-3px);box-shadow:0 36px 70px -30px #000000f2}.project-card>*{position:relative;z-index:1}.project-card>.project-accent{position:absolute;top:0;left:0;right:0;z-index:2;height:1px;background:linear-gradient(90deg,transparent,var(--signal) 20%,#ff6a3c 45%,var(--mint) 80%,transparent);transform:scaleX(0);transform-origin:left center;transition:transform 1.1s var(--ease-out);transition-delay:calc(var(--i, 0) * .14s)}.year-block.is-lit .project-accent{transform:scaleX(1)}.project-card--collection{background:linear-gradient(160deg,rgba(73,211,166,.05),transparent 40%),var(--plate)}.project-media{display:grid;align-content:start;gap:.85rem;padding:1.25rem 0 1.25rem 1.25rem}.media-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:#ffffff09;box-shadow:inset 0 0 0 1px #ffffff0d}.media-frame--light{background:#f4f5f1}.media-frame img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .7s var(--ease-out)}.media-frame--contain img{object-fit:contain;padding:10px}.media-frame,.showcase-image{isolation:isolate}.media-frame:before,.showcase-image:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:gray;mix-blend-mode:saturation;opacity:0;transition:opacity .9s ease}.media-frame:after,.showcase-image:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:#0205068c;opacity:0;transition:opacity .9s ease}.year-block:not(.is-lit) .media-frame:before,.year-block:not(.is-lit) .showcase-image:before{opacity:.7}.year-block:not(.is-lit) .media-frame:after,.year-block:not(.is-lit) .showcase-image:after{opacity:1}.rgb-split{position:absolute;inset:0;z-index:2;pointer-events:none;background:#000;isolation:isolate;opacity:0;transition:transform .7s var(--ease-out)}.rgb-split:before,.rgb-split:after{content:"";position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;background-blend-mode:multiply;mix-blend-mode:screen}.year-block.is-lit .rgb-split:before{background-image:linear-gradient(red,red),var(--img)}.year-block.is-lit .rgb-split:after{background-image:linear-gradient(#0ff,#0ff),var(--img)}.project-card:hover .media-frame img{transform:scale(1.035);animation:tear .46s linear 1}.project-card:hover .media-frame .rgb-split{transform:scale(1.035)}.project-card:hover .media-frame .rgb-split,a.showcase-item:hover .rgb-split{animation:split-flash .46s steps(1,end) 1}.project-card:hover .media-frame .rgb-split:before,a.showcase-item:hover .rgb-split:before{animation:split-red .46s steps(1,end) 1}.project-card:hover .media-frame .rgb-split:after,a.showcase-item:hover .rgb-split:after{animation:split-cyan .46s steps(1,end) 1}.media-empty{aspect-ratio:16 / 9;border-radius:12px;border:1px dashed rgba(255,255,255,.12)}.project-body{display:grid;align-content:start;gap:1rem;padding:clamp(1.6rem,3vw,2.3rem)}.project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem}.project-meta{width:fit-content;max-width:100%;padding:.22rem .65rem;border:1px solid rgba(73,211,166,.22);border-radius:999px;color:var(--mint);background:#49d3a60d;font-size:.74rem;font-weight:600;line-height:1.45}.project-heading h4{margin-top:.6rem;font-family:var(--font-display);font-weight:600;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.35;letter-spacing:-.02em;color:var(--bone)}.project-number{flex:0 0 auto;font-family:var(--font-display);font-weight:900;font-size:2.3rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(143,154,153,.32);transition:-webkit-text-stroke-color .5s ease}.year-block.is-lit .project-number{-webkit-text-stroke-color:rgba(255,75,75,.6)}.project-desc{max-width:62ch;color:var(--body-text);font-size:.98rem;line-height:1.85}.detail-list{list-style:none;display:grid;gap:.6rem;max-width:64ch;color:#c2cbc9;font-size:.88rem;line-height:1.75}.detail-list li{position:relative;padding-left:1.25rem}.detail-list li:before{content:"";position:absolute;top:.68rem;left:.1rem;width:5px;height:5px;border-radius:1px;background:var(--mint);box-shadow:0 0 8px #49d3a680}.project-showcase{grid-column:1 / -1;display:grid;gap:1rem;padding:1.35rem;border-top:1px solid rgba(255,255,255,.07);background:#00000059}.showcase-heading{display:flex;align-items:baseline;justify-content:space-between;color:var(--fog);font-size:.86rem;font-weight:500}.showcase-heading span:last-child{color:var(--mint);font-variant-numeric:tabular-nums}.showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.showcase-grid--three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.showcase-item{position:relative;min-width:0;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:#05080a;transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px));transition:transform .22s ease-out,border-color .25s ease}a.showcase-item:hover,a.showcase-item:focus-visible{--lift: -6px;border-color:#49d3a68c;box-shadow:0 26px 44px -20px #000000f2,0 0 0 1px #49d3a624}.showcase-image{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:#ffffff0a}.showcase-image img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .6s var(--ease-out)}a.showcase-item:hover .showcase-image img{transform:scale(1.07);animation:tear .42s linear 1}a.showcase-item:hover .rgb-split{transform:scale(1.07)}.showcase-arrow{position:absolute;top:.55rem;right:.55rem;z-index:5;display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:999px;color:var(--mint-ink);background:#49d3a6eb;font-size:.85rem;font-weight:700;box-shadow:0 6px 16px #0006;transition:transform .3s var(--ease-out)}a.showcase-item:hover .showcase-arrow{transform:translate(2px,-2px) scale(1.08)}.showcase-blurb{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:2.4rem .85rem .7rem;background:linear-gradient(transparent,#000000e6 55%);color:#eef1ee;font-size:.76rem;line-height:1.5;text-align:left;transform:translateY(101%);transition:transform .42s var(--ease-snap)}a.showcase-item:hover .showcase-blurb,a.showcase-item:focus-visible .showcase-blurb{transform:translateY(0)}.showcase-copy{display:grid;gap:.1rem;padding:.8rem .95rem .95rem}.showcase-copy h5{overflow:hidden;color:var(--bone);font-size:.92rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.showcase-copy p{overflow:hidden;color:var(--fog);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.board-page{padding:4.5rem 0 6rem}.board-container{width:min(1180px,calc(100vw - 48px));margin:0 auto}.board-main{display:grid;gap:1.2rem}.page-head,.board-banner{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem 2rem;padding-bottom:1.5rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.page-head h1,.board-banner h1{font-family:var(--font-display);font-weight:900;font-size:clamp(2.6rem,6.4vw,4.8rem);line-height:1;letter-spacing:-.035em;color:var(--bone)}.page-head p,.board-banner p{max-width:38ch;margin-top:.8rem;color:var(--fog);font-size:.95rem}.page-head>p{margin-top:0;padding-bottom:.35rem}.board-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.8rem;padding-bottom:.35rem}.board-count{color:var(--fog);font-size:.85rem}.board-count span{color:var(--bone);font-weight:600;font-variant-numeric:tabular-nums}.board-filter{display:inline-flex;align-items:center;gap:.5rem;color:var(--fog);font-size:.85rem}.board-filter select,.form-field select{appearance:none;border-radius:10px;border:1px solid var(--line-2);background-color:#070b0c;background-image:linear-gradient(45deg,transparent 50%,var(--fog) 50%),linear-gradient(135deg,var(--fog) 50%,transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;color:var(--bone);transition:border-color .2s ease,box-shadow .2s ease}.board-filter select{padding:.38rem 2rem .38rem .75rem;font-size:.85rem}.board-table{overflow:hidden;border-radius:16px;border:1px solid var(--line);background:#060a0bd9}.board-rows{display:grid}.board-row{position:relative;display:grid;grid-template-columns:90px 90px minmax(0,1fr) 120px 70px 70px 120px;align-items:center;gap:.6rem;width:100%;padding:.7rem .9rem;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;appearance:none;transition:background .22s ease}.board-row:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:2px;border-radius:2px;background:var(--signal);box-shadow:0 0 10px #f00c;transform:scaleY(0);transition:transform .3s var(--ease-snap)}.board-row:not(.board-row--head):hover{background:#ffffff08}.board-row:not(.board-row--head):hover:before,.board-row.is-active:before{transform:scaleY(1)}.board-row.is-active{background:#49d3a60f;border-bottom-color:#49d3a62e}.board-row.is-active:before{background:var(--mint);box-shadow:0 0 10px #49d3a6cc}.board-row:focus-visible{outline:2px solid var(--mint);outline-offset:-2px}.board-row:last-child{border-bottom:0}.board-row--head{background:#0b1214;color:var(--fog);font-size:.78rem;font-weight:600;cursor:default}.board-row--head .board-cell{color:var(--fog)}.board-notice{background:#f1c77d08;border-bottom:1px solid rgba(255,255,255,.06)}.board-notice:empty{display:none}.board-row--notice{background:#f1c77d0f}.board-row--notice:hover{background:#f1c77d1c!important}.board-cell{font-size:.86rem;color:var(--body-text)}.board-cell.is-id,.board-cell.is-type,.board-cell.is-author,.board-cell.is-like,.board-cell.is-view,.board-cell.is-date{text-align:center;font-variant-numeric:tabular-nums;color:var(--fog)}.board-cell.is-title{display:grid;gap:.15rem;min-width:0;color:var(--bone)}.board-title-line{display:flex;align-items:center;gap:.45rem;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.board-preview{overflow:hidden;color:var(--fog);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.author-with-logo{display:inline-flex;align-items:center;gap:.35rem}.board-cell.is-author .author-with-logo{justify-content:center}.author-logo{width:14px;height:14px;object-fit:cover;border-radius:50%}.author-with-logo--small .author-logo{width:12px;height:12px}.board-detail-row{display:grid;grid-template-rows:1fr;width:100%;border-bottom:1px solid rgba(255,255,255,.05);background:#00000073;animation:expand .52s var(--ease-snap)}.board-detail-row>.board-detail-inner{min-height:0;overflow:hidden}.board-detail-inner{display:grid;gap:.9rem;min-width:720px;padding:1.1rem 1.3rem 1.3rem}.board-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.board-detail-title{display:flex;align-items:center;gap:.6rem}.board-detail-title h3{font-family:var(--font-display);font-weight:600;font-size:1.2rem;letter-spacing:-.01em;color:var(--bone)}.board-detail-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.3rem;color:var(--fog);font-size:.8rem}.board-detail-actions{display:flex;align-items:center;gap:.5rem}.board-detail-content{max-width:70ch;color:#d6dcda;font-size:.96rem;line-height:1.85}.board-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem .2rem 0}.board-pagination{display:flex;flex:1;flex-wrap:wrap;justify-content:center;gap:.35rem}.pagination-button{min-width:2.1rem;padding:.35rem .65rem;border:1px solid var(--line-2);border-radius:8px;background:transparent;color:var(--fog);font-size:.8rem;transition:border-color .2s ease,color .2s ease,background .2s ease}.pagination-button:hover:not(:disabled){border-color:#49d3a680;color:var(--bone)}.pagination-button.is-active{background:var(--mint);border-color:transparent;color:var(--mint-ink);font-weight:700}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.board-admin-slot{display:flex;align-items:center;flex:0 0 auto}.board-admin-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;color:var(--fog);font-size:.78rem}.board-admin-label{color:var(--fog);font-size:.78rem}.board-admin-input{width:96px;padding:.25rem .45rem;border:1px solid var(--line-2);border-radius:7px;background:#070b0c;color:var(--bone);font-size:.78rem}.board-admin-button{padding:.25rem .55rem;border:1px solid var(--line-2);border-radius:7px;background:transparent;color:var(--fog);font-size:.74rem}.board-admin-button:hover{border-color:#49d3a680;color:var(--bone)}.board-admin-sep{color:var(--line-2)}.board-admin-message{flex-basis:100%;color:var(--amber);font-size:.74rem}.board-empty{padding:1.2rem;border:1px dashed rgba(255,255,255,.14);border-radius:12px;color:var(--fog);font-size:.9rem;text-align:center}.board-panel{display:grid;gap:1rem;padding:1.5rem;border-radius:18px;border:1px solid var(--line);background:var(--plate)}.board-panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.board-panel-header h2{font-family:var(--font-display);font-weight:600;font-size:1.3rem;color:var(--bone)}.board-panel-hint{color:var(--fog);font-size:.82rem}.comment-section{display:grid;gap:.8rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.07)}.comment-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.comment-header h4{font-size:.98rem}.comment-count{min-width:1.6rem;padding:0 .45rem;border-radius:999px;background:#ffffff0f;color:var(--fog-2);font-size:.76rem;text-align:center}.comment-list{display:grid;gap:.6rem}.comment-item{padding:.75rem .9rem;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:#0a1012b3;animation:rise .42s var(--ease-out) both}.comment-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;color:var(--fog);font-size:.76rem}.comment-meta-info,.comment-actions{display:flex;align-items:center;gap:.45rem}.comment-author{color:var(--bone);font-weight:600}.comment-action{padding:.15rem .6rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:transparent;color:var(--fog);font-size:.72rem;transition:border-color .2s ease,color .2s ease}.comment-action:hover{border-color:#ffffff59;color:var(--bone)}.comment-body{color:#d6dcda;font-size:.9rem;line-height:1.7}.comment-empty{padding:.65rem .8rem;border:1px dashed rgba(255,255,255,.12);border-radius:10px;color:var(--fog);font-size:.85rem}.comment-form,.comment-edit-form{display:grid;gap:.7rem}.comment-fields{display:grid;gap:.35rem}.comment-label{color:var(--fog);font-size:.78rem}.comment-edit-actions{display:flex;justify-content:flex-end;gap:.5rem}.community-form{display:grid;gap:1rem}.form-field{display:grid;gap:.4rem}.form-field label{color:var(--fog);font-size:.82rem}.form-field input,.form-field textarea,.form-field select,.comment-form input,.comment-form textarea,.comment-edit-form textarea{width:100%;padding:.65rem .85rem;border:1px solid var(--line-2);border-radius:12px;background-color:#070b0c;color:var(--bone);font-size:.92rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-field select{padding-right:2.2rem}.form-field textarea{min-height:170px;resize:vertical}.comment-form textarea{min-height:100px;resize:vertical}.comment-edit-form textarea{min-height:90px;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.board-filter select:focus,.comment-form input:focus,.comment-form textarea:focus,.comment-edit-form textarea:focus,.board-admin-input:focus{outline:none;border-color:#49d3a6b3;background-color:#081011;box-shadow:0 0 0 3px #49d3a629}.form-field input::placeholder,.form-field textarea::placeholder,.comment-form input::placeholder,.comment-form textarea::placeholder{color:#55605f}.form-field input.is-locked,.comment-form input.is-locked{opacity:.75}.form-row{display:flex;flex-wrap:wrap;gap:.8rem}.form-checkbox{display:inline-flex;align-items:center;gap:.55rem;color:var(--fog-2);font-size:.9rem;cursor:pointer}.form-checkbox input{width:16px;height:16px;accent-color:var(--mint)}.form-actions{display:flex;justify-content:flex-end}.form-message{min-height:1.1rem;color:var(--amber);font-size:.84rem}.form-message:not(:empty){animation:nudge .36s var(--ease-out)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.25rem;border:1px solid var(--line-2);border-radius:999px;background:#070b0c;color:var(--bone);font-size:.84rem;font-weight:600;overflow:hidden;isolation:isolate;cursor:pointer;transition:transform .2s var(--ease-out),border-color .2s ease,color .2s ease,box-shadow .25s ease,background .2s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--mint);border-color:transparent;color:var(--mint-ink)}.btn-primary:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translate(-120%)}.btn-primary:hover{box-shadow:0 10px 26px #49d3a64d}.btn-primary:hover:after{transform:translate(120%);transition:transform .7s var(--ease-out)}.btn-secondary{background:transparent;color:var(--fog-2)}.btn-secondary:hover{border-color:#49d3a680;color:var(--bone)}.badge{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto;padding:.1rem .55rem;border:1px solid transparent;border-radius:999px;font-size:.7rem;font-weight:600}.badge-secret{color:var(--amber);background:#f1c77d24;border-color:#f1c77d59}.badge-admin{color:var(--mint);background:#49d3a629;border-color:#49d3a666}.badge-notice{color:#140d02;background:var(--amber);border-color:#f1c77db3}.badge-user{color:var(--muted);background:#a2a9b833;border-color:#a2a9b859}.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center}.modal-backdrop{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(6px);animation:fade-in .26s ease both}.modal-panel{position:relative;display:grid;gap:.8rem;width:min(380px,100vw - 32px);padding:1.4rem 1.4rem 1.5rem;overflow:hidden;border:1px solid var(--line-2);border-radius:18px;background:var(--plate);box-shadow:0 40px 90px #000000b3;animation:pop .42s var(--ease-snap) both}.modal-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--signal),#ff6a3c,var(--mint))}.modal-panel h2{font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--bone)}.modal-desc{color:var(--fog-2);font-size:.88rem}.modal-form{display:grid;gap:.8rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}footer{padding:3rem 0 4rem;border-top:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:3px;font-size:.7rem;text-align:center}.site-footer{position:relative;padding:3.2rem 0 4rem;border-top:1px solid var(--line);color:var(--fog);text-transform:none;letter-spacing:normal;font-size:.84rem;text-align:left}.footer-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.footer-mark{display:grid;gap:.15rem}.footer-mark strong{font-family:var(--font-mark);font-weight:700;font-size:1.6rem;line-height:1;letter-spacing:.01em;color:var(--signal);text-shadow:.035em .035em 0 var(--signal-deep)}.footer-mark span{font-family:var(--font-mark);color:var(--fog-2);font-size:.86rem;letter-spacing:.03em}.footer-side{display:grid;justify-items:end;gap:.6rem}.to-top{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .9rem .35rem 1.05rem;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--fog-2);font-size:.8rem;transition:border-color .2s ease,color .2s ease}.to-top:hover{border-color:#49d3a680;color:var(--bone)}.to-top i{position:relative;width:1px;height:12px;background:currentColor}.to-top i:before{content:"";position:absolute;left:-3px;top:-1px;width:7px;height:7px;border-left:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}::view-transition-old(root){animation:vt-old .32s var(--ease-out) both}::view-transition-new(root){animation:vt-new .56s var(--ease-snap) both}::view-transition-old(topbar){display:none}::view-transition-new(topbar){animation:none}.vt-scan{position:fixed;left:0;right:0;top:0;z-index:100;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--signal) 20%,#fff 50%,var(--mint) 80%,transparent);box-shadow:0 0 22px 3px #ff00008c;view-transition-name:scan}::view-transition-new(scan){animation:vt-scan .56s var(--ease-snap) both}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(12px,-18px,0) scale(1.04)}to{transform:translateZ(0) scale(1)}}@keyframes heartbeat{0%,34%,to{transform:scale(1);box-shadow:0 0 8px #ff00008c}6%{transform:scale(1.65);box-shadow:0 0 18px #ff0000f2}13%{transform:scale(1)}20%{transform:scale(1.35);box-shadow:0 0 14px #f00c}}@keyframes trace-draw{to{stroke-dashoffset:0}}@keyframes trace-fade{0%,70%{opacity:1}to{opacity:0}}@keyframes axon-drop{0%{transform:translateY(0);opacity:0}15%,85%{opacity:1}to{transform:translateY(40px);opacity:0}}@keyframes run-line{0%{transform:translate(-100%);opacity:1}to{transform:translate(400%);opacity:0}}@keyframes grain{0%{transform:scale(1.12) translate(0)}17%{transform:scale(1.12) translate(-2.5%,2%)}33%{transform:scale(1.12) translate(2%,-2.5%)}50%{transform:scale(1.12) translate(-2.5%,-1%)}67%{transform:scale(1.12) translate(2.5%,2.5%)}83%{transform:scale(1.12) translate(-1%,2.5%)}to{transform:scale(1.12) translate(0)}}@keyframes split-flash{0%,99%{opacity:1}to{opacity:0}}@keyframes split-red{0%{transform:translate(-6px)}33%{transform:translate(4px)}66%{transform:translate(-2px)}to{transform:none}}@keyframes split-cyan{0%{transform:translate(5px)}33%{transform:translate(-4px)}66%{transform:translate(2px)}to{transform:none}}@keyframes tear{0%{transform:translate(-4px) scale(1.03)}20%{transform:translate(5px) scale(1.035)}40%{transform:translate(-2px) scale(1.035)}60%,to{transform:scale(1.035)}}@keyframes expand{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes nudge{0%{transform:translate(-6px)}40%{transform:translate(4px)}70%{transform:translate(-2px)}to{transform:none}}@keyframes pop{0%{opacity:0;transform:translateY(14px) scale(.95)}}@keyframes fade-in{0%{opacity:0}}@keyframes vt-old{to{opacity:0;transform:scale(.985);filter:blur(3px)}}@keyframes vt-new{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes vt-scan{0%{transform:translateY(0);opacity:1}to{transform:translateY(100vh);opacity:.15}}@media(max-width:1080px){.year-block{grid-template-columns:166px minmax(0,1fr);gap:2rem}.project-card{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr)}}@media(max-width:960px){.section-header,.page-head,.board-banner{flex-direction:column;align-items:flex-start;gap:.6rem}.project-card{grid-template-columns:1fr}.project-media{padding:1.25rem 1.25rem 0}.showcase-grid,.showcase-grid--three-column{grid-template-columns:repeat(2,minmax(0,1fr))}.board-actions{width:100%;justify-content:flex-start}.board-table{overflow-x:auto}.board-row{min-width:720px}.board-footer{flex-direction:column;align-items:flex-start}}@media(max-width:760px){.container,.board-container{width:min(100% - 32px,1180px)}.section{padding:4.5rem 0 5.5rem}.section-header{margin-bottom:3rem}.year-list{gap:4.5rem}.year-block{grid-template-columns:1fr;gap:1.3rem}.year-marker{position:relative;top:auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem}.year-marker p{margin-top:0}.year-marker-dot{top:11px}.year-grid{padding-left:1.6rem}.footer-inner{flex-direction:column;align-items:flex-start}.footer-side{justify-items:start}}@media(max-width:560px){.top-bar-inner{flex-wrap:wrap;gap:.6rem;min-height:60px}.top-bar-actions{width:100%;justify-content:space-between}.top-bar-nav a{padding:.3rem .75rem}.hero-inner{padding:2.5rem 0 7.5rem;gap:1.1rem}.hero-raster{height:46px}.hero-scroll{bottom:58px}.project-card{border-radius:18px}.project-media{padding:.85rem .85rem 0}.project-body{padding:1.35rem}.project-number{font-size:1.8rem}.project-desc{font-size:.93rem}.project-showcase{padding:.85rem}.showcase-grid,.showcase-grid--three-column{gap:.65rem}.showcase-copy{padding:.65rem .7rem .75rem}.showcase-copy h5{font-size:.82rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.is-hidden{display:none}.lab-experiment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.lab-experiment-card{position:relative;display:grid;grid-template-rows:auto 1fr;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--plate);color:var(--bone);transform:perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px));transition:transform .24s ease-out,border-color .3s ease}.lab-experiment-card:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(380px circle at var(--mx, 50%) var(--my, 0%),rgba(73,211,166,.09),transparent 50%);opacity:0;transition:opacity .3s ease}.lab-experiment-card:hover,.lab-experiment-card:focus-visible{--lift: -6px;border-color:#49d3a680;box-shadow:0 34px 60px -28px #000000f2,0 0 0 1px #49d3a61f}.lab-experiment-card:hover:before{opacity:1}.lab-experiment-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lab-stage{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;background:#020404;border-bottom:1px solid var(--line)}.lab-stage canvas{display:block;width:100%;height:100%}.lab-stage:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px #000000a6}.lab-copy{display:grid;align-content:start;gap:.55rem;padding:1.25rem 1.3rem 1.4rem}.lab-copy h2{font-family:var(--font-display);font-weight:900;font-size:1.55rem;line-height:1.2;letter-spacing:-.025em}.lab-copy p{color:var(--fog-2);font-size:.9rem;line-height:1.7}.lab-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.lab-tags span{padding:.1rem .55rem;border:1px solid var(--line-2);border-radius:999px;color:var(--fog);font-size:.72rem}.lab-experiment-card:only-child{grid-column:1 / -1;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:none}.lab-experiment-card:only-child .lab-stage{aspect-ratio:16 / 10;border-bottom:0;border-right:1px solid var(--line)}.lab-experiment-card:only-child .lab-copy{align-content:center;gap:.8rem;padding:2rem 2.3rem}.lab-experiment-card:only-child h2{font-size:clamp(1.8rem,3vw,2.4rem)}.lab-experiment-card:only-child p{max-width:36ch;font-size:.98rem}@media(max-width:960px){.lab-experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.lab-experiment-card:only-child{grid-template-columns:1fr}.lab-experiment-card:only-child .lab-stage{aspect-ratio:4 / 3;border-right:0;border-bottom:1px solid var(--line)}.lab-experiment-card:only-child .lab-copy{padding:1.25rem 1.3rem 1.4rem}}@media(max-width:640px){.lab-experiment-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.lab-experiment-card{transition:none}}.fly-prototype i{width:5px;height:5px;background:currentColor;border-radius:50%}.fly-lab-page{padding:2rem 0 4rem}.fly-container{width:min(1240px,calc(100vw - 64px))}.fly-back{display:inline-flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.7rem}.fly-back svg{width:15px;height:15px}.fly-back>span:first-of-type{margin:0 .4rem;color:#42564b}.fly-back>span:last-of-type{font-family:monospace;font-size:.63rem;letter-spacing:1px;color:#7d9189}.fly-back:hover{color:var(--accent)}.fly-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.8rem 0}.fly-heading h1{margin:.4rem 0 .6rem;font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.05em;line-height:1.3}.fly-heading p{color:var(--muted);font-size:.85rem}.fly-prototype{display:inline-flex;flex:0 0 auto;align-items:center;gap:.55rem;padding:.4rem .8rem;border:1px solid #466654;border-radius:999px;color:#a8c7b7;font:.61rem monospace;letter-spacing:.6px}.fly-observatory{overflow:hidden;border:1px solid #2c3e40;border-radius:14px;background:#101920}.fly-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid #2c3e40}.fly-view-switch{display:flex;gap:.3rem;padding:3px;border:1px solid #334344;border-radius:8px}.fly-view-switch button{padding:.4rem .8rem;border:0;border-radius:5px;color:#94a8a5;background:transparent;font:inherit;font-size:.7rem;cursor:pointer}.fly-view-switch button[aria-pressed=true]{color:#cce9db;background:#2b443b}.fly-transport{display:flex;align-items:center;gap:1rem}.fly-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:37px;padding:.5rem .85rem;border:1px solid #3e5550;border-radius:7px;background:#1b2b29;color:#c8d9d1;font:inherit;font-size:.7rem;cursor:pointer}.fly-button svg{width:15px;height:15px}.fly-button:hover{border-color:#739b87}.fly-button-primary{min-width:109px;background:var(--accent);border-color:var(--accent);color:#10261f;font-weight:600}.fly-button-primary:hover{background:#71dfb9}.fly-container button:disabled,.fly-container input:disabled{opacity:.45;cursor:default}.fly-run-state{color:#8ac4ac;font-size:.6rem}.fly-run-state:before{content:"";display:inline-block;width:5px;height:5px;margin-right:.45rem;border-radius:50%;background:currentColor}.fly-run-state.is-paused{color:#919caa}.fly-stage{position:relative;height:clamp(390px,52vw,620px);background:#0b1319}.fly-habitat-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;padding:.75rem 1.1rem;background:#111d22;border-bottom:1px solid #2a3a38;font-size:.66rem;color:#9eb7a9}.fly-select-label{display:flex;align-items:center;gap:.55rem}.fly-select-label select{max-width:130px;padding:.45rem .55rem;border:1px solid #496052;border-radius:6px;background:#192b25;color:#d5e9df;font:inherit}.fly-population,.fly-food-count{color:#8fa797;white-space:nowrap}.fly-population b,.fly-food-count b{color:#c4e3d1;font-weight:500}.fly-neural-status{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;padding:.5rem .7rem;border:1px solid #385746;border-radius:6px;color:#b7d9c8}.fly-neural-status i{width:5px;height:5px;background:var(--accent);border-radius:50%}.fly-habitat-controls select:disabled{opacity:.45}.fly-neural-inset{position:absolute;right:1.1rem;bottom:4.2rem;width:300px;border:1px solid #4c8c705f;border-radius:10px;overflow:hidden;background:#060e10;box-shadow:0 8px 30px #0006}.fly-neural-inset>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;color:#acc8ba;font-size:.64rem;border-bottom:1px solid #243d31}.fly-neural-inset strong{font-weight:500}.fly-neural-inset strong b{color:#62dfad;margin-left:.3rem}.fly-neural-inset span{color:#7f9a8b;font-size:.5rem}.fly-neural-inset span b{color:#bddbcb;font:.62rem monospace}.fly-neural-inset canvas{width:100%;height:210px}.fly-circuit-readings{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:.65rem 1rem;border-top:1px solid #243d31;background:#11171d;color:#bfa8dd;font-size:.65rem}.fly-circuit-readings>span{margin-right:auto}.fly-circuit-readings label{display:flex;align-items:center;gap:.4rem}.fly-circuit-readings meter{width:60px;height:8px;accent-color:#bfa8dd}.fly-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.fly-stage canvas:active{cursor:grabbing}.fly-stage-label{position:absolute;top:1.3rem;left:1.4rem;color:#c1d1c8;font:.62rem monospace;letter-spacing:1.8px;pointer-events:none;text-shadow:0 1px 5px #000}.fly-stage-label small{display:block;margin-top:.4rem;color:#7c9b8d;font-size:.52rem;letter-spacing:1px}.fly-flight-hud{position:absolute;top:1.1rem;right:1.1rem;display:grid;gap:.35rem;padding:.8rem 1rem;border:1px solid #658b6e45;border-radius:8px;background:#0b1a16d9;color:#a1bdae;font-size:.61rem;pointer-events:none}.fly-flight-hud strong{color:#bdc7b6;font-size:.73rem;font-weight:500}.fly-flight-hud.is-flying strong{color:#49d3a6}.fly-flight-hud b{color:#e0e9d8;font:.67rem monospace}.fly-flight-hud small{margin-top:.15rem;color:#a39673;font-size:.5rem}.fly-brain-hud>b{font-size:1.45rem;color:#91f2ce}.fly-brain-hud small{max-width:23ch}.fly-sensory-readings{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:1rem;background:#2a3a38;border:1px solid #2a3a38;border-radius:10px;overflow:hidden}.fly-sensory-title{grid-column:1 / -1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.65rem 1.1rem;background:#18231f;color:#a0b8ab;font-size:.64rem}.fly-sensory-title>span{margin-right:auto}.fly-sensory-title small{color:#c3b286;font-size:.6rem}.fly-sensory-title b{font-weight:400}.fly-pathway{padding:.95rem 1.15rem;background:#111c21}.fly-pathway h2{margin-bottom:.75rem;color:#8cdabd;font-size:.75rem;font-weight:500}.fly-pathway-light h2{color:#e8c385}.fly-pathway>div{display:flex;align-items:center;gap:.55rem;margin:.5rem 0;color:#9fb4aa;font-size:.62rem}.fly-pathway>div>span{min-width:2rem}.fly-pathway b{min-width:3rem;text-align:right;color:#d4e9db;font:.75rem monospace}.fly-pathway small{font-size:.55rem;color:#6f927f}.fly-pathway meter{flex:1;min-width:0;height:7px;border:0;background:#293e36}.fly-pathway meter::-webkit-meter-bar{border:0;background:#293e36;height:7px}.fly-pathway meter::-webkit-meter-optimum-value{background:#49d3a6}.fly-pathway-light meter::-webkit-meter-optimum-value{background:#e4ba77}.fly-stage-bottom{position:absolute;bottom:1.1rem;left:1.4rem;right:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#bbcec0;font:.61rem monospace;text-shadow:0 1px 5px #000;pointer-events:none}.fly-stage-bottom label{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .65rem;border:1px solid #60756755;border-radius:6px;background:#10231bc9;font:.65rem IBM Plex Sans KR,sans-serif;pointer-events:auto}.fly-stage-bottom input{accent-color:var(--accent)}.fly-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse at center,#18302f,#0b1319 65%);text-align:center;z-index:2}.fly-loading[hidden],.fly-container [hidden]{display:none!important}.fly-loading h2{margin-top:1.6rem;font-size:1rem;color:#d5e5dc}.fly-loading p{margin-top:.7rem;max-width:32rem;color:#8ca499;font-size:.75rem}.fly-loading-orbit{width:48px;height:48px;border:1px solid #49d3a630;border-top-color:#49d3a6;border-radius:50%;animation:fly-loading-spin 1.8s linear infinite}.has-error .fly-loading-orbit{animation:none;border-color:#c5a274;border-style:dashed}.fly-loading progress{width:min(260px,80%);height:4px;margin-top:1.8rem;accent-color:var(--accent);border:0}.fly-loading progress::-webkit-progress-bar{background:#28443a;border-radius:4px}.fly-loading progress::-webkit-progress-value{background:var(--accent);border-radius:4px}.fly-load-percent{margin-top:.65rem;color:#82bba4;font:.6rem monospace}.fly-loading .fly-button{margin-top:1.5rem}.fly-stage-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem;padding:.85rem 1.2rem;border-top:1px solid #293a38;color:#8ba094;font-size:.62rem}.fly-backend{color:#76b199;font:.53rem monospace;letter-spacing:1px}.fly-legend{display:flex;gap:.8rem;font-size:.6rem}.fly-legend span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:.35rem;border-radius:50%;background:#7897a3}.fly-legend .fly-legend-0:before{background:#49d3a6}.fly-legend .fly-legend-2:before{background:#eac17f}.fly-readings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:1rem 0;border:1px solid #2a3a38;border-radius:10px;overflow:hidden;background:#2a3a38}.fly-reading{min-width:0;padding:1.2rem 1.25rem;background:#141e25}.fly-reading>span{color:#9cafaa;font-size:.65rem}.fly-reading strong{display:flex;align-items:baseline;gap:.5rem;margin:.6rem 0;color:#daebe0;font:1.45rem monospace;font-variant-numeric:tabular-nums}.fly-reading b{font-weight:400}.fly-reading small{font:.65rem monospace;color:#779787}.fly-reading p{color:#7b9489;font-size:.56rem;line-height:1.8}.fly-output>div{display:flex;align-items:baseline;gap:.4rem;margin:.8rem 0;font:1rem monospace}.fly-output>div span{color:#8ca297;font:.57rem IBM Plex Sans KR,sans-serif}.fly-output>div span:nth-of-type(2){margin-left:.5rem}.fly-dataset{display:flex;align-items:center;gap:clamp(1.5rem,5vw,4.5rem);padding:1.5rem .2rem}.fly-dataset>div strong{display:block;color:#b5cbbf;font:1.15rem monospace}.fly-dataset>div span{display:block;margin-top:.45rem;color:#789387;font-size:.63rem}.fly-dataset-label{margin-left:auto;color:#658575;font:.55rem/1.8 monospace;letter-spacing:1px;text-align:right}.fly-dataset-label b{color:#9bb1a6;font-weight:400}.fly-method{border-bottom:1px solid #2c3c35;margin-top:.5rem}.fly-method summary{display:flex;justify-content:space-between;align-items:center;padding:.95rem 0;color:#99b1a3;font-size:.68rem;cursor:pointer;list-style:none}.fly-method summary::-webkit-details-marker{display:none}.fly-method summary span{font:1rem monospace;color:var(--accent)}.fly-method[open] summary span{transform:rotate(45deg)}.fly-method>div{padding:0 0 1rem;max-width:960px}.fly-method p{margin-bottom:.7rem;color:#8b9e92;font-size:.7rem;line-height:1.9}.fly-method a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.fly-source-links{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.68rem}.fly-container :is(a,button,input,canvas,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.fly-container select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes fly-loading-spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.fly-container{width:calc(100vw - 40px)}.fly-readings{grid-template-columns:1fr 1fr}.fly-heading{align-items:flex-start}.fly-prototype{margin-top:.3rem}}@media(max-width:760px){.fly-heading{flex-direction:column;gap:1rem}.fly-prototype{margin:0}.fly-run-state,.fly-dataset-label{display:none}}@media(max-width:560px){.fly-container{width:calc(100vw - 28px)}.fly-lab-page{padding-top:1.35rem}.fly-heading{margin:1.4rem 0}.fly-heading h1{font-size:1.75rem}.fly-heading p{font-size:.75rem;max-width:35ch}.fly-toolbar{gap:.5rem;padding:.6rem}.fly-view-switch button{padding:.4rem .55rem;font-size:.65rem}.fly-button{padding:.5rem .6rem;font-size:.63rem}.fly-button-primary{min-width:88px}.fly-stage{height:430px}.fly-stage-label{top:1rem;left:1rem;font-size:.53rem}.fly-stage-bottom{bottom:.8rem;left:.8rem;right:.8rem;gap:.5rem;font-size:.48rem}.fly-stage-bottom label{font-size:.55rem;padding:.4rem}.fly-habitat-controls{gap:.5rem;padding:.65rem;font-size:.59rem}.fly-select-label{gap:.35rem}.fly-select-label select{max-width:100px}.fly-neural-status{margin-left:0}.fly-neural-inset{width:160px;right:.65rem;bottom:3.7rem}.fly-neural-inset canvas{height:110px}.fly-neural-inset>div{flex-wrap:wrap;padding:.45rem .55rem;gap:.2rem;font-size:.57rem}.fly-stage:has(.fly-neural-inset:not([hidden])){height:500px}.fly-flight-hud{top:.8rem;right:.8rem;padding:.55rem .65rem;font-size:.52rem}.fly-flight-hud strong{font-size:.64rem}.fly-flight-hud b{font-size:.57rem}.fly-flight-hud small{font-size:.43rem}.fly-brain-hud>b{font-size:1.1rem}.fly-sensory-readings{grid-template-columns:1fr}.fly-pathway{padding:.85rem 1rem}.fly-sensory-title{gap:.5rem}.fly-sensory-title>span{width:100%;font-size:.58rem}.fly-stage-caption{padding:.7rem .8rem;font-size:.54rem}.fly-backend{font-size:.46rem}.fly-reading{padding:1rem}.fly-reading strong{font-size:1.2rem}.fly-reading>span{font-size:.6rem}.fly-reading p{font-size:.5rem}.fly-output>div{font-size:.83rem;gap:.25rem}.fly-output>div span:nth-of-type(2){margin-left:.2rem}.fly-dataset{justify-content:space-between;gap:.7rem;padding:1.2rem 0}.fly-dataset>div strong{font-size:.95rem}.fly-dataset>div span{font-size:.56rem}.fly-loading h2{font-size:.85rem}.fly-loading p{font-size:.65rem}}@media(prefers-reduced-motion:reduce){.fly-loading-orbit{animation:none}}.fly-speed-controls{display:flex;align-items:center;gap:1.2rem;padding:.65rem 1rem;border-top:1px solid #243b31;font-size:.68rem;color:#adc5b8}.fly-speed-controls label{display:inline-flex;align-items:center;gap:.7rem}.fly-speed-controls select{background:#14261e;color:#dcf4e8;border:1px solid #385746;border-radius:5px;padding:.35rem .6rem;font:inherit}.fly-speed-controls b{font-variant-numeric:tabular-nums;color:#d7f1e2}.fly-social-readings{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:20px;padding:22px 24px;margin-top:18px;border:1px solid #394051;border-radius:14px;background:#171d29}.fly-social-readings>div,.fly-social-readings>label{display:flex;flex-direction:column;gap:8px;min-width:0}.fly-social-readings span,.fly-social-readings small{color:#aab7c8;font-size:12px}.fly-social-readings strong{font-size:17px;color:#f0dab7}.fly-social-readings meter{width:100%;accent-color:#d4a9de}.fly-neural-inset>div{flex-wrap:wrap}.fly-neural-inset [data-fly=skeleton-label]{font-size:10px;color:#94bcb1}@media(max-width:700px){.fly-social-readings{grid-template-columns:1fr 1fr;gap:18px;padding:18px}}.fly-camera-label{padding:.55rem .7rem;border:1px solid #85a99470;border-radius:6px;background:#10231be6;color:#e2f3e7}.fly-stage-label{padding:.7rem .85rem;border-radius:7px;background:#10231bbd;color:#e3f1e5}.fly-stage-label small{color:#bbd3c5}.fly-stage canvas[data-camera-mode=free]{cursor:crosshair}.fly-stage canvas[data-camera-mode=free]:active{cursor:move}.fly-nameplates{position:absolute;inset:0;overflow:hidden;pointer-events:none}.fly-nameplate{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;padding:4px 8px;border:1px solid #a5c5b485;border-radius:4px;background:#122a20ed;color:#e3f3e9;font:11px/1.3 monospace;box-shadow:0 1px 7px #0005}.fly-nameplate.is-selected{border-color:#6ef3bf;color:#b4ffdc}.fly-nameplate[data-kind=male]{color:#b4dcff}.fly-nameplate[data-kind=female]{color:#ffdfc9}.fly-nameplate[data-kind=dead]{color:#9da3a2;background:#252a28db}.fly-nameplate[data-kind=egg],.fly-nameplate[data-kind=larva],.fly-nameplate[data-kind=pupa]{color:#f6deb0;background:#302c1dee}.fly-life-panel{margin-top:18px;padding:20px 24px;border:1px solid #42513c;border-radius:12px;background:#18231d}.fly-life-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#dce8cd}.fly-life-title strong{font-size:14px;font-weight:500}.fly-life-title small{color:#94a588;font-size:11px}.fly-life-stages{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin:20px 0}.fly-life-stages>div{position:relative;display:flex;gap:12px;align-items:center;color:#b6c4a6;font-size:12px}.fly-life-stages b{color:#f2e4bf;font:22px monospace}.fly-life-stages i{position:absolute;right:0;color:#657962;font-style:normal}.fly-life-adult{display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:#c3cdb9;font-size:11px}.fly-life-adult b{color:#f0e4be;font-weight:400}.fly-life-adult meter{width:85px;height:8px;accent-color:#aec979}.fly-life-capacity{display:block;margin-top:12px;font-size:10px;color:#8c9e86}@media(max-width:600px){.fly-life-panel{padding:16px}.fly-life-title{align-items:flex-start;flex-direction:column}.fly-life-stages{gap:8px}.fly-life-stages>div{flex-direction:column;align-items:flex-start;gap:5px;font-size:11px}.fly-life-stages i{top:20px}}.fly-save-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:.7rem 1.15rem;background:#101d20;border-bottom:1px solid #293d35}.fly-save-bar>div{display:grid;gap:4px;color:#9cd5b9;font-size:11px}.fly-save-bar small{color:#83998c;font-size:10px}.fly-save-bar .has-error{color:#efb193}.fly-reset-button{color:#d8b2a6;border-color:#655047;background:transparent}.fly-reset-dialog{width:min(430px,calc(100vw - 40px));padding:26px;margin:auto;border:1px solid #65584c;border-radius:14px;background:#152123;color:#e3e9df;box-shadow:0 20px 90px #0009}.fly-reset-dialog::backdrop{background:#041011bb;backdrop-filter:blur(4px)}.fly-reset-dialog h2{margin:0 0 14px;font-size:19px}.fly-reset-dialog p{margin:0 0 24px;color:#b4c0b5;font-size:13px;line-height:1.8}.fly-reset-dialog>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.fly-reset-dialog .fly-button{font-size:12px}.fly-reset-confirm{background:#813c2e;border-color:#aa5c48;color:#fff0e9}.fly-reset-dialog button:focus-visible{outline:2px solid #e9d0ab;outline-offset:3px}.fly-selection{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.fly-tag-list{display:flex;flex-wrap:wrap;gap:5px;min-height:32px;align-items:center}.fly-tag-button{min-width:48px;min-height:32px;padding:5px 9px;border:1px solid #52685e;border-radius:6px;background:#152923;font:12px/1.3 monospace;cursor:pointer}.fly-tag-button[data-kind=female]{color:#ffdfc9}.fly-tag-button[data-kind=male]{color:#b4dcff}.fly-tag-button[aria-pressed=true]{border-color:#7bf2b9;background:#2a493a;box-shadow:0 0 0 1px #7bf2b944}.fly-tag-button:hover,button.fly-nameplate:hover{background:#30483e;border-color:#d5fbe7}.fly-tag-button:focus-visible,button.fly-nameplate:focus-visible{outline:2px solid #f5de9f;outline-offset:3px}button.fly-nameplate{min-width:48px;min-height:30px;pointer-events:auto;cursor:pointer;touch-action:manipulation}button.fly-nameplate.is-selected{background:#294938f5;box-shadow:0 0 0 1px #76f4ba66,0 2px 8px #0007}.fly-nameplates{z-index:2}.fly-neural-inset,.fly-stage-bottom,.fly-loading{z-index:3}.fly-stimulus-switch{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer;color:#d2dccd}.fly-stimulus-switch input{accent-color:#8edcad}.fly-stimulus-hud{position:absolute;z-index:1;left:1.1rem;bottom:4.2rem;width:202px;padding:13px 14px;border:1px solid #75958270;border-radius:10px;background:#10231eea;color:#d3e2d7;pointer-events:none;box-shadow:0 6px 24px #0003}.fly-stimulus-hud>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:13px;font-size:12px}.fly-stimulus-hud strong{font-weight:500}.fly-stimulus-hud>div>span{color:#a6c6b4;font-family:monospace}.fly-stimulus-hud label{display:flex;align-items:center;gap:7px;margin-top:9px;color:var(--stimulus);font-size:10px}.fly-stimulus-hud label>span{display:inline-flex;align-items:center;gap:5px;min-width:57px}.fly-stimulus-hud i{width:5px;height:5px;border-radius:50%;background:currentColor}.fly-stimulus-hud b{min-width:28px;font:10px monospace;text-align:right}.fly-stimulus-hud meter{flex:1;min-width:0;height:5px;accent-color:var(--stimulus)}.fly-stimulus-hud meter::-webkit-meter-bar{border:0;background:#415148;height:5px}.fly-stimulus-hud meter::-webkit-meter-optimum-value{background:var(--stimulus)}.fly-stimulus-odor{--stimulus: #63ecac}.fly-stimulus-light{--stimulus: #ffd16b}.fly-stimulus-courtship{--stimulus: #f88bcc}.fly-stimulus-hud small{display:block;margin-top:12px;color:#93ac9d;font-size:9px;line-height:1.5}.fly-legend-odor:before{background:#63ecac!important}.fly-legend-light:before{background:#ffd16b!important}.fly-legend-courtship:before{background:#f88bcc!important}@media(max-width:700px){.fly-selection{flex-basis:100%}.fly-stimulus-hud{left:.65rem;bottom:3.7rem;width:152px;padding:10px}.fly-stimulus-hud>div{font-size:11px;margin-bottom:10px}.fly-stimulus-hud label{gap:4px;font-size:9px}.fly-stimulus-hud label>span{min-width:52px}.fly-stimulus-hud b{min-width:24px;font-size:9px}.fly-stimulus-hud small{font-size:8px}}@media(pointer:coarse){button.fly-nameplate,.fly-tag-button{min-height:44px;min-width:48px}}@media(max-width:370px){.fly-stimulus-hud{bottom:12.7rem}}@media(min-width:701px)and (max-width:1000px){.fly-social-readings{grid-template-columns:repeat(3,1fr)}}
