:root{--forest:#13183d;--forest-2:#007aff;--moss:#5ac8fa;--cream:#eef1f7;--cream-2:#e3e8f2;--paper:#f7f8fb;--ink:#1d1d1f;--ink-2:#55555b;--line:#dde2ec;--field:#f2f2f7;--good:#248a3d;--bad:#d70015;--warn:#c93400;--display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}:focus-visible{outline:3px solid var(--moss);outline-offset:3px}.auth{min-height:100%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.side{background:var(--forest);color:#fff;padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:40px;position:relative;overflow:hidden}.side:after{content:"";position:absolute;right:-30%;bottom:-30%;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,#5ac8fa59,#5ac8fa00)}.brand{display:flex;align-items:center;gap:10px;font:600 20px var(--display);text-decoration:none;color:inherit;position:relative;z-index:1}.mark{width:36px;height:36px;border-radius:11px;background:none;overflow:hidden;color:var(--forest);display:grid;place-items:center}.side blockquote{margin:auto 0;position:relative;z-index:1}.side blockquote p{font:italic 400 clamp(32px,3.6vw,48px)/1.1 var(--display);margin:0 0 18px}.side blockquote footer{color:#ffffffc7;max-width:40ch;font-size:16px}.side blockquote em{color:var(--moss);font-style:italic}.side-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:#ffffffd9;position:relative;z-index:1}.side-points li{padding-left:26px;position:relative}.side-points li:before{content:"✓";position:absolute;left:0;color:var(--moss);font-weight:700}.panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(20px,4vw,56px) clamp(16px,4vw,48px);gap:22px}.mobile-brand{display:none;color:var(--forest);align-self:flex-start}.mobile-brand .mark{background:none;overflow:hidden;color:#fff;width:32px;height:32px}.tabs{display:grid;grid-template-columns:1fr 1fr;width:min(440px,100%);background:var(--cream);border:1px solid var(--line);padding:4px;border-radius:999px}.tabs button{border:0;background:transparent;padding:10px;border-radius:999px;font:600 15px var(--body);color:var(--ink-2);cursor:pointer}.tabs button[aria-selected=true]{background:#fff;color:var(--forest);box-shadow:0 1px 3px #0000001f}.form-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,34px);box-shadow:0 24px 60px -32px #13183d59}h1{font:600 clamp(28px,3vw,34px)/1.1 var(--display);margin:0 0 6px;letter-spacing:-.01em}.sub{margin:0 0 22px;color:var(--ink-2)}form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ink-2)}.field .row{display:flex;justify-content:space-between;align-items:baseline}.field input{font:16px var(--body);color:var(--ink);background:var(--field);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;transition:border-color .15s,box-shadow .15s}.field input:focus{outline:none;border-color:var(--forest-2);box-shadow:0 0 0 4px #22684a24}.field input[aria-invalid=true]{border-color:var(--bad)}.field input.ok{border-color:var(--good)}.pw-wrap{position:relative;display:block}.pw-wrap input{padding-right:48px}.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;color:var(--ink-2);border-radius:8px;cursor:pointer;display:grid;place-items:center}.eye:hover{background:var(--cream)}.eye[aria-pressed=true]{color:var(--forest-2)}.link{border:0;background:none;color:var(--forest-2);font:600 13px var(--body);cursor:pointer;padding:0}.link:hover{text-decoration:underline}.err{display:block;min-height:0;color:var(--bad);font-weight:500;font-size:13px}.err:empty{display:none}.pw-help{display:flex;flex-direction:column;gap:10px;margin-top:-6px;padding:14px;background:var(--cream);border-radius:14px;border:1px solid var(--line)}.meter{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.meter span{height:6px;border-radius:99px;background:#dcd6c7;transition:background .2s}.pw-help[data-score="1"] .meter span:nth-child(-n+1),.pw-help[data-score="2"] .meter span:nth-child(-n+2){background:var(--bad)}.pw-help[data-score="3"] .meter span:nth-child(-n+3){background:var(--warn)}.pw-help[data-score="4"] .meter span{background:var(--good)}.meter-label{font-size:13px;font-weight:700;min-height:18px}.pw-help[data-score="1"] .meter-label,.pw-help[data-score="2"] .meter-label{color:var(--bad)}.pw-help[data-score="3"] .meter-label{color:var(--warn)}.pw-help[data-score="4"] .meter-label{color:var(--good)}.rules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;font-size:13px}.rules li{display:flex;align-items:center;gap:8px;color:var(--bad);font-weight:500;transition:color .15s}.rules li .ic{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:11px;font-weight:800;border:1.5px solid currentColor;transition:background .15s,color .15s}.rules li.ok{color:var(--good)}.rules li.ok .ic{background:var(--good);border-color:var(--good);color:#fff}.rules li.idle{color:var(--ink-2)}.rules li.idle .ic{border-color:#c9c2b2;color:transparent}.rules li .ic:before{content:"✕"}.rules li.ok .ic:before{content:"✓"}.rules li.idle .ic:before{content:""}.submit{margin-top:4px;border:0;background:var(--forest);color:#fff;font:600 16px var(--body);padding:14px;border-radius:999px;cursor:pointer;transition:background .15s,transform .15s}.submit:hover:not(:disabled){background:var(--forest-2);transform:translateY(-1px)}.submit:disabled{opacity:.55;cursor:not-allowed}.msg{margin:0;font-size:14px;color:var(--ink-2);min-height:0}.msg:empty{display:none}.msg.error{color:var(--bad)}.msg.success{color:var(--good);font-weight:600}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:13px;margin:18px 0 12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.alt{width:100%;border:1.5px solid var(--line);background:#fff;color:var(--forest);font:600 15px var(--body);padding:12px;border-radius:999px;cursor:pointer}.alt:hover{background:var(--cream)}.legal{font-size:12px;color:var(--ink-2);margin:16px 0 0;line-height:1.5}.guest{font-size:14px;color:var(--ink-2);margin:18px 0 0;text-align:center}.guest a{color:var(--forest-2);font-weight:600;text-decoration:none}.guest a:hover{text-decoration:underline}@media(max-width:860px){.auth{grid-template-columns:1fr}.side{display:none}.mobile-brand{display:flex}.panel{justify-content:flex-start;padding-top:max(20px,env(safe-area-inset-top))}}@media(max-width:420px){.rules{grid-template-columns:1fr}}.legal a{color:var(--forest-2);font-weight:600}.mark img{width:100%;height:100%;display:block}.bday{border:0;margin:0;padding:0;min-width:0}.bday legend{padding:0;margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ink-2)}.ag-row{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}.ag-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}.ag-field select,.ag-field input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;font:16px var(--body);color:var(--ink);background:var(--field);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px}.ag-field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}.ag-field select:focus,.ag-field input:focus{outline:none;border-color:var(--forest-2);box-shadow:0 0 0 4px #22684a24}.bday .err{margin-top:6px}.blocked h1{margin:0 0 8px}.blocked .ag-sub{margin:0 0 14px;color:var(--ink-2)}.blocked .ag-fine{margin:18px 0 0;font-size:14px;color:var(--ink-2)}.blocked a{color:var(--forest-2)}.agree{margin:14px 0 0}.agree label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--ink);cursor:pointer}.agree input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--forest-2)}.agree a{color:var(--forest-2);font-weight:600}.agree .err{display:block;margin-top:6px}
