body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;padding:0;background:#0b1220;color:#0f172a}*,*:before,*:after{box-sizing:border-box}:root{--bg: #0b1220;--panel: #0f172a;--surface: #ffffff;--muted: #64748b;--border: #e2e8f0;--primary: #2563eb;--primary-600: #1d4ed8}.page{min-height:100vh;display:flex;flex-direction:column}.content{flex:1}.container{max-width:980px;margin:0 auto;padding:16px}.topbar{background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08)}.topbar-inner{max-width:1200px;margin:0 auto;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;color:#fff}.brand{font-weight:700;letter-spacing:.2px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.error{color:#b91c1c}input,textarea,button,select{font:inherit}label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}input,textarea,select{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff;width:100%;max-width:100%}textarea{width:100%;min-height:120px}.textarea-tall{min-height:55vh}.file-inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.file-inline-input{flex:1;min-width:260px}.file-inline-action{flex:0 0 auto}@media(max-width:720px){.file-inline{flex-direction:column;align-items:stretch}.file-inline-input{min-width:0}}.btn{border:1px solid var(--border);background:#f1f5f9;color:#0f172a;padding:8px 12px;border-radius:10px;cursor:pointer}.btn:hover{background:#e2e8f0}.btn-primary{background:var(--primary);border-color:#2563eb8c;color:#fff}.btn-primary:hover{background:var(--primary-600)}.topbar .btn,.sidebar .btn,.footer .btn{border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff}.topbar .btn:hover,.sidebar .btn:hover,.footer .btn:hover{background:#ffffff1f}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{border:1px solid #ddd;padding:8px;text-align:left}button{padding:8px 12px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:0}.inline-status{display:inline-flex;align-items:center;gap:8px}.spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(100,116,139,.35);border-top-color:var(--primary);animation:spin .8s linear infinite;display:inline-block}.spinner-sm{width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:720px){.row{flex-direction:column}}.container h1,.container h2,.container h3,.container h4{margin-top:12px}.container p{line-height:1.5}.container code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.container pre{overflow:auto;padding:8px;border:1px solid #ddd}.app-shell{max-width:1200px;margin:16px auto;padding:0 16px;display:grid;grid-template-columns:300px 1fr;gap:16px}.sidebar{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;color:#fff;display:flex;flex-direction:column;min-height:70vh;min-width:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sidebar-title{font-weight:700}.sidebar-list{display:flex;flex-direction:column;gap:6px;overflow:auto}.sidebar-item{display:block;padding:10px;border-radius:10px;color:#ffffffe0;border:1px solid transparent}.sidebar-item:hover{background:#ffffff0f;text-decoration:none}.sidebar-item.active{background:#2563eb38;border-color:#2563eb59}.sidebar-footer{margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.main{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;min-width:0}.markdown{max-width:100%}.markdown :is(h1,h2,h3,h4,h5,h6,p,li,a){overflow-wrap:anywhere;word-break:break-word}.markdown pre{max-width:100%}.job-split{display:grid;grid-template-columns:1fr 460px;gap:16px}@media(max-width:980px){.job-split{grid-template-columns:1fr}}.footer{border-top:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#fffc}.footer-inner{max-width:1200px;margin:0 auto;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}@media(max-width:900px){.app-shell{grid-template-columns:1fr}}
