:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;text-decoration:inherit}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button:focus,button:focus-visible{outline:none}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}}.title-container{width:100vw;height:100vh;background:linear-gradient(to bottom,#f5e6e8,#faf3f3);position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center}.decoration{position:absolute;pointer-events:none}.decoration-top-left{top:-40px;left:-40px;width:250px;height:250px}.decoration-bottom-right{bottom:-40px;right:-40px;width:280px;height:280px}.blob{position:absolute;border-radius:40% 60% 70% 30%/40% 50% 60%;animation-iteration-count:infinite;animation-timing-function:ease-in-out}.blob-1{width:150px;height:150px;background-color:#a52a44;top:0;left:0;animation:blob-morph-1 8s infinite,blob-rotate-1 12s infinite}.blob-2{width:120px;height:120px;background-color:#e8a5b5;top:30px;left:50px;animation:blob-morph-2 10s infinite,blob-rotate-2 15s infinite}.blob-3{width:170px;height:170px;background-color:#a52a44;bottom:0;right:0;animation:blob-morph-3 9s infinite,blob-rotate-3 13s infinite}.blob-4{width:140px;height:140px;background-color:#f5c2d0;bottom:40px;right:60px;animation:blob-morph-4 11s infinite,blob-rotate-4 16s infinite}@keyframes blob-morph-1{0%,to{border-radius:40% 60% 70% 30%/40% 50% 60%}25%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}75%{border-radius:70% 30% 40% 60%/40% 70% 50% 30%}}@keyframes blob-morph-2{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}33%{border-radius:30% 60% 70% 40%/50% 60% 30%}66%{border-radius:70% 30% 40% 60%/40% 70% 50% 30%}}@keyframes blob-morph-3{0%,to{border-radius:30% 60% 70% 40%/50% 60% 30%}30%{border-radius:70% 30% 40% 60%/40% 70% 50% 30%}60%{border-radius:40% 60% 70% 30%/40% 50% 60%}}@keyframes blob-morph-4{0%,to{border-radius:70% 30% 40% 60%/40% 70% 50% 30%}40%{border-radius:40% 60% 70% 30%/40% 50% 60%}80%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}}@keyframes blob-rotate-1{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}}@keyframes blob-rotate-2{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(-180deg) scale(.95)}}@keyframes blob-rotate-3{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(160deg) scale(1.08)}}@keyframes blob-rotate-4{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(-160deg) scale(.92)}}.logo-container{position:relative;z-index:10;display:flex;justify-content:center;align-items:center}.logo-placeholder{width:250px;height:250px;display:flex;justify-content:center;align-items:center}@media(min-width:768px){.decoration-top-left{top:-60px;left:-60px;width:400px;height:400px}.decoration-bottom-right{bottom:-60px;right:-60px;width:450px;height:450px}.blob-1{width:250px;height:250px}.blob-2{width:200px;height:200px;top:50px;left:80px}.blob-3{width:280px;height:280px}.blob-4{width:220px;height:220px;bottom:60px;right:100px}.logo-placeholder{width:350px;height:350px}}@media(min-width:1280px){.decoration-top-left{top:-80px;left:-80px;width:500px;height:500px}.decoration-bottom-right{bottom:-80px;right:-80px;width:550px;height:550px}.blob-1{width:320px;height:320px}.blob-2{width:250px;height:250px;top:60px;left:100px}.blob-3{width:350px;height:350px}.blob-4{width:280px;height:280px;bottom:70px;right:120px}.logo-placeholder{width:400px;height:400px}}.home-container{width:100vw;min-height:100vh;padding:40px 20px;display:flex;flex-direction:column;align-items:center;position:relative}.top-right-controls{position:fixed;top:20px;right:20px;display:flex;flex-direction:column;gap:10px;align-items:center;z-index:100}.notification-button{width:40px;height:40px;background-color:transparent;border:none;cursor:pointer;padding:0;transition:transform .3s ease;display:flex;justify-content:center;align-items:center;position:relative}.notification-button:hover{transform:scale(1.2);transition:transform .2s ease}.settings-image{width:24px;height:24px;object-fit:contain}.settings-button{width:40px;height:40px;background-color:transparent;border:none;font-size:20px;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .3s ease}.settings-button:hover{transform:rotate(30deg)}.settings-menu-container{position:relative}.settings-dropdown{position:absolute;top:50px;right:0;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;min-width:150px;overflow:hidden}.settings-dropdown button{padding:12px 20px;border:none;background:none;text-align:left;font-size:14px;cursor:pointer;transition:background-color .2s}.settings-dropdown button:hover{background-color:#f9f9f9}.settings-dropdown .leave-button{color:#f44336;border-top:1px solid #eee}.settings-dropdown .leave-button:hover{background-color:#fff1f0}.notification-image{width:24px;height:24px;object-fit:contain}.notification-dot{position:absolute;top:5px;right:5px;width:10px;height:10px;background-color:#f44336;border-radius:50%;border:2px solid #ffffff;animation:pulse 2s ease-in-out infinite}.emotion-container{width:100%;max-width:700px;padding:40px 60px;border:2px solid #a52a44;border-radius:16px;background-color:#fff;margin-bottom:40px}.emotion-title{font-size:20px;font-weight:700;color:#a52a44;text-align:center;margin-bottom:40px}.slider-container{margin-bottom:40px}.emotions-display{display:flex;justify-content:space-around;align-items:center;margin-bottom:30px;height:100px}.emotion-item{display:flex;flex-direction:column;align-items:center;gap:10px;transition:all .3s ease;opacity:.5}.emotion-item.selected{opacity:1;transform:scale(1.2)}.emotion-image{width:60px;height:60px;object-fit:contain;transition:all .3s ease}.emotion-item.selected .emotion-image{width:72px;height:72px}.slider-input{width:100%;height:8px;-webkit-appearance:none;appearance:none;border-radius:4px;outline:none;cursor:pointer;position:relative}.slider-input:focus{outline:none}.slider-input::-webkit-slider-runnable-track{width:100%;height:8px;border-radius:4px}.slider-input::-moz-range-track{width:100%;height:8px;border-radius:4px}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;background-color:#a52a44;border-radius:50%;cursor:grab;box-shadow:0 2px 10px #a52a4480;border:3px solid #ffffff;margin-top:-10px;transition:transform .2s ease,box-shadow .2s ease}.slider-input::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 12px #a52a4499}.slider-input:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.1)}.slider-input::-moz-range-thumb{width:28px;height:28px;background-color:#a52a44;border-radius:50%;cursor:grab;border:3px solid #ffffff;box-shadow:0 2px 10px #a52a4480;transition:transform .2s ease,box-shadow .2s ease}.slider-input::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 3px 12px #a52a4499}.slider-input:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.1)}.comment-section{display:flex;gap:12px;align-items:center}.comment-input{flex:1;height:48px;padding:0 20px;font-size:16px;border:2px solid #e0e0e0;border-radius:24px;outline:none;transition:border-color .3s}.comment-input:focus{border-color:#a52a44;outline:none}.submit-button-outer{width:100%;max-width:700px;height:64px;background-color:#a52a44;color:#fff;font-size:20px;font-weight:600;border:none;border-radius:32px;cursor:pointer;transition:all .3s ease;margin-bottom:40px;display:flex;justify-content:center;align-items:center;gap:12px}.submit-button-outer:hover:not(.sent){background-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d}.submit-button-outer.sent{background-color:#4caf50}.submit-button-outer:focus{outline:none}.send-button-icon{width:24px;height:24px;object-fit:contain;filter:brightness(0) invert(1)}.checkmark{color:#fff;font-size:18px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.schedules-container{width:100%;max-width:700px;margin-bottom:40px}.schedules-list{display:flex;flex-direction:column;gap:12px}.schedule-card{width:100%;padding:20px 25px;background-color:#fff9f9;border:2px solid #ef9a9a;border-radius:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .3s ease}.schedule-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef9a9a33;background-color:#fff}.schedule-card-content{display:flex;flex-direction:column;gap:4px}.schedule-sender{font-size:14px;color:#a52a44}.schedule-type{font-size:16px;font-weight:600;color:#424242}.schedule-arrow{font-size:20px;color:#ef9a9a;font-weight:700}.family-history{width:100%;max-width:700px;padding:30px;border:2px solid #a52a44;border-radius:16px;background-color:#fff;margin-bottom:60px}.history-title{font-size:18px;font-weight:600;color:#a52a44;margin-bottom:20px}.history-items{display:flex;flex-direction:column;gap:14px}.history-item-card{display:flex;align-items:center;gap:12px;padding:0;background-color:transparent;border-radius:0;border:none}.history-dot{width:16px;height:16px;min-width:16px;border-radius:50%;flex-shrink:0}.history-content{flex:1;font-size:15px;color:#424242;line-height:1.5}.history-time-badge{font-size:13px;color:#999;white-space:nowrap;flex-shrink:0}.meet-button{position:relative;background:none;border:none;padding:0;cursor:pointer;display:inline-block}.meet-button img{display:block;width:500px;height:500px;object-fit:contain;animation:heartbeat 1.5s ease-in-out infinite}.meet-button .meet-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:36px;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);pointer-events:none}.meet-button:hover{transform:scale(1.05)}.meet-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);animation:shine 3s ease-in-out infinite;z-index:-1}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.05)}20%,40%{transform:scale(1)}}@keyframes shine{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.meet-button:focus{outline:none}.meet-button:focus-visible{outline:none}@media(max-width:768px){.home-container{padding:60px 30px 20px}.emotion-container,.submit-button-outer,.schedules-container,.family-history{max-width:420px}.notification-button{width:32px;height:32px}.settings-button{width:32px;height:32px;font-size:16px}.settings-dropdown{top:40px}.emotion-container{padding:25px 20px;margin-bottom:25px}.emotion-title{font-size:18px;margin-bottom:25px}.emotions-display{height:70px;margin-bottom:20px}.emotion-image{width:40px;height:40px}.emotion-item.selected .emotion-image{width:50px;height:50px}.slider-input::-webkit-slider-thumb{width:24px;height:24px;margin-top:-8px}.slider-input::-moz-range-thumb{width:24px;height:24px}.comment-input{height:44px;font-size:15px;padding:0 16px}.submit-button-outer{height:56px;font-size:18px;margin-bottom:25px}.send-button-icon{width:20px;height:20px}.family-history{padding:20px;margin-bottom:40px}.history-title{font-size:16px;margin-bottom:15px}.history-items{gap:12px}.history-item-card{padding:0}.history-dot{width:14px;height:14px;min-width:14px}.history-content{font-size:14px}.history-time-badge{font-size:12px}.meet-button img{width:280px;height:280px}.meet-button .meet-text{font-size:24px}}@media(max-width:400px){.home-container{padding:60px 25px 15px}.emotion-container,.submit-button-outer,.schedules-container,.family-history{max-width:310px}.emotion-container{padding:20px 15px}.emotion-title{font-size:16px}.emotions-display{height:60px}.emotion-image{width:35px;height:35px}.emotion-item.selected .emotion-image{width:42px;height:42px}.history-item-card{padding:0}.history-dot{width:12px;height:12px;min-width:12px}.history-content{font-size:13px}.history-time-badge{font-size:11px}.meet-button img{width:220px;height:220px}.meet-button .meet-text{font-size:20px}}.notification-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:1000}.notification-overlay.open{opacity:1;visibility:visible}.notification-drawer{position:fixed;top:0;right:-80%;width:80%;max-width:350px;height:100%;background-color:#f9f9f9;box-shadow:-2px 0 8px #00000026;transition:right .3s ease-in-out;z-index:1001;display:flex;flex-direction:column;overflow-x:hidden;box-sizing:border-box}.notification-drawer.open{right:0}.notification-drawer *{box-sizing:border-box;max-width:100%}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background-color:#fff}.drawer-header h2{font-size:20px;font-weight:600;color:#333;margin:0}.close-button{background:none;border:none;font-size:28px;cursor:pointer;color:#888;padding:0;line-height:1}.drawer-body{overflow-y:auto;overflow-x:hidden;padding:8px;flex-grow:1;width:100%}.drawer-body::-webkit-scrollbar{width:6px}.drawer-body::-webkit-scrollbar-track{background:#f5f5f5;border-radius:10px}.drawer-body::-webkit-scrollbar-thumb{background:#ef9a9a;border-radius:10px}.drawer-body::-webkit-scrollbar-thumb:hover{background:#a52a44}.notification-item{display:flex;padding:10px 12px;margin-bottom:8px;border-bottom:1px solid #e9e9e9;background-color:#fff;cursor:pointer;transition:background-color .2s ease;border-radius:8px;overflow:hidden;word-wrap:break-word;width:100%;box-sizing:border-box}.notification-item:hover{background-color:#f9f9f9}.notification-icon{width:40px;height:40px;object-fit:contain;margin-right:16px;flex-shrink:0;align-self:flex-start;margin-top:4px}.notification-emoji-icon{font-size:32px;margin-right:16px;flex-shrink:0;align-self:flex-start;margin-top:2px;line-height:1}.notification-content{flex-grow:1;min-width:0;overflow:hidden}.notification-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;width:100%}.notification-title{font-size:15px;font-weight:600;margin:0;flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word}.notification-time{font-size:12px;color:#999;margin:0;white-space:nowrap;flex-shrink:0}.notification-body{font-size:14px;color:#555;margin:0 0 6px;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.meeting-request{flex-direction:column;padding:12px}.meeting-request .notification-emoji-icon{margin-right:0;margin-bottom:8px}.notification-section{margin-top:12px;width:100%;overflow:hidden;box-sizing:border-box}.notification-label{font-size:13px;font-weight:600;color:#666;margin:0 0 8px;word-wrap:break-word;overflow-wrap:break-word}.purpose-text{padding:8px 10px;background-color:#fafafa;border-radius:6px;font-size:13px;color:#424242;border:1px solid #e0e0e0;word-wrap:break-word;overflow-wrap:break-word;width:100%;box-sizing:border-box}.date-slot-wrapper{margin-bottom:12px;padding:10px;background-color:#fafafa;border-radius:8px;border:1px solid #e0e0e0;width:100%;overflow:hidden;box-sizing:border-box}.date-header{font-size:13px;font-weight:600;margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid #a52a44;color:#a52a44;word-wrap:break-word;overflow-wrap:break-word}.time-slot-button{width:100%;padding:8px 10px;margin-bottom:6px;border:2px solid #e0e0e0;border-radius:8px;background-color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;text-align:left;word-wrap:break-word;overflow:hidden;box-sizing:border-box}.time-slot-button:hover{background-color:#f9f9f9}.time-slot-button.selected{font-weight:600}.time-slot-icon{font-size:16px;font-weight:700}.respond-button{width:100%;margin-top:12px;padding:12px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.respond-button:hover:not(:disabled){opacity:.9}.respond-button:disabled{cursor:not-allowed;opacity:.6}.no-notifications{text-align:center;color:#888;padding:40px 20px;font-size:15px}.user-name-display{font-weight:600;color:#000}.time-slot-display{font-weight:500;color:#333}@media(max-width:768px){.notification-drawer{width:75%;max-width:320px}.drawer-header{padding:14px}.drawer-header h2{font-size:17px}.close-button{font-size:22px}.drawer-body{padding:6px}.notification-item{padding:9px 10px}.notification-icon{width:34px;height:34px;margin-right:10px}.notification-emoji-icon{font-size:26px;margin-right:10px}.notification-title{font-size:13px}.notification-body{font-size:12px}.notification-time{font-size:10px}.meeting-request{padding:10px}.notification-section{margin-top:8px}.notification-label{font-size:11px;margin-bottom:6px}.purpose-text{padding:6px 8px;font-size:12px}.date-slot-wrapper{padding:8px;margin-bottom:8px}.date-header{font-size:12px;margin-bottom:6px;padding-bottom:4px}.time-slot-button{padding:7px 8px;font-size:12px;margin-bottom:4px;gap:5px}.time-slot-icon{font-size:14px}.respond-button{padding:9px;font-size:13px;margin-top:8px}}@media(max-width:480px){.notification-drawer{width:78%;max-width:none}.drawer-header{padding:12px}.drawer-header h2{font-size:16px}.close-button{font-size:20px}.drawer-body{padding:5px}.notification-item{padding:8px 9px;margin-bottom:6px}.notification-icon{width:30px;height:30px;margin-right:8px;margin-top:2px}.notification-emoji-icon{font-size:24px;margin-right:8px;margin-top:0}.notification-header{gap:5px;margin-bottom:3px}.notification-title{font-size:12px}.notification-body{font-size:11px}.notification-time{font-size:9px}.meeting-request{padding:9px}.meeting-request .notification-emoji-icon{margin-bottom:5px}.notification-section{margin-top:7px}.notification-label{font-size:10px;margin-bottom:5px}.purpose-text{padding:5px 7px;font-size:11px}.date-slot-wrapper{padding:7px;margin-bottom:6px}.date-header{font-size:11px;margin-bottom:5px;padding-bottom:3px}.time-slot-button{padding:6px 7px;font-size:11px;margin-bottom:3px;gap:4px}.time-slot-icon{font-size:13px}.respond-button{padding:8px;font-size:12px;margin-top:6px}}@media(max-width:360px){.notification-drawer{width:80%}.drawer-header{padding:10px}.drawer-header h2{font-size:15px}.close-button{font-size:18px}.drawer-body{padding:4px}.notification-item{padding:7px 8px}.notification-icon{width:28px;height:28px;margin-right:7px}.notification-emoji-icon{font-size:22px;margin-right:7px}.notification-title{font-size:11px}.notification-body{font-size:10px}.meeting-request{padding:8px}.date-slot-wrapper{padding:6px}.time-slot-button{padding:5px 6px;font-size:10px}.respond-button{padding:7px;font-size:11px}}.time-range-slider{padding:12px;background-color:#f8f9fa;border-radius:8px;margin:8px 0;border:1px solid #e0e0e0;transition:all .2s ease;-webkit-user-select:none;user-select:none}.time-range-slider:hover{background-color:#fff;border-color:#a52a44;box-shadow:0 2px 8px #a52a441a}.time-display{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;font-size:15px}.time-label{font-size:18px}.time-value{font-weight:700;color:#a52a44;background-color:#fff;padding:6px 12px;border-radius:6px;min-width:60px;text-align:center;border:2px solid #a52a44;font-size:15px}.time-separator{color:#666;font-weight:500}.time-range-slider .slider-container{position:relative;height:40px;padding:0 10px;margin-bottom:12px;display:flex;align-items:center}.time-range-slider .slider-container.disabled{opacity:.5;cursor:not-allowed}.time-range-slider .slider-track-bg{position:absolute;width:100%;height:6px;background-color:#e0e0e0;border-radius:3px;left:0;right:0}.time-range-slider .slider-track-active{position:absolute;height:6px;background-color:#a52a44;border-radius:3px;transition:left .05s ease,width .05s ease}.time-range-slider .slider-handle{position:absolute;width:20px;height:20px;background-color:#a52a44;border:2px solid #fff;border-radius:50%;transform:translate(-50%);cursor:pointer;box-shadow:0 2px 4px #a52a444d;transition:all .15s ease;z-index:2}.time-range-slider .slider-handle:hover{transform:translate(-50%) scale(1.2);box-shadow:0 3px 8px #a52a4466}.time-range-slider .slider-handle:active{transform:translate(-50%) scale(1.1)}.time-range-slider .slider-container.disabled .slider-handle{cursor:not-allowed;opacity:.5}.time-range-slider .slider-container.disabled .slider-handle:hover{transform:translate(-50%)}.slider-labels{display:flex;justify-content:space-between;font-size:11px;color:#999;padding:0 4px}.auth-container{width:100vw;height:100vh;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;margin:0;overflow:hidden;position:fixed;top:0;left:0}.auth-decoration{display:none;position:absolute;pointer-events:none}.auth-decoration-top-left{top:-150px;left:-150px;width:500px;height:500px}.auth-decoration-bottom-right{bottom:-150px;right:-150px;width:500px;height:500px}.auth-blob{position:absolute;border-radius:40% 60% 55% 45%/50% 55% 45% 50%}.auth-blob-1{width:380px;height:380px;background-color:#a52a44;top:0;left:0;opacity:.5}.auth-blob-2{width:280px;height:280px;background-color:#e8a5b5;top:120px;left:150px;opacity:.4}.auth-blob-3{width:350px;height:350px;background-color:#f5c2d0;bottom:0;right:100px;opacity:.7}.auth-blob-4{width:350px;height:350px;background-color:#a01e3a;bottom:200px;right:70px;opacity:.4}.logo-section{display:flex;flex-direction:column;align-items:center;margin-bottom:60px}.logo-placeholder{width:100px;height:100px;display:flex;justify-content:center;align-items:center;margin-bottom:18px}.logo-placeholder img{max-width:100%;max-height:100%;object-fit:contain}.app-title{display:none;font-size:26px;font-weight:700;color:#a52a44;margin:0;font-family:"Serif",Georgia,Times New Roman,serif;letter-spacing:1px}.button-section{width:100%;max-width:280px;padding:0;display:flex;flex-direction:column;gap:14px}.auth-button{width:100%;height:48px;font-size:15px;font-weight:600;border-radius:4px;border:none;cursor:pointer;transition:all .3s ease;font-family:inherit;display:flex;justify-content:center;align-items:center;gap:8px}.login-button{background-color:transparent;border:2px solid #a52a44;color:#a52a44;outline:none}.login-button:hover{background-color:#f5e6e8;border-color:#a52a44;transform:translateY(-2px);box-shadow:0 4px 12px #a52a4433}.login-button:active{border-color:#a52a44;transform:translateY(0);box-shadow:0 2px 8px #a52a4433}.login-button:focus{border-color:#a52a44;outline:none}.register-button{background-color:#a52a44;color:#fff;border:2px solid #a52a44;outline:none}.register-button:hover{background-color:#8b2339;border-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d}.register-button:active{background-color:#8b2339;border-color:#8b2339;transform:translateY(0);box-shadow:0 2px 8px #a52a444d}.register-button:focus{background-color:#a52a44;border-color:#a52a44;outline:none}.line-login-button{background-color:#00c300;color:#fff;border:2px solid #00C300;outline:none}.line-icon-wrapper{display:inline-flex;justify-content:center;align-items:center;width:24px;height:24px;background-color:transparent;border-radius:0;padding:0}.line-icon-image{width:100%;height:100%;object-fit:contain}.line-login-button:hover{background-color:#00c300;border-color:#00c300;transform:translateY(-2px);box-shadow:0 4px 12px #06c7554d}.line-login-button:active{background-color:#00c300;border-color:#00c300;transform:translateY(0);box-shadow:0 2px 8px #06c7554d}.line-login-button:focus{background-color:#00c300;border-color:#00c300;outline:none}@media(min-width:768px){.auth-decoration{display:block}.logo-section{margin-bottom:80px}.logo-placeholder{width:130px;height:130px;margin-bottom:22px}.app-title{font-size:34px;letter-spacing:1.3px}.button-section{max-width:320px;padding:0;gap:16px}.auth-button{height:52px;font-size:16px;border-radius:5px}.line-icon-wrapper{width:40px;height:40px}}@media(min-width:1280px){.logo-section{margin-bottom:100px}.logo-placeholder{width:150px;height:150px;margin-bottom:24px}.app-title{font-size:38px;letter-spacing:1.5px}.button-section{max-width:420px;gap:20px}.auth-button{height:64px;font-size:18px;border-radius:8px}.line-icon-wrapper{width:40px;height:40px}}.login-container{width:100vw;height:100vh;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;margin:0;overflow:hidden;position:fixed;top:0;left:0}.login-decoration{display:none;position:absolute;pointer-events:none}.login-decoration-top-left{top:-150px;left:-150px;width:500px;height:500px}.login-decoration-bottom-right{bottom:-150px;right:-150px;width:500px;height:500px}.login-blob{position:absolute;border-radius:40% 60% 55% 45%/50% 55% 45% 50%}.login-blob-1{width:380px;height:380px;background-color:#a52a44;top:0;left:0;opacity:.5}.login-blob-2{width:280px;height:280px;background-color:#e8a5b5;top:120px;left:150px;opacity:.4}.login-blob-3{width:350px;height:350px;background-color:#f5c2d0;bottom:0;right:100px;opacity:.7}.login-blob-4{width:350px;height:350px;background-color:#a01e3a;bottom:200px;right:70px;opacity:.4}.login-content{width:100%;max-width:320px;padding:20px;display:flex;flex-direction:column;align-items:center;z-index:10}.login-logo-section{margin-bottom:40px;display:flex;justify-content:center}.login-logo-placeholder{width:120px;height:120px;display:flex;justify-content:center;align-items:center}.login-logo-placeholder img{max-width:100%;max-height:100%;object-fit:contain}.login-form{width:100%;display:flex;flex-direction:column;gap:24px}.login-form-group{display:flex;flex-direction:column;gap:8px}.login-label-row{display:flex;justify-content:space-between;align-items:baseline}.login-label{font-size:14px;font-weight:600;color:#a52a44}.login-password-hint{font-size:11px;color:#d32f2f;font-weight:500}.login-input{width:100%;height:48px;padding:0 16px;font-size:14px;border:2px solid #a52a44;border-radius:4px;outline:none;transition:border-color .3s;box-sizing:border-box}.login-input:focus{border-color:#8b2339}.login-input::placeholder{color:#bdbdbd}.login-forgot-link{align-self:flex-end;font-size:12px;color:#a52a44;text-decoration:underline;background:none;border:none;cursor:pointer;padding:4px 0;margin-top:4px}.login-forgot-link:hover{color:#8b2339}.login-submit-button{width:100%;height:52px;background-color:#a52a44;color:#fff;font-size:16px;font-weight:600;border:2px solid #a52a44;border-radius:4px;cursor:pointer;transition:all .3s ease;margin-top:8px;outline:none}.login-submit-button:hover{background-color:#8b2339;border-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d}.login-submit-button:active{background-color:#8b2339;border-color:#8b2339;transform:translateY(0);box-shadow:0 2px 8px #a52a444d}.login-submit-button:focus{background-color:#a52a44;border-color:#a52a44;outline:none}.login-register-link{font-size:14px;color:#a52a44;text-decoration:underline;background:none;border:none;cursor:pointer;padding:16px 0;margin-top:16px}.login-register-link:hover{color:#8b2339}.login-register-link:focus{outline:none}@media(min-width:768px){.login-decoration{display:block}.login-content{max-width:360px}.login-logo-section{margin-bottom:50px}.login-logo-placeholder{width:140px;height:140px}.login-input{height:52px;font-size:15px}.login-submit-button{height:56px;font-size:17px}}@media(min-width:1280px){.login-content{max-width:400px}.login-logo-section{margin-bottom:60px}.login-logo-placeholder{width:160px;height:160px}.login-input{height:56px;font-size:16px}.login-submit-button{height:60px;font-size:18px}}.register-container{width:100vw;height:100vh;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;margin:0;overflow:hidden;position:fixed;top:0;left:0}.register-decoration{display:none;position:absolute;pointer-events:none}.register-decoration-top-left{top:-150px;left:-150px;width:500px;height:500px}.register-decoration-bottom-right{bottom:-150px;right:-150px;width:500px;height:500px}.register-blob{position:absolute;border-radius:40% 60% 55% 45%/50% 55% 45% 50%}.register-blob-1{width:380px;height:380px;background-color:#a52a44;top:0;left:0;opacity:.5}.register-blob-2{width:280px;height:280px;background-color:#e8a5b5;top:120px;left:150px;opacity:.4}.register-blob-3{width:350px;height:350px;background-color:#f5c2d0;bottom:0;right:100px;opacity:.7}.register-blob-4{width:350px;height:350px;background-color:#a01e3a;bottom:200px;right:70px;opacity:.4}.register-content{width:100%;max-width:320px;padding:20px;display:flex;flex-direction:column;align-items:center;z-index:10}.register-logo-section{margin-bottom:40px;display:flex;justify-content:center}.register-logo-placeholder{width:120px;height:120px;display:flex;justify-content:center;align-items:center}.register-logo-placeholder img{max-width:100%;max-height:100%;object-fit:contain}.register-form{width:100%;display:flex;flex-direction:column;gap:24px}.register-form-group{display:flex;flex-direction:column;gap:8px}.register-label-row{display:flex;justify-content:space-between;align-items:baseline}.register-label{font-size:14px;font-weight:600;color:#a52a44}.register-password-hint{font-size:11px;color:#d32f2f;font-weight:500}.register-input{width:100%;height:48px;padding:0 16px;font-size:14px;border:2px solid #a52a44;border-radius:4px;outline:none;transition:border-color .3s;box-sizing:border-box}.register-input:focus{border-color:#8b2339}.register-input::placeholder{color:#bdbdbd}.register-submit-button{width:100%;height:52px;background-color:#a52a44;color:#fff;font-size:16px;font-weight:600;border:2px solid #a52a44;border-radius:4px;cursor:pointer;transition:all .3s ease;margin-top:8px;outline:none}.register-submit-button:hover{background-color:#8b2339;border-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d}.register-submit-button:active{background-color:#8b2339;border-color:#8b2339;transform:translateY(0);box-shadow:0 2px 8px #a52a444d}.register-submit-button:focus{background-color:#a52a44;border-color:#a52a44;outline:none}.register-login-link{font-size:14px;color:#a52a44;text-decoration:underline;background:none;border:none;cursor:pointer;padding:16px 0;margin-top:16px}.register-login-link:hover{color:#8b2339}.register-login-link:focus{outline:none}@media(min-width:768px){.register-decoration{display:block}.register-content{max-width:360px}.register-logo-section{margin-bottom:50px}.register-logo-placeholder{width:140px;height:140px}.register-input{height:52px;font-size:15px}.register-submit-button{height:56px;font-size:17px}}@media(min-width:1280px){.register-content{max-width:400px}.register-logo-section{margin-bottom:60px}.register-logo-placeholder{width:160px;height:160px}.register-input{height:56px;font-size:16px}.register-submit-button{height:60px;font-size:18px}}.family-select-container{width:100vw;height:100vh;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;margin:0;overflow:hidden;position:fixed;top:0;left:0}.family-select-decoration{display:none;position:absolute;pointer-events:none}.family-select-decoration-top-left{top:-150px;left:-150px;width:500px;height:500px}.family-select-decoration-bottom-right{bottom:-150px;right:-150px;width:500px;height:500px}.family-select-blob{position:absolute;border-radius:40% 60% 55% 45%/50% 55% 45% 50%}.family-select-blob-1{width:380px;height:380px;background-color:#a52a44;top:0;left:0;opacity:.5}.family-select-blob-2{width:280px;height:280px;background-color:#e8a5b5;top:120px;left:150px;opacity:.4}.family-select-blob-3{width:350px;height:350px;background-color:#f5c2d0;bottom:0;right:100px;opacity:.7}.family-select-blob-4{width:350px;height:350px;background-color:#a01e3a;bottom:200px;right:70px;opacity:.4}.family-select-content{width:100%;max-width:320px;padding:20px;display:flex;flex-direction:column;align-items:center;z-index:10}.family-select-logo-section{margin-bottom:30px;display:flex;justify-content:center}.family-select-logo-placeholder{width:100px;height:100px;display:flex;justify-content:center;align-items:center}.family-select-logo-placeholder img{max-width:100%;max-height:100%;object-fit:contain}.family-select-description{margin-bottom:40px;text-align:center}.family-select-description-text{font-size:16px;font-weight:500;color:#424242;line-height:1.6;margin:0}.family-select-button-section{width:100%;display:flex;flex-direction:column;gap:16px}.family-select-button{width:100%;height:52px;font-size:16px;font-weight:600;border-radius:4px;border:none;cursor:pointer;transition:all .3s ease;font-family:inherit;display:flex;justify-content:center;align-items:center}.join-button{background-color:transparent;border:2px solid #a52a44;color:#a52a44;outline:none}.join-button:hover{background-color:#f5e6e8;border-color:#a52a44;transform:translateY(-2px);box-shadow:0 4px 12px #a52a4433}.join-button:active{border-color:#a52a44;transform:translateY(0);box-shadow:0 2px 8px #a52a4433}.join-button:focus{border-color:#a52a44;outline:none}.invite-button{background-color:#a52a44;color:#fff;border:2px solid #a52a44;outline:none}.invite-button:hover{background-color:#8b2339;border-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d}.invite-button:active{background-color:#8b2339;border-color:#8b2339;transform:translateY(0);box-shadow:0 2px 8px #a52a444d}.invite-button:focus{background-color:#a52a44;border-color:#a52a44;outline:none}@media(min-width:768px){.family-select-decoration{display:block}.family-select-content{max-width:360px}.family-select-logo-section{margin-bottom:40px}.family-select-logo-placeholder{width:130px;height:130px}.family-select-description{margin-bottom:50px}.family-select-description-text{font-size:18px}.family-select-button{height:56px;font-size:17px}}@media(min-width:1280px){.family-select-content{max-width:400px}.family-select-logo-section{margin-bottom:50px}.family-select-logo-placeholder{width:150px;height:150px}.family-select-description{margin-bottom:60px}.family-select-description-text{font-size:20px}.family-select-button{height:60px;font-size:18px}}.join-family-container{width:100vw;height:100vh;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;margin:0;overflow:hidden;position:fixed;top:0;left:0}.join-family-decoration{display:none;position:absolute;pointer-events:none}.join-family-decoration-top-left{top:-150px;left:-150px;width:500px;height:500px}.join-family-decoration-bottom-right{bottom:-150px;right:-150px;width:500px;height:500px}.join-family-blob{position:absolute;border-radius:40% 60% 55% 45%/50% 55% 45% 50%}.join-family-blob-1{width:380px;height:380px;background-color:#a52a44;top:0;left:0;opacity:.5}.join-family-blob-2{width:280px;height:280px;background-color:#e8a5b5;top:120px;left:150px;opacity:.4}.join-family-blob-3{width:350px;height:350px;background-color:#f5c2d0;bottom:0;right:100px;opacity:.7}.join-family-blob-4{width:350px;height:350px;background-color:#a01e3a;bottom:200px;right:70px;opacity:.4}.join-family-content{width:100%;max-width:320px;padding:20px;display:flex;flex-direction:column;align-items:center;z-index:10}.join-family-logo-section{margin-bottom:30px;display:flex;justify-content:center}.join-family-logo-placeholder{width:100px;height:100px;display:flex;justify-content:center;align-items:center}.join-family-logo-placeholder img{max-width:100%;max-height:100%;object-fit:contain}.join-family-description{margin-bottom:40px;text-align:center}.join-family-title{font-size:22px;font-weight:700;color:#a52a44;margin:0 0 20px}.join-family-description-text{font-size:15px;font-weight:500;color:#424242;line-height:1.6;margin:0}.join-family-form{width:100%;display:flex;flex-direction:column;gap:24px}.join-family-form-group{display:flex;flex-direction:column;gap:8px}.join-family-label{font-size:14px;font-weight:600;color:#a52a44}.join-family-input{width:100%;height:48px;padding:0 16px;font-size:14px;border:2px solid #a52a44;border-radius:4px;outline:none;transition:border-color .3s;box-sizing:border-box}.join-family-input:focus{border-color:#8b2339}.join-family-input::placeholder{color:#bdbdbd}.join-family-submit-button{width:100%;height:52px;background-color:#a52a44;color:#fff;font-size:16px;font-weight:600;border:2px solid #a52a44;border-radius:4px;cursor:pointer;transition:all .3s ease;margin-top:8px;outline:none}.join-family-submit-button:hover{background-color:#8b2339;border-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d}.join-family-submit-button:active{transform:translateY(0);box-shadow:0 2px 8px #a52a444d}.join-family-submit-button:focus{outline:none}.join-family-back-link{font-size:14px;color:#a52a44;background:none;border:none;cursor:pointer;padding:16px 0;margin-top:16px}.join-family-back-link:hover{color:#8b2339;text-decoration:underline}.join-family-back-link:focus{outline:none}@media(min-width:768px){.join-family-decoration{display:block}.join-family-content{max-width:360px}.join-family-logo-section{margin-bottom:40px}.join-family-logo-placeholder{width:130px;height:130px}.join-family-title{font-size:24px}.join-family-description-text{font-size:16px}.join-family-input{height:52px;font-size:15px}.join-family-submit-button{height:56px;font-size:17px}}@media(min-width:1280px){.join-family-content{max-width:400px}.join-family-logo-placeholder{width:150px;height:150px}.join-family-title{font-size:26px}.join-family-description-text{font-size:18px}.join-family-input{height:56px;font-size:16px}.join-family-submit-button{height:60px;font-size:18px}}.invite-family-container{width:100vw;height:100vh;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;margin:0;overflow:hidden;position:fixed;top:0;left:0}.invite-family-decoration{display:none;position:absolute;pointer-events:none}.invite-family-decoration-top-left{top:-150px;left:-150px;width:500px;height:500px}.invite-family-decoration-bottom-right{bottom:-150px;right:-150px;width:500px;height:500px}.invite-family-blob{position:absolute;border-radius:40% 60% 55% 45%/50% 55% 45% 50%}.invite-family-blob-1{width:380px;height:380px;background-color:#a52a44;top:0;left:0;opacity:.5}.invite-family-blob-2{width:280px;height:280px;background-color:#e8a5b5;top:120px;left:150px;opacity:.4}.invite-family-blob-3{width:350px;height:350px;background-color:#f5c2d0;bottom:0;right:100px;opacity:.7}.invite-family-blob-4{width:350px;height:350px;background-color:#a01e3a;bottom:200px;right:70px;opacity:.4}.invite-family-content{width:100%;max-width:320px;padding:20px;display:flex;flex-direction:column;align-items:center;z-index:10}.invite-family-logo-section{margin-bottom:30px;display:flex;justify-content:center}.invite-family-logo-placeholder{width:100px;height:100px;display:flex;justify-content:center;align-items:center}.invite-family-logo-placeholder img{max-width:100%;max-height:100%;object-fit:contain}.invite-family-description{margin-bottom:40px;text-align:center}.invite-family-title{font-size:22px;font-weight:700;color:#a52a44;margin:0 0 20px}.invite-family-description-text{font-size:15px;font-weight:500;color:#424242;line-height:1.6;margin:0}.invite-code-section{width:100%;display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.invite-code-display{width:100%;padding:20px;background-color:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;display:flex;justify-content:center;align-items:center}.invite-code-text{font-size:24px;font-weight:700;color:#a52a44;letter-spacing:2px;font-family:Courier New,monospace}.copy-button{width:100%;height:48px;background-color:transparent;color:#a52a44;font-size:15px;font-weight:600;border:2px solid #a52a44;border-radius:4px;cursor:pointer;transition:all .3s ease;outline:none}.copy-button:hover{background-color:#f5e6e8;transform:translateY(-2px);box-shadow:0 4px 12px #a52a4433}.copy-button:active{transform:translateY(0);box-shadow:0 2px 8px #a52a4433}.copy-button.copied{background-color:#4caf50;color:#fff;border-color:#4caf50}.copy-button:focus{outline:none}.invite-family-complete-button{width:100%;height:52px;background-color:#a52a44;color:#fff;font-size:16px;font-weight:600;border:2px solid #a52a44;border-radius:4px;cursor:pointer;transition:all .3s ease;outline:none}.invite-family-complete-button:hover{background-color:#8b2339;border-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d}.invite-family-complete-button:active{transform:translateY(0);box-shadow:0 2px 8px #a52a444d}.invite-family-complete-button:focus{outline:none}.invite-family-back-link{font-size:14px;color:#a52a44;background:none;border:none;cursor:pointer;padding:16px 0;margin-top:16px}.invite-family-back-link:hover{color:#8b2339;text-decoration:underline}.invite-family-back-link:focus{outline:none}@media(min-width:768px){.invite-family-decoration{display:block}.invite-family-content{max-width:360px}.invite-family-logo-section{margin-bottom:40px}.invite-family-logo-placeholder{width:130px;height:130px}.invite-family-title{font-size:24px}.invite-family-description-text{font-size:16px}.invite-code-text{font-size:26px}.copy-button{height:52px;font-size:16px}.invite-family-complete-button{height:56px;font-size:17px}}@media(min-width:1280px){.invite-family-content{max-width:400px}.invite-family-logo-placeholder{width:150px;height:150px}.invite-family-title{font-size:26px}.invite-family-description-text{font-size:18px}.invite-code-text{font-size:28px}.copy-button{height:56px;font-size:17px}.invite-family-complete-button{height:60px;font-size:18px}}.meetup-container{width:100vw;min-height:100vh;padding:40px 20px;display:flex;flex-direction:column;align-items:center;position:relative;background-color:#fafafa}button.back-button{position:absolute;top:20px;left:20px;cursor:pointer!important;font-size:36px;color:#5d4037!important;z-index:100;transition:transform .3s ease;background:none!important;background-color:transparent!important;border:none!important;box-shadow:none!important;outline:none!important;border-radius:0!important;padding:0!important;margin:0!important;line-height:1;width:auto!important;height:auto!important}button.back-button:hover{transform:scale(1.2);background:none!important;background-color:transparent!important;border:none!important;box-shadow:none!important;outline:none!important;cursor:pointer!important}button.back-button:focus{outline:none!important;box-shadow:none!important;background:none!important;background-color:transparent!important}button.back-button:active{background:none!important;background-color:transparent!important;box-shadow:none!important}button.back-button:disabled{background:none!important;background-color:transparent!important;cursor:pointer!important}.meetup-header{width:100%;max-width:700px;text-align:left;margin-bottom:40px;padding-top:40px}.meetup-title{font-size:32px;font-weight:700;color:#5d4037;margin-bottom:8px}.meetup-subtitle{font-size:16px;color:#8d6e63}.options-grid{width:100%;max-width:700px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:40px}button.option-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:3px solid transparent;border-radius:16px;cursor:pointer;transition:all .3s ease;min-height:200px}button.option-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}button.option-card.selected{border-color:#5d4037;box-shadow:0 4px 12px #5d40374d}button.option-card:focus{outline:none}.option-icon{margin-bottom:20px}.option-icon img{width:80px;height:80px;object-fit:contain}.option-title{font-size:20px;font-weight:700;color:#5d4037;margin-bottom:8px;text-align:center}.option-subtitle{font-size:14px;color:#8d6e63;text-align:center;line-height:1.4}button.submit-button{width:100%;max-width:400px;height:48px;background-color:#ccc!important;color:#fff!important;font-size:18px!important;font-weight:600!important;border:none!important;border-radius:24px!important;cursor:not-allowed!important;transition:all .3s ease;display:flex!important;justify-content:center!important;align-items:center!important;gap:8px;margin-top:20px;padding:0!important;box-shadow:none!important;outline:none!important}button.submit-button.active{background-color:#a52a44!important;cursor:pointer!important}button.submit-button.active:hover{background-color:#8b2339!important;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d!important;cursor:pointer!important}button.submit-button:disabled{background-color:#ccc!important;cursor:not-allowed!important}button.submit-button:focus{outline:none!important;box-shadow:none!important}button.submit-button:active:not(.active){background-color:#ccc!important}.calendar-icon{font-size:20px}@media(max-width:768px){.meetup-container{padding:30px}.meetup-header{padding-top:50px;max-width:85%}.meetup-title{font-size:28px}.meetup-subtitle{font-size:15px}.options-grid{gap:18px;max-width:85%;margin-left:auto;margin-right:auto}button.option-card{padding:32px 18px;min-height:180px}.option-icon img{width:70px;height:70px}.option-title{font-size:18px}.option-subtitle{font-size:13px}button.submit-button{max-width:85%}}@media(max-width:480px){.meetup-container{padding:20px 25px}button.back-button{width:40px;height:40px;font-size:24px;top:16px;left:16px}.meetup-header{margin-bottom:35px;max-width:90%}.meetup-title{font-size:24px;margin-bottom:12px}.meetup-subtitle{font-size:14px;line-height:1.6}.options-grid{gap:14px;grid-template-columns:repeat(2,1fr);max-width:90%;margin-left:auto;margin-right:auto}button.option-card{padding:28px 16px;min-height:160px;border-width:2px}.option-icon{margin-bottom:12px}.option-icon img{width:56px;height:56px}.option-title{font-size:16px;margin-bottom:8px}.option-subtitle{font-size:12px;line-height:1.4}button.submit-button{max-width:90%;height:52px;font-size:17px;margin-top:25px}}button.option-card{animation:fadeInUp .5s ease-out backwards}button.option-card:nth-child(1){animation-delay:.1s}button.option-card:nth-child(2){animation-delay:.2s}button.option-card:nth-child(3){animation-delay:.3s}button.option-card:nth-child(4){animation-delay:.4s}.schedule-container{width:100vw;min-height:100vh;padding:40px 20px;display:flex;flex-direction:column;align-items:center;position:relative;background-color:#fff}.back-button{position:fixed;top:20px;left:20px;width:48px;height:48px;background-color:#f5f5f5;border:none;border-radius:50%;font-size:28px;color:#5d4037;cursor:pointer;z-index:100;transition:all .3s ease;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 8px #0000001a}.back-button:hover{transform:scale(1.1);background-color:#eee}.schedule-info{width:100%;max-width:1200px;padding:16px 24px;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:12px;display:flex;align-items:center;gap:12px;margin-bottom:24px}.info-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-icon img{width:100%;height:100%;object-fit:contain}.info-text{font-size:15px;color:#424242;line-height:1.5}.selected-ranges-display{width:100%;max-width:1200px;padding:20px 24px;background-color:#fef5f7;border:2px solid #a52a44;border-radius:12px;margin-bottom:24px}.selected-ranges-display h4{font-size:16px;font-weight:600;color:#a52a44;margin-bottom:12px}.range-item{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-size:15px;color:#424242}.range-item strong{color:#a52a44;min-width:100px}.time-range{padding:4px 12px;background-color:#fff;border:1px solid #a52a44;border-radius:6px;font-size:14px;font-weight:500;color:#a52a44}.schedule-content{width:100%;max-width:1400px;display:grid;grid-template-columns:400px 1fr;gap:24px;margin-bottom:32px}.direct-selection-panel{display:flex;flex-direction:column;gap:20px}.saved-ranges-box{background-color:#f9f9f9;padding:20px;border:2px solid #a52a44;border-radius:12px;box-shadow:0 2px 8px #a52a441a}.saved-ranges-list{display:flex;flex-direction:column;gap:12px;max-height:200px;overflow-y:auto}.saved-range-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;gap:16px;transition:all .2s}.saved-range-item:hover{box-shadow:0 2px 6px #0000001a}.saved-range-info{display:flex;flex-direction:column;gap:6px;flex:1}.saved-range-info strong{font-size:15px;color:#a52a44}.saved-range-info span{font-size:14px;color:#424242}.saved-range-actions{display:flex;gap:8px}.edit-button,.delete-button{padding:8px 16px;font-size:13px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.edit-button{background-color:#a52a44;color:#fff}.edit-button:hover{background-color:#8b2339}.delete-button{background-color:#f5f5f5;color:#666}.delete-button:hover{background-color:#e0e0e0}.editing-badge{font-size:12px;background-color:#fff59d;color:#424242;padding:4px 12px;border-radius:6px;font-weight:500}.save-button-container{display:flex;gap:12px;margin-top:16px}.save-direct-button{flex:1;height:44px;background-color:#ccc;color:#fff;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:not-allowed;transition:all .3s}.save-direct-button.active{background-color:#a52a44;cursor:pointer}.save-direct-button.active:hover{background-color:#8b2339;transform:translateY(-1px);box-shadow:0 2px 8px #a52a444d}.cancel-edit-button{padding:0 24px;height:44px;background-color:#f5f5f5;color:#666;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.cancel-edit-button:hover{background-color:#e0e0e0}.selection-box{background-color:#fff;padding:24px;border:2px solid #a52a44;border-radius:12px;box-shadow:0 2px 8px #a52a441a}.selection-title{font-size:18px;font-weight:600;color:#a52a44;margin-bottom:20px;display:flex;align-items:center;gap:8px}.selection-title-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.selection-title-icon img{width:100%;height:100%;object-fit:contain}.date-selectors{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.selector-group{display:flex;align-items:center;gap:6px}.date-select,.time-select{padding:10px 12px;font-size:16px;border:2px solid #e0e0e0;border-radius:8px;background-color:#fff;cursor:pointer;transition:border-color .3s;min-width:80px}.date-select:focus,.time-select:focus{outline:none;border-color:#a52a44}.selector-label{font-size:14px;color:#757575}.day-of-week{width:100%;text-align:center;font-size:16px;font-weight:600;color:#a52a44;padding:8px;background-color:#fef5f7;border-radius:8px}.time-selectors{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}.time-separator{font-size:18px;color:#757575;margin:0 4px}.note-text{font-size:13px;color:#a52a44;margin-top:12px;font-weight:500}.note-text.error{color:#a52a44}.sub-note-text{font-size:12px;color:#757575;margin-top:6px;line-height:1.4}.calendar-selection-panel{display:flex;flex-direction:column}.calendar-box{background-color:#fff;padding:24px;border:2px solid #a52a44;border-radius:12px;box-shadow:0 2px 8px #a52a441a;overflow-x:auto}.calendar-header{margin-bottom:20px}.calendar-title{font-size:18px;font-weight:600;color:#a52a44;margin-bottom:16px;display:flex;align-items:center;gap:8px}.calendar-title-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.calendar-title-icon img{width:100%;height:100%;object-fit:contain}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px}.nav-button{padding:8px 16px;background-color:#a52a44;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .3s}.nav-button:hover{background-color:#8b2339}.current-period-wrapper{position:relative;flex:1;display:flex;justify-content:center;align-items:center;background:#fef5f7;border:1px solid #a52a44;border-radius:8px;padding:6px 10px;cursor:pointer}.current-period-text{font-size:15px;font-weight:600;color:#424242;pointer-events:none;white-space:nowrap}.current-period-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}.calendar-instructions{font-size:12px;color:#757575;line-height:1.6;margin-bottom:20px;padding:12px;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px}.calendar-instructions p{margin-bottom:4px}.calendar-scroll-wrapper{overflow-x:auto;overflow-y:visible}.calendar-scroll-wrapper::-webkit-scrollbar{height:8px}.calendar-scroll-wrapper::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.calendar-scroll-wrapper::-webkit-scrollbar-thumb{background:#a52a44;border-radius:4px}.calendar-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#8b2339}.calendar-grid{min-width:800px}.calendar-row{display:grid;grid-template-columns:80px repeat(7,1fr);gap:2px;margin-bottom:2px}.calendar-row.header-row{position:sticky;top:0;background-color:#fff;z-index:10;padding-bottom:8px;margin-bottom:8px;border-bottom:2px solid #e0e0e0}.time-header{grid-column:1}.day-header{text-align:center;padding:8px;font-weight:600}.day-date{font-size:14px;color:#424242}.day-name{font-size:12px;color:#757575;margin-left:4px}.time-label{padding:8px 12px 8px 8px;font-size:13px;color:#757575;text-align:right;display:flex;align-items:center;justify-content:flex-end}.time-slot{padding:8px;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:12px;color:#424242;font-weight:500}.time-slot:hover{background-color:#fef5f7;border-color:#a52a44;transform:scale(1.05)}.time-slot.selected{background-color:#a52a44;color:#fff;border-color:#a52a44;font-weight:600}.time-slot:focus{outline:none}.schedule-submit-button{width:100%;max-width:600px;height:60px;background-color:#ccc;color:#fff;font-size:18px;font-weight:600;border:none;border-radius:36px;cursor:not-allowed;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.schedule-submit-button.active{background-color:#a52a44;cursor:pointer}.schedule-submit-button.active:hover{background-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d}.schedule-submit-button:focus{outline:none}@media(max-width:1200px){.schedule-content{grid-template-columns:1fr}.calendar-box{overflow-x:auto}}@media(max-width:768px){.schedule-container{padding:60px 16px 80px;overflow-x:hidden;width:100%}.back-button{width:40px;height:40px;font-size:24px;top:12px;left:12px}.schedule-info{padding:10px 14px;margin-bottom:12px;flex-shrink:0}.info-text{font-size:12px;line-height:1.4}.selected-ranges-display{padding:12px 14px;margin-bottom:12px}.selected-ranges-display h4{font-size:13px;margin-bottom:8px}.range-item{font-size:12px;margin-bottom:6px;flex-wrap:wrap}.range-item strong{min-width:auto}.time-range{font-size:11px;padding:3px 8px}.schedule-content{width:100%;gap:12px;grid-template-columns:1fr}.direct-selection-panel{gap:12px}.saved-ranges-box{background-color:#f9f9f9;padding:12px;border:2px solid #a52a44;border-radius:10px;margin-bottom:0}.saved-ranges-box .selection-title{font-size:14px;margin-bottom:10px}.saved-ranges-list{display:flex;flex-direction:column;gap:8px;max-height:150px;overflow-y:auto}.saved-range-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;gap:8px}.saved-range-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.saved-range-info strong{font-size:13px;color:#a52a44}.saved-range-info span{font-size:12px;color:#424242}.saved-range-actions{display:flex;gap:6px;flex-shrink:0}.edit-button,.delete-button{padding:6px 10px;font-size:11px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.edit-button{background-color:#a52a44;color:#fff}.edit-button:hover{background-color:#8b2339}.delete-button{background-color:#f5f5f5;color:#666}.delete-button:hover{background-color:#e0e0e0}.selection-box{padding:16px}.selection-title{font-size:14px;margin-bottom:10px;display:flex;align-items:center;gap:8px}.editing-badge{font-size:11px;background-color:#fff59d;color:#424242;padding:2px 8px;border-radius:4px;font-weight:500}.date-selectors{gap:6px;margin-bottom:10px}.selector-group{gap:4px}.date-select,.time-select{min-width:55px;padding:6px 8px;font-size:13px}.selector-label{font-size:12px}.day-of-week{font-size:13px;padding:6px;width:100%}.time-selectors{gap:6px;margin-bottom:10px}.time-separator{font-size:14px;margin:0 2px}.save-button-container{display:flex;gap:8px;margin-top:12px}.save-direct-button{flex:1;height:40px;background-color:#ccc;color:#fff;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:not-allowed;transition:all .3s}.save-direct-button.active{background-color:#a52a44;cursor:pointer}.save-direct-button.active:hover{background-color:#8b2339}.cancel-edit-button{padding:0 16px;height:40px;background-color:#f5f5f5;color:#666;font-size:13px;font-weight:500;border:none;border-radius:8px;cursor:pointer}.cancel-edit-button:hover{background-color:#e0e0e0}.note-text{font-size:11px;margin-top:8px}.sub-note-text{font-size:10px}.calendar-box{padding:12px;overflow:hidden}.calendar-title{font-size:14px;margin-bottom:10px}.calendar-navigation{flex-direction:row;gap:8px;margin-bottom:12px}.nav-button{padding:6px 12px;font-size:11px;flex:0 0 auto}.current-period{font-size:12px;text-align:center;flex:1}.calendar-scroll-wrapper{overflow:visible}.calendar-grid{min-width:unset;width:100%}.calendar-row{grid-template-columns:50px repeat(3,1fr);gap:1px;margin-bottom:1px}.calendar-row.header-row{padding-bottom:6px;margin-bottom:6px}.time-label{font-size:10px;padding:4px 6px 4px 4px}.day-header{padding:4px 2px}.day-date{font-size:11px}.day-name{font-size:9px}.time-slot{padding:6px 2px;font-size:16px;min-height:32px;display:flex;align-items:center;justify-content:center}.schedule-submit-button{position:fixed;bottom:12px;left:16px;right:16px;max-width:calc(100% - 32px);height:48px;font-size:15px;z-index:50}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.selection-box,.calendar-box{animation:fadeIn .5s ease-out}.selection-box:nth-child(1){animation-delay:.1s}.selection-box:nth-child(2){animation-delay:.2s}.confirmation-container{width:100vw;min-height:100vh;padding:40px 20px;display:flex;flex-direction:column;align-items:center;position:relative;background-color:#fafafa}.back-button{position:fixed;top:20px;left:20px;width:48px;height:48px;background-color:#fff;border:2px solid #e0e0e0;border-radius:50%;font-size:28px;color:#5d4037;cursor:pointer;z-index:100;transition:all .3s ease;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 8px #0000001a}.back-button:hover{transform:scale(1.1);border-color:#a52a44;color:#a52a44}.confirmation-header{width:100%;max-width:800px;text-align:center;margin-bottom:40px}.confirmation-title{font-size:32px;font-weight:700;color:#a52a44;margin-bottom:12px}.confirmation-subtitle{font-size:16px;color:#757575}.confirmation-content{width:100%;max-width:800px;display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.confirmation-section{background-color:#fff;padding:28px;border:2px solid #A52A44;border-radius:16px;box-shadow:0 2px 8px #a52a441a}.section-title{font-size:18px;font-weight:600;color:#a52a44;margin-bottom:20px;display:flex;align-items:center;gap:8px}.meetup-type-display{display:flex;align-items:center;gap:16px;padding:20px;background-color:#fef5f7;border-radius:12px}.meetup-emoji{font-size:48px}.meetup-text{font-size:20px;font-weight:600;color:#424242}.time-ranges-list{display:flex;flex-direction:column;gap:16px}.time-range-item{padding:16px;background-color:#fef5f7;border-radius:12px}.date-label{font-size:18px;font-weight:600;color:#a52a44;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #A52A44}.ranges-wrapper{display:flex;flex-direction:column;gap:8px}.time-range-display{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:#fff;border:1px solid #A52A44;border-radius:8px;font-size:16px;font-weight:500}.time-start,.time-end{color:#a52a44;font-weight:600}.time-separator{color:#757575}.no-data-message{font-size:15px;color:#9e9e9e;text-align:center;padding:20px}.confirmation-notice{display:flex;gap:16px;padding:20px;background-color:#fff9e6;border:2px solid #ffc107;border-radius:12px}.notice-icon{font-size:24px;color:#ffc107;flex-shrink:0}.notice-content{flex:1}.notice-title{font-size:16px;font-weight:600;color:#424242;margin-bottom:8px}.notice-list{list-style:none;padding-left:0}.notice-list li{font-size:14px;color:#616161;line-height:1.6;margin-bottom:4px;padding-left:16px;position:relative}.notice-list li:before{content:"•";position:absolute;left:0;color:#ffc107;font-weight:700}.button-area{width:100%;max-width:800px;display:flex;gap:16px;justify-content:center;align-items:center}.confirmation-edit-button,.confirmation-submit-button{flex:1;max-width:350px;height:60px;font-size:18px;font-weight:600;border:none;border-radius:28px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.confirmation-edit-button{background-color:#fff;color:#a52a44;border:2px solid #A52A44}.confirmation-edit-button:hover{background-color:#fef5f7;transform:translateY(-2px);box-shadow:0 4px 12px #a52a4433}.confirmation-edit-button:focus{outline:none}.confirmation-submit-button{background-color:#a52a44;color:#fff}.confirmation-submit-button:hover{background-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a4466}.confirmation-submit-button:focus{outline:none}@media(max-width:768px){.confirmation-container{padding:30px}.confirmation-header{max-width:85%}.confirmation-title{font-size:28px}.confirmation-subtitle{font-size:15px}.confirmation-content{max-width:85%}.confirmation-section{padding:20px}.section-title{font-size:16px}.meetup-type-display{padding:16px}.meetup-emoji{font-size:40px}.meetup-text{font-size:18px}.button-area{flex-direction:row;gap:12px;max-width:85%}.confirmation-edit-button,.confirmation-submit-button{max-width:50%}}@media(max-width:480px){.confirmation-container{padding:20px 25px}.back-button{width:40px;height:40px;font-size:24px;top:16px;left:16px}.confirmation-header{margin-bottom:30px;max-width:90%}.confirmation-title{font-size:24px}.confirmation-subtitle{font-size:14px}.confirmation-content{max-width:90%;gap:20px}.confirmation-section{padding:18px}.section-title{font-size:15px;margin-bottom:16px}.meetup-type-display{padding:14px;gap:14px}.meetup-emoji{font-size:36px}.meetup-text{font-size:16px}.time-ranges-list{gap:14px}.time-range-item{padding:14px}.date-label{font-size:16px;margin-bottom:10px;padding-bottom:6px}.ranges-wrapper{gap:6px}.time-range-display{padding:10px 14px;font-size:14px}.confirmation-notice{padding:16px;gap:12px}.notice-icon{font-size:20px}.notice-title{font-size:14px}.notice-list li{font-size:13px}.button-area{max-width:90%;gap:10px}.confirmation-edit-button,.confirmation-submit-button{height:52px;font-size:16px;max-width:48%}}.confirmation-section{animation:fadeInUp .5s ease-out backwards}.confirmation-section:nth-child(1){animation-delay:.1s}.confirmation-section:nth-child(2){animation-delay:.2s}.confirmation-notice{animation:fadeInUp .5s ease-out backwards;animation-delay:.3s}.button-area{animation:fadeInUp .5s ease-out backwards;animation-delay:.4s}*{margin:0;padding:0;box-sizing:border-box}.complete-container{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#fef5f7,#fff);padding:20px}.complete-content{width:100%;max-width:600px;text-align:center;opacity:0;transform:translateY(30px);transition:all .8s ease-out}.complete-content.show{opacity:1;transform:translateY(0)}.complete-icon{margin-bottom:32px;display:flex;justify-content:center}.checkmark-circle{width:120px;height:120px;background-color:#a52a44;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 8px 24px #a52a444d;animation:scaleIn .6s ease-out .2s backwards}.checkmark{color:#fff;font-size:72px;font-weight:700;animation:checkmarkPop .4s ease-out .6s backwards}.complete-title{font-size:32px;font-weight:700;color:#a52a44;margin-bottom:16px;animation:fadeInUp .6s ease-out .4s backwards}.complete-message{font-size:18px;color:#616161;line-height:1.8;margin-bottom:40px;animation:fadeInUp .6s ease-out .5s backwards}.complete-actions{margin-bottom:32px;animation:fadeInUp .6s ease-out .6s backwards}.home-button{width:100%;max-width:400px;height:56px;background-color:#a52a44;color:#fff;font-size:18px;font-weight:600;border:none;border-radius:28px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #a52a444d}.home-button:hover{background-color:#8b2339;transform:translateY(-2px);box-shadow:0 6px 16px #a52a4466}.home-button:focus{outline:none}.complete-info{padding:16px;background-color:#a52a440d;border-radius:12px;animation:fadeInUp .6s ease-out .7s backwards}.info-text{font-size:14px;color:#757575;line-height:1.6}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes checkmarkPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.checkmark-circle{width:100px;height:100px}.checkmark{font-size:60px}.complete-title{font-size:28px}.complete-message{font-size:16px}.home-button{font-size:17px;height:54px}}@media(max-width:480px){.complete-container{padding:16px}.complete-icon{margin-bottom:24px}.checkmark-circle{width:90px;height:90px}.checkmark{font-size:52px}.complete-title{font-size:24px;margin-bottom:12px}.complete-message{font-size:15px;margin-bottom:32px}.complete-actions{margin-bottom:24px}.home-button{max-width:100%;height:52px;font-size:16px}.complete-info{padding:12px}.info-text{font-size:13px}}.line-callback-container{width:100vw;height:100vh;background-color:#fff;display:flex;justify-content:center;align-items:center;padding:20px}.line-callback-content{width:100%;max-width:400px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.loading-spinner{width:60px;height:60px;border:4px solid #f3f3f3;border-top:4px solid #06C755;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.callback-title{font-size:24px;font-weight:600;color:#424242;margin:0}.callback-title.error{color:#f44336}.callback-message{font-size:16px;color:#757575;line-height:1.6;margin:0}.callback-message.error{color:#424242}.error-icon{font-size:64px}.back-button{width:100%;max-width:300px;height:52px;background-color:#a52a44;color:#fff;font-size:16px;font-weight:600;border:none;border-radius:26px;cursor:pointer;transition:all .3s ease;margin-top:20px}.back-button:hover{background-color:#8b2339;transform:translateY(-2px);box-shadow:0 4px 12px #a52a444d}.back-button:focus{outline:none}@media(max-width:480px){.callback-title{font-size:20px}.callback-message{font-size:14px}.loading-spinner{width:50px;height:50px}.error-icon{font-size:48px}.back-button{max-width:100%;height:48px;font-size:15px}}
