:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#111827;background-color:#f1f5f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,a:hover{color:inherit}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgba(124,58,237,.08),transparent 60%),radial-gradient(circle at bottom right,rgba(37,99,235,.08),transparent 55%),#f8fafc}#root{min-height:100vh}html,body,#root{height:100%;margin:0;background:#000}html{scroll-behavior:smooth}*{box-sizing:border-box}.app{display:flex;flex-direction:column;min-height:100vh}.canvas-shell{position:fixed;inset:0;width:100vw;height:100vh;min-height:100vh;margin:0;overflow:hidden;background:#000}.canvas-shell canvas{height:100%!important;width:100%!important;display:block}.stack{position:relative;z-index:12}.ui-shell{position:relative;z-index:18}.ui-shell--hidden,.stack.ui-shell--hidden{opacity:0;pointer-events:none}.section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:64px 16px}.section:not(.hero){min-height:auto;padding:64px 16px;justify-content:center}.vignette-overlay{position:fixed;inset:0;pointer-events:none;z-index:18;background:radial-gradient(circle at center,transparent 60%,rgba(0,0,0,.5))}.container{width:min(960px,92vw)}.glass{background:#0206178c;border:1px solid rgba(148,163,184,.5);border-radius:20px;padding:24px;box-shadow:0 24px 80px #00000080,0 0 0 1px #94a3b840;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);pointer-events:auto;will-change:transform,opacity}.hero-title{margin:0 0 8px;font-size:clamp(28px,6vw,48px);color:#fff}.hero-sub{margin:0;color:#e5e7eb}.hero .container{pointer-events:auto}.cta-row{display:flex;gap:12px;margin-top:16px}.btn{border:1px solid rgba(148,163,184,.5);border-radius:999px;padding:10px 16px;font-size:14px;color:#e5e7eb;background:#02061766;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.btn:hover{color:#fff;background:#ffffff1f;box-shadow:0 0 0 1px #94a3b859}.btn-primary{background:#6366f140;border-color:#6366f18c}.btn-ghost{background:transparent}@supports (height: 100dvh){.canvas-shell{min-height:100dvh;height:100dvh}}@media (max-width: 768px){.canvas-shell{height:100vh}}.loader-glitch{display:flex;gap:6px;transform-origin:center;animation:loaderPulse 1.6s ease-in-out infinite}.loader-glitch div{width:8px;height:24px;background:#fff;animation:glitch .8s ease-in-out infinite}.loader-glitch div:nth-child(2){animation-delay:.15s}.loader-glitch div:nth-child(3){animation-delay:.3s}@keyframes glitch{0%,to{transform:scaleY(.3);opacity:.2}50%{transform:scaleY(1.2);opacity:1}}@keyframes loaderPulse{0%,to{transform:scale(.96);filter:drop-shadow(0 0 2px rgba(255,255,255,.25))}50%{transform:scale(1.04);filter:drop-shadow(0 0 6px rgba(255,255,255,.55))}}.loader-overlay{opacity:1;transition:opacity .45s ease;will-change:opacity}.loader-overlay.is-fading{opacity:0}.nav-shell{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:20;pointer-events:none}.nav-glass{pointer-events:auto;display:inline-flex;align-items:center;gap:16px;padding:10px 20px;border-radius:999px;background:#0f172a59;border:1px solid rgba(148,163,184,.55);box-shadow:0 18px 45px #0f172aa6,0 0 0 1px #94a3b840;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}.nav-logo{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:radial-gradient(circle at 30% 30%,#93c5fd,#1d4ed8);cursor:pointer;padding:0}.nav-logo-mark{font-weight:700;font-size:20px;color:#fff}.nav-divider{width:1px;height:32px;background:linear-gradient(to bottom,transparent,rgba(148,163,184,.75),transparent)}.nav-items{display:flex;align-items:center;gap:8px;list-style:none;padding:0;margin:0;position:relative}.nav-item{position:relative;border:none;background:transparent;color:#e5e7eb;font-size:15px;font-weight:500;padding:8px 18px;border-radius:999px;cursor:pointer;transition:color .15s ease,background .15s ease,box-shadow .15s ease,transform .12s ease;z-index:1}.nav-item:hover{color:#fff;background:#94a3b847;box-shadow:0 0 0 1px #94a3b833}.nav-item--active{color:#fff}.nav-highlight{position:absolute;top:50%;left:0;border-radius:999px;background:#ffffff2e;box-shadow:inset 0 0 0 1px #ffffff40,0 2px 6px #0003;transform:translateY(-50%);transition:transform .22s ease,width .22s ease;pointer-events:none;z-index:0}.about{display:flex;flex-direction:column;gap:14px;color:#e5e7eb}.about-title{margin:0 0 6px;font-size:28px;color:#fff}.about-body{margin:0;line-height:1.7}.work{display:flex;flex-direction:column;gap:20px}.work-header h1{margin:0 0 4px;font-size:28px;color:#fff}.work-sub{margin:0;color:#e5e7eb}.work-list{display:flex;flex-direction:column;gap:16px}.work-item{background:#0f172a73;border:1px solid rgba(148,163,184,.45);border-radius:16px;overflow:hidden;color:#e5e7eb}.work-item-head{display:grid;grid-template-columns:minmax(140px,2fr) minmax(0,3fr);gap:16px;width:100%;text-align:left;background:transparent;border:none;padding:16px;cursor:default}.work-cover{position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#6366f140,#ec489940);box-shadow:inset 0 0 0 1px #94a3b859}.work-cover:before{content:"";display:block;padding-top:100%}.work-cover-fake{position:absolute;inset:0;display:grid;place-items:center;padding:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1),transparent 55%)}.work-cover-img{width:100%;height:100%;object-fit:cover;border:0;box-shadow:none;background:transparent}.work-meta{display:flex;flex-direction:column;gap:8px;min-width:0}.work-title{margin:0;font-size:20px;color:#fff}.work-title-link{color:inherit;text-decoration:none}.work-title-link:hover{text-decoration:underline}.work-summary{margin:0;color:#cbd5e1;line-height:1.6;font-size:15px;overflow-wrap:anywhere}.work-details{border-top:1px solid rgba(148,163,184,.35);padding:0 16px 16px}.work-details-inner{display:grid;grid-template-columns:1fr;gap:12px}.work-details-body{color:#e5e7eb}.work-details-text{margin:12px 0;color:#cbd5e1;line-height:1.7}.work-subhead{margin:14px 0 8px;font-size:16px;color:#fff}.work-features{display:grid;gap:10px;list-style:none;padding:0;margin:0 0 8px}.work-features li{color:#e5e7eb}.work-features li strong{color:#fff}.work-features li span{color:#cbd5e1;margin-left:6px}.work-highlights{display:grid;gap:8px;padding-left:18px;margin:8px 0 0}.work-highlights li{list-style:disc;color:#e5e7eb}.work-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;flex-wrap:wrap}.store-badges{display:flex;gap:10px;align-items:center}.store-badge{display:inline-flex;align-items:center;justify-content:center;width:180px;height:60px;opacity:1;pointer-events:auto;overflow:hidden}.store-badge.is-disabled{opacity:.5;pointer-events:none}.store-badge img{display:block}.store-badge--apple img{width:170px;height:56px;object-fit:contain}.store-badge--google img{width:205px;height:85px;object-fit:contain}.store-badge:hover img{transform:scale(1.02);transition:transform .3s ease}.work-live{color:#c7e0ff;text-decoration:none;font-size:14px}.work-support{color:#c7e0ff;text-decoration:none}.work-support:hover{text-decoration:underline}.work-privacy{color:#c7e0ff;text-decoration:none}.work-privacy:hover{text-decoration:underline}@media (max-width: 900px){.work-item-head{grid-template-columns:1fr}.work-cover{max-width:280px;margin:0 auto}.work-actions{justify-content:center}}@media (max-width: 740px){.store-badges{flex-direction:column;align-items:center;gap:8px}.store-badge{width:min(100%,260px)}}@media (max-width: 560px){.work-title{font-size:18px}.work-summary{font-size:14px}.work-cover{max-width:220px}.store-badge{width:200px;height:60px}.store-badge--apple img{width:190px;height:56px}.store-badge--google img{width:200px;height:80px}.work-details-text{font-size:14px;line-height:1.6}.work-highlights{gap:6px}.work-highlights li{font-size:14px}}.contact{display:flex;flex-direction:column;gap:12px;color:#e5e7eb}.contact-title{margin:0 0 6px;font-size:28px;color:#fff}.contact-line{margin:0;line-height:1.7}.contact-link{color:#c7e0ff;text-decoration:none}.contact-link:hover{text-decoration:underline}.blurred{filter:blur(5px);-webkit-user-select:none;user-select:none}
