:root{--color-ink: #040404;--color-ink-soft: #1d1b1b;--color-ink-muted: #66625d;--color-paper: #f7ede2;--color-paper-soft: #faf3eb;--color-paper-tint: #fff9ed;--color-white: #ffffff;--color-line: #e1e1e1;--color-line-soft: #ededed;--color-brand: #ffa200;--color-brand-hover: #ff9100;--color-brand-text: #a85000;--color-accent-blue: #1a81ff;--color-success: #0a7a3a;--color-danger: #b00020;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter Tight", system-ui, sans-serif;--step--1: clamp(.875rem, .84rem + .17vw, .9375rem);--step-0: clamp(1rem, .96rem + .2vw, 1.0625rem);--step-1: clamp(1.125rem, 1.07rem + .27vw, 1.25rem);--step-2: clamp(1.375rem, 1.27rem + .53vw, 1.625rem);--step-3: clamp(1.75rem, 1.56rem + .98vw, 2.25rem);--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--container-narrow: 44rem;--radius: 14px;--radius-sm: 10px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--step-0);line-height:1.55;color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased}h2{font-family:var(--font-display);font-size:var(--step-2);line-height:1.15;margin:0 0 var(--space-4);letter-spacing:-.01em}p{margin:0 0 var(--space-3)}.lead{color:var(--color-ink-muted)}.site-header{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:baseline;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--color-white);border-bottom:1px solid var(--color-line)}.brand{font-family:var(--font-display);font-weight:800;font-size:var(--step-1);display:inline-flex;align-items:center;gap:.5rem}.brand-mark{width:14px;height:14px;border-radius:4px;background:var(--color-brand);display:inline-block}.course{color:var(--color-ink-muted);font-size:var(--step--1)}.site-footer{text-align:center;color:var(--color-ink-muted);font-size:var(--step--1);padding:var(--space-6) var(--space-4)}.wrap{max-width:var(--container-narrow);margin:0 auto;padding:var(--space-5) var(--space-4)}.card{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-5);box-shadow:0 1px 2px #0000000a}@media (min-width: 640px){.card{padding:var(--space-6)}}.progress{margin-bottom:var(--space-5)}.progress-text{font-weight:600;margin-bottom:var(--space-2)}.progress-bar{height:8px;background:var(--color-line-soft);border-radius:999px;overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--color-brand);transition:width .3s ease}.progress-dots{display:none}@media (min-width: 720px){.progress-dots{display:flex;list-style:none;padding:0;margin:var(--space-3) 0 0;gap:var(--space-2)}.progress-dots li{flex:1;text-align:center;font-size:.7rem;color:var(--color-ink-muted)}.progress-dots .dot{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0 auto 4px;border-radius:999px;background:var(--color-line-soft);color:var(--color-ink-muted);font-weight:700}.progress-dots .active .dot{background:var(--color-brand);color:#fff}.progress-dots .done .dot{background:var(--color-success);color:#fff}.progress-dots .active{color:var(--color-ink);font-weight:600}}.field{margin-bottom:var(--space-4)}.field label{display:block;font-weight:600;margin-bottom:6px}.hint{color:var(--color-ink-muted);font-size:var(--step--1);margin:0 0 6px}.hint-inline{color:var(--color-ink-muted);font-weight:400}input,textarea,select{width:100%;font:inherit;color:var(--color-ink);padding:.7rem .8rem;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-white)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #ffa20040}textarea{resize:vertical}.field.has-error input,.field.has-error textarea,.field.has-error select{border-color:var(--color-danger)}.error{display:block;color:var(--color-danger);font-size:var(--step--1);margin-top:4px;min-height:1em}.radio{display:flex;align-items:center;gap:.6rem;padding:.6rem 0;font-weight:500}.radio input{width:auto}fieldset{border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-4);margin:var(--space-4) 0 0}legend{font-weight:700;padding:0 6px}.callout{background:var(--color-paper-tint);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-5);font-size:var(--step--1)}.btn{font:inherit;font-weight:700;cursor:pointer;padding:.8rem 1.4rem;border-radius:999px;border:1px solid transparent;min-height:48px}.btn-primary{background:var(--color-brand);color:#1a1300}.btn-primary:hover{background:var(--color-brand-hover)}.btn-primary:disabled{opacity:.6;cursor:progress}.btn-ghost{background:transparent;color:var(--color-ink);border-color:var(--color-line)}.btn-ghost:hover{background:var(--color-paper-soft)}.btn-refuse{margin-top:var(--space-5);color:var(--color-danger);border-color:var(--color-line)}.linkbtn{background:none;border:none;color:var(--color-accent-blue);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.link{color:var(--color-accent-blue)}#btn-send,#btn-verify{margin-top:var(--space-2)}.nav-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}.form-msg{font-size:var(--step--1);min-height:1.2em}.form-msg.ok{color:var(--color-success)}.form-msg.err{color:var(--color-danger)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.consent-head{margin-bottom:var(--space-3)}.consent-head strong{color:var(--color-brand-text);display:block;font-size:var(--step--1)}.consent-box{max-height:320px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-4);background:var(--color-paper-soft);font-size:var(--step--1)}.consent-box p{margin:0 0 .8em}.signdata{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-5) 0}.signdata>div{background:var(--color-paper-soft);border-radius:var(--radius-sm);padding:var(--space-3)}.signdata span{display:block;color:var(--color-ink-muted);font-size:.75rem}.sigwrap{border:2px dashed var(--color-line);border-radius:var(--radius-sm);background:var(--color-white);touch-action:none}#sigpad{width:100%;height:200px;display:block}.upload-status{display:inline-block;margin-top:6px;color:var(--color-success);font-size:var(--step--1)}.summary{border:1px solid var(--color-line);border-radius:var(--radius-sm);overflow:hidden}.sum-row{display:flex;justify-content:space-between;gap:var(--space-4);padding:.7rem var(--space-4);border-bottom:1px solid var(--color-line-soft)}.sum-row:last-child{border-bottom:none}.sum-row span{color:var(--color-ink-muted)}.sum-row strong{text-align:right;word-break:break-word}.result{text-align:center}.result-icon{width:64px;height:64px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;margin:0 auto var(--space-4);color:#fff}.result-icon.ok{background:var(--color-success)}.result-icon.stop{background:var(--color-danger)}#code-section{margin:var(--space-8) 0 0}
