:root{color-scheme:light dark;--bg: light-dark(#f4f6f9, #14171e);--panel: light-dark(#ffffff, #1e242f);--card: light-dark(#fbfcfe, #232a37);--input-bg: light-dark(#ffffff, #161b24);--code-bg: light-dark(#f0f2f6, #12161e);--border: light-dark(#d5dbe5, #3a4353);--text: light-dark(#1b202a, #eaedf3);--muted: light-dark(#5d6a80, #a6aec0);--accent: light-dark(#3565d9, #5b8def);--danger: light-dark(#cc3439, #ef5b60);--ok: light-dark(#2e8547, #55c26a);--ok-bg: light-dark(#d9f0e0, #1c4a2a);--danger-bg: light-dark(#f9dcdf, #522226);--accent-bg: light-dark(#dde8fc, #1e3a5f)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent)}.auth-card{max-width:26rem;margin:4rem auto;padding:2rem;background:var(--panel);border:1px solid var(--border);border-radius:12px}.auth-card h1{margin-top:0;font-size:1.4rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label{font-size:.85rem;color:var(--muted)}input,select,textarea{padding:.6rem .7rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem}button{padding:.6rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--accent);color:#fff;font-size:.95rem;cursor:pointer}button.secondary{background:transparent;color:var(--text)}button:disabled{opacity:.6;cursor:default}.error{color:var(--danger);font-size:.9rem;margin:.5rem 0}.notice{color:var(--muted);font-size:.9rem}.success{color:var(--ok)}.progress-track{height:8px;margin:.6rem 0 .3rem;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);overflow:hidden}.progress-fill{height:100%;width:0;background:var(--accent);transition:width .2s ease-out}.oauth-buttons{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.oauth-buttons a{display:block;text-align:center;padding:.6rem;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text)}.divider{text-align:center;color:var(--muted);margin:1rem 0;font-size:.8rem}.links{margin-top:1rem;font-size:.9rem;display:flex;justify-content:space-between}.shell-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--panel)}.shell-header .brand{font-weight:600}.shell-header .spacer{flex:1}.shell-body{padding:1.5rem;max-width:60rem;margin:0 auto}.project-list{list-style:none;padding:0}.project-list li{padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;background:var(--panel)}.project-list a{text-decoration:none}.panel{padding:1.25rem;border:1px solid var(--border);border-radius:10px;background:var(--panel);margin-bottom:1.25rem}.panel h2,.panel h3{margin-top:0}.table{width:100%;border-collapse:collapse;margin-bottom:1rem}.table th,.table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border);font-size:.9rem}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;background:var(--border);color:var(--text)}.badge.succeeded{background:var(--ok-bg);color:var(--ok)}.badge.failed,.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.running,.badge.queued{background:var(--accent-bg);color:var(--accent)}.card-list{list-style:none;padding:0;margin:0}.card{padding:.75rem .9rem;border:1px solid var(--border);border-radius:8px;margin-bottom:.6rem;background:var(--card)}.row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.row .spacer{flex:1}.inline-form{border-top:1px solid var(--border);padding-top:1rem;margin-top:1rem}.checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted);margin-bottom:1rem}.checkbox input{width:auto}.key-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.snippet,.log{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:.75rem;overflow-x:auto;font-size:.8rem;white-space:pre-wrap;word-break:break-word}.domains{margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem}.snippet-details{margin-top:.5rem}button.danger{color:var(--danger)}a.button{display:inline-block;padding:.6rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--accent);color:#fff;font-size:.95rem;text-decoration:none;cursor:pointer}a.button.secondary{background:transparent;color:var(--text)}.studio-terminal{margin:.75rem 0;aspect-ratio:936 / 600;border:1px solid var(--border);border-radius:8px;background:#000;overflow:hidden}.mode-chooser{display:flex;gap:.75rem;margin:.75rem 0;flex-wrap:wrap}.mode-card{flex:1 1 16rem;display:flex;flex-direction:column;gap:.4rem;padding:.9rem;text-align:left;background:var(--input-bg);color:var(--text)}.mode-card:hover{border-color:var(--accent)}.build-stages{display:flex;gap:1rem;margin:.75rem 0;padding:0;list-style:none;counter-reset:stage}.build-stages li{color:var(--muted);font-size:.9rem}.build-stages li:before{counter-increment:stage;content:counter(stage) ". "}.build-stages li.active{color:var(--text);font-weight:600}.build-stages li.done{color:var(--ok)}.build-stages li.done:before{content:"✓ "}.snapshot-thumb{display:block;margin:.75rem 0;max-width:30rem;width:100%;border:1px solid var(--border);border-radius:8px}.thumb-mini{display:block;height:2.5rem;border:1px solid var(--border);border-radius:4px}
