html,body,#root{margin:0;height:100%;overflow:hidden;background:#1e1f24;color:#cdd6f4;font:15px system-ui,sans-serif}.pager{display:flex;height:100%;overflow-x:scroll;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pager::-webkit-scrollbar{display:none}.screen{flex:0 0 100vw;height:100%;scroll-snap-align:start;overflow-y:auto;overscroll-behavior:contain}.screen canvas{display:block;touch-action:none}.screen-label{position:sticky;top:0;padding:10px 14px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.6;background:#1e1f24;z-index:1}.login-form{display:flex;flex-direction:column;gap:12px;max-width:320px;margin:20vh auto 0;padding:0 16px}.login-form h1{font-size:20px;font-weight:600;margin:0 0 8px}.login-form input,.login-form button{padding:12px;border-radius:8px;border:1px solid #45475a;background:#313244;color:#cdd6f4;font:inherit}.login-form button{cursor:pointer}.login-error{color:#f38ba8;margin:0}.mic-button{position:fixed;right:16px;bottom:24px;width:64px;height:64px;border-radius:50%;border:1px solid #45475a;background:#313244;color:#cdd6f4;font-size:24px}.mic-button.listening{background:#f38ba8;color:#11111b}.log-entry{padding:8px 14px;border-bottom:1px solid #313244;white-space:pre-wrap}.log-system{opacity:.6;font-size:13px}.mode-row{display:flex;gap:8px;padding:10px 14px}.mode-row button{flex:1;padding:10px;border-radius:8px;border:1px solid #45475a;background:#313244;color:#cdd6f4;font:inherit}.mode-row button.mode-selected{border-color:#89b4fa;color:#89b4fa}.vad-indicator{position:fixed;right:16px;bottom:24px;padding:12px 18px;border-radius:999px;border:1px solid #45475a;background:#313244;font-size:14px}.vad-indicator.listening{background:#f38ba8;color:#11111b}.plan-card{margin:10px 14px;padding:10px 14px;border:1px solid #45475a;border-radius:8px;background:#313244}.plan-goal{font-weight:600;margin-bottom:6px}.plan-step{padding:2px 0;opacity:.75}.plan-step.plan-next{opacity:1;color:#89b4fa}.plan-step.plan-done{opacity:.5;text-decoration:line-through}.param-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #313244}.param-row input{width:90px;padding:6px 8px;border-radius:6px;border:1px solid #45475a;background:#313244;color:#cdd6f4;font:inherit;text-align:right}
