@font-face{font-family:RussoOne;src:url(/assets/font/RussoOne-Regular.ttf) format("truetype");font-weight:400;font-style:normal}:root{color-scheme:dark;--ice-bg-top: #bde8ff;--ice-bg-bottom: #114563;--ice-bg-bottom-soft: rgba(17, 69, 99, .72);--ice-accent: #245a7a;--ice-accent-hover: #5f88a4;--ice-accent-soft: rgba(36, 90, 122, .18);--ice-card: rgba(126, 160, 181, .306);--ice-card-border: rgba(220, 241, 252, .18);--ice-text: #f1fbff;--ice-muted: rgba(241, 251, 255, .82);--ice-dark-text: #245a7a;--ice-danger: #ffb1b1;--ice-shadow: 0 12px 35px rgba(0, 0, 0, .22);--font-size-eyebrow: 13px;--font-size-label: 12px;--font-size-body: 15px;--font-size-button: 16px;--font-size-title: clamp(30px, 6vw, 40px)}html,body{margin:0;padding:0;overflow:hidden;height:100%;width:100%;font-family:RussoOne,sans-serif;background-color:#000}#app{position:relative;height:100%;width:100%}#app.app-shell{overflow:hidden}canvas{display:block;transform-origin:top left;image-rendering:pixelated}.editor-stage,.auth-layer{position:absolute;inset:0}.editor-stage{opacity:0;filter:blur(10px);transform:scale(1.015);transition:opacity .32s ease,filter .32s ease,transform .32s ease}#app.is-editor-visible .editor-stage{opacity:1;filter:blur(0);transform:scale(1)}.auth-layer{z-index:1;opacity:1;transform:scale(1);transition:opacity .32s ease,transform .32s ease}#app.is-editor-visible .auth-layer{opacity:0;transform:scale(.985);pointer-events:none}.auth-screen{position:relative;display:grid;place-items:center;min-height:100%;padding:24px;background:linear-gradient(180deg,rgba(189,232,255,.55),var(--ice-bg-bottom-soft))}.auth-screen:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ice-bg-top),var(--ice-bg-bottom));z-index:0}.auth-screen:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(6,20,30,.22),transparent 42%);z-index:0}.auth-screen>*{position:relative;z-index:1}.auth-card{width:min(100%,360px);padding:28px 32px;border:1px solid var(--ice-card-border);border-radius:20px;background:#1c304085;box-shadow:var(--ice-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-card-session{text-align:center}.auth-eyebrow{margin-bottom:8px;color:#bde8fff2;font-size:var(--font-size-eyebrow)}.auth-card h1{margin:0;font-size:var(--font-size-title);line-height:1;color:var(--ice-text)}.auth-copy{margin:10px 0 0;color:#ffffffe0;font-size:var(--font-size-body);line-height:1.4}.auth-form{display:grid;gap:12px;margin-top:20px}.auth-field{display:grid;gap:6px}.auth-field span{color:#ffffffe0;font-size:var(--font-size-label);margin-top:4px}.auth-field input{width:100%;min-height:48px;padding:0 16px;border:2px solid rgba(220,241,252,.28);border-radius:12px;outline:none;background:#09182347;color:var(--ice-text);font-family:inherit;font-size:var(--font-size-body);text-align:center;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.auth-field input::placeholder{color:#f1fbff6b}.auth-field input:focus{border-color:#ffffffbd;box-shadow:0 0 0 4px #dcf1fc1f;background:#09182361}.auth-button{min-height:46px;padding:0 16px;margin-top:12px;border:1px solid rgba(196,231,250,.16);border-radius:10px;background:#2d6f96;color:#fff;font-family:inherit;font-size:var(--font-size-button);cursor:pointer;box-shadow:0 8px 18px #0a1f2e3d,0 0 0 1px #ffffff0a inset;transition:background-color .16s ease,box-shadow .16s ease,opacity .16s ease}.auth-button:hover:not(:disabled){background:#3a81aa;box-shadow:0 10px 22px #0a1f2e47,0 0 0 1px #ffffff1f inset}.auth-button:disabled{opacity:.72;cursor:wait}.auth-button-secondary{background:#1026342e;color:var(--ice-text);border:2px solid rgba(255,255,255,.28)}.auth-button-secondary:hover:not(:disabled){background:#245a7a3d;box-shadow:0 0 0 1px #ffffff1f inset}.auth-error{min-height:18px;margin:0;color:transparent;font-size:var(--font-size-label)}.auth-error.is-visible{color:var(--ice-danger)}.saved-session-pill{display:inline-flex;align-items:center;justify-content:center;min-width:140px;min-height:42px;margin-top:18px;padding:0 24px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:linear-gradient(180deg,#ffffff24,#ffffff0f),#8caec22e;color:var(--ice-text);font-size:var(--font-size-body);box-shadow:0 10px 22px #0a1f2e29,0 0 0 1px #ffffff0f inset}.auth-actions{display:grid;gap:10px;margin-top:18px}.app-editor{height:100%;width:100%}@media (max-width: 640px){.auth-screen{padding:16px}.auth-card{width:min(100%,350px);padding:24px}}*{box-sizing:border-box}
