:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{background-color:#fdf9f1;min-width:320px;min-height:100vh;margin:0;padding:0;display:block}.daily-letter-stage{z-index:90;position:fixed;inset:0;overflow:hidden}.daily-letter-stage__backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at top,#fff8eceb 0%,#fdf9f1e0 42%,#f4dfc185 100%);position:absolute;inset:0}.daily-letter-envelope-wrap{width:min(460px,82vw);animation:.6s cubic-bezier(.22,1,.36,1) forwards envelopeRise;position:absolute;bottom:72px;left:50%;transform:translate(-50%)}.letter-envelope-scene{width:100%;position:relative}.letter-envelope-svg{filter:drop-shadow(0 18px 28px #c1a0752e);width:100%;height:auto;display:block}.letter-envelope-svg--flap{filter:drop-shadow(0 6px 10px #debb8e29)}.letter-envelope-flap{transform-origin:50% 27%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.9,.2,1);position:absolute;inset:0}.letter-envelope-flap.is-open{transform:perspective(900px)rotateX(180deg)}.daily-letter-intro{text-align:center;background:#fffffff2;border-radius:28px;width:min(520px,100vw - 32px);padding:24px 28px;animation:.45s cubic-bezier(.175,.885,.32,1.275) forwards introPopIn;position:absolute;top:96px;left:50%;transform:translate(-50%);box-shadow:0 24px 40px #7956361f}.daily-letter-intro.is-leaving{animation:.3s forwards introFadeOut}.daily-letter-intro p{color:#62452f;margin:0;font-size:18px;font-weight:700;line-height:1.7}.daily-letter-intro button,.daily-letter-paper button{color:#fff;cursor:pointer;background:#f38ba8;border:none;border-radius:16px;margin-top:18px;padding:14px 26px;font-size:16px;font-weight:700;box-shadow:0 12px 24px #f38ba847}.daily-letter-paper{width:min(680px,100vw - 40px);min-height:min(420px,62vh);animation:.72s cubic-bezier(.2,1,.3,1) forwards letterDropIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.daily-letter-paper.is-leaving{animation:.4s forwards letterFadeOut}.daily-letter-paper__inner{min-height:inherit;background:linear-gradient(#fffffffa 0%,#fcf8f2fa 100%);border-radius:28px;flex-direction:column;justify-content:space-between;padding:48px 44px 34px;display:flex;position:relative;box-shadow:0 28px 50px #72533529}.daily-letter-paper__inner:before{content:"";pointer-events:none;border:1px solid #dabfa07a;border-radius:20px;position:absolute;inset:18px}.daily-letter-paper__message{color:#5a4332;text-align:center;white-space:pre-wrap;margin:0;font-size:clamp(28px,4.2vw,44px);line-height:1.35}.daily-letter-paper button{align-self:center}.nanum-pen-script-regular{font-family:Nanum Pen Script,cursive;font-style:normal;font-weight:400}@keyframes envelopeRise{0%{opacity:0;transform:translate(-50%,180px)}to{opacity:1;transform:translate(-50%)}}@keyframes introPopIn{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.94)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes introFadeOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-16px)}}@keyframes letterDropIn{0%{opacity:0;transform:translate(-50%,-78%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes letterFadeOut{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-40%)}}@media (width<=640px){.daily-letter-intro{border-radius:24px;padding:20px 18px;top:48px}.daily-letter-intro p{font-size:16px}.daily-letter-envelope-wrap{width:min(360px,88vw);bottom:56px}.daily-letter-paper{width:calc(100vw - 24px);min-height:min(360px,56vh)}.daily-letter-paper__inner{padding:36px 22px 28px}}.search-input{box-sizing:border-box;background:#f8f2e8e0;border:1.5px solid #c6a98b6b;border-radius:18px;align-items:center;gap:10px;width:100%;min-height:54px;padding:0 14px;display:flex}.search-input__icon{color:#9b7853;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.search-input__icon svg{width:100%;height:100%}.search-input input{color:#5f432b;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:15px;font-weight:700}.search-input input::placeholder{color:#795a3cb3}.select-field{width:100%;display:inline-flex}.select-field select{appearance:none;color:#5f432b;cursor:pointer;background:#f8f2e8e0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239b7853' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") calc(100% - 20px) no-repeat;border:1.5px solid #c6a98b6b;border-radius:16px;outline:none;width:100%;min-height:50px;padding:0 48px 0 16px;font-size:15px;font-weight:700}.letter-list-modal{z-index:70;animation:.26s forwards letterListFadeIn;position:fixed;inset:0}.letter-list-modal.is-closing{animation:.28s forwards letterListFadeOutDown}.letter-list-modal__backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fdf7ec94;position:absolute;inset:0}.letter-list-modal__panel{background:#fffffff5;border-radius:32px;flex-direction:column;width:min(520px,100vw - 28px);height:min(72vh,760px);padding:26px 26px 24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 56px #79563629}.letter-list-modal__close{color:#7a5d3b;cursor:pointer;background:#f4e9d8d1;border:none;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;position:absolute;top:18px;right:18px}.letter-list-modal__close svg{width:20px;height:20px}.letter-list-modal__header{text-align:center;padding-top:6px}.letter-list-modal__header h2{color:#23160e;margin:0;font-size:clamp(30px,4.4vw,42px);font-weight:800}.letter-list-modal__header p{color:#9b7853;margin:8px 0 0;font-size:15px;font-weight:700}.letter-list-modal__search{margin-top:18px}.letter-list-modal__filter{margin-top:12px}.letter-list-modal__divider{background:#b5947361;height:1px;margin:18px 0}.letter-list-modal__status{text-align:center;color:#73553b;flex:1;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.letter-list-modal__status--error{color:#a04f4f}.letter-list-modal__list{flex-direction:column;flex:1;gap:16px;padding:6px 8px 16px 4px;display:flex;overflow-y:auto}.letter-list-modal__list::-webkit-scrollbar{width:10px}.letter-list-modal__list::-webkit-scrollbar-thumb{background:#e1ab77e6;border-radius:999px}.letter-list-modal__list::-webkit-scrollbar-track{background:#ebe1d6a6;border-radius:999px}.letter-list-item{text-align:left;cursor:pointer;background:#fff;border:1.5px solid #7c5c3d6b;border-radius:22px;width:100%;padding:18px 18px 18px 72px;transition:transform .18s,box-shadow .18s,background-color .18s;position:relative}.letter-list-item.is-received:hover{transform:translateY(-2px);box-shadow:0 14px 24px #815d3b1a}.letter-list-item.is-locked{color:#4d4d4d;cursor:not-allowed;background:#d3d3d3;border-color:#7a7a7a5c}.letter-list-item__id{color:#9a734b;background:#faebd8eb;border-radius:14px;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:inline-flex;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.letter-list-item.is-locked .letter-list-item__id{color:#666;background:#ffffff94}.letter-list-item__message{color:inherit;white-space:pre-wrap;font-size:16px;font-weight:700;line-height:1.5;display:block}@keyframes letterListFadeIn{0%{opacity:0}to{opacity:1}}@keyframes letterListFadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(28px)}}@media (width<=640px){.letter-list-modal__panel{border-radius:24px;width:calc(100vw - 20px);height:min(76vh,680px);padding:20px 16px 18px}.letter-list-item{border-radius:18px;padding:16px 14px 16px 62px}.letter-list-item__message{font-size:14px}}.profile-modal-overlay{z-index:1100;background:#241c136b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.profile-settings-modal{background:linear-gradient(#fffdf8fa 0%,#fff6eafa 100%);border-radius:28px;width:min(620px,100%);max-height:90vh;padding:36px;position:relative;overflow-y:auto;box-shadow:0 22px 48px #4430172e}.profile-settings-modal h2{color:#30261c;text-align:center;margin:0;font-size:28px;font-weight:800}.profile-settings-subtitle{text-align:center;color:#9a8570;margin:10px 0 22px;font-size:14px}.profile-settings-card{background:#ffffffd1;border:1px solid #e7cfabe6;border-radius:22px;align-items:center;gap:18px;margin-bottom:20px;padding:18px 20px;display:flex}.profile-settings-avatar{object-fit:cover;background:#fff7ef;border-radius:22px;width:72px;height:72px;box-shadow:0 10px 24px #6e523124}.profile-settings-meta{flex-direction:column;gap:6px;display:flex}.profile-settings-meta strong{color:#43321f;font-size:18px}.profile-settings-meta span{color:#8d7a66;font-size:13px}.profile-settings-avatar-field{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.profile-settings-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.profile-settings-upload-button{color:#4c3412;cursor:pointer;background:linear-gradient(#f4c46a 0%,#e6a94f 100%);border-radius:14px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 12px 22px #9563182e}.profile-settings-upload-button.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.profile-settings-file-name{color:#6f5d4b;word-break:break-all;font-size:13px}.profile-settings-helper{color:#9a8570;margin:8px 0 0;font-size:12px}.profile-settings-form,.profile-settings-form .form-group{flex-direction:column;gap:16px;display:flex}.profile-settings-form .row-group{flex-direction:row}.profile-settings-form .row-group>.input-group{flex:1}.profile-settings-form .input-group label{color:#7b6f61;margin:0 0 6px 4px;font-size:13px;font-weight:600;display:block}.profile-settings-form .input-group input,.profile-settings-form .input-group select{box-sizing:border-box;color:#333;background:#fdfdfc;border:1.5px solid #f0e9df;border-radius:14px;outline:none;width:100%;padding:14px 16px;font-size:14px}.profile-settings-form .input-group input:focus,.profile-settings-form .input-group select:focus{border-color:#f38ba8;box-shadow:0 0 0 4px #f38ba81a}.profile-settings-form .input-group input:disabled{color:#9d8a75;background:#f7f2ea}.profile-settings-modal::-webkit-scrollbar{width:8px}.profile-settings-modal::-webkit-scrollbar-thumb{background:#e5d8c8;border-radius:999px}@media (width<=640px){.profile-settings-modal{padding:26px 18px 20px}.profile-settings-card{text-align:center;flex-direction:column}.profile-settings-form .row-group{flex-direction:column}}.speech-bubble{color:#5c4e40;text-align:center;white-space:pre-wrap;opacity:0;pointer-events:none;background:#fff;border-radius:20px;padding:15px 20px;font-size:14px;font-weight:700;line-height:1.4;transition:opacity .3s,transform .3s cubic-bezier(.175,.885,.32,1.275);position:relative;transform:translateY(10px)scale(.95);box-shadow:0 8px 24px #00000014}.speech-bubble.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.speech-bubble:after{content:"";border:10px solid #0000;border-top-color:#fff;border-bottom-width:0;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.speech-bubble.large{box-sizing:border-box;border-radius:28px;flex-direction:column;justify-content:space-between;align-items:center;width:400px;height:250px;padding:24px 20px;display:flex}.speech-text{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;font-size:15px;display:flex}.speech-button{color:#fff;cursor:pointer;pointer-events:auto;background-color:#f38ba8;border:none;border-radius:12px;margin-top:8px;padding:12px 28px;font-size:15px;font-weight:700;transition:transform .1s,background-color .2s}.speech-button:hover{background-color:#eb7494}.speech-button:active{transform:scale(.95)}.speech-button:disabled{cursor:wait;background-color:#ffcfdb;transform:none}.withdraw-modal-overlay{z-index:1150;background:#251c1580;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.withdraw-modal{background:linear-gradient(#fffaf2 0%,#fff2e1 100%);border-radius:34px;width:min(860px,100%);padding:34px 30px;position:relative;box-shadow:0 28px 62px #4d341733}.withdraw-modal__layout{grid-template-columns:minmax(240px,320px) minmax(280px,1fr);align-items:center;gap:24px;display:grid}.withdraw-modal__character{justify-content:center;align-items:flex-end;min-height:330px;display:flex;position:relative}.withdraw-modal__bubble{width:min(290px,90%);position:absolute;top:0;left:50%;transform:translate(-50%)}.withdraw-modal__image{filter:drop-shadow(0 18px 30px #5a3d2229);width:min(260px,82%);height:auto;display:block}.withdraw-modal__panel{flex-direction:column;gap:14px;padding:12px 4px;display:flex}.withdraw-modal__panel h2{color:#34281d;margin:0;font-size:30px;line-height:1.2}.withdraw-modal__panel p{color:#816b56;margin:0;font-size:14px;line-height:1.65}.withdraw-modal__actions{gap:12px;margin-top:8px;display:flex}.withdraw-modal__primary,.withdraw-modal__secondary{cursor:pointer;border:none;border-radius:16px;flex:1;padding:15px 18px;font-size:15px;font-weight:700}.withdraw-modal__primary{color:#fff;background:#f38ba8}.withdraw-modal__secondary{color:#6d5845;background:#f1e6d8}.withdraw-modal__primary:disabled,.withdraw-modal__secondary:disabled{cursor:wait;opacity:.7}@media (width<=720px){.withdraw-modal{padding:28px 18px 20px}.withdraw-modal__layout{grid-template-columns:1fr}.withdraw-modal__character{min-height:290px;padding-top:16px}.withdraw-modal__panel{text-align:center;padding:0}.withdraw-modal__actions{flex-direction:column}}.authenticated-home{--shell-inline-space:clamp(0px, calc((100vw - 1280px) / 2), 80px);background-color:#fdf9f1;background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.site-header{z-index:4;padding:24px var(--shell-inline-space) 0;opacity:0;justify-content:space-between;align-items:center;animation:.62s cubic-bezier(.22,1,.36,1) .3s forwards homeHeaderEnter;display:flex;position:relative;transform:translateY(-120%)}.site-header__logo-wrap{align-items:center;display:flex}.site-header__logo{filter:drop-shadow(0 12px 24px #66492b1f);width:400px;max-width:62vw;display:block}.site-header__actions{align-items:center;gap:24px;display:flex;position:relative}.header-icon-button,.header-profile-button{color:#7b5f42;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#fffcf6e6;border:none;border-radius:18px;justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;box-shadow:0 14px 30px #674a2b1f}.header-icon-button svg{width:48px;height:48px}.header-profile-button{padding:0;overflow:hidden}.header-profile-button img{object-fit:cover;width:100%;height:100%}.profile-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:8;background:#fffbf5f5;border-radius:20px;flex-direction:column;gap:6px;min-width:180px;padding:10px;animation:.18s ease-out profileMenuEnter;display:flex;position:absolute;top:calc(100% + 16px);right:0;box-shadow:0 18px 36px #533b1f24}.profile-menu__item{text-align:left;color:#5d4730;cursor:pointer;background:0 0;border:none;border-radius:14px;padding:12px 14px;font-size:14px;font-weight:700}.profile-menu__item:hover{background:#f3e9d9e6}.profile-menu__item--danger{color:#c1536f}.site-main{z-index:2;flex:1;justify-content:center;align-items:flex-end;padding:120px 24px 0;display:flex;position:relative}.site-main__character-stage{justify-content:center;align-items:flex-end;display:flex;position:relative}.site-main__speech-wrap{z-index:3;pointer-events:none;width:min(360px,82vw);position:absolute;bottom:calc(100% - 8px);left:50%;transform:translate(-50%)}.site-main__speech{width:100%}.site-main__character-shell{opacity:0;justify-content:center;align-items:flex-end;width:min(340px,68vw);margin-bottom:-10px;animation:.72s cubic-bezier(.18,1,.32,1) .9s forwards homeCharacterEnter;display:flex;position:relative;transform:translateY(110%)}.site-main__glow{filter:blur(8px);background:radial-gradient(circle,#ffdcb78c 0%,#ffdcb700 72%);border-radius:999px;width:88%;height:18%;position:absolute;bottom:8%}.site-main__character{filter:drop-shadow(0 26px 30px #4f392129);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block;position:relative}.site-main__hit-zone{z-index:2;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;position:absolute}.site-main__hit-zone:focus-visible{outline-offset:2px;outline:2px solid #7b5f4280}.site-main__hit-zone--head{z-index:3;border-radius:0 0 16px;width:50%;height:50%;top:0;left:0}.site-main__hit-zone--body{z-index:2;inset:0}.site-footer{z-index:3;opacity:0;width:100%;animation:.62s cubic-bezier(.22,1,.36,1) .6s forwards homeFooterEnter;position:relative;transform:translateY(120%)}.site-footer__content{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf7eb;border-radius:32px 32px 0 0;justify-content:center;align-items:center;width:100%;min-height:112px;padding:22px 20px;display:flex;box-shadow:0 -10px 30px #6b4e2d14}.site-footer__copy{text-align:center;color:#76593a;letter-spacing:.01em;margin:0;font-size:16px;font-weight:600}@keyframes homeHeaderEnter{0%{opacity:0;transform:translateY(-120%)}to{opacity:1;transform:translateY(0)}}@keyframes profileMenuEnter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes homeFooterEnter{0%{opacity:0;transform:translateY(120%)}to{opacity:1;transform:translateY(0)}}@keyframes homeCharacterEnter{0%{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.site-header{padding:20px 18px 0}.site-header__logo{width:220px;max-width:62vw}.header-icon-button,.header-profile-button{border-radius:16px;width:46px;height:46px}.profile-menu{min-width:156px;padding:8px;top:calc(100% + 12px)}.site-main{padding:108px 18px 0}.site-main__speech-wrap{width:min(300px,88vw);bottom:calc(100% - 4px)}.site-main__character-shell{width:min(280px,78vw)}.site-main__hit-zone--head{width:50%;height:50%}.site-main__hit-zone--body{inset:0}.site-footer{padding:0}.site-footer__content{border-radius:24px 24px 0 0;min-height:90px;padding:18px 16px}.site-footer__copy{font-size:13px}}.password-reset-modal{background:#fff;border-radius:28px;flex-direction:column;gap:16px;width:90%;max-width:440px;max-height:90vh;padding:36px 32px;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 48px #00000026}.password-reset-modal h2{color:#2c251d;text-align:center;margin:0;font-size:26px;font-weight:800}.password-reset-subtitle{text-align:center;color:#a49687;margin:-8px 0 8px;font-size:14px;font-weight:500;line-height:1.5}.password-reset-notice{color:#7c5b20;background:#fff6e7;border:1px solid #f4d8a9;border-radius:16px;padding:14px 16px;font-size:13px;line-height:1.6}.password-reset-notice.is-recovery{color:#25568a;background:#eef7ff;border-color:#bfdaf7}.password-reset-form{flex-direction:column;gap:16px;display:flex}@media (width<=640px){.password-reset-modal{width:calc(100vw - 24px);padding:32px 20px 24px}}.modal-overlay{z-index:1000;background-color:#00000073;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.25s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.signup-modal{background:#fff;border-radius:28px;flex-direction:column;gap:16px;width:90%;max-width:580px;max-height:90vh;padding:40px;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 48px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.close-btn{color:#7b6f61;cursor:pointer;background:#f0e9df;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;transition:background .2s;display:flex;position:absolute;top:24px;right:24px}.close-btn:hover{background:#e3d8cb}.signup-modal h2{color:#2c251d;text-align:center;margin:0;font-size:26px;font-weight:800}.signup-subtitle{text-align:center;color:#a49687;margin:-8px 0 10px;font-size:14px;font-weight:500}.verification-notice{color:#7c5b20;background:#fff6e7;border:1px solid #f4d8a9;border-radius:16px;padding:14px 16px;font-size:13px;line-height:1.5}.verification-success{color:#2d6b39;background:#eefaf0;border:1px solid #bde0c3;border-radius:16px;padding:14px 16px;font-size:13px;line-height:1.6}.signup-form,.form-group{flex-direction:column;gap:16px;display:flex}.row-group{flex-direction:row;gap:16px}.row-group>.input-group{flex:1}.input-group label{color:#7b6f61;margin-bottom:6px;margin-left:4px;font-size:13px;font-weight:600;display:block}.required{color:#f38ba8;font-weight:700}.optional{color:#c4b9b0;font-size:12px;font-weight:500}.input-group input,.input-group select{color:#333;box-sizing:border-box;background-color:#fdfdfc;border:1.5px solid #f0e9df;border-radius:14px;outline:none;width:100%;padding:14px 16px;font-size:14px;transition:all .2s}.input-group input:focus,.input-group select:focus{background-color:#fff;border-color:#f38ba8;box-shadow:0 0 0 4px #f38ba81a}.field-error{color:#e53935;margin-top:6px;margin-left:6px;font-size:12px;display:block}.main-error{color:#e53935;text-align:center;background-color:#fff0f0;border-radius:12px;padding:14px;font-size:13px;font-weight:500}.signup-submit-btn{color:#fff;cursor:pointer;background-color:#f38ba8;border:none;border-radius:14px;margin-top:10px;padding:16px;font-size:16px;font-weight:700;transition:background-color .2s,transform .1s}.signup-submit-btn:hover{background-color:#eb7494}.signup-submit-btn:active{transform:scale(.97)}.signup-submit-btn:disabled{cursor:not-allowed;background-color:#ffcfdb}.signup-modal::-webkit-scrollbar{width:8px}.signup-modal::-webkit-scrollbar-track{background:0 0}.signup-modal::-webkit-scrollbar-thumb{background:#e3d8cb;border-radius:10px}.login-container{box-sizing:border-box;background-color:#fdf9f1;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-box{z-index:10;width:100%;max-width:360px;margin-top:100px;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .4s;position:relative}.login-box.slide-out-down{opacity:0;transform:translateY(100vh)}.squirrel-container{z-index:-1;pointer-events:none;justify-content:center;display:flex;position:absolute;top:-125px;left:0;right:0}.squirrel-img{transform-origin:bottom;width:160px;height:auto;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .4s}.squirrel-img.hidden{opacity:0;transform:translateY(120px)scale(.8)}.squirrel-img.greeting{opacity:1;transform:translateY(0)scale(1)}.squirrel-img.peeking{opacity:1;transform:translateY(15px)scale(.95)}.form-container{z-index:1;background:#fff;border-radius:28px;flex-direction:column;gap:20px;padding:36px 30px;display:flex;position:relative;box-shadow:0 12px 36px #00000014,0 4px 12px #0000000a}.form-container h2{color:#2c251d;text-align:center;letter-spacing:-.5px;margin:0;font-size:26px;font-weight:800}.subtitle{text-align:center;color:#a49687;margin:-14px 0 16px;font-size:14px;font-weight:500}.login-form{flex-direction:column;gap:14px;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:#7b6f61;margin-left:4px;font-size:13px;font-weight:600}.input-group input{color:#333;background-color:#fdfdfc;border:1.5px solid #f0e9df;border-radius:14px;outline:none;padding:15px 18px;font-size:15px;transition:all .2s}.input-group input::placeholder{color:#c4b9b0}.input-group input:focus{background-color:#fff;border-color:#f38ba8;box-shadow:0 0 0 4px #f38ba81a}.login-button{color:#fff;cursor:pointer;background-color:#f38ba8;border:none;border-radius:14px;margin-top:10px;padding:16px;font-size:16px;font-weight:700;transition:background-color .2s,transform .1s}.login-button:hover{background-color:#eb7494}.login-button:active{transform:scale(.97)}.login-button:disabled{cursor:not-allowed;background-color:#ffcfdb}.error-message{color:#e53935;text-align:center;background-color:#fff0f0;border-radius:12px;padding:14px;font-size:13px;font-weight:500;line-height:1.4}.extra-links{justify-content:center;align-items:center;gap:16px;margin-top:4px;display:flex}.text-link{color:#a49687;cursor:pointer;background:0 0;border:none;padding:4px;font-size:13px;font-weight:600;transition:color .2s}.text-link:hover{color:#7b6f61;text-decoration:underline}.divider{color:#e0d9cf;font-size:12px}.sns-login{border-top:1px solid #f0e9df;margin-top:16px;padding-top:20px}.sns-login p{text-align:center;color:#b0a69a;margin-bottom:14px;font-size:12px;font-weight:500}.sns-buttons{gap:10px;display:flex}.sns-btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:14px 0;font-size:14px;font-weight:700;transition:opacity .2s,transform .1s}.sns-btn:hover{opacity:.85}.sns-btn:active{transform:scale(.95)}.sns-btn.kakao{color:#3a2929;background-color:#fee500}.sns-btn.naver{color:#fff;background-color:#03c75a}.sns-btn.google{color:#333;background-color:#fff;border:1px solid #e0d9cf}.success-screen{z-index:50;background-color:#fdf9f173;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.success-bubble-wrapper{z-index:20;opacity:0;margin-bottom:240px;animation:.5s cubic-bezier(.175,.885,.32,1.275) .1s forwards popIn;position:relative}.success-bubble-wrapper.is-leaving{animation:.45s forwards successBubbleLeave}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes successBubbleLeave{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(180px)scale(.96)}}.squirrel-img.success-anim{width:320px;margin-left:-160px;animation:.8s cubic-bezier(.34,1.56,.64,1) .3s forwards slideUpFromBottom;position:absolute;bottom:-400px;left:50%}.squirrel-img.success-anim.is-leaving{animation:.45s forwards successCharacterLeave}@keyframes slideUpFromBottom{to{bottom:-24px}}@keyframes successCharacterLeave{0%{opacity:1;bottom:-24px}to{opacity:0;bottom:-320px}}
