:root{--navy: #020c45;--navy-lifted: #0a1555;--green: #00bf63;--green-deep: #009a4f;--green-soft: rgba(0, 191, 99, .08);--amber: #e5930b;--red: #b42318;--red-soft: rgba(180, 35, 24, .08);--bg: #f8f9fc;--surface: #ffffff;--border: #e2e5ed;--border-strong: #cbd0dc;--ink: #020c45;--ink-soft: #5a6178;--ink-faint: #9ba1b4;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(2, 12, 69, .06);--shadow: 0 2px 8px rgba(2, 12, 69, .08);--font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px / 1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--green-deep)}code{font-family:var(--mono);font-size:.85em;background:var(--bg);padding:1px var(--sp-1);border-radius:var(--radius-sm)}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:var(--sp-3);height:56px;padding:0 var(--sp-6);background:var(--navy);color:#fff}.topbar img{border-radius:var(--radius)}.brand{font-weight:700;font-size:18px;letter-spacing:.01em}.topbar-tag{margin-left:var(--sp-2);padding-left:var(--sp-3);border-left:1px solid rgba(255,255,255,.25);color:#ffffffb3;font-size:14px}.content{flex:1;width:100%;max-width:46rem;margin:0 auto;padding:var(--sp-8) var(--sp-4)}.footer{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--ink-faint);font-size:13px}h1{font:700 24px / 1.3 var(--font);margin:0 0 var(--sp-2)}h2{font:600 18px / 1.3 var(--font);margin:0 0 var(--sp-2)}.lead{color:var(--ink-soft);margin:0 0 var(--sp-6)}.detail{color:var(--ink-soft);font-size:14px}.card,.step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--sp-6);margin-bottom:var(--sp-4)}.notice{text-align:center;padding:var(--sp-12) var(--sp-6)}.notice-icon{margin:0 auto var(--sp-4);color:var(--navy)}.how{display:inline-block;text-align:left;margin:0 0 var(--sp-6);padding-left:var(--sp-6);color:var(--ink)}.how li{margin-bottom:var(--sp-1)}button{font:500 14px / 1 var(--font);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer}button:hover:not(:disabled){background:var(--green-deep);border-color:var(--green-deep)}button:focus-visible,a:focus-visible{outline:2px solid var(--navy);outline-offset:2px}button:disabled{opacity:.6;cursor:progress}ul.checks{list-style:none;padding:0;margin:var(--sp-2) 0 0}.status-ok{color:var(--green-deep);font-weight:600}.status-failed,.error{color:var(--red)}.status-running{color:var(--ink-soft)}a.button{display:inline-block;font:500 14px / 1 var(--font);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--green);color:#fff;text-decoration:none;margin-bottom:var(--sp-4)}a.button:hover{background:var(--green-deep)}.form h2{margin-top:var(--sp-6)}.form h2:first-child{margin-top:0}.field{margin-bottom:var(--sp-4)}.field label{display:block;font-weight:600;margin-bottom:var(--sp-1)}.field input,.field select{width:100%;font:inherit;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.field input[aria-invalid=true]{border-color:var(--red)}.hint{margin:var(--sp-1) 0 0;color:var(--ink-soft);font-size:13px}.field-error{margin:var(--sp-1) 0 0;color:var(--red);font-size:13px;font-weight:500}pre.answers{margin:0;padding:var(--sp-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;font:400 12.5px / 1.5 var(--mono)}pre.buildlog{max-height:20rem;overflow:auto}progress{width:16rem;accent-color:var(--green);vertical-align:middle}.field input[type=number],.step input{font:inherit;padding:var(--sp-1) var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}progress::-webkit-progress-bar{background:var(--border);border-radius:var(--radius-sm)}progress::-webkit-progress-value{background:var(--green);border-radius:var(--radius-sm)}progress::-moz-progress-bar{background:var(--green)}button.link{background:none;border:0;padding:0;color:var(--link, inherit);font:inherit;text-decoration:underline;cursor:pointer}button.link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
