.landing{width:100%;height:100%;overflow-y:auto;background:#fff;color:#0d0d0d}.home-link{display:inline-block;margin-bottom:24px;color:#62636b;text-decoration:none;font-size:13px}.home-link:hover{color:#0d0d0d}.landing-logo{display:block;width:240px;max-width:70%;height:auto;margin:0 0 28px}.landing-header{max-width:880px;margin:0 auto;padding:96px 32px 48px;text-align:left}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#e2623d;margin:0 0 16px;font-weight:600}.landing-header h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:0 0 16px;font-weight:700;letter-spacing:-.02em}.landing-header .subtitle{font-size:17px;line-height:1.6;color:#62636b;max-width:640px;margin:0}.project-grid{max-width:1100px;margin:0 auto;padding:24px 32px 64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.project-card{--accent: #3A4F87;display:flex;flex-direction:column;background:#fff;border:1px solid #e2e2e6;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.project-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 12px 32px -16px #3a4f8759}.project-card-thumb{aspect-ratio:16 / 9;background:linear-gradient(135deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 40%,#ffffff) 100%);position:relative}.project-card-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 50%),radial-gradient(circle at 70% 70%,rgba(0,0,0,.25),transparent 50%)}.project-card-body{padding:20px 22px 24px;flex-grow:1;display:flex;flex-direction:column;gap:10px}.project-card-body h2{font-size:20px;margin:0;font-weight:600;letter-spacing:-.01em}.project-card-body p{font-size:14px;line-height:1.55;color:#62636b;margin:0;flex-grow:1}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag{font-size:11px;padding:4px 10px;background:#f4f5f7;color:#3d3d46;border-radius:999px;font-weight:500;letter-spacing:.02em}.landing-footer{max-width:1100px;margin:0 auto;padding:32px;font-size:13px;color:#62636b;border-top:1px solid #e2e2e6}html,body,#root{margin:0;padding:0;width:100%;height:100%;background:#fff;color:#0d0d0d;font-family:system-ui,sans-serif;overflow:hidden}.ui-overlay{position:absolute;top:16px;right:16px;z-index:10;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.ui-overlay>*{pointer-events:auto}.enter-vr-btn{padding:10px 16px;font-size:14px;background:#3a4f87;color:#fff;border:none;border-radius:6px;cursor:pointer}.enter-vr-btn:hover{background:#2d3f6d}.status{background:#ffffffd9;color:#0d0d0d;padding:8px 12px;border-radius:6px;font-size:13px;font-family:ui-monospace,monospace}.controls-card{background:#ffffffe6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(0,0,0,.12);padding:12px 14px;border-radius:8px;font-size:12px;line-height:1.45;max-width:320px;display:flex;flex-direction:column;gap:8px}.controls-card-title{font-weight:600;font-size:13px;color:#0d0d0d;padding-bottom:6px;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:2px}.controls-row{display:flex;gap:10px;align-items:baseline}.controls-label{flex-shrink:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#3a4f87;width:50px}.controls-text{color:#3d3d46}.back-link{display:inline-block;padding:8px 14px;background:#0000000f;color:#0d0d0d;text-decoration:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s ease}.vr-unavailable{background:#7f1d1d14;border:1px solid rgba(248,113,113,.4);color:#7f1d1d;padding:10px 14px;border-radius:8px;font-size:12px;line-height:1.5;max-width:320px}.vr-unavailable strong{color:#7f1d1d;font-size:13px;display:block;margin-bottom:4px}.vr-unavailable p{margin:0}.vr-unavailable a{color:#b91c1c;text-decoration:underline}.back-link:hover{background:#0000001f}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;text-align:center;padding:32px}.not-found h1{font-size:24px;margin:0}.not-found p{color:#62636b;margin:0}
