:root{font-family:system-ui,sans-serif;background:#f4f5f7;color:#171717}body{margin:0}.page{min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;flex-direction:column;align-items:center;padding:24px 16px 8px}.brand-logo{max-height:56px;width:auto}.tagline{margin:6px 0 0;font-size:14px;color:#666}.page-main{flex:1;display:grid;place-items:center;padding:16px}.card{width:min(100%,420px);background:#fff;border-radius:20px;padding:28px;box-shadow:0 16px 50px #00000014}.site-footer{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px}.footer-mark{width:100%;height:auto;display:block}.footer-link{font-size:12px;color:#0a84ff;text-decoration:underline;cursor:pointer}.copyright{font-size:12px;color:#888;margin:0}@media(min-width:768px){.footer-mark{width:auto;max-width:260px;margin:0 auto}}h1{margin:0 0 6px;font-size:24px}.subtitle{margin:0 0 8px;color:#555}.upload{display:block;margin:20px 0 10px;padding:28px 16px;border:2px dashed #aaa;border-radius:14px;text-align:center;cursor:pointer;color:#333}.upload:active{background:#fafafa}.upload input{display:none}.pick-icon{display:block;font-size:34px;line-height:1;color:#0a84ff;margin-bottom:6px}.picked{font-size:14px;color:#333}.hint{font-size:13px;opacity:.7;margin:0 0 6px}button{width:100%;padding:14px;border:0;border-radius:12px;font-weight:700;margin:12px 0;background:#0a84ff;color:#fff;font-size:16px;cursor:pointer}button:disabled{background:#cbd2d9;cursor:not-allowed}.progress-wrap{position:relative;height:44px;border-radius:12px;background:#eef1f4;margin:12px 0;overflow:hidden}.progress-bar{height:100%;background:#0a84ff;transition:width .15s}.progress-label{position:absolute;inset:0;display:grid;place-items:center;font-weight:700;font-size:14px}.error{color:#d33;font-size:14px;margin:8px 0}.success h2{margin:0 0 6px;color:#1a7f37}.success code{background:#f0f0f0;padding:2px 6px;border-radius:6px}small{display:block;opacity:.6;margin-top:10px;font-size:12px}.terms-page .page-main{place-items:start center}.terms{max-width:680px;text-align:left}.terms h1{font-size:22px;margin-bottom:4px}.terms-updated{font-size:13px;color:#888;margin:0 0 20px}.terms h2{font-size:16px;margin:18px 0 6px}.terms p{font-size:14px;line-height:1.6;color:#333;margin:0 0 10px}.terms button{width:auto;display:inline-block;padding:10px 24px;font-size:14px;background:#f0f0f0;color:#333;margin-top:16px}
