.lamp-page{background:radial-gradient(circle at 30% 20%, #2a1b12 0%, var(--coffee) 60%);min-height:100vh;padding:env(safe-area-inset-top,0px) 24px env(safe-area-inset-bottom,0px);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-family:Inter,sans-serif;transition:background 1s;display:flex;position:relative;overflow:hidden}.lamp-page.on{background:radial-gradient(circle at 26% 30%, #4a2e17 0%, var(--coffee) 66%)}.lamp-page .scene{justify-content:center;align-items:center;gap:100px;width:100%;max-width:1100px;min-height:100vh;display:flex;position:relative}.lamp-page .lamp-side{flex-direction:column;flex:400px;justify-content:flex-end;align-items:center;max-width:440px;height:100%;min-height:640px;padding-bottom:80px;display:flex;position:relative}.lamp-page .lamp-visual{flex-direction:column;align-items:center;display:flex;position:relative}.lamp-page .beam{z-index:0;pointer-events:none;clip-path:polygon(42% 0%,58% 0%,100% 100%,0% 100%);opacity:0;background:linear-gradient(#ffd29652,#ffd29600 85%);width:340px;height:310px;transition:opacity .7s;position:absolute;top:96px;left:50%;transform:translate(-50%)}.lamp-page.on .beam{opacity:1}.lamp-page .lamp-head{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.lamp-page .shade{clip-path:polygon(31% 0%,69% 0%,100% 100%,0% 100%);filter:brightness(.55)saturate(.75);background:linear-gradient(175deg,#7c5b3a 0%,#c99a64 45%,#e7c79a 100%);width:172px;height:114px;transition:filter .5s;position:relative;box-shadow:0 16px 28px #00000073}.lamp-page.on .shade{filter:brightness()saturate()}.lamp-page .shade:before{content:"";background:#5b4128;border-radius:50%;width:44%;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.lamp-page .shade:after{content:"";opacity:0;background:radial-gradient(#ffd69ef2,#ffd69e00 72%);border-radius:50%;width:96%;height:18px;transition:opacity .5s;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.lamp-page.on .shade:after{opacity:1}.lamp-page .bulb-wrap{z-index:2;justify-content:center;margin-top:-21px;display:flex;position:relative}.lamp-page .bulb{background:radial-gradient(circle at 40% 35%,#6b5a44,#382c20);border-radius:50% 50% 44% 44%/58% 58% 42% 42%;width:28px;height:36px;transition:background .5s,box-shadow .5s;position:relative}.lamp-page.on .bulb{background:radial-gradient(circle at 40% 35%, #fff3d6, var(--glow) 55%, var(--orange) 100%);box-shadow:0 0 20px 6px #ffc98ad9,0 0 50px 24px #f0863f66}.lamp-page .pole{z-index:1;background:linear-gradient(90deg,#170f09,#3a281b 45%,#170f09);border-radius:6px;width:13px;height:260px;margin-top:-3px;position:relative;box-shadow:0 0 0 1px #ffffff08}.lamp-page .base{z-index:1;background:radial-gradient(at 50% 30%,#3a281b,#140d08 80%);border-radius:50%;width:195px;height:28px;margin-top:-5px;position:relative;box-shadow:0 12px 30px #0000008c}.lamp-page .floor-shadow{background:radial-gradient(#00000073,#0000 72%);border-radius:50%;width:300px;height:24px;margin-top:14px}.lamp-page .pull-track{z-index:3;width:78px;position:absolute;top:3px;left:50%;transform:translate(50px)}.lamp-page .pull-wrap{flex-direction:column;align-items:center;display:flex}.lamp-page .pull-cord{transform-origin:top;background:linear-gradient(#8a725a,#4a3728);width:3px}.lamp-page .pull-knob{background:radial-gradient(circle at 35% 30%, var(--orange), var(--orange-deep));cursor:grab;touch-action:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative;box-shadow:0 4px 10px #00000073}.lamp-page .pull-knob:active{cursor:grabbing}.lamp-page .pull-knob:after{content:"";background:#ffffff59;border-radius:50%;width:10px;height:10px}.lamp-page .pull-wrap.dragging .pull-cord,.lamp-page .pull-wrap.dragging .pull-knob{transition:none}.lamp-page .pull-wrap:not(.dragging) .pull-cord{transition:height .42s cubic-bezier(.34,1.56,.64,1)}.lamp-page .pull-wrap:not(.dragging) .pull-knob{transition:transform .42s cubic-bezier(.34,1.56,.64,1)}.lamp-page .hint{text-align:center;color:var(--muted);letter-spacing:.3px;opacity:1;font-size:15px;transition:opacity .4s;position:absolute;bottom:18px;left:0;right:0}.lamp-page.on .hint{opacity:0}.lamp-page .login-side{flex:420px;justify-content:center;max-width:460px;display:flex}.lamp-page .login-wrap{opacity:0;pointer-events:none;filter:blur(2px);width:100%;transition:opacity .55s .12s,transform .55s cubic-bezier(.2,.9,.3,1.2) .12s,filter .55s .12s;transform:translate(18px)scale(.98)}.lamp-page.on .login-wrap{opacity:1;pointer-events:auto;filter:blur();transform:translate(0)scale(1)}.lamp-page .login-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff7ec0f;border:1px solid #ffdcb424;border-radius:20px;padding:40px 36px 34px;box-shadow:0 0 60px #ffb46e12}.lamp-page .logo-mark{width:150px;height:auto;margin:0 auto 10px;display:block}.lamp-page .login-card h1,.lamp-page .login-card h2{text-align:center;margin:18px 0 6px;font-family:Fraunces,serif;font-size:27px;font-weight:500;color:#fff5ea!important}.lamp-page .login-card p.sub,.lamp-page .login-card p.desc{text-align:center;margin-bottom:28px;font-size:15px;color:#cbb8a6!important}.lamp-page .field,.lamp-page .auth-field{margin-bottom:18px}.lamp-page .field label,.lamp-page .auth-field label{margin-bottom:8px;font-size:13.5px;font-weight:600;display:block;color:#e2d3c4!important}.lamp-page .field input,.lamp-page .auth-field input{border:1px solid #ffdcb44d;border-radius:10px;outline:none;width:100%;padding:14px 16px;font-family:Inter,sans-serif;font-size:16px;color:#fff!important;-webkit-text-fill-color:#fff!important;background:#00000073!important}.lamp-page input:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#fff!important;-webkit-box-shadow:inset 0 0 0 1000px #2a1b12!important}.lamp-page input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#fff!important;-webkit-box-shadow:inset 0 0 0 1000px #2a1b12!important}.lamp-page input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#fff!important;-webkit-box-shadow:inset 0 0 0 1000px #2a1b12!important}.lamp-page .field input::placeholder,.lamp-page .auth-field input::placeholder{color:#a08b79!important}.lamp-page .field input:focus,.lamp-page .auth-field input:focus{border-color:var(--orange)!important}.lamp-page .login-btn,.lamp-page .btn.primary{background:linear-gradient(180deg,var(--orange),var(--orange-deep));color:#2a1206;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:8px;padding:15px;font-size:16px;font-weight:700;box-shadow:0 5px 18px #e6783c59}.lamp-page .foot-note,.lamp-page .auth-foot{text-align:center;color:var(--muted);margin-top:20px;font-size:14px}.lamp-page .auth-error{color:var(--red);background:#f6e4dd;border-radius:10px;margin-top:20px;padding:12px 14px;font-size:14.5px;display:none}.lamp-page .auth-error.show{display:block}.lamp-page .auth-link{color:var(--orange-deep);cursor:pointer;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:14.5px;font-weight:600;text-decoration:none}.lamp-page .auth-row-between{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.lamp-page .auth-check{color:var(--muted);align-items:center;gap:9px;font-size:14.5px;display:flex}.lamp-page .auth-icon-circle{background:var(--cream-2);border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin:0 auto 20px;display:flex}.lamp-page .auth-icon-circle svg{width:24px;height:24px;stroke:var(--orange-deep)}@media (max-width:760px){.lamp-page .scene{flex-direction:column;gap:15px;min-height:auto;padding:50px 0}.lamp-page .lamp-side{min-height:480px;padding-bottom:30px}.lamp-page .login-side{margin-top:-15px}}.lamp-page .toast{color:#fff;opacity:0;pointer-events:none;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#dc3545e6;border-radius:8px;padding:12px 24px;font-size:14.5px;font-weight:500;transition:opacity .3s,transform .3s cubic-bezier(.2,.9,.3,1.2);position:fixed;top:24px;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 4px 12px #00000040}.lamp-page .toast:empty{display:none!important}.lamp-page .toast.show{opacity:1;transform:translate(-50%)translateY(0)}
