:root{--primary:#26c6da;--primary-dark:#00838f;--primary-deep:#005662;--primary-soft:#e0f7fa;--secondary:#43a047;--accent:#ff8a3d;--accent-dark:#e65100;--bg:#f5fbfc;--surface:#fff;--text:#0e2a33;--text-muted:#516672;--text-soft:#7b8a95;--border:#0e2a3314;--shadow:0 14px 40px #0e2a331f;--radius:18px;--radius-lg:24px;color:var(--text);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}a{color:var(--primary-dark);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}.skip-link{width:1px;height:1px;position:absolute;top:auto;left:-999px;overflow:hidden}.skip-link:focus{z-index:100;background:var(--surface);width:auto;height:auto;box-shadow:var(--shadow);border-radius:10px;padding:10px 16px;position:fixed;top:12px;left:12px}.form-shell{background:linear-gradient(165deg, var(--primary) 0%, #19b8b3 45%, var(--bg) 45%);min-height:100vh;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.form-wrap{max-width:420px;margin:0 auto;padding:2rem 1.25rem 3rem}.form-brand{justify-content:center;margin-bottom:1rem;text-decoration:none;display:flex}.form-brand:hover{opacity:.95;text-decoration:none}.form-brand img{filter:drop-shadow(0 4px 12px #0e2a3333);width:clamp(140px,42vw,200px);height:auto;display:block}.form-title{color:#fff;text-align:center;letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.35rem;font-weight:800}.form-sub{text-align:center;color:#ffffffe6;margin:0 0 1.5rem;font-size:.9rem;line-height:1.45}.form-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 1.35rem}.form-footer{text-align:center;margin-top:1.25rem;font-size:.85rem;line-height:1.6}.form-footer a{color:var(--primary-dark);font-weight:600}.form-label{color:var(--text-soft);margin:.65rem 0 .35rem;font-size:.8rem;font-weight:600;display:block}.form-label:first-child{margin-top:0}.form-input,.form-textarea{border:1px solid #cfe8ec;border-radius:10px;width:100%;padding:.75rem .85rem;font-family:inherit;font-size:1rem}.form-textarea{resize:vertical;min-height:140px}.form-input:focus,.form-textarea:focus{border-color:var(--primary);outline:2px solid #26c6da73}.form-submit{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:1.15rem;padding:.85rem 1rem;font-family:inherit;font-size:1rem;font-weight:700}.form-submit:disabled{opacity:.55;cursor:not-allowed}.form-msg{border-radius:10px;margin-top:1rem;padding:.75rem;font-size:.9rem;line-height:1.45}.form-msg--ok{color:#2e7d32;background:#e8f5e9}.form-msg--err{color:#c62828;background:#ffebee}.form-gate{color:#e65100;background:#fff3e0;border-radius:10px;padding:.85rem;font-size:.9rem;line-height:1.45}.form-rules{margin:.65rem 0 0;padding:0;font-size:.8rem;line-height:1.55;list-style:none}.form-rules li{color:var(--text-soft);align-items:flex-start;gap:.45rem;margin-top:.35rem;display:flex}.form-rules li:first-child{margin-top:0}.form-rules .mark{text-align:center;width:1.1rem;color:var(--text-soft);background:#eceff1;border-radius:4px;flex-shrink:0;font-size:.75rem;font-weight:800;line-height:1.5}.form-rules li.pass{color:var(--secondary)}.form-rules li.pass .mark{color:var(--secondary-dark);background:#c8e6c9}.form-rules li.fail .mark{color:#c62828;background:#ffcdd2}.form-rules-hint{color:var(--text-soft);margin:.35rem 0 0;font-size:.72rem;line-height:1.35}.legal-shell{background:linear-gradient(165deg, var(--primary) 0%, #19b8b3 38%, var(--bg) 38%);min-height:100vh;padding:1.5rem 1rem 3rem;font-family:inherit}.legal-wrap{max-width:720px;margin:0 auto}.legal-back{color:#fff;text-shadow:0 1px 8px #0e2a3333;margin-bottom:1rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-block}.legal-back:hover{text-decoration:underline}.legal-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border);padding:clamp(1.25rem,4vw,2rem)}.legal-muted{color:var(--text-soft);margin:0}.legal-error{color:#c62828;margin:0;font-weight:600}.legal-header{border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:1rem}.legal-title{letter-spacing:-.02em;color:var(--text);margin:0 0 .35rem;font-size:1.5rem;font-weight:800}.legal-meta{color:var(--text-soft);margin:0;font-size:.85rem}.legal-html{color:var(--text);font-size:1rem;line-height:1.65}.legal-html :first-child{margin-top:0}.legal-html :last-child{margin-bottom:0}.legal-html h1,.legal-html h2,.legal-html h3{color:var(--text);margin:1.25rem 0 .5rem;font-weight:800;line-height:1.25}.legal-html h1{font-size:1.25rem}.legal-html h2{font-size:1.1rem}.legal-html h3{font-size:1rem}.legal-html p{margin:.75rem 0}.legal-html ul,.legal-html ol{margin:.75rem 0;padding-left:1.35rem}.legal-html li{margin:.35rem 0}.legal-html a{color:var(--primary-dark);font-weight:600}.legal-html code{background:#26c6da1f;border-radius:4px;padding:.1em .35em;font-size:.9em}.legal-html blockquote{border-left:4px solid var(--primary);color:var(--text-muted);background:#f0f7f8;margin:1rem 0;padding:.5rem 1rem}
