:root{--canvas-top:#1e1b17;--canvas-bottom:#151310;--ink:#ede8df;--ink-secondary:color-mix(in srgb, var(--ink) 55%, transparent);--ink-tertiary:color-mix(in srgb, var(--ink) 38%, transparent);--ink-faint:color-mix(in srgb, var(--ink) 25%, transparent);--hairline:color-mix(in srgb, var(--ink) 10%, transparent);--hairline-strong:color-mix(in srgb, var(--ink) 16%, transparent);--ember-bright:#e8965c;--ember:#d4804a;--ember-deep:#c96f35;--on-ember:#1c1207;--status-error:#d9776b;--status-warn:#e0b25c;--accent-gradient:linear-gradient(135deg, var(--ember-bright), var(--ember-deep));--ember-shadow:0 6px 20px color-mix(in srgb, var(--ember-deep) 25%, transparent);--shadow:0 6px 20px #00000059;--font-serif:"New York", "Iowan Old Style", "Apple Garamond", Palatino, "Palatino Linotype", ui-serif, Georgia, serif;--font-sans:"DM Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, Menlo, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--canvas-bottom)}body{background:linear-gradient(180deg, var(--canvas-top), var(--canvas-bottom));min-height:100dvh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;font-weight:400;line-height:1.45}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--ember)}.canvas{justify-content:center;align-items:center;min-height:100dvh;padding:40px 26px 108px;display:flex}.auth{width:min(100%,520px)}.brand{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.brand-mark{width:34px;height:34px;display:block}.wordmark{font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:40px;font-weight:500;line-height:1.05}.tagline{font-family:var(--font-serif);color:var(--ink-secondary);margin:8px 0 0;font-size:15px;font-style:italic;font-weight:400}.fields{flex-direction:column;gap:22px;margin-top:44px;display:flex}.underline-field{flex-direction:column;gap:10px;display:flex}.underline-field input{width:100%;color:var(--ink);caret-color:var(--ember);box-shadow:none;appearance:none;background:0 0;border:0;border-radius:0;outline:none;padding:0 0 10px;font-size:16px}.underline-field input::placeholder{color:var(--ink-tertiary)}.underline{background:var(--hairline-strong);height:1px;transition:background-color .18s cubic-bezier(.16,1,.3,1),height .18s cubic-bezier(.16,1,.3,1);display:block}.underline-field:focus-within .underline{background:var(--ember);height:2px}.error{color:var(--status-error);margin:18px 0 0;font-size:13px}.actions{flex-direction:column;gap:12px;margin-top:30px;display:flex}.btn-primary{background:var(--accent-gradient);width:100%;height:50px;color:var(--on-ember);box-shadow:var(--ember-shadow);border:0;border-radius:999px;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:opacity .15s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary:hover:not(:disabled){opacity:.92}.btn-primary:active:not(:disabled){opacity:.85}.btn-primary:disabled{background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink-tertiary);box-shadow:none;cursor:default}.btn-text{color:var(--ember);background:0 0;border:0;align-self:center;margin:0;padding:8px 4px;font-size:13px;font-weight:600}.btn-text:hover{color:var(--ember-bright)}.mode-switch{color:var(--ink-tertiary);justify-content:center;gap:6px;margin-top:22px;font-size:13px;display:flex}.mode-switch button{color:var(--ember);background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.iphone-panel{margin-top:44px}.iphone-panel h2{font-family:var(--font-serif);margin:0 0 12px;font-size:22px;font-weight:500}.iphone-panel p{color:var(--ink-secondary);margin:0;font-size:14px}.user-code{color:var(--ink);font-family:var(--font-mono);letter-spacing:.14em;margin:28px 0 0;font-size:22px}.qr-slot{border:1px solid var(--hairline-strong);background:#fff;justify-content:center;align-items:center;width:180px;height:180px;margin:28px 0 0;display:flex}.qr-canvas{width:168px;height:168px;display:block}.cli-panel{margin-top:44px}.cli-panel h2{font-family:var(--font-serif);margin:0 0 12px;font-size:22px;font-weight:500}.cli-panel p{color:var(--ink-secondary);margin:0;font-size:14px}.machine-name{color:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;margin:18px 0 12px;font-size:18px}.stub{width:min(100%,520px)}.stub h1{font-family:var(--font-serif);margin:0;font-size:32px;font-weight:500}.stub-status{color:var(--ink-secondary);letter-spacing:.12em;text-transform:uppercase;margin:14px 0 0;font-size:11px;font-weight:600}.canvas-page{justify-content:flex-start;align-items:flex-start;padding-top:48px}.page{width:min(100%,560px)}.page-title{font-family:var(--font-serif);letter-spacing:-.02em;margin:0;font-size:32px;font-weight:500;line-height:1.1}.status-word{color:var(--ink-secondary);letter-spacing:.12em;text-transform:uppercase;margin:14px 0 0;font-size:11px;font-weight:600}.status-live{color:var(--ember-bright)}.status-error{color:var(--status-error)}.muted{color:var(--ink-secondary);margin:18px 0 0;font-size:14px}.kind-word{color:var(--ink-tertiary);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.machine-list{margin:28px 0 0;padding:0;list-style:none}.machine-list li+li{border-top:1px solid var(--hairline)}.machine-row{text-align:left;background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:1fr auto;column-gap:12px;width:100%;margin:0;padding:15px 0;display:grid}.machine-row-name{grid-column:1;font-size:15px;font-weight:500}.machine-row .kind-word{grid-area:2/1;margin-top:4px}.machine-row .status-word{grid-area:1/2/span 2;align-self:center;margin:0}.activity-row{flex-direction:column;gap:6px;padding:15px 0;display:flex}.activity-row .status-word{margin:0}.duration{font-family:var(--font-mono);letter-spacing:0;text-transform:none;font-weight:400}.last-event{color:var(--ink-tertiary);font-family:var(--font-mono);font-size:12px}.btn-text.back{align-self:flex-start;margin:18px 0 0}@media (prefers-reduced-motion:reduce){.underline,.btn-primary{transition:none}}
