:root{--color-bg-dominant:#fff;--color-bg-secondary:#f8f9fa;--color-accent:#1a73e8;--color-accent-hover:#1558b0;--color-accent-active:#0d47a1;--color-destructive:#d93025;--color-border:#e0e0e0;--color-text-primary:#202124;--color-text-secondary:#5f6368;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--font-system:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-system);color:var(--color-text-primary);background:var(--color-bg-dominant);font-size:14px;font-weight:400;line-height:1.5}.screen-center{background:var(--color-bg-secondary);justify-content:center;align-items:center;min-height:100vh;display:flex}.card{background:var(--color-bg-dominant);border:1px solid var(--color-border);width:100%;max-width:360px;padding:var(--space-xl);gap:var(--space-md);border-radius:8px;flex-direction:column;display:flex}.card__heading{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:600;line-height:1.2}.card__body,.card__footer{color:var(--color-text-secondary);margin:0;font-size:14px;font-weight:400}.card__error{color:var(--color-destructive);margin:0;font-size:14px;font-weight:400}.btn-signin{justify-content:center;align-items:center;gap:var(--space-sm);padding:10px var(--space-md);background:var(--color-bg-dominant);font-family:var(--font-system);color:var(--color-text-primary);cursor:pointer;border:1px solid #dadce0;border-radius:4px;width:100%;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.btn-signin:hover{background:#f8f9fa;box-shadow:0 1px 3px #0000001f}.btn-signin:active{background:#f1f3f4}.btn-signin:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-signin__icon{flex-shrink:0;width:18px;height:18px}.btn-signin-wrapper{padding:var(--space-md) 0}.btn-link{font-family:var(--font-system);color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:400;text-decoration:none}.btn-link:hover{color:var(--color-accent-hover);text-decoration:underline}.btn-link:active{color:var(--color-accent-active);text-decoration:none}.btn-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.screen-loading{background:var(--color-bg-dominant);justify-content:center;align-items:center;gap:var(--space-sm);flex-direction:column;min-height:100vh;display:flex}.spinner{border:3px solid #1a73e833;border-top:3px solid var(--color-accent);border-radius:50%;flex-shrink:0;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading__status{color:var(--color-text-secondary);margin:0;font-size:14px;font-weight:400}.loading__file{color:var(--color-text-primary);margin:0;font-size:14px;font-weight:600}.monospace{font-family:ui-monospace,SF Mono,Menlo,Consolas,Courier New,monospace}.placeholder-wrapper{flex-direction:column;min-height:100vh;display:flex}.header-bar{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);height:48px;padding:0 var(--space-md);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.header-bar__identity{align-items:center;min-width:0;display:flex}.header-bar__name{color:var(--color-text-primary);white-space:nowrap;font-size:14px;font-weight:600}.header-bar__sep{color:var(--color-text-secondary);font-size:14px;font-weight:400}.header-bar__email{color:var(--color-text-secondary);white-space:nowrap;font-size:14px;font-weight:400}.header-bar__file{color:var(--color-text-secondary);text-align:center;padding:0 var(--space-sm);flex:1;font-size:14px;font-weight:400}.btn-signout{font-family:var(--font-system);color:var(--color-accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:0;font-size:14px;font-weight:400;text-decoration:none}.btn-signout:hover{color:var(--color-accent-hover);text-decoration:underline}.btn-signout:active{color:var(--color-accent-active);text-decoration:none}.btn-signout:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.stlite-canvas{flex:1;min-height:0;overflow:hidden}.banner-warning{padding:var(--space-xs) var(--space-md);color:#856404;background:#fef3cd;border-bottom:1px solid #ffc107;flex-shrink:0;font-size:14px;font-weight:400}
