:root{color:#eef3f7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#f3e7c129,#0000 28%),linear-gradient(#11161d 0%,#08121c 100%);font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.4}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{min-width:320px;overflow:hidden}.app-shell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;position:relative}.app-shell canvas{width:100%;height:100%;display:block}.debug-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#0a121ad1,#0a121a8a);border:1px solid #ffffff1a;border-radius:18px;grid-template-rows:auto minmax(0,1fr);gap:.75rem;width:min(24.5rem,100vw - 3rem);max-height:calc(100vh - 3rem);padding:1rem;display:grid;position:absolute;top:1.5rem;left:1.5rem;overflow:hidden;box-shadow:0 18px 50px #00000047}.debug-panel--collapsed{-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;max-height:none;box-shadow:none;background:0 0;border:0;padding:0;right:auto;overflow:visible}.debug-panel__header,.debug-panel__toggle-row{display:flex}.debug-panel__toggle{color:#eff4f9f0;width:2rem;height:2rem;font:inherit;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:linear-gradient(#0a121ae6,#0a121a9e);border:1px solid #ffffff24;border-radius:999px;place-items:center;padding:0;font-size:.92rem;line-height:1;transition:border-color .16s,background-color .16s,transform .16s;display:grid;box-shadow:0 12px 28px #0000003d}.debug-panel__toggle:hover,.debug-panel__toggle:focus-visible{border-color:#f1d58d6b;outline:none;transform:translateY(-1px)}.debug-panel__toggle-icon{display:block;transform:translate(.03rem)}.debug-panel__scroll{min-height:0;padding-right:.15rem;overflow:auto}.debug-panel__body{gap:1rem;padding-bottom:.1rem;display:grid}.debug-panel__group{gap:.45rem;display:grid}.debug-panel__group-title{letter-spacing:.08em;text-transform:uppercase;color:#f1d58de0;margin:0;font-size:.72rem;font-weight:600}.debug-panel__group-body{gap:.58rem;display:grid}.debug-panel__preset-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.62rem;display:grid}.debug-panel__preset-actions{align-items:center;gap:.5rem;display:inline-flex}.debug-panel__row{grid-template-columns:6.8rem 1fr 4.8rem;align-items:center;gap:.75rem;display:grid}.debug-panel__row--wide{grid-template-columns:6.8rem 1fr}.debug-panel__label{color:#eff4f9e0;font-size:.84rem}.debug-panel__value{color:#eff4f9b3;justify-self:end;font-size:.8rem}.debug-panel input[type=range]{accent-color:#f1d58d;width:100%}.debug-panel input[type=checkbox]{accent-color:#f1d58d;justify-self:start;width:1rem;height:1rem}.debug-panel input[type=color]{appearance:none;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:10px;width:100%;min-width:0;height:2rem;padding:0;overflow:hidden}.debug-panel input[type=color]::-webkit-color-swatch-wrapper{padding:0}.debug-panel input[type=color]::-webkit-color-swatch{border:0;border-radius:9px}.debug-panel input[type=color]::-moz-color-swatch{border:0;border-radius:9px}.debug-panel select{width:100%;min-width:0;color:inherit;font:inherit;background:#060c12b8;border:1px solid #ffffff24;border-radius:10px;padding:.35rem .5rem}.debug-panel__popup-selector{width:100%;min-width:0}.debug-panel__popup-trigger{width:100%;min-width:0;color:inherit;font:inherit;cursor:pointer;background:#060c12b8;border:1px solid #ffffff24;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.72rem;padding:.42rem .5rem;transition:border-color .16s,background-color .16s,transform .16s;display:grid}.debug-panel__popup-trigger:disabled{cursor:default;opacity:.56;transform:none}.debug-panel__popup-trigger:hover,.debug-panel__popup-trigger:focus-visible,.debug-panel__popup-trigger--active{background:#080e16e0;border-color:#f1d58d61;outline:none}.debug-panel__popup-trigger--dirty{border-color:#f1d58d57}.debug-panel__popup-trigger:hover,.debug-panel__popup-trigger:focus-visible{transform:translateY(-1px)}.debug-panel__popup-trigger--compact{grid-template-columns:minmax(0,1fr) auto}.debug-panel__popup-trigger-thumb{aspect-ratio:2;object-fit:cover;object-position:center;background:#ffffff0f;border-radius:9px;width:4.8rem;box-shadow:inset 0 0 0 1px #ffffff14}.debug-panel__popup-trigger-thumb--square{aspect-ratio:1}.debug-panel__popup-trigger-label-wrap{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.debug-panel__popup-trigger-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.debug-panel__popup-trigger-dirty{background:#f1d58df5;border-radius:999px;flex:none;width:.48rem;height:.48rem;box-shadow:0 0 0 3px #f1d58d1f}.debug-panel__popup-trigger-chevron{color:#eff4f9a8;font-size:.82rem;transition:transform .16s}.debug-panel__popup-trigger--active .debug-panel__popup-trigger-chevron{transform:rotate(180deg)}.debug-panel__popup{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0a121af0,#0a121ad1);border:1px solid #ffffff1f;border-radius:18px;position:fixed;overflow:hidden;box-shadow:0 22px 60px #00000057}.debug-panel__popup-list{max-height:inherit;gap:.32rem;padding:.52rem;display:grid;overflow:auto}.debug-panel__popup-option{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:13px;grid-template-columns:6.4rem minmax(0,1fr);align-items:center;gap:.74rem;padding:.44rem;transition:border-color .16s,background-color .16s,transform .16s;display:grid}.debug-panel__popup-option--square{grid-template-columns:3.9rem minmax(0,1fr)}.debug-panel__popup-option:hover,.debug-panel__popup-option:focus-visible{background:#ffffff0b;border-color:#f1d58d4d;outline:none;transform:translateY(-1px)}.debug-panel__popup-option--selected{background:#7ecee514;border-color:#7ecee55c}.debug-panel__popup-option-thumb{aspect-ratio:2;object-fit:cover;object-position:center;background:#ffffff0f;border-radius:10px;width:100%;box-shadow:inset 0 0 0 1px #ffffff14}.debug-panel__popup-option-thumb--square{aspect-ratio:1}.debug-panel__popup-option-label{letter-spacing:.01em;color:#eff4f9f0;min-width:0;font-size:.85rem;font-weight:600}.debug-panel__action-button{color:#eff4f9f0;font:inherit;letter-spacing:.02em;cursor:pointer;background:linear-gradient(#0c151eeb,#070d13c7);border:1px solid #ffffff24;border-radius:12px;padding:.62rem .9rem;font-size:.8rem;font-weight:600;transition:border-color .16s,background-color .16s,transform .16s,opacity .16s}.debug-panel__action-button:hover,.debug-panel__action-button:focus-visible{background:linear-gradient(#0e1822f5,#080e14d6);border-color:#f1d58d61;outline:none;transform:translateY(-1px)}.debug-panel__action-button:disabled{opacity:.58;cursor:default;transform:none}.debug-panel__action-button--secondary{background:#ffffff0a}.debug-panel__dialog-backdrop{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#03070b6b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.debug-panel__dialog-backdrop[hidden]{display:none}.debug-panel__dialog{background:linear-gradient(#0a121af5,#0a121ad6);border:1px solid #ffffff1f;border-radius:18px;gap:.9rem;width:min(21rem,100vw - 2rem);padding:1rem;display:grid;box-shadow:0 24px 64px #0000005c}.debug-panel__dialog-title{letter-spacing:.03em;color:#eff4f9f5;margin:0;font-size:.92rem;font-weight:700}.debug-panel__dialog-thumbnail{aspect-ratio:1;object-fit:cover;object-position:center;background:#ffffff0f;border-radius:14px;width:6.25rem;box-shadow:inset 0 0 0 1px #ffffff14,0 14px 32px #0000003d}.debug-panel__dialog-field{gap:.38rem;display:grid}.debug-panel__dialog-field-label{letter-spacing:.08em;text-transform:uppercase;color:#f1d58dd6;font-size:.72rem;font-weight:600}.debug-panel__dialog-input{width:100%;min-width:0;color:inherit;font:inherit;background:#060c12d1;border:1px solid #ffffff24;border-radius:12px;padding:.7rem .8rem;font-size:.88rem}.debug-panel__dialog-input:focus-visible{border-color:#f1d58d6b;outline:none}.debug-panel__dialog-actions{justify-content:flex-end;gap:.55rem;display:flex}.camera-hud{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;opacity:0;background:linear-gradient(#0a121ad6,#0a121a94);border:1px solid #ffffff1a;border-radius:16px;grid-template-columns:repeat(3,minmax(5.8rem,auto));gap:.8rem;padding:.8rem .95rem;transition:opacity .18s;display:grid;position:absolute;top:1.1rem;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #00000047}.camera-hud--visible{opacity:1}.camera-hud__metric{gap:.18rem;display:grid}.camera-hud__label{letter-spacing:.08em;text-transform:uppercase;color:#f1d58dd1;font-size:.64rem;font-weight:600}.camera-hud__value{color:#eff4f9f0;font-size:.94rem;font-weight:600}.environment-load-toast{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;opacity:0;z-index:2;background:linear-gradient(#0a121ae0,#0a121a9e);border:1px solid #ffffff1f;border-radius:16px;gap:.38rem;width:min(23rem,100vw - 2rem);padding:.8rem .95rem;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:4.9rem;left:50%;transform:translate(-50%,-.35rem);box-shadow:0 18px 50px #00000047}.environment-load-toast--visible{opacity:1;transform:translate(-50%)}.environment-load-toast__message{text-overflow:ellipsis;white-space:nowrap;color:#eff4f9f5;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.environment-load-toast__meta{letter-spacing:.05em;text-transform:uppercase;color:#f1d58dd1;min-height:1em;font-size:.72rem;font-weight:600}.environment-load-toast__progress{background:#ffffff1a;border-radius:999px;height:.32rem;position:relative;overflow:hidden}.environment-load-toast__progress-fill{border-radius:inherit;background:linear-gradient(90deg,#f1d58dc7,#7ecee5eb);width:0;height:100%;transition:width .14s;box-shadow:0 0 18px #7ecee53d}.environment-load-toast--indeterminate .environment-load-toast__progress-fill{width:36%;animation:1.1s ease-in-out infinite environment-load-toast-indeterminate}.save-view-control{z-index:2;pointer-events:none;justify-content:flex-end;align-items:flex-end;width:11rem;height:7rem;padding:0 1rem 1rem 0;display:flex;position:absolute;bottom:0;right:0}.save-view-control__button{color:#eff4f9f0;font:inherit;letter-spacing:.02em;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;opacity:0;pointer-events:none;background:linear-gradient(#0a121ad6,#0a121a94);border:1px solid #ffffff24;border-radius:999px;padding:.68rem .95rem;font-size:.84rem;font-weight:600;transition:opacity .16s,transform .16s,border-color .16s,background-color .16s;transform:translateY(.35rem);box-shadow:0 18px 50px #00000047}.save-view-control--visible .save-view-control__button,.save-view-control:focus-within .save-view-control__button{opacity:1;pointer-events:auto;transform:translateY(0)}.save-view-control__button:hover,.save-view-control__button:focus-visible{border-color:#f1d58d6b;outline:none}@media (width<=900px){.debug-panel{width:auto;max-height:min(75vh,100vh - 2rem);inset:auto 1rem 1rem}.debug-panel__popup-option{grid-template-columns:5.6rem minmax(0,1fr);gap:.68rem}.debug-panel__popup-option--square{grid-template-columns:3.35rem minmax(0,1fr)}.debug-panel__preset-row{grid-template-columns:minmax(0,1fr)}.debug-panel__preset-actions{justify-self:end}.camera-hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;width:min(22rem,100vw - 2rem);padding:.72rem .8rem;top:.8rem}.camera-hud__value{font-size:.86rem}.environment-load-toast{width:min(22rem,100vw - 1.5rem);padding:.74rem .82rem;top:4.55rem}.environment-load-toast__message{font-size:.84rem}.save-view-control{width:9.5rem;height:6rem;padding:0 .8rem .8rem 0}.save-view-control__button{padding:.62rem .9rem;font-size:.8rem}.debug-panel__dialog{width:min(20rem,100vw - 1.5rem)}}@media (hover:none) and (any-hover:none){.save-view-control__button{opacity:1;pointer-events:auto;transform:translateY(0)}}@keyframes environment-load-toast-indeterminate{0%{transform:translate(-115%)}to{transform:translate(280%)}}
