:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eef5f6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#11171b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}.hidden{display:none!important}.app-shell,.setup-view,.game-view,.scene-mount{width:100%;height:100%;position:relative}.setup-view{background:linear-gradient(#0752b4e0,#0752b4e0),url(/assets/Nico_Background.png) 50%/cover no-repeat,#0755b8;justify-content:center;align-items:flex-start;min-height:100%;padding:clamp(24px,5vw,58px) 24px 96px;display:flex;overflow-y:auto}.setup-panel{width:min(1160px,100vw - 48px);min-width:0;max-width:100%}.brand-strip{color:#fff;justify-content:space-between;align-items:center;gap:28px;margin-bottom:24px;display:flex}.brand-title,.brand-logos{align-items:center;display:flex}.brand-title{gap:14px;min-width:0}.brand-title img{width:clamp(44px,5vw,76px);height:auto}.brand-title span{color:#fff;text-shadow:0 7px 18px #00266747;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,7vw,5.1rem);font-style:italic;font-weight:900;line-height:.95}.brand-logos{flex:auto;justify-content:flex-end;gap:clamp(20px,3vw,42px)}.brand-logos img{object-fit:contain;filter:drop-shadow(0 4px 10px #0024602e);width:auto;display:block}.fi-logo{height:clamp(42px,4.3vw,64px)}.lasalle-logo{height:clamp(46px,4.8vw,72px)}.setup-form{background:#103e8ff0;border:0;border-radius:8px;gap:28px;width:100%;min-width:0;padding:clamp(28px,4vw,46px) clamp(28px,5vw,62px);display:grid;position:relative;box-shadow:0 18px 36px #02286a57}.setup-form label{color:#fff;gap:12px;font-size:1.05rem;font-weight:800;display:grid}.setup-form input[type=text]{color:#fff;background:#0e398acc;border:2px solid #3f7bea;border-radius:8px;outline:none;width:100%;min-height:52px;padding:0 16px}.setup-form input[type=text]::placeholder{color:#9abbffb8}.setup-form input[type=text]:focus{border-color:#6fa0ff;box-shadow:0 0 0 4px #6fa0ff38}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.drop-card{cursor:pointer;background:#1142999e;border:2px dashed #4d88f6eb;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto auto;align-content:start;gap:12px;min-height:388px;padding:18px;transition:border-color .16s,background .16s;display:grid;position:relative}.drop-card:hover{background:#1249a8c7;border-color:#81aeff}.drop-card.is-ready{border-style:solid;border-color:#4a88f4}.drop-card.is-error{border-color:#ff9b81d1}.drop-card input{opacity:0;cursor:pointer;z-index:4;width:100%;height:100%;position:absolute;inset:0}.preview-frame{background:#0f3c91db;border:2px solid #2d64d4;border-radius:6px;place-items:center;width:100%;min-height:276px;display:grid;position:relative;overflow:hidden}.preview-frame canvas{width:100%;height:100%;display:block}.preview-placeholder{z-index:1;color:#799ee8db;pointer-events:none;font-weight:700;position:absolute}.drop-card.is-loading .preview-frame:after{content:"";aspect-ratio:1;z-index:2;border:3px solid #ffffff2e;border-top-color:#fff;border-radius:999px;width:34px;animation:.85s linear infinite spin;position:absolute}.file-row{color:#fff;justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.file-action{color:#789ded;text-align:right;width:auto;max-width:100%;font-size:.95rem;font-weight:700}.drop-card small{overflow-wrap:anywhere;color:#fffffff2;font-size:.95rem;font-weight:500}.preview-status{min-height:18px}.drop-card.is-ready .preview-status{color:#789ded}.drop-card.is-error .preview-status{color:#ffb49d}.form-status{color:#fff;text-align:center;min-height:24px;margin:0}.primary-button{color:#fff;cursor:pointer;background:#447bf2;border:0;border-radius:999px;min-height:46px;padding:0 18px;font-size:1rem;font-weight:900;box-shadow:0 10px 20px #002a7b47}.setup-start{width:min(420px,100% - 56px);min-height:54px;font-size:clamp(1.25rem,2.2vw,2rem);position:absolute;bottom:-72px;left:50%;transform:translate(-50%)}.primary-button:disabled{cursor:wait;opacity:.62}.scene-mount canvas{width:100%;height:100%;display:block}.hud{z-index:3;pointer-events:none;grid-template-columns:minmax(0,1.2fr) minmax(88px,.5fr) 44px 44px 44px;align-items:center;gap:10px;max-width:850px;display:grid;position:absolute;top:16px;left:16px;right:16px}.hud>div{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a1013a8;border:1px solid #ffffff1f;border-radius:8px;align-content:center;gap:2px;min-width:0;min-height:48px;padding:8px 12px;display:grid}.hud-label{color:#a6b7ba;text-transform:uppercase;font-size:.7rem;font-weight:800}.hud strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.icon-button{color:#effafa;cursor:pointer;pointer-events:auto;background:#0a1013b3;border:1px solid #ffffff24;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.icon-button:hover{border-color:#79d5c2}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.stick-pad{z-index:4;aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080e129e;border:1px solid #ffffff1f;border-radius:8px;place-items:center;width:116px;display:grid;position:absolute;bottom:24px;right:24px}.stick-ring{aspect-ratio:1;border:2px solid #daf0ef66;border-radius:999px;width:70px}.stick-knob{aspect-ratio:1;background:#79d5c2;border-radius:999px;width:28px;transition:transform 70ms linear;position:absolute;box-shadow:0 8px 20px #00000052}.loss-panel{z-index:5;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d1316db;border:1px solid #ffffff29;border-radius:8px;gap:14px;width:min(320px,100% - 32px);padding:18px;display:grid;position:absolute;bottom:40px;left:50%;transform:translate(-50%);box-shadow:0 18px 55px #00000061}.loss-panel strong{font-size:1.45rem}.loss-panel p{color:#c6d5d7;margin:0;line-height:1.4}.share-modal{z-index:8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#02163e94;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.share-card{color:#fff;text-align:center;background:#103e8f;border:1px solid #6b9fff7a;border-radius:8px;justify-items:center;gap:14px;width:min(390px,100%);padding:28px 24px 24px;display:grid;position:relative;box-shadow:0 22px 60px #00143e6b}.share-card strong{padding-right:34px;font-size:1.65rem;font-weight:900}.share-card p{color:#ffffffe0;margin:0;line-height:1.45}.share-card img{aspect-ratio:1;background:#fff;border-radius:8px;width:260px;max-width:100%;padding:10px;display:block}.share-card a{overflow-wrap:anywhere;color:#fff;opacity:.82;max-width:100%;font-size:.86rem}.share-close{background:#092a6aa3;position:absolute;top:12px;right:12px}.vr-entry-button{z-index:6!important}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=720px){.setup-view{padding:18px 16px 96px}.setup-panel{width:calc(100vw - 32px)}.brand-strip{gap:18px;display:grid}.brand-title{gap:10px}.brand-title span{font-size:clamp(2.3rem,14vw,3.6rem)}.brand-logos{justify-content:flex-start;gap:18px}.fi-logo{height:36px}.lasalle-logo{height:42px}.setup-form{padding:22px 18px}.upload-grid{grid-template-columns:1fr}.drop-card{min-height:300px}.preview-frame{min-height:176px}.file-row{gap:6px;display:grid}.file-action{text-align:left}.setup-start{width:min(360px,100% - 36px);bottom:-70px}.hud{grid-template-columns:minmax(0,1fr) 72px 44px 44px 44px;left:10px;right:10px}.stick-pad{width:104px;bottom:14px;right:14px}}
