.sw-overlay[hidden],.sw-tab[hidden],[data-sw-success][hidden],[data-sw-entry][hidden]{display:none!important}
.sw-overlay{position:fixed;inset:0;z-index:100100;background:#0006;display:grid;place-items:center;padding:24px;overflow-y:auto}
.sw-dialog{position:relative;width:min(460px,100%);max-height:calc(100dvh - 48px);overflow:auto;background:var(--paper,#fff);color:var(--ink,#1f1f1f);border:1px solid var(--line,#e8e8e8);box-shadow:0 20px 70px #0002;border-radius:24px;font-family:var(--font-body,Arial,sans-serif)}
.sw-dialog:focus,.sw-dialog:focus-visible{outline:none}
.sw-dialog button,.sw-dialog input{font-family:inherit}
.sw-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:var(--wash,#f5f5f5);color:inherit;font-size:25px;line-height:1;cursor:pointer}
.sw-content{padding:38px 32px 24px}
.sw-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;margin:0 40px 28px 0}
.sw-dialog h2{font-family:inherit;font-weight:750;font-size:44px;letter-spacing:-.045em;line-height:1.06;margin:0 0 14px;color:inherit}
.sw-description{font-size:14px;line-height:1.6;color:var(--muted,#666);margin:0 0 24px}
.sw-label{display:block;font-size:12px;font-weight:600;margin:0 0 8px}
.sw-field input{box-sizing:border-box;width:100%;height:50px;border:1px solid var(--line,#dedede);border-radius:12px;background:var(--wash,#f5f5f5);color:inherit;font-size:16px;padding:0 15px}
.sw-consent{display:flex;gap:9px;margin:14px 0 18px;font-size:11px;line-height:1.5;color:var(--muted,#666)}
.sw-consent input{width:16px;height:16px;flex-shrink:0;accent-color:var(--ink,#222);margin:1px 0 0}.sw-consent a{color:inherit;text-decoration:underline}
.sw-submit,.sw-continue{box-sizing:border-box;display:block;width:100%;min-height:48px;border:0;border-radius:12px;background:var(--ink,#1f1f1f);color:var(--paper,#fff);padding:12px 18px;font-size:14px;font-weight:600;cursor:pointer}
.sw-submit:disabled{opacity:.55;cursor:wait}
.sw-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px}
.sw-status{font-size:12px;line-height:1.5;margin:10px 0;color:inherit}.sw-status:empty{display:none}
.sw-later{display:block;min-height:40px;margin:8px auto 0;border:0;background:none;padding:8px;color:var(--muted,#666);font-size:12px;cursor:pointer}
.sw-terms{border-top:1px solid var(--line,#e8e8e8);padding-top:16px;font-size:10px;color:var(--muted,#777);line-height:1.6;margin:16px 0 0}
.sw-tab{position:fixed;left:0;top:56%;z-index:10000;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:96px;box-sizing:border-box;border:0;border-radius:0 9px 9px 0;background:#1f1f1f;color:#fff;box-shadow:2px 3px 10px #0002;padding:16px 10px;font-family:var(--font-body,Arial,sans-serif);font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;writing-mode:vertical-rl}.sw-tab:hover{background:#333}.sw-tab:focus-visible{outline:2px solid #777;outline-offset:3px}
.sw-code{border:1px solid var(--line,#ddd);border-radius:12px;background:var(--wash,#f5f5f5);padding:8px 8px 8px 16px;display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px}.sw-code strong{min-width:0;font-size:clamp(13px,4vw,17px);letter-spacing:.025em;overflow-wrap:anywhere}
.sw-code button{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#ddd);padding:0;border-radius:9px;cursor:pointer}.sw-code button svg{width:18px;height:18px}.sw-save-hint{font-size:12px;line-height:1.5;color:var(--muted,#666);margin:0 0 22px}
.sw-tab{left:0;min-width:34px;min-height:112px;gap:12px;padding:12px 8px 15px;border:1px solid #484848;border-left:0;border-radius:0 10px 10px 0;background:linear-gradient(110deg,#363636 0%,#202020 42%,#171717 100%);box-shadow:inset -1px 0 0 #ffffff12,2px 3px 7px #0002;transform:none}.sw-tab:hover{background:linear-gradient(110deg,#414141,#222)}.sw-tag-hole{display:block;flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#e0e0e0;box-shadow:0 0 0 2px #101010,0 0 0 3px #555}.sw-tab>span:last-child{white-space:nowrap}
.sw-dialog button:focus-visible,.sw-dialog input:focus-visible,.sw-tab:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:600px){.sw-overlay{padding:16px}.sw-dialog{max-width:390px;max-height:calc(100dvh - 32px);border-radius:22px}.sw-content{padding:30px 24px 20px}.sw-eyebrow{margin-bottom:26px;font-size:11px}.sw-dialog h2{font-size:38px}.sw-description{font-size:13px;margin-bottom:20px}.sw-tab{padding:13px 8px}}
.sw-dialog{width:min(420px,100%);border:0;border-radius:22px;background:#fff;color:#202020;box-shadow:0 18px 60px #0002}
.sw-content{padding:32px 38px 28px}.sw-close{top:12px;right:12px;background:#f5f5f5;width:40px;height:40px;border-radius:50%;font-size:25px}.sw-eyebrow{text-align:left;margin:0 40px 30px 0}
.sw-dialog h2{text-align:center;font-size:40px;font-weight:750;letter-spacing:-.035em;margin:0 0 12px;line-height:1.15}
.sw-subtitle{text-align:center;font-size:24px;line-height:1.25;font-weight:700;margin:0 0 30px}
.sw-label{font-size:12px;font-weight:400;margin-bottom:6px}.sw-field{position:relative}.sw-field svg{position:absolute;left:12px;top:12px;width:17px;height:17px;color:#555}.sw-field input{height:42px;border-radius:4px;background:#f5f5f5;color:#222;border-color:#dfe2e7;padding-left:38px;font-size:14px}
.sw-submit,.sw-continue{margin-top:18px;min-height:48px;border-radius:12px;padding:12px;background:#1f1f1f;color:#fff;font-size:14px}.sw-subscribe-note{font-size:10px;line-height:1.6;text-align:center;color:#777;margin:12px 0}
.sw-ticket-preview,.sw-code{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;border:1px dashed #aaa;border-radius:0;background:#fff;min-height:54px;padding:8px 14px;margin:20px 0;color:#222}
.sw-ticket-preview:before,.sw-code:before,.sw-ticket-preview:after,.sw-code:after{content:'';position:absolute;top:50%;width:8px;height:8px;border:1px solid #aaa;background:#fff;border-radius:50%;transform:translateY(-50%)}
.sw-ticket-preview:before,.sw-code:before{left:-5px;border-left-color:#fff}.sw-ticket-preview:after,.sw-code:after{right:-5px;border-right-color:#fff}
.sw-ticket-preview{color:#c4c4c4}.sw-ticket-preview>span:first-child{font-size:21px}.sw-ticket-preview>span:last-child{flex:1;text-align:center;letter-spacing:7px;font-size:16px}
.sw-consent{font-size:10px;line-height:1.6;margin:20px 0 14px;color:#777;align-items:flex-start}.sw-consent input{width:13px;height:13px;margin-top:2px}.sw-brand{text-align:center;letter-spacing:.14em;font-size:11px;font-weight:700;margin:20px 0 0;color:#777}
.sw-terms{text-align:center;border:0;padding:0;margin:12px 0 0;font-size:9px;color:#888}.sw-description,.sw-save-hint{text-align:center}.sw-code button{border:0;background:#f5f5f5;border-radius:4px}.sw-code strong{font-size:15px}
.sw-code{border:1px solid #e5e5e8;border-radius:12px;background:#f5f5f6;margin:16px 0 10px;min-height:60px;padding:8px 10px 8px 16px}.sw-code:before,.sw-code:after{display:none}.sw-code button{background:#fff;border:1px solid #e9e9eb;border-radius:9px}.sw-code strong{font-size:15px;font-weight:650;letter-spacing:.02em}.sw-dialog:has([data-sw-success]:not([hidden])) .sw-subtitle{display:none}.sw-dialog:has([data-sw-success]:not([hidden])) h2{margin-bottom:14px}.sw-dialog:has([data-sw-success]:not([hidden])) .sw-description{margin-bottom:16px}.sw-dialog:has([data-sw-success]:not([hidden])) .sw-save-hint{margin-bottom:18px;font-size:11px}.sw-dialog:has([data-sw-success]:not([hidden])) .sw-terms{margin-top:14px}.sw-field input{border-radius:10px}
@media(max-width:600px){.sw-overlay{padding:20px}.sw-dialog{max-width:390px;border-radius:22px}.sw-content{padding:32px 26px 24px}.sw-dialog h2{font-size:36px}.sw-subtitle{font-size:22px;margin-bottom:28px}}
.sw-code{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:0;min-height:64px;padding:10px 8px 10px 12px;background:#fff;border:1px dashed #bdbdbd;border-radius:10px;margin:20px 0 12px}.sw-code strong{text-align:center;font-size:15px;font-weight:600;letter-spacing:.055em;padding:0 8px;line-height:1.5}.sw-code button{width:44px;height:40px;background:transparent;border:0;border-left:1px solid #e8e8e8;border-radius:0;color:#555}.sw-code button:hover{color:#111;background:#fafafa}.sw-code button svg{width:17px;height:17px}
@media(prefers-reduced-motion:no-preference){.sw-dialog{animation:sw-enter .18s ease-out}@keyframes sw-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
