html,body{max-width:100%;overflow-x:hidden}.spike-wrap{max-width:900px;margin:24px auto;padding:18px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.06);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.spike-wrap*,.spike-wrap *:before,.spike-wrap *:after{box-sizing:border-box}.spike-steps{display:flex;gap:8px;margin-bottom:12px}.spike-step{flex:1;text-align:center;padding:10px;border-radius:10px;background:#f1f5f9;font-weight:700}.spike-step.is-active{background:#e0f2fe}.spike-steps.headings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin:0 0 1rem}.spike-steps.headings .spike-step{background:0 0;border:none;box-shadow:none;padding:.25rem 0;cursor:default}.spike-steps.headings .spike-step span{display:inline-block;font-weight:600;font-size:1rem;opacity:.6}.spike-steps.headings .spike-step.is-active span{opacity:1;text-decoration:underline}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}@media(max-width:768px){.grid{grid-template-columns:minmax(0,1fr)}}.field label{display:block;font-weight:600;margin:6px 0;line-height:1.2}.field label span{color:#000}.field input,.field textarea,.field select{width:100%;max-width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;font-size:16px}.field textarea{min-height:84px;resize:vertical}.field select{background:#fff;-webkit-appearance:none;appearance:none}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.btn{border:0;border-radius:10px;padding:12px 16px;background:#0ea5e9;color:#fff;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn.secondary{background:#64748b}.btn.small{padding:8px 10px;font-size:12px}.diagram{border:1px solid #e2e8f0;border-radius:10px;padding:8px;background:#fafafa;overflow:hidden}.toggle{display:flex;gap:8px;margin-bottom:8px}.diagram-box{position:relative;max-width:600px;margin:auto}.diagram-box img{display:block;width:100%;height:auto;max-height:60vh}.diagram-box canvas{position:absolute;left:0;top:0;width:100%;height:100%}.diagram svg{display:block;width:100%;height:auto;max-height:60vh}#spike_sig{border:1px dashed #94a3b8;border-radius:8px;background:#f8fafc;touch-action:none;width:100%;height:180px;display:block}.consent-box{max-height:none;overflow:visible;border:1px solid #e2e8f0;padding:10px;border-radius:8px;background:#fafafa}.consent-body h4{margin:.25rem 0 .5rem;font-size:1.05rem}.consent-body h5{margin:.5rem 0 .25rem;font-size:.98rem}.consent-body ul{margin:.25rem 0 .5rem .75rem}.section-title{margin:1.25rem 0 .5rem;font-size:1.05rem;font-weight:700}.checks{display:flex;flex-wrap:wrap;gap:8px}.checks label{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;column-gap:8px;white-space:nowrap}.checks label input[type=checkbox]{margin:0;width:18px;height:18px;-webkit-appearance:checkbox;appearance:checkbox;flex:0 0 auto}.checks label .lbl{display:inline-block;line-height:1.2}.checks input[type=text]{padding:6px;border:1px solid #cbd5e1;border-radius:6px}.spike-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:99999}.spike-overlay .box{background:#fff;padding:16px 18px;border-radius:10px;max-width:460px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.25)}@media(max-width:640px){.spike-wrap{padding:14px}.spike-steps.headings{grid-template-columns:1fr;row-gap:4px}.actions{flex-wrap:wrap}}.spike-wrap img,.spike-wrap canvas,.spike-wrap svg,.spike-wrap video{max-width:100%}.spike-invalid{border-color:#ef4444}