:root{--ink:#17243b;--subtle:#7b879b;--blue:#3d5cdc;--border:#e4e9f2;--bg:#f5f7fc;--green:#279275;--danger:#c34850;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none;color:inherit}button:disabled{cursor:wait;opacity:.58}.hidden{display:none!important}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.8px;color:#8b98ac}.subtle{font-size:13px;line-height:1.8;color:var(--subtle)}h1,h2,h3,h4,p{margin-top:0}.brand{display:inline-flex;align-items:center;gap:13px;font-weight:760;font-size:22px;letter-spacing:-.8px}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:2px;color:#8c98ab;margin-top:5px}.brand-mark{display:grid;place-items:center;position:relative;width:43px;height:43px;border-radius:14px;background:#1d2b45;color:white;box-shadow:0 7px 14px #18294714;font-size:25px;font-weight:800}.brand-mark span{position:absolute;right:-3px;bottom:2px;width:8px;height:8px;border:2px solid #fff;background:#90a2f6;border-radius:50%}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;border:1px solid transparent;border-radius:9px;min-height:43px;padding:10px 17px;font-size:12px;font-weight:600}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 10px #3d5cdc14}.primary:hover{background:#304fca}.secondary{border-color:var(--border);color:#52647e;background:#fff}.text-button{background:none;color:#77869c;padding:8px}.full-width{width:100%;justify-content:space-between}.icon-button{border:1px solid var(--border);background:white;color:#8f9db1;border-radius:8px;width:30px;height:30px;font-size:23px;line-height:20px}.inline-link{background:none;border:0;color:var(--blue);padding:0;font-size:12px;font-weight:600}label{display:block;font-size:12px;font-weight:550;color:#586a85;margin-bottom:8px}input:not([type=range]):not([type=checkbox]),select,textarea{width:100%;border:1px solid #dce3ef;border-radius:8px;background:#fff;padding:11px 13px;font-size:13px;color:#22334e;min-height:43px;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#adb6c6}input:focus,select:focus,textarea:focus{border-color:#6b86ef;box-shadow:0 0 0 3px #3d5cdc0b}form>label{margin-top:20px}.field-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.field-heading span{font-size:10px;color:#97a1b3}.field-heading label{margin-bottom:8px}.password-field{position:relative}.password-field input{padding-right:58px!important}.password-field button{position:absolute;right:8px;top:7px;border:0;padding:8px;color:#8190a7;font-size:11px;background:transparent}#confirm-password-group label{margin-top:20px}.form-error,.notice{padding:11px 13px;border-radius:7px;font-size:12px;line-height:1.7;margin-top:15px}.form-error{background:#fff1f1;color:var(--danger);border:1px solid #f7dada}.notice{background:#f0f4ff;color:#6277a8;border:1px solid #e1e8fa}.segmented{display:flex;padding:4px;background:#f2f4f9;border-radius:9px;margin:28px 0 22px;gap:4px}.segmented button{flex:1;border:0;padding:10px;background:transparent;color:#8b98ad;border-radius:6px;font-size:12px;font-weight:600}.segmented button.active{background:white;color:#3d5cdc;box-shadow:0 2px 4px #1a2d4e08}.auth-page{background:#f7f9fe;min-height:100vh;display:flex;flex-direction:column}.auth-header{display:flex;justify-content:space-between;align-items:center;padding:31px 5.5vw}.connection{font-size:10px;color:#8c98a9;display:flex;align-items:center;gap:7px}.connection:before{content:'';width:5px;height:5px;background:#aab3c3;border-radius:50%}.connection.connected:before{background:#61af95}.auth-main{display:grid;grid-template-columns:1fr 440px;max-width:1120px;width:calc(100% - 80px);margin:18px auto 36px;gap:90px;flex:1;align-items:center}.auth-intro{padding:20px 0;position:relative;min-height:565px}.auth-intro>.eyebrow{margin:14px 0 25px;color:#91a0ba}.auth-intro h1{font-size:44px;line-height:1.5;letter-spacing:-1.7px;font-weight:680;margin-bottom:15px}.accent-dot{color:#526fe0}.auth-intro>p{font-size:13px;color:#91a0b5;letter-spacing:.3px}.intro-art{position:relative;width:340px;height:235px;margin:12px 0 -3px -22px}.orbit{position:absolute;border:1px solid #dfe6f5;border-radius:50%;transform:rotate(-23deg);top:57px;left:31px;width:270px;height:115px}.orbit-two{width:220px;height:165px;left:56px;top:34px;transform:rotate(23deg)}.orbit-three{width:165px;height:210px;left:84px;top:13px;transform:rotate(36deg)}.art-square{position:absolute;top:75px;left:133px;width:68px;height:68px;display:grid;place-items:center;background:linear-gradient(140deg,#fff,#edf1fb);border:1px solid #fff;box-shadow:0 15px 28px #3d5cdc11;border-radius:19px;transform:rotate(-10deg);font-size:34px;font-weight:800;color:#5570d4}.art-point{position:absolute;border-radius:50%;background:#9aadef;box-shadow:0 0 0 5px #eef2fe;width:8px;height:8px}.point-one{top:44px;left:87px}.point-two{right:41px;bottom:77px;width:6px;height:6px;background:#adc5c5}.point-three{left:66px;bottom:43px;width:5px;height:5px;background:#c0c9df}.intro-footer{font-size:9px;letter-spacing:2px;color:#b0bbcc}.auth-card{background:#fff;border:1px solid #e9edf5;box-shadow:0 20px 55px #253f7510;border-radius:19px;padding:37px 38px 29px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.tiny-lock{color:#9baadb}.auth-card h2{font-size:27px;letter-spacing:-.8px;font-weight:670;margin-bottom:9px}.auth-card .subtle{font-size:12px}.auth-card #auth-submit{margin-top:28px;min-height:46px;font-size:13px}.auth-card-footnote{font-size:12px;color:#9ba6b8;text-align:center;margin:25px 0 0}.auth-footer{display:flex;justify-content:space-between;max-width:1120px;width:calc(100% - 80px);margin:0 auto 25px;font-size:9px;color:#aab5c7;letter-spacing:.5px}dialog{border:1px solid #e4e9f3;border-radius:17px;background:white;color:var(--ink);padding:25px;box-shadow:0 30px 90px #172c4e30;max-width:calc(100vw - 28px)}dialog::backdrop{background:#26364b65;backdrop-filter:blur(4px)}.challenge-dialog{width:404px}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.dialog-header h2{font-size:19px;margin:7px 0 0;letter-spacing:-.6px}.dialog-header .eyebrow{font-size:8px}.challenge-prompt{font-size:12px;color:#7a889e;line-height:1.8;margin-bottom:16px}.challenge-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #edf0f6;margin-top:24px;padding-top:16px}.challenge-footer .button{font-size:11px;padding:9px 12px;min-height:36px}.challenge-expiry{font-size:10px;color:#94a0b2;white-space:nowrap}.challenge-disclaimer{font-size:9px;color:#a3adbc;line-height:1.7;margin-top:14px}.challenge-image{display:block;width:100%;border-radius:8px;user-select:none}.challenge-text-input{margin-top:15px}.challenge-stage{position:relative;overflow:hidden;border-radius:8px}.challenge-stage>.challenge-image{width:100%;height:100%;object-fit:fill}.challenge-piece{position:absolute;left:0;user-select:none;pointer-events:none}.challenge-range{display:block;width:100%;height:18px;margin:12px 0 8px;accent-color:#4864df;cursor:ew-resize}.slider-label{display:flex;justify-content:space-between;font-size:10px;color:#95a0b3;gap:10px;margin-top:15px}.stage-hint{font-size:10px;color:#9aa5b7;line-height:1.8;margin:15px 0 0}.image-grid{display:grid;gap:7px}.image-option{border:2px solid transparent;padding:0;position:relative;background:transparent;border-radius:8px;overflow:hidden}.image-option.selected{border-color:#4b69df;box-shadow:0 0 0 2px #4b69df18}.image-option img{width:100%;height:auto;display:block}.selected-number{position:absolute;bottom:4px;right:4px;display:grid;place-items:center;border-radius:50%;width:19px;height:19px;background:#4865df;color:white;font-size:10px}.selected-counter{font-size:11px;color:#8896ac;margin-top:13px}.click-marker{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);background:#4865df;color:white;box-shadow:0 0 0 2px white;width:23px;height:23px;border-radius:50%;font-size:11px;pointer-events:none}.rotation-frame{width:180px;height:180px;margin:3px auto 19px;border-radius:50%;overflow:hidden}.rotation-frame img{width:100%;height:100%;border-radius:50%}.provider-widget{min-height:90px;display:flex;align-items:center;justify-content:center}.verification-policy,.alert{border:1px solid #e6ebf7;background:#f6f8ff;border-radius:8px;padding:14px;font-size:12px;line-height:1.8;color:#7c8ca8}.setup-dialog{width:420px;padding:30px}.setup-dialog h2{font-size:24px;margin:15px 0 10px}.setup-dialog form>.button{margin-top:25px}.setup-dialog form>label{margin-top:16px}.setup-dialog .eyebrow{font-size:9px}
@media(min-width:1450px){.auth-main{gap:140px;margin-top:35px}}@media(max-width:1050px){.auth-main{gap:45px;grid-template-columns:1fr 420px}.auth-intro h1{font-size:36px}.intro-art{transform:scale(.85);transform-origin:left top;height:210px}}@media(max-width:800px){.auth-main{display:block;width:calc(100% - 40px);max-width:440px;margin-top:26px;margin-bottom:40px}.auth-intro{display:none}.auth-header{padding:24px}.auth-card{padding:30px 28px}.auth-footer{width:calc(100% - 48px)}.brand{font-size:19px}.brand-mark{width:38px;height:38px;border-radius:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Compact puzzle card shared by the public form and authenticated preview. */
dialog.puzzle-dialog{width:338px;padding:18px 17px 16px;border:1px solid #dfe4ed;border-top:4px solid #5b80ff;border-radius:0 0 7px 7px;box-shadow:0 16px 52px #182c4c26;overflow:hidden}
.puzzle-dialog::backdrop{background:#26364b50;backdrop-filter:blur(2px)}
.puzzle-dialog .dialog-header,.puzzle-dialog .challenge-expiry,.puzzle-dialog .challenge-disclaimer,.puzzle-dialog .challenge-footer .primary{display:none!important}
.puzzle-dialog .challenge-prompt{margin:0 0 15px;text-align:center;font-size:14px;line-height:22px;color:#30394a;font-weight:400;letter-spacing:0}
.puzzle-dialog .puzzle-stage{border-radius:5px;background:#ffd326}
.puzzle-dialog .puzzle-stage>.challenge-image{border-radius:5px}
.puzzle-dialog .puzzle-slider{position:relative;width:100%;height:50px;margin-top:10px;user-select:none;-webkit-user-select:none;touch-action:none}
.puzzle-dialog .puzzle-slider-track{position:absolute;left:0;right:0;top:17px;height:17px;border-radius:20px;overflow:hidden;background:#e2e6ed;box-shadow:inset 0 2px 3px #34466519}
.puzzle-dialog .puzzle-slider-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:#c5d3ff;border-radius:20px}
.puzzle-dialog .puzzle-slider-thumb{position:absolute;left:0;top:0;display:grid;place-items:center;width:80px;height:50px;margin:0;padding:0;border:0;border-radius:28px;background:#5e84ff;color:white;font-size:29px;font-family:Arial,sans-serif;font-weight:400;line-height:1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 2px 3px #395cc914;transition:background .12s}
.puzzle-dialog .puzzle-slider-thumb:hover{background:#5279f5}
.puzzle-dialog .puzzle-slider-thumb:focus-visible{outline:3px solid #aabefb;outline-offset:3px}
.puzzle-dialog .puzzle-slider-thumb:disabled{opacity:1;cursor:wait}
.puzzle-dialog .puzzle-slider.is-dragging .puzzle-slider-thumb{cursor:grabbing;background:#4f76ee}
.puzzle-dialog .puzzle-slider.is-resetting .puzzle-slider-thumb{transition:left .18s ease,background .15s}
.puzzle-dialog .puzzle-slider.is-resetting .puzzle-slider-fill{transition:width .18s ease}
.puzzle-dialog .puzzle-slider.is-error .puzzle-slider-thumb{background:#de6b72;animation:puzzle-error-shake .28s ease-in-out}
.puzzle-dialog .puzzle-slider.is-error .puzzle-slider-fill{background:#f3c7cb}
.puzzle-dialog .puzzle-slider.is-verifying .puzzle-slider-thumb{background:#7594f3;font-size:25px;letter-spacing:2px}
.puzzle-dialog .challenge-footer{justify-content:flex-start;gap:11px;border:0;margin-top:15px;padding:0;min-height:24px}
.puzzle-dialog .puzzle-tool{display:grid;place-items:center;width:24px;height:24px;margin:0;padding:0;border:0;background:transparent;color:#90969e;font-size:25px;font-weight:400;line-height:1;border-radius:4px;box-shadow:none}
.puzzle-dialog .puzzle-tool:hover{color:#5d78d4;background:#f0f4ff}
.puzzle-dialog .puzzle-tool:focus-visible{outline:2px solid #9eb3f3;outline-offset:2px}
.puzzle-dialog .puzzle-tool:disabled{opacity:.45}
.puzzle-dialog .form-error{margin:9px 0 0;padding:5px 7px;font-size:11px;line-height:1.55;border:0;background:#fff2f3;color:#ba4c58;border-radius:4px}
.puzzle-dialog .challenge-loading{min-height:249px;display:grid;place-items:center;background:#f5f7fb;color:#8e9bb0;font-size:12px;border-radius:5px}
@keyframes puzzle-error-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(max-width:370px){dialog.puzzle-dialog{width:calc(100vw - 24px);max-width:none;padding:16px 14px 14px}.puzzle-dialog .puzzle-slider-thumb{width:74px}}
@media(prefers-reduced-motion:reduce){.puzzle-dialog .puzzle-slider-thumb,.puzzle-dialog .puzzle-slider-fill{transition:none!important;animation:none!important}}
