:root{color-scheme:light;--background:#f7f7f4;--panel:#ffffff;--text:#171717;--muted:#5f6368;--border:#deded8;--accent:#0f766e;--accent-dark:#0b5f59}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--background);color:var(--text);font-family:Arial,PingFang SC,Hiragino Sans GB,sans-serif}code{border-radius:4px;background:#eef3f1;padding:2px 5px;font-size:.92em}.page-shell{display:grid;min-height:100vh;place-items:center;padding:32px}.app-shell{min-height:100vh;padding:28px}.top-nav{display:flex;max-width:1120px;margin:0 auto 20px;gap:14px;align-items:center}.top-nav a{color:var(--accent-dark);font-weight:700;text-decoration:none}.workspace{width:min(100%,920px);margin:0 auto;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:28px;box-shadow:0 12px 34px rgba(20,20,20,.06)}.workspace.wide{width:min(100%,1180px)}.workspace.narrow{width:min(100%,620px)}.generator-panel{width:min(100%,680px);border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:32px;box-shadow:0 16px 40px rgba(20,20,20,.08)}.section-label{margin:0 0 12px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1{margin:0;font-size:clamp(32px,6vw,52px);line-height:1.06;letter-spacing:0}.description{max-width:560px;margin:18px 0 28px;color:var(--muted);font-size:17px;line-height:1.65}.primary-action{display:inline-flex;border:0;min-height:48px;align-items:center;justify-content:center;border-radius:6px;background:var(--accent);color:#ffffff;padding:0 20px;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer}.primary-action:hover{background:var(--accent-dark)}.primary-action:disabled{background:#7d8f8c;cursor:not-allowed}.primary-action:focus-visible{outline:3px solid rgba(15,118,110,.28);outline-offset:3px}.secondary-action{display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:#ffffff;color:var(--accent-dark);padding:0 14px;font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer}.secondary-action.danger{color:#a3362b}.secondary-action:disabled{color:#8f8f8f;cursor:not-allowed}.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.inline-action{display:inline-flex;gap:8px;align-items:center}.detail-stack,.form-stack{display:grid;grid-gap:18px;gap:18px}.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px;margin-top:24px}.data-grid article{border:1px solid var(--border);border-radius:8px;padding:16px}.data-grid h2,.table-wrap h2,.table-wrap h3{margin:0 0 10px;font-size:18px}.data-grid p{margin:0;color:var(--muted);line-height:1.5}.facts{display:grid;grid-gap:14px;gap:14px;margin:28px 0 0;padding:24px 0 0;border-top:1px solid var(--border)}.facts div{display:grid;grid-template-columns:92px 1fr;grid-gap:16px;gap:16px}.facts dt{color:var(--text);font-weight:700}.facts dd{margin:0;color:var(--muted);line-height:1.5}.install-guide{margin:28px 0 0;border-top:1px solid var(--border);padding:24px 0 0}.install-guide h2{margin:0 0 12px;font-size:20px;line-height:1.25;letter-spacing:0}.install-guide ol{display:grid;grid-gap:10px;gap:10px;margin:0;padding-left:22px;color:#333;line-height:1.55}.install-guide p{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.upload-form{display:grid;grid-gap:14px;gap:14px}.upload-form label{display:grid;grid-gap:6px;gap:6px;color:#2b2b2b;font-size:14px;font-weight:600}.upload-form input,.upload-form select{min-height:42px;border:1px solid #cfc9bd;border-radius:6px;padding:8px 10px;background:#fff;font:inherit}.upload-form.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.upload-form input:disabled{color:#777;background:#f2f2ee}.preview{width:160px;height:160px;border:1px solid #d9d2c6;border-radius:8px;object-fit:cover}.status{min-height:22px;margin:0;color:#4a463f;font-size:14px}.status-success{color:#257044}.download-link{display:inline-flex;min-height:40px;align-items:center;font-size:14px}.download-link,.status-pill{color:var(--accent-dark);font-weight:700}.status-pill{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:6px 10px;background:#eef3f1;font-size:13px}.status-ready{background:#e8f5ec;color:#257044}.status-failed{color:#a3362b}.table-wrap{margin-top:24px;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:top}th{color:#333;font-weight:700}.code-box{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--border);border-radius:8px;padding:14px;background:#fbfbf8}.code-box pre{margin:0;white-space:pre-wrap;word-break:break-word}@media (max-width:560px){.page-shell{padding:18px}.generator-panel{padding:24px}.primary-action,.secondary-action{width:100%}.facts div{grid-template-columns:1fr;gap:4px}}