:root{--color-primary: #2f6bff;--color-text: #191f28;--color-text-sub: #6b7684;--color-text-weak: #8b95a1;--color-border: #e5e8eb;--color-bg: #ffffff;--color-bg-sub: #f2f4f6;--color-danger: #f04452;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--color-bg)}body{font-family:Pretendard Variable,Pretendard,-apple-system,system-ui,sans-serif;color:var(--color-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;line-height:1.55}button,input{font:inherit;color:inherit}.page{max-width:560px;margin:0 auto;padding:24px 16px 48px}.page.center{min-height:100vh;display:flex;flex-direction:column;justify-content:center;text-align:center}.brand{color:var(--color-primary);font-weight:700;font-size:14px;margin:0 0 8px}.center .brand{margin-top:32px}.message-icon{font-size:40px}.title{font-size:22px;font-weight:800;margin:8px 0;word-break:keep-all}.sub{color:var(--color-text-sub);font-size:15px;margin:0 0 20px;word-break:keep-all}.caption{color:var(--color-text-weak);font-size:13px;word-break:keep-all}.error{color:var(--color-danger);font-size:14px}.section{font-size:17px;margin:28px 0 12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field-label{font-size:14px;font-weight:600;color:var(--color-text-sub)}.input{height:52px;padding:0 16px;border:1px solid var(--color-border);border-radius:12px;font-size:20px;letter-spacing:8px;text-align:center}.input:focus{outline:2px solid var(--color-primary);border-color:transparent}.button{display:grid;place-items:center;width:100%;height:54px;margin:16px 0 8px;border:0;border-radius:14px;background:var(--color-primary);color:#fff;font-size:17px;font-weight:700;text-decoration:none;cursor:pointer}.button:disabled{opacity:.4;cursor:default}.check{display:flex;gap:10px;align-items:flex-start;margin:16px 0 4px;font-size:15px}.check input{width:20px;height:20px;margin-top:2px;flex-shrink:0}.contract{border:1px solid var(--color-border);border-radius:12px;padding:20px 16px;font-size:14px}.contract p{margin:2px 0}.contract-title{text-align:center;font-size:19px;margin:0 0 16px}.contract-sections{padding-left:20px}.contract-sections li{margin-bottom:12px}.contract-sections strong{display:block;margin-bottom:2px}.contract p.contract-date{text-align:center;margin:20px 0}.contract-party{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--color-bg-sub);padding-top:12px;margin-top:12px}.contract-sign{height:48px;max-width:140px;object-fit:contain}.signature{position:relative;height:200px;border:2px dashed var(--color-border);border-radius:12px;background:var(--color-bg-sub)}.signature-canvas{width:100%;height:100%;touch-action:none;display:block}.signature-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--color-text-weak);pointer-events:none}.signature-clear{position:absolute;top:8px;right:8px;border:0;background:#fff;border-radius:8px;padding:4px 10px;font-size:13px;cursor:pointer}
