@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Gaegu:wght@700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#060912;--bg-elevated:#0c1020;--bg-surface:#ffffff08;--bg-surface-2:#ffffff0e;--bg-card:#0c101cb8;--bg-card-hover:#12182ae0;--bg-modal:#080b16f7;--bg-input:#0000004d;--bg-input-focus:#00000073;--accent:#2ec4b6;--accent-hover:#3dd9c4;--accent-active:#27b0a3;--accent-dim:#2ec4b61f;--accent-dim-hover:#2ec4b638;--accent-glow:#2ec4b652;--accent-glow-strong:#2ec4b68c;--gold:#f59e0b;--gold-hover:#fbbf24;--gold-dim:#f59e0b1f;--gold-glow:#f59e0b52;--green:#10b981;--green-dim:#10b9811f;--green-glow:#10b9814d;--red:#ef4444;--red-dim:#ef44441f;--red-glow:#ef44444d;--blue:#38bdf8;--blue-dim:#38bdf81f;--purple:#a855f7;--purple-dim:#a855f71f;--text-primary:#f0f4ff;--text-secondary:#b8c4d8;--text-muted:#ffffff7a;--text-dim:#ffffff47;--text-inverse:#060912;--glass-border:#ffffff13;--glass-border-hover:#2ec4b647;--glass-border-gold:#f59e0b38;--glass-border-subtle:#ffffff0a;--glass-shadow:0 20px 48px #00000085;--glass-shadow-hover:0 28px 64px #000000a3;--glass-inner:inset 0 1px 0 #ffffff1a;--glass-inner-strong:inset 0 1px 0 #ffffff2e;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-2xl:36px;--r-pill:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--header-h:64px;--bottom-nav-h:62px;--font:"Outfit", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-brand:"Gaegu", cursive, var(--font);--t-fast:.15s cubic-bezier(.4,0,.2,1);--t-base:.25s cubic-bezier(.4,0,.2,1);--t-slow:.4s cubic-bezier(.4,0,.2,1);--t-spring:.35s cubic-bezier(.34,1.56,.64,1);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--neon-teal:var(--accent);--neon-yellow:var(--gold);--neon-blue:var(--blue);--accent-teal:var(--accent);--accent-gold:var(--gold);--bg-dark:var(--bg);--radius-card:var(--r-lg);--radius-pill:var(--r-pill);--font-main:var(--font);--bottom-nav-height:var(--bottom-nav-h);--header-height:var(--header-h)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth;touch-action:manipulation;overscroll-behavior-y:contain}body{font-family:var(--font);background-color:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em;scrollbar-gutter:stable;min-height:100vh;line-height:1.6;overflow-x:hidden}.g-ambient{z-index:-2;background:radial-gradient(at 50% 0,#080f1f 0%,#060912 60%,#030508 100%);transition:background 2s;position:fixed;inset:0;overflow:hidden}.g-orb{pointer-events:none;filter:blur(80px);border-radius:50%;animation:20s ease-in-out infinite orbFloat;position:absolute}.g-orb-1{opacity:.8;background:radial-gradient(circle,#2ec4b62e 0%,#0000 65%);width:600px;height:600px;animation-delay:0s;top:-15%;left:-10%}.g-orb-2{opacity:.7;background:radial-gradient(circle,#0596691f 0%,#0000 65%);width:700px;height:700px;animation-delay:-7s;bottom:-20%;right:-15%}.g-orb-3{opacity:.6;background:radial-gradient(circle,#6366f11a 0%,#0000 65%);width:400px;height:400px;animation-delay:-13s;top:35%;left:30%}.ambient-morning .g-orb-1{background:radial-gradient(circle,#f59e0b26 0%,#0000 65%)}.ambient-morning .g-orb-2{background:radial-gradient(circle,#38bdf81f 0%,#0000 65%)}.ambient-morning .g-orb-3{background:radial-gradient(circle,#fb923c1a 0%,#0000 65%)}.ambient-morning .g-ambient{background:radial-gradient(at 50% 0,#0c1422 0%,#07090f 100%)}.ambient-sunset .g-orb-1{background:radial-gradient(circle,#ef444429 0%,#0000 65%)}.ambient-sunset .g-orb-2{background:radial-gradient(circle,#a78bfa1f 0%,#0000 65%)}.ambient-sunset .g-orb-3{background:radial-gradient(circle,#f9731624 0%,#0000 65%)}.ambient-sunset .g-ambient{background:radial-gradient(at 50% 0,#120818 0%,#08040c 100%)}.ambient-night .g-orb-1{background:radial-gradient(circle,#3b82f61a 0%,#0000 65%)}.ambient-night .g-orb-2{background:radial-gradient(circle,#6366f114 0%,#0000 65%)}.ambient-night .g-orb-3{background:radial-gradient(circle,#94a3b80f 0%,#0000 65%)}.ambient-night .g-ambient{background:radial-gradient(at 50% 0,#040810 0%,#020406 100%)}.liquid-bg-container{z-index:-2;background:radial-gradient(at 50% 0,#080f1f 0%,#060912 60%,#030508 100%);transition:background 2s;position:fixed;inset:0;overflow:hidden}.liquid-orb{pointer-events:none;filter:blur(80px);border-radius:50%;animation:20s ease-in-out infinite orbFloat;position:absolute}.orb-1{opacity:.8;background:radial-gradient(circle,#2ec4b62e 0%,#0000 65%);width:600px;height:600px;animation-delay:0s;top:-15%;left:-10%}.orb-2{opacity:.7;background:radial-gradient(circle,#0596691f 0%,#0000 65%);width:700px;height:700px;animation-delay:-7s;bottom:-20%;right:-15%}.orb-3{opacity:.6;background:radial-gradient(circle,#6366f11a 0%,#0000 65%);width:400px;height:400px;animation-delay:-13s;top:35%;left:30%}.g-card{background:var(--bg-card);-webkit-backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-inner),var(--glass-shadow);border-radius:var(--r-lg);transition:transform var(--t-base),border-color var(--t-base),box-shadow var(--t-base)}.g-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-inner-strong),var(--glass-shadow-hover);transform:translateY(-2px)}.g-card-flat{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--r-md)}.g-card-gold{border-color:var(--glass-border-gold);box-shadow:var(--glass-inner),0 0 28px #f59e0b14}.g-card-accent{box-shadow:var(--glass-inner),0 0 28px #2ec4b614;border-color:#2ec4b633}.glass-card,.grram-glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-inner),var(--glass-shadow);border-radius:var(--r-lg);transition:transform var(--t-base),border-color var(--t-base),box-shadow var(--t-base)}.glass-card:hover,.grram-glass-card:hover{border-color:var(--glass-border-hover);transform:translateY(-2px)}.btn-g{border-radius:var(--r-pill);font-family:var(--font);cursor:pointer;white-space:nowrap;transition:all var(--t-spring);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 26px;font-size:.9rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-g:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff1f 0%,#0000 60%);position:absolute;inset:0}.btn-g-primary{background:linear-gradient(135deg,var(--accent) 0%,#10b981 100%);color:var(--text-inverse);box-shadow:0 4px 20px var(--accent-glow)}.btn-g-primary:hover{background:linear-gradient(135deg,var(--accent-hover) 0%,#0ea572 100%);box-shadow:0 8px 32px var(--accent-glow-strong);color:var(--text-inverse);transform:translateY(-2px)scale(1.01)}.btn-g-primary:active{transform:translateY(0)scale(.97)}.btn-g-gold{background:linear-gradient(135deg,var(--gold) 0%,#d97706 100%);color:#1a0f00;box-shadow:0 4px 20px var(--gold-glow)}.btn-g-gold:hover{color:#1a0f00;transform:translateY(-2px);box-shadow:0 8px 32px #f59e0b80}.btn-g-ghost{color:var(--text-secondary);border:1px solid var(--glass-border);background:#ffffff0f}.btn-g-ghost:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff2e;transform:translateY(-1px)}.btn-g-danger{background:linear-gradient(135deg,var(--red) 0%,#b91c1c 100%);color:#fff;box-shadow:0 4px 20px var(--red-glow)}.btn-g-danger:hover{transform:translateY(-2px);box-shadow:0 8px 28px #ef444480}.btn-g-icon{background:var(--bg-surface-2);border:1px solid var(--glass-border);width:40px;height:40px;color:var(--text-secondary);border-radius:50%;padding:0}.btn-g-icon:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);transform:scale(1.05)}.btn-g-sm{padding:8px 18px;font-size:.8rem}.btn-g-lg{padding:15px 36px;font-size:1rem}.btn-grram-primary{background:linear-gradient(135deg,var(--accent) 0%,#10b981 100%);color:var(--text-inverse);border-radius:var(--r-pill);transition:all var(--t-spring);box-shadow:0 4px 18px var(--accent-glow);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 24px;font-weight:700;text-decoration:none;display:inline-flex}.btn-grram-primary:hover{box-shadow:0 8px 24px var(--accent-glow-strong);color:var(--text-inverse);transform:translateY(-2px)}.btn-grram-ghost{color:var(--text-secondary);border:1px solid var(--glass-border);border-radius:var(--r-pill);transition:all var(--t-base);background:#ffffff0f;justify-content:center;align-items:center;gap:8px;padding:10px 22px;text-decoration:none;display:inline-flex}.btn-grram-ghost:hover{color:#fff;background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.g-input{background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--r-md);width:100%;color:var(--text-primary);font-family:var(--font);transition:border-color var(--t-base),box-shadow var(--t-base),background var(--t-base);-webkit-appearance:none;outline:none;padding:13px 16px;font-size:.95rem;font-weight:500;display:block}.g-input::placeholder{color:var(--text-muted)}.g-input:focus{background:var(--bg-input-focus);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.g-input-label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:7px;font-size:.8rem;font-weight:600;display:block}.g-badge{border-radius:var(--r-pill);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:5px;padding:4px 11px;font-size:.72rem;font-weight:700;display:inline-flex}.g-badge-teal{background:var(--accent-dim);color:var(--accent);border:1px solid #2ec4b633}.g-badge-gold{background:var(--gold-dim);color:var(--gold);border:1px solid #f59e0b33}.g-badge-green{background:var(--green-dim);color:var(--green);border:1px solid #10b98133}.g-badge-red{background:var(--red-dim);color:var(--red);border:1px solid #ef444433}.g-badge-blue{background:var(--blue-dim);color:var(--blue);border:1px solid #38bdf833}.g-badge-purple{background:var(--purple-dim);color:var(--purple);border:1px solid #a855f733}.g-badge-ghost{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--glass-border)}.g-skeleton,.grram-skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,#ffffff0a 0%,#ffffff17 40%,#ffffff0a 80%) 0 0/300% 100%;animation:1.8s ease-in-out infinite gShimmer}@keyframes gShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.g-header{height:var(--header-h);z-index:1000;padding:0 max(16px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(32px)saturate(180%);border-bottom:1px solid var(--glass-border-subtle);transition:background var(--t-slow),border-color var(--t-slow);background:#06091299;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.g-header.scrolled{border-bottom-color:var(--glass-border);background:#060912e0}.g-logo{font-family:var(--font);letter-spacing:-.6px;color:var(--text-primary);align-items:center;gap:5px;font-size:1.35rem;font-weight:900;text-decoration:none;display:flex}.g-logo-accent{color:var(--accent)}.g-bottom-nav,#bottom-nav{height:calc(var(--bottom-nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);-webkit-backdrop-filter:blur(28px)saturate(180%);border-top:1px solid var(--glass-border);z-index:1000;transition:background var(--t-slow),border-color var(--t-slow);background:#060912c7;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.g-bottom-nav.scrolled,#bottom-nav.scrolled{background:#060912eb;border-top-color:#2ec4b62e}.g-nav-tab,.nav-tab{min-height:52px;color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);transition:color var(--t-fast),transform var(--t-fast);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:4px 8px;text-decoration:none;display:flex;position:relative}.g-nav-tab.active,.nav-tab.active{color:var(--accent)}.g-nav-tab.active:before,.nav-tab.active:before{content:"";background:var(--accent);border-radius:var(--r-pill);width:24px;height:3px;box-shadow:0 0 10px var(--accent-glow);position:absolute;top:6px}.g-nav-tab i,.nav-tab i{transition:transform var(--t-spring);font-size:1.3rem}.g-nav-tab.active i,.nav-tab.active i{filter:drop-shadow(0 0 6px var(--accent-glow));transform:translateY(-2px)scale(1.1)}.g-nav-tab span,.nav-tab span{letter-spacing:-.1px;font-size:.62rem;font-weight:600}.g-nav-tab:active,.nav-tab:active{transform:scale(.9)}.glow-teal{box-shadow:0 0 20px var(--accent-glow)}.glow-gold{box-shadow:0 0 20px var(--gold-glow)}.glow-green{box-shadow:0 0 20px var(--green-glow)}.glow-red{box-shadow:0 0 20px var(--red-glow)}.text-glow-teal{text-shadow:0 0 18px var(--accent-glow-strong)}.text-glow-gold{text-shadow:0 0 18px #f59e0b99}::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:#ffffff1f}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.04)}66%{transform:translate(-20px,15px)scale(.97)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 12px var(--accent-glow)}50%{box-shadow:0 0 28px var(--accent-glow-strong)}}@keyframes rotate360{to{transform:rotate(360deg)}}@keyframes tailWag{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}.anim-fade-up{animation:.5s cubic-bezier(.4,0,.2,1) both fadeInUp}.anim-fade-down{animation:.4s cubic-bezier(.4,0,.2,1) both fadeInDown}.anim-fade{animation:.4s both fadeIn}.anim-scale{animation:.35s cubic-bezier(.34,1.56,.64,1) both scaleIn}.anim-pulse-glow{animation:2.5s ease-in-out infinite pulseGlow}.anim-d1{animation-delay:80ms}.anim-d2{animation-delay:.16s}.anim-d3{animation-delay:.24s}.anim-d4{animation-delay:.32s}.anim-d5{animation-delay:.4s}.g-container{width:100%;max-width:1200px;padding:0 var(--space-lg);margin:0 auto}.g-container-sm{width:100%;max-width:560px;padding:0 var(--space-lg);margin:0 auto}.g-section{padding:var(--space-3xl) 0}.g-section-sm{padding:var(--space-2xl) 0}.pwa-page{padding-top:var(--header-h);padding-bottom:calc(var(--bottom-nav-h) + var(--safe-bottom))}.g-heading-xl{letter-spacing:-2.5px;font-size:clamp(2.5rem,7vw,5rem);font-weight:900;line-height:1.05}.g-heading-lg{letter-spacing:-1.5px;font-size:clamp(1.8rem,4vw,3rem);font-weight:800;line-height:1.1}.g-heading-md{letter-spacing:-.8px;font-size:clamp(1.3rem,3vw,2rem);font-weight:700;line-height:1.2}.g-label{letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);font-size:.7rem;font-weight:700}.g-text-gradient{background:linear-gradient(135deg,var(--accent) 0%,#10b981 50%,var(--blue) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.g-text-gradient-gold{background:linear-gradient(135deg,var(--gold) 0%,#fde68a 50%,var(--gold-hover) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.g-divider{background:var(--glass-border);height:1px;margin:var(--space-xl) 0}.g-mono{font-family:var(--font-mono)}button,a,[role=button]{-webkit-tap-highlight-color:transparent}button:active,a:active{transition:transform .1s;transform:scale(.97)}.pwa-safe-top{padding-top:max(12px,env(safe-area-inset-top,0px))}.pwa-safe-bottom{padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.brand-icon{animation:1s ease-in-out infinite alternate tailWag}.brand-text{letter-spacing:.5px;background:linear-gradient(135deg,#fff 40%,#9ca3af 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-family:Gaegu,cursive;font-size:1.6rem;font-weight:700}.fs-sm{font-size:.88rem}.fs-xs{font-size:.75rem}.user-select-none{-webkit-user-select:none;user-select:none}body.weather-sunny,body.weather-rainy,body.weather-hot,body.weather-cold{background:0 0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:none}html,body,#root,.bg-card,.bottom-blur-bar,nav,header,main,div,span,p,h1,h2,h3,h4,h5,h6{transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}:root{--bg-primary:#faf9f6;--bg-card:#ffffffbf;--bg-input:#ebebf099;--toss-blue:#8b5cf6;--toss-blue-light:#8b5cf61f;--text-primary:#2d2b32;--text-secondary:#8e8c95;--text-muted:#b4b2ba;--border-color:#8b5cf61a;--btn-secondary-bg:#8b5cf614;--btn-secondary-text:#8b5cf6;--btn-secondary-hover-bg:#8b5cf626;--font-sans:"Inter", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:"Outfit", "Noto Sans KR", -apple-system, sans-serif;--nav-bg:#ffffff73;--nav-border:#00000026}[data-theme=dark],html[data-theme=dark]{--bg-primary:#121016;--bg-card:#1c1a20b3;--bg-input:#2d2b3299;--toss-blue:#a78bfa;--toss-blue-light:#a78bfa26;--text-primary:#f3f1f5;--text-secondary:#a09eaa;--text-muted:#716f7b;--border-color:#ffffff14;--btn-secondary-bg:#a78bfa1a;--btn-secondary-text:#a78bfa;--btn-secondary-hover-bg:#a78bfa33;--nav-bg:#1c1c1e73;--nav-border:#ffffff26}@keyframes meshMovement{0%{background-position:0 0}50%{background-position:100% 100%}to{background-position:0 0}}@keyframes auroraPulse{0%{opacity:.7;transform:scale(1)translate(0)}50%{opacity:.95;transform:scale(1.1)translate(-2%,3%)}to{opacity:.7;transform:scale(1)translate(0)}}@keyframes twinkle{0%{opacity:.1;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.1;transform:scale(.8)}}@keyframes fall{0%{transform:translateY(0)}to{transform:translateY(105vh)}}@keyframes snowFall{0%{transform:translateY(0)}to{transform:translateY(50vh)}}body{overscroll-behavior-y:none;-webkit-user-select:none;user-select:none;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 0 0,#8b5cf61f 0,#0000 50%),radial-gradient(circle at 100% 100%,#d8b4fe1f 0,#0000 50%),radial-gradient(circle,#a78bfa0d 0,#0000 60%);background-size:150% 150%;background-attachment:fixed;min-height:100vh;margin:0;padding:0;animation:20s ease-in-out infinite alternate meshMovement;position:relative;overflow-x:hidden;background-color:var(--bg-primary)!important}[data-theme=dark] body,html[data-theme=dark] body{background-image:radial-gradient(circle at 0 0,#a78bfa26 0,#0000 50%),radial-gradient(circle at 100% 100%,#c084fc1a 0,#0000 50%),radial-gradient(circle,#8b5cf614 0,#0000 60%)}#root{-webkit-overflow-scrolling:touch;z-index:1;min-height:100vh;padding-bottom:100px;position:relative;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-primary);margin-top:0;font-weight:700}h2{letter-spacing:.37px;margin-bottom:16px;font-size:34px;font-weight:800;line-height:41px}h3{letter-spacing:.35px;font-size:22px;font-weight:700;line-height:28px}.tracking-tight{letter-spacing:-.04em}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.force-text-white,.force-text-light,[data-theme=light] .force-text-white{color:#fff!important}.force-text-yellow,[data-theme=light] .force-text-yellow{color:gold!important}.force-text-muted,[data-theme=light] .force-text-muted{color:#a0a0b8!important}.admin-dark-card{color:#fff!important;background:#181824!important;border:1px solid #ffffff26!important}.admin-dark-card h1,.admin-dark-card h2,.admin-dark-card h3,.admin-dark-card h4,.admin-dark-card h5,.admin-dark-card h6,.admin-dark-card label,.admin-dark-card .form-label,.admin-dark-card .fw-bold{color:#fff!important;opacity:1!important}.admin-dark-card .extra-small,.admin-dark-card .small,.admin-dark-card .text-secondary,.admin-dark-card .text-muted,.admin-dark-card span:not(.badge):not(.btn):not(.spinner-border),.admin-dark-card p,.admin-dark-card div:not(.btn):not(.badge){color:#d0d2e5!important;opacity:1!important}.admin-dark-card input,.admin-dark-card select{color:#fff!important;background-color:#0d0d18!important;border-color:#ffffff40!important}.admin-dark-card select option{color:#fff!important;background-color:#181824!important}::placeholder{color:var(--text-muted);opacity:1}.glass-card,.toss-card,.glass-sub-card{-webkit-backdrop-filter:blur(32px)saturate(180%);will-change:transform, box-shadow;border-radius:28px;margin-bottom:16px;padding:24px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .4s;position:relative;box-shadow:0 8px 32px #8b5cf60f,0 2px 8px #00000005,inset 0 1px #fff6;background-color:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-top:1px solid #ffffff80!important;border-left:1px solid #ffffff4d!important}[data-theme=dark] .glass-card,[data-theme=dark] .toss-card,[data-theme=dark] .glass-sub-card{box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff0d;border:1px solid #ffffff0d!important;border-top-color:#ffffff1a!important}.toss-card:hover{transform:translateY(-4px)scale(1.005)translate(0,0);box-shadow:0 12px 32px #00000014,0 2px 4px #00000008;border-color:#0000000d!important}[data-theme=dark] .toss-card:hover{box-shadow:0 12px 32px #0009,0 2px 4px #0000004d;border-color:#ffffff1a!important}.toss-clickable,.glass-card,.toss-card,.btn,.bottom-nav-item{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .1s,opacity .1s}.toss-clickable:active,.glass-card:active,.toss-card:active,.btn:active,.bottom-nav-item:active{opacity:.8;transform:scale(.96)!important}.status-badge{letter-spacing:-.01em;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.status-badge.bg-success{border:none;color:#34c759!important;background-color:#34c75926!important}.status-badge.bg-danger{border:none;color:#ff3b30!important;background-color:#ff3b3026!important}.status-badge.bg-warning{border:none;color:#ff9500!important;background-color:#ff950026!important}.status-badge.bg-info{border:none;background-color:var(--toss-blue-light)!important;color:var(--toss-blue)!important}.glass-input,.glass-select,.form-check-input{background-color:var(--bg-input)!important;color:var(--text-primary)!important;border:none!important;border-radius:10px!important;padding:12px 16px!important;font-size:17px!important;font-weight:400!important;transition:all .2s!important}.form-check-input{border:1px solid var(--border-color)!important}.glass-input:focus,.glass-select:focus{background-color:var(--bg-card)!important;box-shadow:0 0 0 2px var(--toss-blue)!important}.glass-select option{background:var(--bg-card);color:var(--text-primary)}.form-check-input:checked{background-color:var(--toss-blue)!important;border-color:var(--toss-blue)!important}.btn-primary{background:linear-gradient(135deg, var(--toss-blue), #d8b4fe)!important;color:#fff!important;border:none!important;border-top:1px solid #fff6!important;border-radius:16px!important;padding:14px 24px!important;font-size:17px!important;font-weight:600!important;transition:all .4s cubic-bezier(.34,1.56,.64,1)!important;box-shadow:0 6px 20px #8b5cf64d,inset 0 1px #ffffff4d!important}.btn-primary:hover{transform:translateY(-3px)scale(1.03);box-shadow:0 10px 28px #8b5cf673,inset 0 1px #fff6!important}.btn-primary:active{transform:translateY(1px)scale(.98);box-shadow:0 2px 8px #8b5cf64d!important}.btn-secondary{background-color:var(--btn-secondary-bg)!important;color:var(--btn-secondary-text)!important;border:none!important;border-radius:16px!important;padding:14px 24px!important;font-size:17px!important;font-weight:600!important;transition:all .25s cubic-bezier(.2,.8,.2,1)!important}.btn-secondary:hover{transform:translateY(-2px)scale(1.02);background-color:var(--btn-secondary-hover-bg)!important}.btn-secondary:active{transform:translateY(1px)scale(.98)}.bottom-blur-bar{z-index:1000;padding:8px 0 calc(12px + env(safe-area-inset-bottom,12px)) 0;border-top:1px solid #ffffff26;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0003;-webkit-backdrop-filter:blur(24px)saturate(200%)!important;background-color:#12121cbf!important}@media (width>=768px){.bottom-blur-bar{border:1px solid #fff3;border-radius:30px;max-width:540px;margin:0 auto;padding:8px 0;bottom:20px;box-shadow:0 10px 30px #0000004d}}.bottom-nav-item{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:48px;padding:4px 12px;font-size:10px;font-weight:500;text-decoration:none;transition:color .15s ease-in-out;display:flex}.bottom-nav-item i{font-size:24px}.bottom-nav-item:hover{color:var(--text-secondary)}.bottom-nav-item.active{color:var(--toss-blue)!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8e8e9366;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8e8e9399}.progress{border-radius:4px;background-color:var(--bg-input)!important}.progress-bar{background-color:var(--toss-blue)!important}@keyframes pulse{0%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(.9)}}.live-indicator{will-change:transform, opacity;background-color:#34c759;border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.8s infinite pulse;display:inline-block}.glass-modal-content{background:var(--bg-card);color:var(--text-primary);border:none;border-radius:20px;box-shadow:0 20px 40px #0003}[data-theme=dark] .glass-modal-content{box-shadow:0 20px 40px #0009}.custom-map-overlay{will-change:transform, box-shadow;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;transform:translateY(-10px)}.custom-map-overlay:hover{z-index:100!important;transform:translateY(-16px)scale(1.06)!important;box-shadow:0 8px 24px #0003!important}.animate-fade-in{animation:.35s cubic-bezier(.16,1,.3,1) both fadeIn}.animate-tab-content{animation:.3s ease-out both tabFadeIn}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stagger-item{opacity:0;animation:.3s ease-out both tabFadeIn}.modal-scale-up{animation:.3s cubic-bezier(.175,.885,.32,1.2) both modalScaleUp}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.hospital-card{transition:all .15s}.hospital-card:hover{border-color:var(--toss-blue)!important;background-color:var(--toss-blue-light)!important}.weather-glow-container,.weather-motion-container{display:none!important}.review-stack-container{perspective:1000px;width:100%;height:160px;margin-top:15px;margin-bottom:25px;position:relative}.review-card-stack{background:var(--bg-card);border:1px solid var(--border-color);will-change:transform, opacity;border-radius:20px;flex-direction:column;justify-content:center;width:100%;height:100%;padding:20px;transition:transform .4s cubic-bezier(.175,.885,.32,1.2),opacity .3s,z-index .1s;display:flex;position:absolute;transform:translate(0,0);box-shadow:0 8px 24px #0000001a}[data-theme=dark] .review-card-stack{box-shadow:0 8px 24px #0006}.stack-item-active{z-index:3;opacity:1;transform:translate(0,0)rotate(0)}.stack-item-next{z-index:2;opacity:.75;transform:translate3d(0,10px,-30px)scale(.96)rotate(-1.5deg)}.stack-item-back{z-index:1;opacity:.45;transform:translate3d(0,20px,-60px)scale(.92)rotate(1.5deg)}.stack-item-exit{opacity:0;z-index:4;transform:translate(120%,-30px)scale(.9)rotate(15deg)}.message-bubble{word-break:break-word;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:18px;padding:12px 16px;line-height:1.4;animation:.2s ease-out fadeIn;box-shadow:0 2px 8px #0000000d}.breath-circle-indicator{background:var(--toss-blue);will-change:transform, box-shadow, background-color;transform:scale(1);box-shadow:0 0 20px #007aff66}.breath-circle-indicator.ready{background:#8e8e93;animation:2s ease-in-out infinite breath-pulse-ready;box-shadow:0 0 20px #8e8e934d}.breath-circle-indicator.inhale{background:#34c759;transform:scale(1.5);box-shadow:0 0 35px #34c75999}.breath-circle-indicator.hold{background:#5856d6;animation:1s ease-in-out infinite breath-pulse-hold;transform:scale(1.5);box-shadow:0 0 45px #5856d6b3}.breath-circle-indicator.exhale{background:#ff9500;transform:scale(.9);box-shadow:0 0 25px #ff950080}.breath-circle-indicator.completed{background:#34c759;transform:scale(1.1);box-shadow:0 0 30px #34c75999}@keyframes breath-pulse-ready{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes breath-pulse-hold{0%,to{transform:scale(1.5)}50%{transform:scale(1.53);box-shadow:0 0 55px #5856d6d9}}.subway-medical-overlay{will-change:transform, box-shadow;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;transform:translateY(-40px)}.subway-medical-overlay:hover{z-index:100!important;transform:translateY(-46px)scale(1.06)!important;box-shadow:0 8px 24px #ff3b30b3!important}.border-dashed{background:0 0;border-radius:16px;padding:16px;border:2px dashed var(--border-color)!important}.bg-background{background-color:var(--bg-primary)}.ios-blur{-webkit-backdrop-filter:blur(20px);background-color:#f2f2f7bf}[data-theme=dark] .ios-blur,html[data-theme=dark] .ios-blur{background-color:#000000bf}.weather-ambient-container{pointer-events:none;z-index:0;opacity:1;height:400px;position:absolute;top:0;left:0;right:0;overflow:hidden}[data-theme=dark] .weather-ambient-container,html[data-theme=dark] .weather-ambient-container{opacity:.65}.weather-anim-sun{filter:blur(40px);will-change:transform, opacity;background:radial-gradient(circle,#ffa00080 0%,#ffc80033 40%,#0000 70%);border-radius:50%;width:500px;height:500px;animation:8s ease-in-out infinite alternate pulse-glow;position:absolute;top:-150px;right:-50px}[data-theme=dark] .weather-anim-sun,html[data-theme=dark] .weather-anim-sun{background:radial-gradient(circle,#ffaa004d 0%,#ffc8001a 40%,#0000 70%)}.weather-anim-rain{filter:blur(40px);will-change:transform, opacity;background:radial-gradient(#0064ff66 0%,#007aff26 50%,#0000 70%);width:800px;height:400px;animation:6s ease-in-out infinite alternate pulse-glow;position:absolute;top:-100px;left:50%;transform:translate(-50%)}[data-theme=dark] .weather-anim-rain,html[data-theme=dark] .weather-anim-rain{background:radial-gradient(#007aff33 0%,#007aff0d 50%,#0000 70%)}.weather-anim-snow{filter:blur(40px);will-change:transform, opacity;background:radial-gradient(#6496dc66 0%,#96c8ff26 50%,#0000 70%);width:800px;height:400px;animation:7s ease-in-out infinite alternate pulse-glow;position:absolute;top:-100px;left:50%;transform:translate(-50%)}[data-theme=dark] .weather-anim-snow,html[data-theme=dark] .weather-anim-snow{background:radial-gradient(#c8dcff40 0%,#ffffff1a 50%,#0000 70%)}@keyframes pulse-glow{0%{opacity:.5;transform:scale(1)}to{opacity:.9;transform:scale(1.1)}}@keyframes rainDrop{0%{transform:translateY(0)rotate(10deg)}to{transform:translateY(50vh)rotate(10deg)}}.weather-bg-container{z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.weather-bg-gradient{opacity:.15;width:100%;height:100%;transition:opacity 2s,background 2s;position:absolute;top:0;left:0}[data-theme=dark] .weather-bg-gradient{opacity:.05}.rain-overlay{opacity:.4;background-image:linear-gradient(#fff0 0%,#fff3 50%,#fff0 100%);background-size:10px 50px;width:100%;height:200%;animation:.8s linear infinite rainDrop;position:absolute;top:-100%;left:0;transform:rotate(10deg)}[data-theme=dark] .rain-overlay{background-image:linear-gradient(#fff0 0%,#ffffff1a 50%,#fff0 100%)}.snow-overlay{opacity:.3;filter:blur(1px);background-image:radial-gradient(circle,#fffc 10%,#0000 10.1%),radial-gradient(circle,#fffc 10%,#0000 10.1%);background-position:0 0,15px 15px;background-size:30px 30px,40px 40px;width:100%;height:200%;animation:5s linear infinite snowFall;position:absolute;top:-100%;left:0}[data-theme=dark] .snow-overlay{opacity:.15}.toss-hover-rise{cursor:pointer;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)!important}@media (hover:hover){.toss-hover-rise:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014!important}[data-theme=dark] .toss-hover-rise:hover,html[data-theme=dark] .toss-hover-rise:hover{box-shadow:0 8px 20px #0006!important}}.premium-search-input{background-color:var(--bg-input)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;-webkit-backdrop-filter:blur(12px)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.premium-search-input:focus{border-color:var(--toss-blue)!important;box-shadow:0 0 0 4px var(--toss-blue-light)!important;background-color:var(--bg-card)!important}.premium-search-input::placeholder{color:var(--text-muted)!important}.badge-soft{border:1px solid #0000;padding:.35em .65em;font-weight:600}.weather-bg-container{z-index:-1;width:100%;height:100%;transition:all 1.5s ease-in-out;position:absolute;top:0;left:0;overflow:hidden}.weather-bg-gradient{width:100%;height:100%;transition:opacity 1.5s ease-in-out,background 1.5s ease-in-out;position:absolute;top:0;left:0}.bg-time-dawn .weather-bg-gradient{background:linear-gradient(135deg,#a18cd1 0%,#fbc2eb 50%,#8fd3f4 100%)}.bg-time-day .weather-bg-gradient{background:linear-gradient(135deg,#8fd3f4 0%,#84fab0 100%)}.bg-time-sunset .weather-bg-gradient{background:linear-gradient(135deg,#ff9a9e 0%,#fecfef 50%,#fbc2eb 100%)}.bg-time-night .weather-bg-gradient{background:linear-gradient(135deg,#141e30 0%,#243b55 100%)}.bg-weather-rain .weather-bg-gradient:after{content:"";backdrop-filter:blur(2px);background:#2b3e5166;transition:background 1.5s;position:absolute;inset:0}.bg-weather-snow .weather-bg-gradient:after{content:"";backdrop-filter:blur(1px);background:#fff3;transition:background 1.5s;position:absolute;inset:0}.weather-particles{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.rain-drop{background:linear-gradient(#fff0,#ffffffb3);border-radius:50%;width:2px;height:15px;animation:linear infinite fall-rain;position:absolute;top:-20px}@keyframes fall-rain{0%{opacity:0;transform:translateY(-20px)rotate(15deg)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(100vh)rotate(15deg)}}.snow-flake{background:#fff;border-radius:50%;animation:linear infinite fall-snow;position:absolute;top:-20px;box-shadow:0 0 5px #fffc}@keyframes fall-snow{0%{opacity:0;transform:translateY(-20px)translate(0)scale(.5)}20%{opacity:1}50%{transform:translateY(50vh)translate(20px)scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(100vh)translate(-20px)scale(.5)}}.star{background:#fff;border-radius:50%;width:2px;height:2px;animation:linear infinite twinkle;position:absolute;box-shadow:0 0 4px #fff}.pt-safe{padding-top:env(safe-area-inset-top)}.pb-safe{padding-bottom:env(safe-area-inset-bottom)}
