html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}body{background:url('/images/1.jpg') center/cover no-repeat #f5f5f5;display:flex;justify-content:center;align-items:center}
button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}
.auth-trigger{position:fixed;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:pointer}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;overflow:auto}
.auth-dialog{width:80vw;max-width:300px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.1);animation:fadeIn .3s ease;flex-shrink:0;max-height:calc(100dvh - 40px);overflow-y:auto}
.dialog-header{padding:20px;text-align:center;background:linear-gradient(135deg,#08C060,#07C160);color:#fff;position:relative}
.dialog-header h3{margin:0;font-size:18px;font-weight:500}
.close-btn{position:absolute;right:8px;top:8px;width:34px;height:34px;opacity:.8;cursor:pointer;color:white;border:0;background:transparent;padding:7px;border-radius:50%;display:grid;place-items:center}
.close-btn:hover{opacity:1;background:#ffffff18}.close-btn svg{width:20px;height:20px}
.dialog-content{padding:25px 20px;text-align:center}.dialog-content p{color:#666;font-size:15px;line-height:1.5;margin:15px 0 5px}
.dialog-content .sub-text{color:#999;font-size:13px;margin-top:10px}.dialog-actions{display:flex;border-top:1px solid #f0f0f0}
.dialog-btn{flex:1;padding:12px;text-align:center;font-size:16px;font-weight:500;cursor:pointer;user-select:none;border:0;line-height:24px}
.dialog-btn.primary{color:#07C160;background:#fff}.dialog-btn.secondary{color:#fff;background:#07C160}.dialog-btn:hover{filter:brightness(.97)}
.dialog-content .inline-notice{font-size:12px;color:#688274;margin-top:15px}
.activation-body{padding:25px 22px 18px;text-align:center}.code-mark{height:43px;width:43px;border-radius:13px;background:#eef9f2;color:#07b65a;display:grid;place-items:center;margin:0 auto 14px}
.code-mark svg{width:24px;height:24px}.activation-body h4{font-size:19px;font-weight:600;letter-spacing:.2px;margin:0 0 9px;color:#26332b}
.input-hint{font-size:12px;color:#8b948e;line-height:1.6;margin:0 0 21px}
.input-wrap{position:relative;border:1px solid #dce5df;border-radius:10px;background:#fafcfb;transition:border-color .15s,box-shadow .15s;display:flex;align-items:center}
.input-wrap:focus-within{border-color:#07c160;box-shadow:0 0 0 3px #07c16010;background:white}.input-wrap.invalid{border-color:#df7979;background:#fffafa}
.input-wrap input{padding:14px 42px 14px 13px;border:0;outline:0;min-width:0;width:100%;font-size:16px;color:#26332b;background:transparent;letter-spacing:.4px;border-radius:10px}
.input-wrap input::placeholder{font-size:13px;color:#a0aaa4;letter-spacing:0}
.visibility-btn{position:absolute;right:4px;height:36px;width:36px;border:0;background:none;display:grid;place-items:center;cursor:pointer;color:#8a958e;padding:8px}
.visibility-btn svg{width:20px;height:20px}.visibility-btn[aria-pressed=true]{color:#07b65a}
.field-error{font-size:12px;color:#d14e4e;text-align:left;min-height:18px;line-height:1.5;margin:7px 1px 11px}
.submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 12px;border:0;border-radius:10px;background:#07c160;color:white;font-size:15px;font-weight:600;cursor:pointer;min-height:46px;transition:background .2s}
.submit-btn:hover{background:#06ae56}.submit-btn:disabled{opacity:.65;cursor:wait}
.text-btn{font-size:12px;color:#8b958e;background:none;border:0;cursor:pointer;padding:15px 5px 3px}.text-btn:hover{color:#07ae57}
.spinner{width:14px;height:14px;border:2px solid #ffffff70;border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}
.success-view{padding-bottom:25px}.success-view .code-mark{width:52px;height:52px;border-radius:50%;margin-bottom:18px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}button:focus-visible{outline:2px solid #078744;outline-offset:3px}.auth-trigger:focus-visible{outline:2px solid white;outline-offset:-4px}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:420px){.overlay{padding:16px}.auth-dialog{width:80vw;max-width:300px}.activation-body{padding-left:22px;padding-right:22px}}
@media(max-height:550px){.overlay{align-items:flex-start}.auth-dialog{margin:auto 0}.code-mark{display:none}.activation-body{padding-top:20px}.input-hint{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Compact activation input only */
#codeView .input-wrap{width:100%;max-width:220px;margin:0 auto;border-radius:8px}
#codeView .input-wrap input{height:40px;padding:8px 36px 8px 11px;line-height:22px;font-size:16px;border-radius:8px}
#codeView .input-wrap input::placeholder{font-size:12px}
#codeView .visibility-btn{width:30px;height:30px;right:3px;padding:6px}
#codeView .visibility-btn svg{width:18px;height:18px}
#codeView .field-error{max-width:220px;margin-left:auto;margin-right:auto}
/* Compact shared authorization card */
.auth-dialog{width:calc(100vw - 48px);max-width:260px;border-radius:12px}
.dialog-header{padding:14px 30px 14px 16px}.dialog-header h3{font-size:16px;line-height:22px}
.close-btn{right:5px;top:8px;width:30px;height:30px;padding:6px}
.dialog-content{padding:16px 18px}.dialog-content p{font-size:14px;margin:7px 0 5px}.dialog-content .sub-text{font-size:12px;margin-top:7px}
.dialog-btn{font-size:14px;padding:10px 5px;line-height:22px}
#codeView .activation-body{padding:16px 18px 14px}
#codeView .code-mark{display:none}#codeView h4{font-size:16px;margin:0 0 6px}
#codeView .input-hint{font-size:11px;margin:0 0 13px;line-height:1.6}
#codeView .input-wrap{max-width:none;width:100%}#codeView .input-wrap input{height:38px;padding-top:7px;padding-bottom:7px}
#codeView .field-error{max-width:none;min-height:0;margin:0;font-size:11px}
#codeView .field-error:not(:empty){margin:6px 0 0;line-height:1.5}
#codeView .submit-btn{margin-top:12px;min-height:40px;padding:10px;font-size:14px;border-radius:8px}
#codeView .text-btn{font-size:11px;padding:11px 4px 0}
.success-view{padding:20px 18px}.success-view .code-mark{width:38px;height:38px;margin-bottom:12px}.success-view h4{font-size:17px}
.success-view .input-hint{font-size:12px;margin-bottom:16px}.success-view .submit-btn{min-height:40px;padding:10px;font-size:14px}
.theme-app{background:radial-gradient(ellipse at 50% 25%,#333840 0,#171b22 48%,#090c10 100%)}
.app-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;pointer-events:none;padding-bottom:8vh}
.app-backdrop img{width:116px;height:116px;object-fit:cover;border:1px solid #ffffff20;border-radius:26px;box-shadow:0 15px 50px #0004}
.app-backdrop span{font-size:23px;letter-spacing:.5px;color:#ffffffda;font-weight:500;text-align:center;max-width:85vw}
.theme-app .dialog-header{background:#16191d}.theme-app .dialog-btn.primary{color:#16191d}.theme-app .dialog-btn.secondary,.theme-app .submit-btn{background:#16191d}
.theme-app .submit-btn:hover{background:#30343b}.theme-app .code-mark{color:#16191d;background:#f1f2f4}
.theme-app .input-wrap:focus-within{border-color:#515862;box-shadow:0 0 0 3px #15191d0a}
.theme-app .text-btn:hover,.theme-app .visibility-btn[aria-pressed=true]{color:#16191d}.theme-app button:focus-visible{outline-color:#68717c}
/* Per-app preview backdrop and branded compact dialog */
.theme-app .app-backdrop{padding:0;gap:0;overflow:hidden}
.app-preview-bg{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(28px);opacity:.32}
.app-preview-screen{position:relative;height:100%;width:min(100vw,440px);overflow:hidden;box-shadow:0 0 100px #0007;background:#fff}
.app-backdrop .preview-image{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;border:0;border-radius:0;box-shadow:none}
.preview-brand{position:absolute;top:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100vw - 36px);padding:8px 12px;border:1px solid #ffffff35;border-radius:14px;background:#ffffffed;box-shadow:0 4px 22px #0001;white-space:nowrap}
.app-backdrop .preview-brand img{width:30px;height:30px;border-radius:7px;border:1px solid #0001;box-shadow:none}
.app-backdrop .preview-brand span{font-size:13px;letter-spacing:0;font-weight:600;color:#20242a;overflow:hidden;text-overflow:ellipsis}
.preview-brand small{font-size:10px;color:#91979e;border-left:1px solid #dde0e3;padding-left:10px}
.theme-app .overlay{background:rgba(0,0,0,.45);backdrop-filter:blur(3px)}
.theme-app .dialog-header{display:flex;align-items:center;gap:10px;text-align:left;padding:13px 34px 13px 16px;background:#fff;color:#20242a;border-bottom:1px solid #edf0f2}
.dialog-app-icon{width:34px;height:34px;flex-shrink:0;border-radius:8px;object-fit:cover;border:1px solid #0002}
.dialog-brand-copy{min-width:0}.dialog-brand-copy h3{font-size:14px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dialog-brand-copy span{display:block;font-size:10px;color:#93999f;margin-top:2px}
.theme-app .close-btn{color:#848c93;top:14px}.theme-app .close-btn:hover{background:#f2f3f5}
.theme-app .dialog-btn.primary{font-size:13px;background:#fafbfc}.theme-app .dialog-btn.secondary{font-size:13px}
.theme-app #codeView .activation-body{padding-top:15px;padding-bottom:12px}
.theme-app #codeView .input-hint{font-size:10px;margin-bottom:12px}
.site-verification-note{font-size:9px;line-height:1.5;color:#a3a8ad;text-align:center;margin:0;padding:0 10px 12px;background:white}
@media(min-width:768px){.app-preview-screen{height:calc(100% - 64px);max-height:880px;width:auto;aspect-ratio:9/19.5;border-radius:28px;border:1px solid #ffffff26}.preview-brand{top:46px}}
@media(max-width:420px){.preview-brand{top:16px}}
/* App-style launch preview */
.theme-app{background:var(--launch-bg,#fff);color:var(--launch-fg,#202124)}
.launch-screen{position:fixed;inset:0;background:var(--launch-bg,#fff);color:var(--launch-fg,#202124);pointer-events:none;display:flex;align-items:center;justify-content:center}
.launch-brand{display:flex;flex-direction:column;align-items:center;gap:20px;transform:translateY(-5vh);animation:launchIn .45s ease both;max-width:85vw}
.launch-icon{width:106px;height:106px;border:0;border-radius:23px;box-shadow:none;object-fit:cover}
.launch-name{font-size:20px;font-weight:600;letter-spacing:.1px;text-align:center;line-height:1.35}
.launch-footer{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:0;right:0;display:flex;align-items:center;flex-direction:column;gap:17px}
.launch-footer small{font-size:10px;letter-spacing:1px;opacity:.4}
.launch-progress{height:3px;width:42px;border-radius:4px;background:currentColor;opacity:.15;overflow:hidden;position:relative}
.launch-progress:after{content:'';position:absolute;inset:0;background:currentColor;transform-origin:left;animation:launchProgress 1.4s ease both}
.theme-app .overlay{backdrop-filter:blur(5px);background:rgba(0,0,0,.38)}
@keyframes launchIn{from{opacity:0;transform:translateY(calc(-5vh + 6px)) scale(.97)}to{opacity:1;transform:translateY(-5vh) scale(1)}}
@keyframes launchProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:768px){.launch-icon{width:128px;height:128px;border-radius:28px}.launch-name{font-size:24px}}
@media(prefers-reduced-motion:reduce){.launch-brand,.launch-progress:after{animation:none}}
