html { scroll-behavior: smooth; }
:focus-visible { outline: 3px solid #297373; outline-offset: 5px; }
.sn-dialog { border: 0; border-radius: 18px; background: #297373; color: #fff; padding: 40px; width: min(540px, calc(100% - 32px)); max-height: calc(100dvh - 32px); box-shadow: 0 24px 100px #0005; font-family: Lato, sans-serif; }
.sn-dialog::backdrop { background: #102e31bf; backdrop-filter: blur(5px); }
.sn-dialog h2 { margin: 0 35px 16px 0; font-size: 30px; line-height: 1.2; color: white; }
.sn-dialog p { font-size: 16px; line-height: 1.6; }
.sn-close { position: absolute; top: 16px; right: 18px; border: 0; background: transparent; color: white; font-size: 30px; cursor: pointer; padding: 8px; }
.sn-dialog label { display: block; font-weight: 700; margin: 20px 0 8px; }
.sn-dialog input { width: 100%; border: 1px solid #a8c8c8; border-radius: 6px; background: white; color: #163c3c; padding: 13px 14px; font: inherit; }
.sn-dialog input:focus-visible { outline-color: #e9d758; }
.sn-dialog button:focus-visible, .sn-dialog a:focus-visible { outline-color: white; }
.sn-primary { display: inline-block; border: 0; border-radius: 24px; background: #e9d758; color: #162d2d; padding: 13px 23px; font: 700 14px Lato, sans-serif; letter-spacing: .05em; cursor: pointer; text-decoration: none; margin-top: 22px; }
.sn-primary:disabled { opacity: .6; cursor: wait; }
.sn-dialog a:not(.sn-primary) { color: #f3e47a; }
.sn-notice { border-left: 3px solid #e9d758; background: #184f4f; padding: 12px 16px; margin: 18px 0; font-size: 14px !important; }
.sn-error { background: #fff0df; border-radius: 6px; padding: 12px; color: #78360c; margin-top: 16px; }
.sn-result { overflow-wrap: anywhere; }
.sn-result code { display: block; background: #184f4f; border-radius: 5px; padding: 12px; margin: 8px 0 16px; user-select: all; }
.sn-small { font-size: 13px !important; opacity: .85; margin-top: 16px; }
.sn-dialog [hidden] { display: none !important; }
#sn-captcha { margin-top: 20px; }
@media (max-width: 479px) { .sn-dialog { padding: 30px 22px; } .sn-dialog h2 { font-size: 26px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .typed-cursor { display: none; } }

.sn-legal-header { background:#ff942d; padding:25px max(24px, calc((100% - 850px)/2)); font:700 20px Lato,sans-serif; }
.sn-legal-header a {color:white;text-decoration:none;}
.sn-legal { max-width:850px; margin:50px auto 80px; padding:0 24px; color:#263b3b; font:16px/1.8 Lato,sans-serif;}
.sn-legal h1 {font-size:44px;line-height:1.2;margin-bottom:36px;}
.sn-legal h2 {font-size:24px;line-height:1.3;margin-top:36px;}
.sn-legal a {color:#297373;}
.sn-legal p {margin:0 0 18px;}
