:root{font-family:Noto Sans JP,Outfit,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:500;color-scheme:light;--bg-app: #f4f7fe;--bg-panel: #ffffff;--text-main: #1e293b;--text-muted: #64748b;--border-light: rgba(0, 0, 0, .06);--color-equal-love: #ff6897;--color-not-equal-me: #00d2dd;--color-nearly-joy: #ffd60a;--color-joint: #a78bfa;--gradient-triple: linear-gradient(135deg, var(--color-equal-love) 0%, var(--color-not-equal-me) 50%, var(--color-nearly-joy) 100%);--gradient-soft: linear-gradient(180deg, #ffffff 0%, #f4f7fe 100%);--shadow-bubble: 0 10px 25px rgba(100, 116, 139, .05), 0 2px 5px rgba(100, 116, 139, .02);--shadow-panel: 0 15px 35px rgba(139, 92, 246, .06);--shadow-btn: 0 8px 20px rgba(255, 104, 151, .15);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{overflow:hidden;width:100vw;height:100vh;position:fixed;background-color:var(--bg-app)}#root{width:100%;height:100%}.app-container{display:flex;flex-direction:column;width:100vw;height:100vh;overflow:hidden;background-color:var(--bg-app)}.app-header{height:72px;background:#fff;border-bottom:3px solid #f4f7fe;display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:50;flex-shrink:0}.header-left{display:flex;align-items:center;gap:12px}.header-icon-box{width:36px;height:36px;border-radius:12px;background:var(--gradient-triple);padding:3px;box-shadow:0 4px 10px #0000000d}.header-icon-inner{width:100%;height:100%;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.header-title{font-size:18px;font-weight:900;letter-spacing:.05em;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-right{display:flex;align-items:center;gap:8px}.active-group-label{font-size:10px;font-weight:900;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.group-badges-container{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9999px;padding:6px 14px}.group-dot{width:10px;height:10px;border-radius:50%}.group-badge-text{font-size:12px;font-weight:900}.border-r-slate{border-right:1px solid #e2e8f0;padding-right:8px}.main-area{flex:1;display:flex;flex-direction:row;overflow:hidden;position:relative}.left-area{flex:1;display:flex;flex-direction:column;padding:16px;gap:16px;overflow:hidden;height:100%;min-height:0}.map-container{flex:1;position:relative;overflow:hidden;min-height:450px}.app-footer{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;padding:16px 24px!important}.footer-left{display:flex;flex-direction:column;flex-shrink:0}.footer-meta{display:flex;align-items:center;gap:8px;margin-bottom:2px}.footer-meta-text{font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--color-joint)}.footer-title{font-size:16px;font-weight:900;color:var(--text-main)}.footer-title-year{color:var(--color-equal-love)}.slider-container{flex:1;display:flex;flex-direction:column;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:10px 20px}.slider-labels{display:flex;justify-content:space-between;font-size:9px;font-weight:900;color:var(--text-muted)}.milestone-container{width:300px;flex-shrink:0;background:#fff5f8;border:1px solid rgba(255,104,151,.15);border-radius:16px;padding:10px 16px;display:flex;flex-direction:column;justify-content:center}.milestone-label{font-size:8px;font-weight:900;color:var(--color-equal-love);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}.milestone-text{font-size:12px;font-weight:900;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right-panel{width:400px;flex-shrink:0;background:#fff;border-left:4px solid #f4f7fe;display:flex;flex-direction:column;overflow:hidden;height:100%;z-index:20;box-shadow:-10px 0 30px #00000003}.panel-tab-bar{padding:16px;border-bottom:3px solid #f4f7fe;background:#f1f5f966;display:flex;gap:8px;flex-shrink:0}.panel-tab-btn{flex:1;padding:10px 0;font-size:12px;font-weight:900;border-radius:14px}.panel-tab-btn.active-detail{background:linear-gradient(135deg,var(--color-equal-love) 0%,var(--color-joint) 100%);color:#fff;box-shadow:0 6px 15px #ff689726}.panel-tab-btn.active-mypage{background:linear-gradient(135deg,var(--color-not-equal-me) 0%,var(--color-joint) 100%);color:#fff;box-shadow:0 6px 15px #00cbd626}.panel-tab-btn.active-mission{background:linear-gradient(135deg,#eab308,#f97316);color:#fff;box-shadow:0 6px 15px #eab30833}.panel-tab-btn.inactive{background:#fff;border:2px solid #e2e8f0;color:var(--text-muted)}.panel-tab-btn.inactive:hover{color:var(--text-main);border-color:#cbd5e1}.panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative}.welcome-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--text-muted);background:linear-gradient(180deg,#fff,#f4f7fe33);height:100%}.welcome-icon-box{width:80px;height:80px;border-radius:50%;background:#f8fafc;border:3px dashed #e2e8f0;display:flex;align-items:center;justify-content:center;margin-bottom:16px;animation:pulse 2s infinite ease-in-out}.welcome-title{font-size:14px;font-weight:900;color:var(--text-main);margin-bottom:4px}.welcome-desc{font-size:11px;color:var(--text-muted);line-height:1.6;max-width:260px}.info-scroll-area{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.detail-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1f5f9;padding-bottom:12px}.detail-badges{display:flex;gap:6px;align-items:center}.spot-group-badge{font-size:9px;font-weight:900;padding:3px 10px;border-radius:9999px;border:1px solid transparent}.spot-cat-badge{font-size:9px;font-weight:700;background:#f1f5f9;border:1px solid #e2e8f0;padding:3px 8px;border-radius:9999px;color:var(--text-muted)}.spot-date-text{font-size:10px;color:var(--text-muted);font-family:Outfit,sans-serif}.detail-title-section{display:flex;flex-direction:column}.detail-meta-label{font-size:8px;font-weight:900;color:var(--text-muted);letter-spacing:.1em;margin-bottom:2px}.detail-title{font-size:18px;font-weight:900;color:var(--text-main);line-height:1.4}.detail-time-box{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;padding:8px 16px}.detail-time-text{font-size:11px;color:var(--text-main);font-weight:800}.episode-container{display:flex;flex-direction:column;gap:4px}.episode-text{font-size:12px;color:#334155;line-height:1.7;background:#f8fafc;padding:16px;border-radius:16px;border:1px solid #e2e8f0;white-space:pre-line}.video-section{display:flex;flex-direction:column;gap:4px}.video-label{font-size:9px;font-weight:900;color:var(--text-muted);letter-spacing:.1em;display:flex;align-items:center;gap:4px}.video-box{width:100%;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;border:2px solid #f1f5f9;box-shadow:0 4px 10px #00000005;background:#f8fafc}.video-link{font-size:9px;color:var(--text-muted);display:flex;align-items:center;justify-content:flex-end;gap:3px;font-weight:700;text-decoration:none;margin-top:4px}.video-link:hover{color:var(--text-main);text-decoration:underline}.checkin-action-area{position:relative;padding-top:8px}.checked-in-btn{width:100%;background:#fff5f8;border:2px solid rgba(255,104,151,.25);color:var(--color-equal-love);padding:14px;font-size:12px}.checked-in-btn:hover{background:#ffeef2}.checkin-btn{width:100%;background:linear-gradient(135deg,var(--color-equal-love) 0%,var(--color-joint) 50%,var(--color-not-equal-me) 100%);color:#fff;padding:14px;font-size:12px;box-shadow:var(--shadow-btn);border:2px solid rgba(255,255,255,.2)}.checkin-btn:hover{opacity:.95}.award-panel{padding:16px;border-top:3px solid #f4f7fe;background:#f8faff;flex-shrink:0}.award-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:900;color:#475569;margin-bottom:6px}.award-progress-bar{width:100%;height:10px;background:#e2e8f0;border-radius:9999px;overflow:hidden;border:1px solid rgba(0,0,0,.03);margin-bottom:8px}.award-progress-inner{height:100%;background:var(--gradient-triple);border-radius:9999px;transition:width .3s ease}.award-rank-box{font-size:10px;color:var(--text-muted);font-weight:800;display:flex;align-items:center;gap:6px}.profile-edit-box{border-radius:16px;padding:16px;background:linear-gradient(135deg,#a78bfa0d,#ff68970d);border:2px solid #ffffff;box-shadow:var(--shadow-panel)}.profile-main-info{display:flex;align-items:center;gap:14px;margin-bottom:16px}.profile-avatar-box{width:44px;height:44px;border-radius:12px;background:var(--gradient-triple);padding:3px;box-shadow:0 4px 10px #0000000d}.profile-avatar-inner{width:100%;height:100%;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center}.profile-username{font-size:14px;font-weight:900;color:var(--text-main);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-oshi-badge{font-size:9px;background:#fff;border:2px solid rgba(167,139,250,.2);color:var(--color-joint);padding:1px 10px;border-radius:9999px;font-weight:900;margin-top:2px;display:inline-block}.edit-form-panel{padding:16px;border:2px solid rgba(167,139,250,.2);border-radius:20px;animation:fadeInUp .4s ease}.form-label{display:block;font-size:8px;font-weight:900;color:var(--text-muted);letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.form-input{width:100%;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:8px 12px;font-size:12px;color:var(--text-main);font-weight:700}.form-input:focus{outline:none;border-color:var(--color-joint)}.oshi-buttons-grid{display:grid;grid-template-cols:repeat(4,1fr);gap:6px;margin-top:4px}.oshi-btn{padding:6px 0;font-size:9px}.oshi-btn.active{background:var(--color-joint);color:#fff}.oshi-btn.inactive{background:#f8fafc;border:1px solid #e2e8f0;color:var(--text-muted)}.form-submit-btn{width:100%;background:linear-gradient(135deg,var(--color-equal-love) 0%,var(--color-joint) 100%);color:#fff;padding:10px;font-size:12px;box-shadow:0 4px 10px #ff68971a;border:1px solid rgba(255,255,255,.1);margin-top:8px}.timeline-section-title{font-size:10px;font-weight:900;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:4px;margin-bottom:12px}.timeline-list{position:relative;padding-left:16px;border-left:2px solid #e2e8f0}.timeline-item{position:relative;margin-bottom:12px}.timeline-dot{position:absolute;left:-22px;top:10px;width:10px;height:10px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 2px 4px #0000001a}.timeline-card{padding:10px 14px;display:flex;justify-content:space-between;align-items:center;border:1px solid #ffffff;border-radius:16px;cursor:pointer;box-shadow:var(--shadow-bubble);background:#fff}.timeline-card:hover{border-color:#a78bfa33}.timeline-card-left{display:flex;flex-direction:column;gap:2px;overflow:hidden;padding-right:12px}.timeline-card-meta{display:flex;align-items:center;gap:6px}.timeline-card-group{font-size:8px;font-weight:900;color:var(--text-muted)}.timeline-card-time{font-size:8px;color:var(--text-muted);font-family:Outfit,sans-serif}.timeline-card-title{font-size:12px;font-weight:700;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reset-btn-container{padding-top:16px;border-top:1px solid #f1f5f9;display:flex;justify-content:center}.pop-panel{background:var(--bg-panel);border-radius:24px;border:3px solid #ffffff;box-shadow:var(--shadow-panel);transition:all .3s cubic-bezier(.175,.885,.32,1.15)}.pop-button{border-radius:16px;font-weight:800;transition:all .2s cubic-bezier(.175,.885,.32,1.2);cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:8px}.pop-button:active{transform:scale(.95)}.map-wrapper{position:relative;width:100%;height:100%;background:#eef2f7;border-radius:28px;border:4px solid #ffffff;box-shadow:var(--shadow-panel);overflow:hidden}.leaflet-container{width:100%;height:100%;background:#eef2f7!important}.leaflet-bar{border:none!important;box-shadow:var(--shadow-bubble)!important;border-radius:12px!important;overflow:hidden}.leaflet-bar a{background-color:#fff!important;color:var(--text-main)!important;border:none!important;border-bottom:1px solid rgba(0,0,0,.05)!important;font-weight:900!important;width:38px!important;height:38px!important;line-height:38px!important;transition:background-color .2s ease}.leaflet-bar a:hover{background-color:#f1f5f9!important}.custom-leaflet-pin{background:none!important;border:none!important}.pop-pin-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:44px;position:relative;cursor:pointer}.pop-pin-balloon{width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background-color:currentColor;box-shadow:0 4px 12px #0000001f,0 0 8px #ffffff80 inset;display:flex;align-items:center;justify-content:center;border:3px solid #ffffff;transition:all .3s cubic-bezier(.175,.885,.32,1.25)}.pop-pin-text{transform:rotate(45deg);color:#fff;font-weight:900;font-size:12px;font-family:Outfit,sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.15)}.pop-pin-container.active .pop-pin-balloon{transform:rotate(-45deg) scale(1.3) translateY(-3px);box-shadow:0 10px 20px #0003;animation:floatMini 1.2s infinite ease-in-out alternate}@keyframes floatMini{0%{transform:rotate(-45deg) scale(1.3) translateY(0)}to{transform:rotate(-45deg) scale(1.3) translateY(-4px)}}.pop-pin-container.special-national{width:50px;height:50px}.pop-pin-container.special-national .pop-pin-balloon{background:linear-gradient(135deg,gold,#f59e0b,#db2777)!important;border-color:gold!important;box-shadow:0 0 15px #fbbf2499,0 0 5px #fbbf2466 inset!important;transform:rotate(-45deg) scale(1.1);animation:floatSpecial 2s infinite ease-in-out alternate}.pop-pin-container.special-national.active .pop-pin-balloon{transform:rotate(-45deg) scale(1.3) translateY(-3px);animation:floatSpecialActive 1.2s infinite ease-in-out alternate}@keyframes floatSpecial{0%{transform:rotate(-45deg) scale(1.1) translateY(0)}to{transform:rotate(-45deg) scale(1.1) translateY(-3px)}}@keyframes floatSpecialActive{0%{transform:rotate(-45deg) scale(1.3) translateY(0)}to{transform:rotate(-45deg) scale(1.3) translateY(-4px)}}.pop-pin-container.special-national:before,.pop-pin-container.special-national:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin-top:-22px;margin-left:-22px;border-radius:50%;background:transparent;border:2.5px solid #fbbf24;box-shadow:0 0 12px #fbbf24;z-index:1;pointer-events:none;transform:scale(.6);opacity:0;animation:specialPulse 2.4s cubic-bezier(.215,.61,.355,1) infinite}.pop-pin-container.special-national:after{animation-delay:1.2s}@keyframes specialPulse{0%{transform:scale(.5);opacity:0}10%{opacity:.8}80%{opacity:.2}to{transform:scale(2.2);opacity:0}}.pop-pin-stamp{position:absolute;top:-6px;right:-2px;width:17px;height:17px;background:var(--color-equal-love);color:#fff;border-radius:50%;border:2px solid #ffffff;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 6px #ff68974d;z-index:10}input[type=range].pop-slider{-webkit-appearance:none;width:100%;background:transparent}input[type=range].pop-slider:focus{outline:none}input[type=range].pop-slider::-webkit-slider-runnable-track{width:100%;height:8px;cursor:pointer;background:#e2e8f0;border-radius:10px;border:none}input[type=range].pop-slider::-webkit-slider-thumb{height:24px;width:24px;border-radius:50%;background:#fff;border:4px solid var(--color-equal-love);cursor:pointer;-webkit-appearance:none;margin-top:-8px;box-shadow:0 4px 10px #ff689733;transition:all .2s cubic-bezier(.175,.885,.32,1.2)}input[type=range].pop-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes stampBig{0%{transform:scale(2.5) rotate(-45deg);opacity:0}60%{transform:scale(.95) rotate(-10deg);opacity:.9}to{transform:scale(1) rotate(-15deg);opacity:1}}.stamp-effect-big{animation:stampBig .35s cubic-bezier(.175,.885,.32,1.2) forwards}.info-scroll-area::-webkit-scrollbar{width:6px}.info-scroll-area::-webkit-scrollbar-track{background:transparent}.info-scroll-area::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.info-scroll-area::-webkit-scrollbar-thumb:hover{background:#94a3b8}.map-search-bar{position:absolute;top:14px;left:14px;right:14px;z-index:1000;display:flex;gap:8px;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:8px 12px;border-radius:20px;box-shadow:0 10px 25px #00000014;border:1.5px solid rgba(255,255,255,.6);align-items:center}@media (min-width: 640px){.map-search-bar{max-width:580px;left:20px;right:auto}}.search-select{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:6px 12px;font-size:12px;font-weight:800;color:var(--text-main);outline:none;cursor:pointer;box-shadow:0 2px 4px #00000005;transition:all .2s ease}.search-select:focus{border-color:var(--color-equal-love)}.search-input{flex:1;background:transparent;border:none;font-size:13px;font-weight:700;color:var(--text-main);outline:none;padding:6px 8px}.search-input::placeholder{color:var(--text-muted);font-weight:500}.search-clear-btn{background:none;border:none;color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.search-clear-btn:hover{color:var(--color-equal-love)}.map-no-results{position:absolute;top:75px;left:50%;transform:translate(-50%);z-index:1000;background:#ef4444f2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff;padding:10px 18px;border-radius:9999px;font-size:11px;font-weight:800;box-shadow:0 10px 25px #ef444433;border:2px solid #ffffff;pointer-events:none;animation:bounce-in .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes bounce-in{0%{opacity:0;transform:translate(-50%,-10px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@media (max-width: 767px){body{overflow:hidden!important;width:100vw!important;height:100vh!important;position:fixed!important}.app-container{height:100vh!important;min-height:auto!important;overflow:hidden!important}.app-header{height:60px!important;padding:0 16px!important;position:relative!important;z-index:1000;background:#fff;box-shadow:0 4px 20px #00000008}.header-title{font-size:15px!important}.active-group-label,.group-badges-container,.auth-header-controls{display:none!important}.mobile-menu-trigger{display:flex!important}.main-area{flex-direction:row!important;height:calc(100% - 156px)!important;overflow:hidden!important}.left-area{width:100%!important;height:100%!important;min-height:auto!important;padding:0!important;gap:0!important;position:relative!important;overflow:hidden!important;display:flex!important}.map-container,.map-wrapper,#map-canvas{width:100%!important;height:100%!important;min-height:320px!important;display:block!important}.map-wrapper{border-radius:0!important;border:none!important;box-shadow:none!important;width:100%!important;display:block!important}.right-panel{position:fixed!important;top:0!important;right:-100%!important;width:85%!important;max-width:380px!important;height:100%!important;min-height:auto!important;border-left:none!important;border-top:none!important;border-radius:0!important;margin-top:0!important;z-index:2000!important;background:#fff!important;box-shadow:-10px 0 35px #1e293b26!important;transition:right .3s cubic-bezier(.16,1,.3,1)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.right-panel.mobile-open{right:0!important}.panel-tab-bar{padding:16px!important;border-top-left-radius:0!important;border-top-right-radius:0!important;background:#f1f5f999!important}.panel-content{flex:1!important;height:auto!important;overflow:hidden!important}.info-scroll-area{overflow-y:auto!important;height:auto!important;padding:20px 16px!important}.drawer-mobile-header{display:flex!important}.leaflet-left{left:auto!important;right:12px!important;bottom:24px!important;top:auto!important}.leaflet-top{top:auto!important}.leaflet-bar{margin-right:0!important;margin-bottom:0!important;box-shadow:0 8px 20px #1e293b1a!important}.award-panel{border-top:3px solid #f4f7fe!important;background:#f8faff!important;padding:16px!important;margin-top:auto!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}}.pop-pin-container.visited{filter:drop-shadow(0 4px 10px rgba(234,179,8,.4));animation:pulseGold 2s infinite alternate}@keyframes pulseGold{0%{transform:scale(1);filter:drop-shadow(0 4px 10px rgba(234,179,8,.4))}to{transform:scale(1.05);filter:drop-shadow(0 6px 15px rgba(234,179,8,.6))}}.custom-gps-dot{background:none!important;border:none!important}.user-gps-dot{width:18px;height:18px;background:#007aff;border:3px solid #ffffff;border-radius:50%;box-shadow:0 0 10px #007aff99,0 0 0 8px #007aff33;animation:pulseGps 2s infinite alternate}@keyframes pulseGps{0%{box-shadow:0 0 10px #007aff99,0 0 0 2px #007aff40;transform:scale(.9)}to{box-shadow:0 0 15px #007affcc,0 0 0 14px #007aff26;transform:scale(1.1)}}.gps-jump-btn:hover{transform:scale(1.1) rotate(5deg);background-color:#f8fafc!important;color:var(--color-equal-love)!important;box-shadow:0 6px 20px #00000026!important}.gps-jump-btn:active{transform:scale(.95)}.gps-jump-btn.locating svg{color:var(--color-equal-love)!important}.google-map-route-btn{transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.google-map-route-btn:hover{transform:translateY(-2px);background-color:#f8fafc!important;border-color:#cbd5e1!important;box-shadow:0 6px 15px #0000000d!important}.badge-pill{transition:all .3s cubic-bezier(.175,.885,.32,1.275);animation:pulseBadge 2.5s infinite ease-in-out!important}.badge-pill:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 5px 12px #ff689799!important}@keyframes pulseBadge{0%{transform:scale(1);box-shadow:0 2px 4px #a78bfa4d;filter:brightness(1)}50%{transform:scale(1.02);box-shadow:0 4px 12px #a78bfa80,0 0 8px #ff68974d;filter:brightness(1.1)}to{transform:scale(1);box-shadow:0 2px 4px #a78bfa4d;filter:brightness(1)}}.mobile-bottom-sheet{position:fixed;bottom:-100%;left:0;width:100vw;height:65vh;background:#fff;border-top-left-radius:28px;border-top-right-radius:28px;box-shadow:0 -15px 35px #1e293b26;z-index:2100;transition:bottom .35s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow:hidden}.mobile-bottom-sheet.open{bottom:0!important}.bottom-sheet-handle{width:44px;height:5px;background:#e2e8f0;border-radius:9999px;margin:12px auto 4px;cursor:pointer;flex-shrink:0;transition:background-color .2s}.bottom-sheet-handle:hover{background-color:#cbd5e1}.ofuse-support-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#ff6897,#ff8fab 40%,#fbbf24);background-size:200% 200%;color:#fff!important;font-size:11px;font-weight:900;padding:10px 16px;border-radius:20px;border:none;cursor:pointer;text-decoration:none;box-shadow:0 4px 16px #ff689766,0 0 #ff68974d;animation:ofusePulse 3s ease-in-out infinite;transition:transform .2s ease,box-shadow .2s ease;letter-spacing:.01em}.ofuse-support-btn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 8px 24px #ff68978c,0 0 0 6px #ff68971f;animation-play-state:paused}.ofuse-support-btn:active{transform:scale(.96)}@keyframes ofusePulse{0%{box-shadow:0 4px 16px #ff689759,0 0 #ff689740;background-position:0% 50%}50%{box-shadow:0 6px 22px #ff68978c,0 0 0 8px #ff689700;background-position:100% 50%}to{box-shadow:0 4px 16px #ff689759,0 0 #ff689740;background-position:0% 50%}}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeInOverlay .3s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.tutorial-card{background:#fff;border-radius:28px;padding:32px 28px 28px;max-width:360px;width:100%;box-shadow:0 30px 60px #0f172a33,0 0 0 1px #fffc inset;animation:tutorialSlideUp .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.tutorial-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#ff6897,#a78bfa,#fbbf24)}@keyframes tutorialSlideUp{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-step-dots{display:flex;gap:6px;justify-content:center;margin-bottom:20px}.tutorial-dot{width:8px;height:8px;border-radius:50%;background:#e2e8f0;transition:all .3s ease}.tutorial-dot.active{background:#ff6897;width:22px;border-radius:4px}.tutorial-emoji{font-size:48px;text-align:center;display:block;margin-bottom:14px;animation:floatMini 2s infinite ease-in-out alternate}.tutorial-title{font-size:16px;font-weight:900;color:#0f172a;text-align:center;margin:0 0 10px;line-height:1.4}.tutorial-body{font-size:13px;color:#475569;text-align:center;line-height:1.75;margin:0 0 24px;font-weight:600}.tutorial-btn-primary{width:100%;background:linear-gradient(135deg,#ff6897,#a78bfa);color:#fff;font-size:13px;font-weight:900;padding:13px;border-radius:16px;border:none;cursor:pointer;box-shadow:0 6px 18px #ff689759;transition:all .2s cubic-bezier(.175,.885,.32,1.2);letter-spacing:.01em}.tutorial-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px #ff689773}.tutorial-btn-primary:active{transform:scale(.97)}.tutorial-btn-skip{width:100%;background:none;border:none;color:#94a3b8;font-size:11px;font-weight:700;padding:10px;cursor:pointer;margin-top:4px;border-radius:12px;transition:color .2s ease}.tutorial-btn-skip:hover{color:#64748b}.support-modal-card{background:#fff;border-radius:28px;padding:32px 28px 28px;max-width:360px;width:100%;box-shadow:0 30px 60px #0f172a33;animation:tutorialSlideUp .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.support-modal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#fbbf24,#ff6897,#a78bfa)}.support-modal-btn-primary{width:100%;background:linear-gradient(135deg,#ff6897,#fbbf24);color:#fff;font-size:13px;font-weight:900;padding:13px;border-radius:16px;border:none;cursor:pointer;box-shadow:0 6px 18px #ff689759;transition:all .2s cubic-bezier(.175,.885,.32,1.2);text-decoration:none;display:block;text-align:center;letter-spacing:.01em}.support-modal-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px #ff689773}.support-modal-btn-close{width:100%;background:#f1f5f9;border:none;color:#64748b;font-size:12px;font-weight:700;padding:11px;border-radius:14px;cursor:pointer;margin-top:8px;transition:background-color .2s ease}.support-modal-btn-close:hover{background:#e2e8f0}
