:root{--bg-0: #fff9de;--bg-1: #fff1be;--bg-2: #dff2ff;--ink: #2c2418;--muted: #6f634d;--card-surface: rgba(255, 250, 232, .84);--card-stroke: rgba(110, 84, 22, .2)}*{box-sizing:border-box}body.login-page{margin:0;font-family:Sora,Noto Sans TC,sans-serif;color:var(--ink);min-height:100vh;background:radial-gradient(circle at 12% 14%,rgba(255,204,62,.34),transparent 31%),radial-gradient(circle at 84% 20%,rgba(136,205,245,.3),transparent 36%),radial-gradient(circle at 50% 85%,rgba(255,234,132,.34),transparent 40%),linear-gradient(165deg,var(--bg-0),var(--bg-1),var(--bg-2))}.smile-pattern{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.24}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.09;background-image:radial-gradient(rgba(84,67,30,.1) .8px,transparent .8px),radial-gradient(rgba(255,255,255,.6) .6px,transparent .6px);background-size:6px 6px,10px 10px;background-position:0 0,3px 3px}.login-nav{position:fixed;top:20px;left:24px;right:24px;z-index:4;display:flex;align-items:center;gap:10px}.nav-back{text-decoration:none;color:#3b2d18;border:1px solid rgba(84,67,30,.22);background:#fff8ddb8;padding:9px 16px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em}.login-shell{position:relative;z-index:3;min-height:100vh;display:grid;place-items:center;padding:96px 24px 30px}.login-card{width:min(560px,calc(100vw - 48px));border-radius:30px;border:1px solid var(--card-stroke);background:linear-gradient(170deg,#fffff6a6,#fff1bf85),var(--card-surface);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 26px 56px #674d143d,inset 0 1px #ffffff94;padding:30px;animation:login-rise .55s cubic-bezier(.16,1,.3,1);overflow:visible}.login-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#866b3b}.login-card h1{margin:8px 0;font-size:clamp(34px,5vw,46px);line-height:1.03}.login-subtitle{margin:0 0 20px;color:var(--muted);line-height:1.55}.auth-toggle{display:inline-flex;border-radius:999px;background:#fffcf0eb;border:1px solid rgba(84,67,30,.16);padding:4px;gap:4px}.auth-toggle[hidden]{display:none}.auth-toggle-btn{border:0;border-radius:999px;background:transparent;color:#5f4a25;font:inherit;font-size:12px;font-weight:700;letter-spacing:.02em;padding:8px 14px;cursor:pointer}.auth-toggle-btn.is-active{background:linear-gradient(145deg,#fff1ae,#ffd35c 44%,#ffb627);color:#2a1800}.clerk-auth{margin-top:16px;min-height:0;padding:12px 0 0;overflow:visible}.clerk-auth .cl-rootBox,.clerk-auth .cl-cardBox,.clerk-auth .cl-card{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;width:100%!important;max-width:100%!important;overflow:visible!important}.clerk-auth .cl-header,.clerk-auth .cl-footer,.clerk-auth [data-localization-key="signIn.start.title"],.clerk-auth [data-localization-key="signIn.start.subtitle"],.clerk-auth [data-localization-key="signUp.start.title"],.clerk-auth [data-localization-key="signUp.start.subtitle"]{display:none!important}.clerk-auth input{width:100%!important;border-radius:13px!important;border:1px solid rgba(96,74,26,.18)!important;background:#fffffce6!important}.clerk-auth .cl-main,.clerk-auth form,.clerk-auth .cl-form{padding-left:8px!important;padding-right:8px!important;overflow:visible!important}.clerk-auth [data-localization-key=formFieldLabel__emailAddress],.clerk-auth [data-localization-key=formFieldLabel__password],.clerk-auth .cl-formFieldLabel{display:none!important}.clerk-auth .cl-formField,.clerk-auth .cl-formFieldInput,.clerk-auth .cl-input{overflow:visible!important}.clerk-auth input,.clerk-auth .cl-input{box-shadow:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.clerk-auth .cl-formFieldInput,.clerk-auth .cl-formFieldInput__identifier,.clerk-auth input.cl-formFieldInput,.clerk-auth input.cl-input,.clerk-auth input[class*=cl-formFieldInput]{box-shadow:none!important;border:1px solid rgba(96,74,26,.18)!important;background:#fffffcf0!important}.clerk-auth button[class*=cl-formButtonPrimary],.clerk-auth .cl-formButtonPrimary{box-shadow:none!important;border:1px solid rgba(112,74,0,.36)!important}.clerk-auth button[type=submit]{border-radius:999px!important;box-shadow:0 10px 20px #b67f0033!important}.login-note{margin:14px 0 0;font-size:13px;line-height:1.45;color:#6c5b3e}.login-links{margin-top:18px;display:flex;gap:10px}.ghost-btn{text-decoration:none;border-radius:999px;border:1px solid rgba(84,67,30,.18);background:#fffcf0cc;padding:10px 14px;color:#3c3220;font:inherit;font-size:12px;font-weight:600;cursor:pointer}@keyframes login-rise{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.custom-auth-form{display:flex;flex-direction:column;gap:14px;margin-top:16px;animation:login-rise .55s cubic-bezier(.16,1,.3,1)}.form-group{display:flex;flex-direction:column;gap:6px}.password-wrapper{position:relative;display:flex;align-items:center}.auth-input{width:100%;padding:12px 14px;border:1px solid rgba(96,74,26,.18);border-radius:13px;background:#fffffcf0;color:#2c2418;font-family:Sora,Noto Sans TC,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.auth-input:focus{outline:none;border-color:#e89f1766;box-shadow:0 0 0 3px #e89f1714}.auth-input::placeholder{color:#2c24187a}.toggle-password-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:6px 8px;color:#a0957a;transition:color .2s,transform .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.toggle-password-btn:hover{color:#6f634d;transform:translateY(-50%) scale(1.08)}.toggle-password-btn:active{transform:translateY(-50%) scale(.96)}.eye-icon{width:18px;height:18px;display:none}.toggle-password-btn .eye-show{display:none}.toggle-password-btn .eye-hide,.toggle-password-btn.toggled .eye-show{display:block}.toggle-password-btn.toggled .eye-hide{display:none}.forgot-password-link{display:inline-block;font-size:12px;color:#8e5e00;text-decoration:none;margin:2px 0 4px;transition:color .15s}.forgot-password-link:hover{color:#6b4500;text-decoration:underline}.reset-pw-form{display:flex;flex-direction:column;gap:12px}.reset-pw-form .auth-input{width:100%}.reset-pw-back{font-size:13px;color:#8e5e00;text-decoration:none;text-align:center;margin-top:4px;cursor:pointer;background:none;border:none;font-family:inherit}.reset-pw-back:hover{text-decoration:underline}.auth-submit-btn{margin-top:4px;padding:12px 20px;border:1px solid rgba(112,74,0,.36);border-radius:999px;background:linear-gradient(145deg,#fff1ae,#ffd35c 44%,#ffb627);color:#2a1800;font-family:Sora,Noto Sans TC,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #b67f003d}.auth-submit-btn:active:not(:disabled){transform:translateY(1px)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.password-strength{display:flex;align-items:center;gap:8px;margin-top:8px}.strength-bar{display:flex;gap:4px;flex:1}.strength-segment{height:4px;flex:1;border-radius:99px;background:#604a1a1f;transition:background .3s}.strength-segment.active-0{background:#d94f3d}.strength-segment.active-1{background:#e8851a}.strength-segment.active-2{background:#c9a628}.strength-segment.active-3{background:#5a9e4d}.strength-label{font-size:11.5px;font-weight:600;letter-spacing:.03em;min-width:44px;text-align:right;transition:color .3s}.strength-label.score-0{color:#d94f3d}.strength-label.score-1{color:#e8851a}.strength-label.score-2{color:#c9a628}.strength-label.score-3,.strength-label.score-4{color:#5a9e4d}.auth-error{padding:10px 12px;border-radius:8px;background:#a23d2c14;color:#a23d2c;font-size:13px;line-height:1.4}.verify-msg{margin:0;font-size:14px;color:#4a3e2a;line-height:1.5;text-align:center}.verify-msg strong{color:#2c2418}.otp-group{display:flex;justify-content:center;gap:8px}.otp-box{width:46px;height:54px;border:1.5px solid rgba(96,74,26,.2);border-radius:12px;background:#fffffcf0;text-align:center;font-family:Sora,Noto Sans TC,sans-serif;font-size:22px;font-weight:700;color:#2c2418;transition:border-color .2s,box-shadow .2s;caret-color:#e89f17}.otp-box:focus{outline:none;border-color:#e89f1780;box-shadow:0 0 0 3px #e89f171a}.password-rules{list-style:none;margin:6px 0 0;padding:10px 12px;background:#fff1ae47;border:1px solid rgba(96,74,26,.12);border-radius:10px;display:flex;flex-direction:column;gap:5px;animation:login-rise .25s ease}.password-rules .rule{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#9e8a6a;transition:color .2s}.password-rules .rule:before{content:"";width:14px;height:14px;flex-shrink:0;border-radius:50%;border:1.5px solid rgba(96,74,26,.25);background:transparent;transition:background .2s,border-color .2s}.password-rules .rule.met{color:#4a7c3f}.password-rules .rule.met:before{background:#5a9e4d;border-color:#5a9e4d;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px 8px}@media (max-width: 720px){.login-card{padding:20px;border-radius:22px}.clerk-auth{min-height:0}}
