@import url(https://fonts.googleapis.com/css2?family=Pretendard:wght@300;400;500;600;700;800&display=swap);:root{--primary-gradient:linear-gradient(135deg,#6366f1,#a855f7 50%,#ec4899);--secondary-gradient:linear-gradient(135deg,#3b82f6,#2dd4bf);--surface-gradient:linear-gradient(180deg,#ffffffb3,#fff6);--kakao-yellow:#fee500;--kakao-gradient:linear-gradient(135deg,#fee500,#ffeb3b);--line-1:#0052a4;--line-2:#009d3e;--line-3:#ef7c1c;--line-4:#00a5de;--line-5:#996cac;--line-6:#cd7c2f;--line-7:#747f00;--line-8:#e6186c;--line-9:#bdb092;--glass-bg:#ffffffb3;--glass-border:#ffffff80;--glass-shadow:0 8px 32px 0 #1f268712;--glass-blur:blur(20px);--glass-saturation:180%;--text-primary:#030213;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--radius-xl:24px;--radius-lg:16px;--radius-md:12px;--header-height:60px;--composer-padding:8px 16px;--composer-gap:8px;--composer-bg:#ffffffe6;--composer-form-height:40px;--composer-form-padding:4px 10px;--composer-form-gap:6px;--composer-form-bg:#f1f3f5;--composer-form-bg-focus:#fff;--composer-form-radius:20px;--composer-form-border-focus:#a855f7;--composer-input-padding:0px 6px;--composer-input-min-height:28px;--composer-input-max-height:100px;--composer-input-font-size:14px;--composer-input-line-height:28px;--composer-btn-size:32px;--composer-btn-icon-color:#9ca3af;--composer-btn-hover-bg:#a855f71a;--composer-btn-hover-color:#a855f7;--composer-send-bg:#dee2e6;--composer-send-bg-active:#a855f7;--emoji-picker-bg:#fff;--emoji-picker-radius:16px;--emoji-picker-padding:12px;--emoji-picker-gap:8px;--emoji-item-size:36px;--emoji-item-hover-bg:#f3e8ff}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}body{background:#f8fafc;color:#030213;color:var(--text-primary);font-family:Pretendard,sans-serif;margin:0;min-height:100vh;overflow-x:hidden}.animated-bg-container{background:linear-gradient(to bottom right,#f9fafb,#fff,#f3f4f6);inset:0;overflow:hidden;position:fixed;z-index:-10}.orb{animation-iteration-count:infinite;animation-timing-function:ease-in-out;border-radius:50%;filter:blur(60px);opacity:.4;position:absolute}.orb-1{animation-duration:20s;animation-name:float-1;background:linear-gradient(135deg,#6366f1,#a855f7 50%,#ec4899);height:24rem;left:10%;top:10%;width:24rem}.orb-2{animation-duration:15s;animation-name:float-2;background:linear-gradient(135deg,#ec4899,#a855f7);height:20rem;right:5%;top:60%;width:20rem}.orb-3{animation-duration:18s;animation-name:float-3;background:linear-gradient(135deg,#a855f7,#6366f1);bottom:5%;height:18rem;left:30%;width:18rem}@keyframes float-1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(100px,50px) scale(1.1)}}@keyframes float-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-80px,-60px) scale(1.2)}}@keyframes float-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-50px,40px) scale(1.15)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%{box-shadow:0 0 0 0 #22c55e66}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 0 0 #22c55e00}}.loading{align-items:center;background:#f8fafc;display:flex;flex-direction:column;font-weight:600;gap:16px;height:100vh;justify-content:center}.loading,.loading p{color:#4b5563;color:var(--text-secondary)}.loading p{font-size:15px;margin:0}.spinner{animation:spin .8s linear infinite;border:3px solid #a855f71a;border-radius:50%;border-top-color:#a855f7;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.loading-inline{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center}.loading-inline p{color:#4b5563;color:var(--text-secondary);font-size:15px;margin:0}.welcome-notice{background:linear-gradient(135deg,#6366f10d,#a855f70d);border:1px solid #6366f11a;border-radius:16px;margin:16px;padding:24px 20px;text-align:center}.welcome-date{color:#9ca3af;color:var(--text-tertiary);font-size:13px;font-weight:500;margin-bottom:12px}.welcome-message{color:#030213;color:var(--text-primary);font-size:16px;line-height:1.5;margin-bottom:12px}.welcome-message strong{color:#6366f1;font-weight:700}.welcome-warning{color:#4b5563;color:var(--text-secondary);font-size:13px;line-height:1.6;opacity:.85}.empty-state{align-items:center;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;padding:40px 20px}.empty-icon{font-size:48px;margin-bottom:8px;opacity:.5}.empty-title{color:#030213;color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.empty-subtitle{color:#9ca3af;color:var(--text-tertiary);font-size:14px;line-height:1.5;margin:0;text-align:center}.empty-state-inline{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;opacity:.5;padding:40px 20px}.empty-icon-small{font-size:32px}.empty-text{color:#9ca3af;color:var(--text-tertiary);font-size:14px;margin:0}.auth-check-loading{background:#fff;inset:0;position:fixed;z-index:9999}.home-header{align-items:center;background:#0000;display:flex;flex-direction:column;padding:0 24px 20px;text-align:center}.home-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#a855f7 50%,#ec4899);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin:0 0 12px}.modal-footer-text{color:#9ca3af;color:var(--text-tertiary);font-size:13px;font-weight:500;margin:24px 0 0}.home-description{color:#030213;color:var(--text-primary);font-size:16px;font-weight:500;margin:0 0 8px}.home-subtitle{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff80;border-radius:100px;color:#4b5563;color:var(--text-secondary);display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:4px 12px}.sort-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff6;border:1px solid #fff9;border-radius:100px;box-shadow:0 4px 12px #00000008;display:flex;margin:0 20px 20px;padding:4px;position:-webkit-sticky;position:sticky;top:20px;z-index:50}.sort-tab{background:#0000;border:none;border-radius:100px;color:#9ca3af;color:var(--text-tertiary);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .3s cubic-bezier(.4,0,.2,1)}.sort-tab.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#030213;color:var(--text-primary);transform:scale(1.02)}.subway-lines-list{grid-gap:16px;display:grid;gap:16px;padding:0 20px 24px}.subway-line-item{align-items:center;animation:fadeInUp .5s ease backwards;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffb3;border:1px solid #ffffff80;border-radius:24px;border-radius:var(--radius-xl);cursor:pointer;display:flex;justify-content:space-between;overflow:hidden;padding:14px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.subway-line-item:before{background:linear-gradient(90deg,#fff6,#fff0);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s}.subway-line-item:hover{background:#ffffffd9;transform:translateY(-4px) scale(1.01)}.subway-line-item:hover:before{opacity:1}.subway-line-item:active{transform:scale(.98)}.subway-line-item:first-child{animation-delay:.05s}.subway-line-item:nth-child(2){animation-delay:.1s}.subway-line-item:nth-child(3){animation-delay:.15s}.subway-line-item:nth-child(4){animation-delay:.2s}.subway-line-item:nth-child(5){animation-delay:.25s}.subway-line-item:nth-child(6){animation-delay:.3s}.subway-line-item:nth-child(7){animation-delay:.35s}.subway-line-item:nth-child(8){animation-delay:.4s}.subway-line-item:nth-child(9){animation-delay:.45s}.line-indicator{border-radius:18px;box-shadow:0 4px 12px #00000026;color:#fff;font-size:20px;font-weight:800;height:56px;justify-content:center;margin-right:20px;min-width:56px;width:56px}.line-indicator,.line-info{align-items:center;display:flex;z-index:1}.line-info{flex:1 1;gap:12px}.line-name{color:#030213;color:var(--text-primary);font-size:18px;font-weight:700;margin:0}.active-users-group{align-items:center;display:flex;gap:6px;margin-left:auto;white-space:nowrap}.active-users-text{color:#4b5563;color:var(--text-secondary);font-size:14px;font-weight:600}.pulse-dot{animation:pulse-glow 2s infinite;background:#10b981;border-radius:50%;height:8px;width:8px}.inactive-users{color:#9ca3af;color:var(--text-tertiary);font-size:13px;font-weight:500;margin-left:auto;white-space:nowrap}.chat-container{background:#f8fafc;bottom:0;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;top:0}.chat-container,.chat-header{display:flex;left:0;position:fixed;right:0}.chat-header{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd9;border-bottom:1px solid #0000000d;gap:12px;height:60px;height:var(--header-height);padding:0 16px;top:0!important;transform:none!important;z-index:200}.chat-back-btn{align-items:center;border-radius:12px;color:#030213;color:var(--text-primary);display:flex;height:40px;justify-content:center;margin-right:-4px;text-decoration:none;width:40px}.chat-back-btn:active{background:#0000000d}.chat-line-badge{align-items:center;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#fff;font-size:16px;font-weight:700;height:40px;width:40px}.chat-line-badge,.chat-title-group{display:flex;justify-content:center}.chat-title-group{flex-direction:column}.operating-hours-banner{align-items:center;animation:slideDown .3s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#000000b3;color:#fff;display:flex;gap:12px;left:0;padding:12px 16px;position:absolute;right:0;top:60px;z-index:90}.banner-icon{font-size:1.2rem}.banner-text{display:flex;flex-direction:column;font-size:.9rem}.banner-text span{font-size:.8rem;margin-top:2px;opacity:.8}.chat-title{color:#030213;color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.2;margin:0 0 2px}.chat-meta{align-items:center;color:#4b5563;color:var(--text-secondary);display:flex;font-size:12px;font-weight:500;gap:6px}.pulse-dot-small{animation:pulse-glow 2s infinite;background:#10b981;border-radius:50%;height:6px;width:6px}.chat-subtitle{color:#4b5563;color:var(--text-secondary);font-size:11px;font-weight:500}.chat-messages{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:12px;margin-top:60px;margin-top:var(--header-height);min-height:0;overflow-y:auto;padding:20px 16px}.message-wrapper{align-items:flex-end;animation:fadeInUp .3s cubic-bezier(.2,.8,.2,1);display:flex;gap:8px;max-width:85%}.message-wrapper.my-message{align-self:flex-end;flex-direction:row-reverse}.message-content{display:flex;flex-direction:column;gap:2px}.message-bubble{border-radius:18px;box-shadow:0 2px 4px #00000005;font-size:15px;line-height:1.5;padding:12px 16px;position:relative}.message-bubble.other{background:#f3e8ff;border-bottom-left-radius:4px;color:#030213;color:var(--text-primary)}.message-bubble.my{background:#a855f7;border-bottom-right-radius:4px;box-shadow:0 4px 12px #a855f74d;color:#fff}.message-username{font-size:11px;margin-bottom:2px;margin-left:4px}.message-nickname,.message-username{color:#4b5563;color:var(--text-secondary);font-weight:600}.message-nickname{font-size:12px;margin-bottom:4px}.message-wrapper.my-message .message-nickname{color:#a855f7;text-align:right}.message-meta{align-items:center;display:flex;gap:8px;margin-top:4px}.message-time{color:#9ca3af;color:var(--text-tertiary);font-size:10px;margin:0 4px}.message-wrapper.my-message .message-time{text-align:right}.message-delete-btn{background:#a855f714;border:1px solid #a855f733;border-radius:12px;color:#a855f7;cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px;transition:all .2s}.message-delete-btn:hover{background:#a855f726;border-color:#a855f74d;transform:translateY(-1px)}.message-delete-btn:active{transform:scale(.95)}.system-message{animation:fadeInUp .3s cubic-bezier(.2,.8,.2,1);display:flex;justify-content:center;margin:16px 0}.system-message span{background:#a855f71a;border-radius:12px;color:#9ca3af;color:var(--text-tertiary);font-size:13px;font-weight:500;padding:6px 16px}.system-notice{align-items:center;animation:fadeInUp .3s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;margin:8px 0 16px}.system-notice span{color:#9ca3af;color:var(--text-tertiary);font-size:12px;line-height:1.6;padding:2px 0;text-align:center}.date-divider{display:flex;justify-content:center;margin:24px 0}.date-divider span{background:#0000000d;border-radius:100px;color:#4b5563;color:var(--text-secondary);font-size:11px;font-weight:600;padding:6px 16px}.chat-composer{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;background:var(--composer-bg);border-top:1px solid #0000000d;bottom:0;display:flex;flex-direction:column;gap:8px;gap:var(--composer-gap);left:0;padding:8px 16px;padding:var(--composer-padding);padding-bottom:max(12px,env(safe-area-inset-bottom));position:fixed;right:0;transition:transform .2s cubic-bezier(.4,0,.2,1);z-index:100}.composer-form{align-items:center;background:#f1f3f5;background:var(--composer-form-bg);border:1px solid #0000;border-radius:20px;border-radius:var(--composer-form-radius);display:flex;gap:6px;gap:var(--composer-form-gap);min-height:40px;min-height:var(--composer-form-height);padding:4px 10px;padding:var(--composer-form-padding);transition:all .2s}.composer-form:focus-within{background:#fff;background:var(--composer-form-bg-focus);border-color:#a855f7;border-color:var(--composer-form-border-focus);box-shadow:0 4px 12px #a855f726}.composer-emoji-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#9ca3af;color:var(--composer-btn-icon-color);cursor:pointer;display:flex;height:32px;height:var(--composer-btn-size);justify-content:center;min-width:32px;min-width:var(--composer-btn-size);padding:0;transition:all .2s;width:32px;width:var(--composer-btn-size)}.composer-emoji-btn:hover{background:#a855f71a;background:var(--composer-btn-hover-bg);color:#a855f7;color:var(--composer-btn-hover-color)}.composer-emoji-btn:active{transform:scale(.95)}.composer-input{background:#0000;border:none;flex:1 1;font-family:inherit;font-size:14px;font-size:var(--composer-input-font-size);line-height:28px;line-height:var(--composer-input-line-height);max-height:100px;max-height:var(--composer-input-max-height);min-height:28px;min-height:var(--composer-input-min-height);outline:none;padding:0 6px;padding:var(--composer-input-padding);resize:none}.composer-image-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#9ca3af;color:var(--composer-btn-icon-color);cursor:pointer;display:flex;height:32px;height:var(--composer-btn-size);justify-content:center;min-width:32px;min-width:var(--composer-btn-size);padding:0;transition:all .2s;width:32px;width:var(--composer-btn-size)}.composer-image-btn:hover{background:#a855f71a;background:var(--composer-btn-hover-bg);color:#a855f7;color:var(--composer-btn-hover-color)}.composer-image-btn:active{transform:scale(.95)}.composer-send{align-items:center;background:#dee2e6;background:var(--composer-send-bg);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;height:var(--composer-btn-size);justify-content:center;min-width:32px;min-width:var(--composer-btn-size);padding:0;transition:all .2s;width:32px;width:var(--composer-btn-size)}.composer-send.active{background:#a855f7;background:var(--composer-send-bg-active);box-shadow:0 2px 8px #a855f74d;transform:scale(1.05)}.emoji-picker-simple{grid-gap:8px;grid-gap:var(--emoji-picker-gap);animation:slideUp .2s ease;background:#fff;background:var(--emoji-picker-bg);border-radius:16px;border-radius:var(--emoji-picker-radius);bottom:100%;box-shadow:0 8px 24px #00000026;display:grid;gap:8px;gap:var(--emoji-picker-gap);grid-template-columns:repeat(8,1fr);left:16px;margin-bottom:8px;padding:12px;padding:var(--emoji-picker-padding);position:absolute;z-index:1000}.emoji-item{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:20px;height:36px;height:var(--emoji-item-size);justify-content:center;padding:0;transition:all .2s;width:36px;width:var(--emoji-item-size)}.emoji-item:hover{background:#f3e8ff;background:var(--emoji-item-hover-bg);transform:scale(1.1)}.emoji-item:active{transform:scale(.95)}.reply-bar{align-items:center;background:#6366f114;border-left:3px solid #6366f1;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.reply-label{color:#6366f1;display:block;font-size:11px;font-weight:700}.reply-text{color:#4b5563;color:var(--text-secondary);font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-close{background:#0000;border:none;color:#9ca3af;color:var(--text-tertiary);padding:4px}.scroll-to-bottom{align-items:center;animation:fadeInUp .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#a855f7f2;border:none;border-radius:50%;bottom:100px;box-shadow:0 4px 16px #a855f766;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;position:fixed;right:20px;transition:all .3s cubic-bezier(.4,0,.2,1);width:48px;z-index:100}.scroll-to-bottom:hover{background:#a855f7;box-shadow:0 6px 20px #a855f780;transform:translateY(-2px)}.scroll-to-bottom:active{transform:scale(.95)}.auth-login-btn{background:linear-gradient(135deg,#6366f1,#a855f7 50%,#ec4899);background:var(--primary-gradient);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:opacity .2s}.auth-button-container{align-items:center;display:flex}.auth-user-menu{display:inline-block;position:relative}.auth-user-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #fffc;border-radius:100px;box-shadow:0 2px 8px #0000000d;color:#030213;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.auth-user-button:hover{background:#fffc;box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.auth-user-button:active{transform:scale(.98)}.auth-dropdown{animation:slideUp .2s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff80;border-radius:16px;box-shadow:0 10px 40px #0000001a;margin-top:8px;min-width:180px;padding:8px;position:absolute;right:0;top:100%;z-index:1000}.auth-dropdown-item{background:#0000;border:none;border-radius:8px;color:#030213;color:var(--text-primary);cursor:pointer;display:block;font-size:14px;padding:10px 12px;text-align:left;transition:background .2s;width:100%}.auth-dropdown-item:hover{background:#0000000a}.auth-user-info{border-bottom:1px solid #0000000d;cursor:default;font-weight:600;margin-bottom:4px}.auth-user-info:hover{background:#0000}.auth-logout-btn{color:#ef4444;font-weight:500}.modal-overlay{background:#0006;z-index:1000}.modal-overlay-purple{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#a78bfa4d,#c084fc66 50%,#d8b4fe4d);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border:1px solid #ffffff80;border-radius:32px;box-shadow:0 20px 40px #0003;max-width:400px;padding:40px 32px}.modal-content,.modal-content-new{animation:scaleIn .3s cubic-bezier(.175,.885,.32,1.275);position:relative;width:90%}.modal-content-new{background:#fff;border-radius:28px;box-shadow:0 24px 48px #00000026;max-width:380px;padding:48px 32px 32px;text-align:center}.modal-icon-wrapper{display:flex;justify-content:center;margin-bottom:24px}.lock-icon-container{align-items:center;background:#f3f4f6;border-radius:20px;display:flex;height:80px;justify-content:center;position:relative;width:80px}.lock-icon{position:relative;z-index:1}.check-badge{align-items:center;background:#fff;border-radius:50%;bottom:-4px;box-shadow:0 2px 8px #0000001a;display:flex;height:24px;justify-content:center;position:absolute;right:-4px;width:24px;z-index:2}.modal-title-new{color:#030213;color:var(--text-primary);font-size:26px;font-weight:800;margin:0 0 12px}.modal-desc-new{color:#4b5563;color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0 0 32px}.login-buttons-new{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.login-btn-kakao{align-items:center;background:#fee500;border:none;border-radius:14px;box-shadow:0 4px 12px #fee5004d;color:#3c1e1e;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:8px;justify-content:center;padding:16px;transition:all .2s;width:100%}.login-btn-kakao:hover{box-shadow:0 6px 16px #fee50066;transform:translateY(-2px)}.login-btn-kakao:active{transform:translateY(0)}.btn-icon-kakao{font-size:20px}.btn-text-kakao{font-size:15px}.login-btn-anonymous{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;color:#030213;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:16px;transition:all .2s;width:100%}.login-btn-anonymous:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-2px)}.login-btn-anonymous:active{transform:translateY(0)}.btn-icon-anonymous{font-size:20px}.btn-text-anonymous{font-size:15px}.modal-later-link{background:#0000;border:none;color:#9ca3af;color:var(--text-tertiary);cursor:pointer;font-size:14px;font-weight:500;padding:8px;transition:color .2s}.modal-later-link:hover{color:#4b5563;color:var(--text-secondary)}.modal-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#9ca3af;color:var(--text-tertiary);cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:20px;top:20px;transition:background .2s}.modal-close:hover{background:#0000000d;color:#4b5563;color:var(--text-secondary)}.modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#a855f7 50%,#ec4899);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-weight:800}.modal-desc{margin:0 0 32px}.login-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.login-btn{align-items:center;border:none;border-radius:16px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;padding:16px;transition:all .2s;width:100%}.login-btn.anonymous{background:#fff9;border:1px solid #0000001a;color:#030213;color:var(--text-primary)}.login-btn.anonymous:hover{background:#ffffffe6;transform:translateY(-2px)}.login-btn.kakao{background:linear-gradient(135deg,#fee500,#ffeb3b);background:var(--kakao-gradient);box-shadow:0 4px 12px #fee5004d;color:#3c1e1e}.login-btn.kakao:hover{box-shadow:0 8px 16px #fee50066;transform:translateY(-2px)}.modal-footer{color:#9ca3af;color:var(--text-tertiary);font-size:13px;margin:0}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.header{margin:0;padding:16px 0 0;position:relative}.header-content{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:0 20px}.header h1{cursor:pointer;margin:0;transition:opacity .2s}.header h1:hover{opacity:.8}.share-button{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffb3;border:1px solid #ffffff80;border-radius:12px;color:#4b5563;color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.share-button:hover{background:#ffffffe6;box-shadow:0 4px 12px #0000001a;color:#030213;color:var(--text-primary);transform:translateY(-2px)}.share-button:active{transform:scale(.95)}.toast-message{animation:slideDown .3s ease,fadeOut .3s ease 1.7s forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10b981f2;border-radius:12px;box-shadow:0 8px 24px #00000026;color:#fff;font-size:14px;font-weight:600;left:50%;padding:12px 24px;position:fixed;top:80px;transform:translateX(-50%);z-index:10000}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes fadeOut{to{opacity:0;transform:translateX(-50%) translateY(-10px)}}.dev-control-trigger{align-items:center;background:#333;border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;position:fixed;right:20px;transition:transform .2s;width:44px;z-index:10000}.dev-control-trigger:hover{transform:scale(1.1)}.dev-control-panel{animation:fadeInUp .2s ease-out;background:#fff;border:1px solid #eee;border-radius:16px;bottom:80px;box-shadow:0 10px 25px #0003;overflow:hidden;position:fixed;right:20px;width:240px;z-index:10000}.dev-control-header{align-items:center;background:#f8fafc;border-bottom:1px solid #eee;color:#333;display:flex;font-size:13px;font-weight:700;justify-content:space-between;padding:12px 16px}.dev-control-header .close-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:4px}.dev-control-content{display:flex;flex-direction:column;padding:8px}.mode-option{align-items:center;border-radius:8px;color:#555;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:10px 12px;transition:background .2s}.mode-option:hover{background:#f1f5f9}.mode-option.active{background:#f0fdf4;color:#15803d;font-weight:600}.dev-control-footer{background:#fafafa;border-top:1px solid #eee;color:#999;font-size:11px;padding:8px 16px;text-align:center}.closed-modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.closed-modal{animation:modalSlideUp .4s ease;background:linear-gradient(180deg,#fffffff2,#ffffffe6);border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:380px;padding:32px 24px;text-align:center;width:90%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-icon{animation:iconBounce 2s ease-in-out infinite;font-size:56px;margin-bottom:16px}@keyframes iconBounce{0%,to{transform:scale(1) rotate(0deg)}25%{transform:scale(1.1) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}}.modal-title{color:#030213;color:var(--text-primary);font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 12px}.modal-desc{color:#4b5563;color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0 0 24px}.modal-desc strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;background-clip:text;color:#030213;color:var(--text-primary);font-weight:700}.trivia-card{background:linear-gradient(135deg,#6366f114,#a855f714);border:1px solid #6366f133;border-radius:16px;margin:0 0 20px;padding:16px;transition:all .3s ease}.trivia-header{margin-bottom:12px}.trivia-badge{background:#6366f126;border-radius:12px;color:#6366f1;display:inline-block;font-size:12px;font-weight:700;padding:4px 10px}.trivia-content{text-align:left}.trivia-title{color:#030213;color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.4;margin:0 0 8px}.trivia-text{color:#4b5563;color:var(--text-secondary);font-size:13px;line-height:1.6;margin:0}.header-buttons{align-items:center;display:flex;gap:8px}.feedback-button-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #ffffff80;border-radius:12px;box-shadow:0 4px 16px #0000000f;cursor:pointer;display:flex;justify-content:center;padding:10px;transition:all .3s ease}.feedback-button-icon:hover{background:#fff;box-shadow:0 6px 24px #a855f733;transform:translateY(-2px)}.feedback-button-icon:active{transform:scale(.95)}.feedback-button-icon svg{color:#6366f1;transition:color .3s ease}.feedback-button-icon:hover svg{color:#a855f7}.feedback-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.feedback-modal{background:#fff;border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000004d;max-width:500px;overflow:hidden;width:100%}.feedback-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.feedback-modal-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#a855f7 50%,#ec4899);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;color:#030213;color:var(--text-primary);font-size:18px;font-weight:700;margin:0}.feedback-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#9ca3af;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:24px;justify-content:center;padding:4px;transition:all .2s ease}.feedback-modal-close:hover{background:#f3f4f6;color:#030213;color:var(--text-primary)}.feedback-modal-close:disabled{cursor:not-allowed;opacity:.5}.feedback-modal-body{padding:24px}.feedback-modal-description{color:#4b5563;color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 16px}.feedback-textarea{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;border-radius:var(--radius-md);color:#030213;color:var(--text-primary);font-family:Pretendard,-apple-system,sans-serif;font-size:14px;max-height:300px;min-height:150px;padding:12px;resize:vertical;transition:all .3s ease;width:100%}.feedback-textarea:focus{background:#fff;border-color:#a855f7;box-shadow:0 0 0 4px #a855f71a;outline:none}.feedback-textarea:disabled{cursor:not-allowed;opacity:.6}.feedback-char-count,.feedback-textarea::placeholder{color:#9ca3af;color:var(--text-tertiary)}.feedback-char-count{font-size:12px;margin-top:8px;text-align:right}.feedback-error{background:#fee2e2;border-left:3px solid #ef4444;border-radius:8px;color:#ef4444;font-size:13px;margin-top:8px;padding:8px 12px}.feedback-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;padding:16px 24px}.feedback-button{border:none;border-radius:12px;border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-family:Pretendard,-apple-system,sans-serif;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.feedback-button-cancel{background:#fff;border:1px solid #e5e7eb;color:#4b5563;color:var(--text-secondary)}.feedback-button-cancel:hover{background:#f3f4f6;border-color:#d1d5db}.feedback-button-submit{background:linear-gradient(135deg,#6366f1,#a855f7 50%,#ec4899);background:var(--primary-gradient);box-shadow:0 4px 16px #a855f74d;color:#fff}.feedback-button-submit:hover:not(:disabled){box-shadow:0 6px 24px #a855f766;transform:translateY(-2px)}.feedback-button-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.feedback-button:active:not(:disabled){transform:scale(.98)}@media (max-width:768px){.feedback-modal{margin:0 16px;max-width:calc(100vw - 32px)}.feedback-modal-header{padding:16px 20px}.feedback-modal-body{padding:20px}.feedback-modal-footer{padding:12px 20px}.feedback-textarea{min-height:120px}}.modal-overlay{align-items:center;animation:fadeIn .3s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.modal-content{animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:24px;box-shadow:0 20px 50px #0003;max-width:320px;padding:32px 24px;text-align:center;transform:translateY(0);width:100%}.modal-icon{animation:wave 2s infinite;display:inline-block;font-size:48px;margin-bottom:20px}.modal-content h2{color:#1f2937;font-size:20px;font-weight:700;margin:0 0 12px}.modal-content p{color:#4b5563;font-size:15px;line-height:1.6;margin:0 0 24px}.modal-subtext{background:#f3f4f6;border-radius:8px;color:#6b7280!important;display:inline-block;font-size:13px!important;font-weight:500;margin-bottom:24px!important;padding:8px 12px}.modal-button{background:linear-gradient(135deg,#6366f1,#a855f7);border:none;border-radius:16px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:14px;transition:transform .2s;width:100%}.modal-button:active{transform:scale(.96)}@keyframes wave{0%,to{transform:rotate(0deg)}25%{transform:rotate(15deg)}75%{transform:rotate(-10deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.footer{color:#9ca3af;color:var(--text-tertiary);font-size:13px;margin-top:auto;padding:24px 20px 40px;text-align:center}.footer,.toast{font-weight:500}.toast{align-items:center;animation:slideUp .3s ease-out;background:#1e293b;border-radius:12px;bottom:24px;box-shadow:0 8px 24px #0003;color:#fff;cursor:pointer;display:flex;font-size:.95rem;gap:12px;left:50%;max-width:90%;padding:14px 20px;position:fixed;transform:translateX(-50%);word-break:keep-all;z-index:10000}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.toast-message{flex:1 1;line-height:1.4}.toast-success{background:linear-gradient(135deg,#10b981,#059669)}.toast-success .toast-icon{background:#fff3}.toast-error{background:linear-gradient(135deg,#ef4444,#dc2626)}.toast-error .toast-icon{background:#fff3}.toast-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.toast-warning .toast-icon{background:#fff3}.toast-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.toast-info .toast-icon{background:#fff3}@media (max-width:768px){.toast{bottom:80px;font-size:.9rem;max-width:calc(100% - 32px);padding:12px 16px}}
/*# sourceMappingURL=main.b79757b2.css.map*/