:root{color-scheme:dark;--bg: #10141f;--surface: #1a1f2e;--ink: #f4f1ec;--muted: #a3a0ad;--line: #2e3242;--accent: #ee6c4d;--accent-soft: #3b2823;--go: #34b986;--maybe: #e2a33d;--no: #e2606e;--radius: 14px;--radius-sm: 10px;--radius-xs: 7px;--shadow: 0 1px 2px rgba(0, 0, 0, .25), 0 12px 32px rgba(0, 0, 0, .35);--sky: linear-gradient(180deg, #16203a 0%, #121728 55%, #0e1220 100%);--cloud-a: rgba(238, 108, 77, .26);--cloud-b: rgba(58, 163, 139, .18);--cloud-c: rgba(233, 161, 59, .13);--glass: rgba(22, 25, 40, .52);--glass-2: rgba(255, 255, 255, .05);--glass-line: rgba(255, 255, 255, .09);--glass-glint: rgba(255, 255, 255, .07)}:root[data-theme=light]{color-scheme:light;--bg: #eef1f5;--surface: #ffffff;--ink: #211a16;--muted: #6b6560;--line: #e3dcd2;--accent: #d3572f;--accent-soft: #fbe3d8;--go: #178f63;--maybe: #b57f1d;--no: #cd4f5e;--shadow: 0 1px 2px rgba(27, 26, 34, .05), 0 12px 32px rgba(47, 66, 110, .12);--sky: linear-gradient(180deg, #a9cbe8 0%, #d9e7f2 48%, #f7f1e8 100%);--cloud-a: rgba(255, 255, 255, .95);--cloud-b: rgba(255, 255, 255, .72);--cloud-c: rgba(250, 236, 219, .9);--glass: rgba(255, 255, 255, .52);--glass-2: rgba(255, 255, 255, .55);--glass-line: rgba(255, 255, 255, .75);--glass-glint: rgba(255, 255, 255, .85)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45}body:before,body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}body:before{background:var(--sky)}body:after{z-index:-1;background:radial-gradient(42% 30% at 18% 20%,var(--cloud-a),transparent 70%),radial-gradient(52% 36% at 80% 10%,var(--cloud-b),transparent 70%),radial-gradient(36% 26% at 64% 56%,var(--cloud-c),transparent 70%),radial-gradient(46% 32% at 24% 84%,var(--cloud-b),transparent 72%);filter:blur(36px);transform:scale(1.3);animation:sky-drift 90s ease-in-out infinite alternate}@keyframes sky-drift{0%{transform:scale(1.3) translate(-2.2%,-1.6%) rotate(-1.2deg)}to{transform:scale(1.3) translate(2.2%,1.8%) rotate(1.2deg)}}@media(prefers-reduced-motion:reduce){body:after{animation:none}}h1,h2,h3{letter-spacing:-.025em;line-height:1.08;margin:0}h1{font-size:2.2rem;font-weight:850}h2{font-size:1.35rem;font-weight:800}h3{font-size:1.02rem;font-weight:750}p{margin:0}a{color:inherit;text-decoration:none}.app{max-width:720px;margin:0 auto;padding:0 1.1rem 4rem}.nav{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0 1.4rem}.brand{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.15rem}.brand{gap:3px}.brand .dot{width:34px;height:34px;display:inline-block;flex:none;background:url(/icon.svg) center / contain no-repeat}.brand .word{width:76px;height:27px;display:inline-block;flex:none;margin-top:8px;background:var(--ink);-webkit-mask:url(/hensdays.svg) center / contain no-repeat;mask:url(/hensdays.svg) center / contain no-repeat}.nav-right,.nav-links{display:flex;align-items:center;gap:.4rem}.nav-links a{padding:.4rem .7rem;border-radius:var(--radius-sm);color:var(--muted);font-weight:600;font-size:.9rem}.nav-links a.active{background:var(--accent-soft);color:var(--accent)}.tabbar{display:none}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:.68rem;font-weight:650;letter-spacing:-.01em}.tab svg{width:24px;height:24px}.tab .icon-wrap{border-radius:var(--radius-sm);padding:3px 14px;transition:background .15s ease}.tab.active{color:var(--accent)}.tab.active .icon-wrap{background:color-mix(in srgb,var(--accent) 16%,transparent)}.dot-badge{background:var(--no);color:#fff;font-size:.62rem;font-weight:800;border-radius:999px;min-width:15px;height:15px;padding:0 4px;display:inline-grid;place-items:center;line-height:1}.tab .icon-wrap{position:relative;display:inline-flex}.tab .icon-wrap .dot-badge{position:absolute;top:-4px;right:-9px}.nav-links a{position:relative}.nav-links .dot-badge{position:absolute;top:-7px;right:-4px}.tab:active{transform:scale(.94)}@media(max-width:640px){.nav-links{display:none}.nav{padding:.9rem 0 1rem}.tabbar{display:flex;align-items:stretch;position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(58px + env(safe-area-inset-bottom));padding:0 .3rem env(safe-area-inset-bottom);background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border-top:1px solid var(--glass-line);box-shadow:0 -2px 12px #1b1a220d}.app{padding-bottom:calc(58px + env(safe-area-inset-bottom) + 1rem)}.row{flex-wrap:wrap}}.card{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid var(--glass-line);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow),inset 0 1px 0 var(--glass-glint)}.stack{display:flex;flex-direction:column;gap:.9rem}.row{display:flex;align-items:center;gap:.6rem}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:.85rem}.tile{border-left:4px solid var(--line)}.tile-going{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent-soft),0 6px 18px #ee6c4d2e;background:linear-gradient(135deg,rgba(238,108,77,.1),var(--glass) 45%)}.tile-friend{box-shadow:0 0 0 1px #23a0733d,0 6px 18px #23a07321;background:linear-gradient(135deg,rgba(35,160,115,.1),var(--glass) 45%)}.friends-going{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;font-weight:700;color:var(--go);background:#23a0731f;border-radius:999px;padding:.12rem .5rem}.ev{display:flex;gap:.9rem;align-items:flex-start;cursor:pointer;transition:transform .05s ease}.ev:hover{transform:translateY(-1px)}.ev .emoji{font-size:1.5rem;width:46px;height:46px;flex:none;display:grid;place-items:center;background:var(--accent-soft);border-radius:10px}.ev .title{font-weight:700}.btn{font:inherit;font-weight:700;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;border:1px solid color-mix(in srgb,var(--accent) 80%,#000 20%);border-radius:var(--radius-sm);padding:.62rem 1.2rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 86%,#ffb46b 14%),color-mix(in srgb,var(--accent) 84%,#b03a7a 16%));color:#fff;box-shadow:inset 0 1px #ffffff47,0 4px 14px color-mix(in srgb,var(--accent) 34%,transparent);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff47,0 6px 20px color-mix(in srgb,var(--accent) 42%,transparent)}.btn:active{transform:translateY(0) scale(.98);box-shadow:inset 0 1px #fff3,0 2px 8px color-mix(in srgb,var(--accent) 28%,transparent)}.btn:focus-visible,.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.ghost{background:color-mix(in srgb,var(--surface) 55%,transparent);color:var(--ink);border-color:var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-glint)}.btn.ghost:hover{border-color:color-mix(in srgb,var(--ink) 30%,transparent);box-shadow:inset 0 1px 0 var(--glass-glint),0 4px 14px #0000002e}.btn.soft{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,transparent);box-shadow:inset 0 1px 0 var(--glass-glint)}.btn.soft:hover{box-shadow:inset 0 1px 0 var(--glass-glint),0 4px 14px color-mix(in srgb,var(--accent) 22%,transparent)}.btn.sm{padding:.35rem .85rem;font-size:.85rem}.btn-block{width:100%;text-align:center}label.field{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem}.input,select.input,textarea.input{width:100%;min-width:0;max-width:100%;font:inherit;padding:.65rem .8rem;border:1px solid var(--glass-line);border-radius:var(--radius-sm);background:var(--glass-2);color:var(--ink);box-shadow:inset 0 1px 0 var(--glass-glint)}input.input[type=datetime-local],input.input[type=date],input.input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:44px;display:block}.input:focus{outline:none;border-color:var(--accent);box-shadow:inset 0 1px 0 var(--glass-glint),0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}textarea.input{resize:vertical;min-height:64px}.chip{border:1px solid var(--glass-line);background:var(--glass-2);border-radius:var(--radius-sm);padding:.45rem .9rem;font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap;color:var(--ink);box-shadow:inset 0 1px 0 var(--glass-glint);transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.chip:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--ink) 25%,transparent)}.chip:active{transform:scale(.97)}.chip.on{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 86%,#ffb46b 14%),color-mix(in srgb,var(--accent) 84%,#b03a7a 16%));color:#fff;border-color:transparent;box-shadow:0 3px 12px color-mix(in srgb,var(--accent) 38%,transparent)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-xs);padding:.22rem .6rem;font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border:1px solid transparent}.pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.pill.going,.pill.scheduled{background:#23a07321;color:var(--go);border-color:#23a07359}.pill.maybe{background:#c58f2d24;color:var(--maybe);border-color:#c58f2d5c}.pill.declined{background:#d25a6921;color:var(--no);border-color:#d25a6957}.pill.polling{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 36%,transparent)}.pill.polling:before{animation:fx-twinkle 2s ease-in-out infinite}.grid{display:grid;grid-template-columns:auto repeat(3,1fr);gap:.35rem;align-items:center}.grid .hd{font-size:.78rem;font-weight:700;color:var(--muted);text-align:center}.grid .day{font-size:.85rem;font-weight:600}.cell{height:34px;border:1px solid var(--glass-line);border-radius:6px;background:var(--glass-2);cursor:pointer;transition:background .12s ease,border-color .12s ease}.cell.on{background:var(--go);border-color:var(--go)}.cell.busy-mark{background:var(--no);border-color:var(--no)}.cell.locked{cursor:not-allowed;border-color:transparent;background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(226,96,110,.35) 5px 7px),color-mix(in srgb,var(--no) 16%,transparent)}.legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:.8rem;color:var(--muted)}.legend .sw{display:inline-flex;align-items:center;gap:6px}.legend .sw i{width:15px;height:15px;border-radius:4px;display:inline-block}.gp-head{background:none;border:none;padding:0;font-family:inherit;cursor:pointer}.gp-head:hover{color:var(--accent)}.event-cover{width:100%;max-width:340px;aspect-ratio:1 / 1;object-fit:cover;border-radius:var(--radius);align-self:center;display:block;margin:0 auto;box-shadow:var(--shadow)}.thumb{border-radius:10px;object-fit:cover;flex:none;display:block;box-shadow:var(--shadow)}.comment-gif{max-width:180px;border-radius:var(--radius-sm);display:block}.gif-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-auto-rows:96px;gap:6px;max-height:210px;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;-webkit-overflow-scrolling:touch}.gif-grid button{border:1px solid var(--glass-line);background:var(--glass-2);border-radius:var(--radius-sm);padding:0;cursor:pointer;overflow:hidden}.gif-grid img{width:100%;height:100%;object-fit:cover;display:block}.event-theme{position:relative}.event-theme:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;transition:background .4s ease}.theme-party{--accent: #e0559b}.theme-party:before{background:linear-gradient(160deg,rgba(224,85,155,.42),rgba(157,107,212,.34) 55%,transparent 82%),radial-gradient(60% 45% at 82% 92%,rgba(255,193,90,.22),transparent 70%)}.theme-beach{--accent: #f0993a}.theme-beach:before{background:linear-gradient(180deg,rgba(61,157,177,.42),rgba(120,200,210,.18) 42%,transparent 68%),radial-gradient(85% 42% at 50% 100%,rgba(233,191,114,.42),transparent 78%)}.theme-forest{--accent: #3f9d6f}.theme-forest:before{background:linear-gradient(170deg,rgba(28,74,50,.44),transparent 58%),radial-gradient(72% 55% at 14% 92%,rgba(63,157,111,.42),transparent 72%)}.theme-night{--accent: #8b83ff}.theme-night:before{background:linear-gradient(180deg,#080a1abd,#080a1a57 68%),radial-gradient(2px 2px at 20% 18%,#fff,transparent 100%),radial-gradient(2px 2px at 64% 9%,rgba(255,255,255,.85),transparent 100%),radial-gradient(2px 2px at 83% 26%,rgba(255,255,255,.7),transparent 100%),radial-gradient(1.5px 1.5px at 42% 33%,#fff,transparent 100%),radial-gradient(1px 1px at 30% 62%,rgba(255,255,255,.6),transparent 100%)}.theme-neon{--accent: #ff2d94}.theme-neon:before{background:radial-gradient(58% 44% at 12% 18%,rgba(255,0,128,.4),transparent 66%),radial-gradient(58% 44% at 88% 80%,rgba(0,229,255,.34),transparent 66%),linear-gradient(160deg,rgba(18,0,28,.34),transparent 60%)}.theme-cozy{--accent: #df8038}.theme-cozy:before{background:linear-gradient(170deg,rgba(120,60,30,.32),transparent 52%),radial-gradient(78% 55% at 50% 98%,rgba(233,161,59,.44),transparent 76%)}.theme-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;overflow:hidden}.theme-fx .fx-p{position:absolute;top:-8vh;will-change:transform,opacity}.theme-fx .fx-p:nth-child(8n+1){left:5%}.theme-fx .fx-p:nth-child(8n+2){left:17%}.theme-fx .fx-p:nth-child(8n+3){left:29%}.theme-fx .fx-p:nth-child(8n+4){left:42%}.theme-fx .fx-p:nth-child(8n+5){left:56%}.theme-fx .fx-p:nth-child(8n+6){left:68%}.theme-fx .fx-p:nth-child(8n+7){left:81%}.theme-fx .fx-p:nth-child(8n+8){left:93%}.theme-fx .fx-p:nth-child(5n+1){animation-delay:-.6s}.theme-fx .fx-p:nth-child(5n+2){animation-delay:-2.4s}.theme-fx .fx-p:nth-child(5n+3){animation-delay:-4.1s}.theme-fx .fx-p:nth-child(5n+4){animation-delay:-1.5s}.theme-fx .fx-p:nth-child(5n+5){animation-delay:-5.3s}.fx-party .fx-p{width:8px;height:13px;border-radius:2px;animation:fx-fall 6s linear infinite}.fx-party .fx-p:nth-child(6n+1){background:#ee6c4d}.fx-party .fx-p:nth-child(6n+2){background:#e0a13b}.fx-party .fx-p:nth-child(6n+3){background:#3d9db1}.fx-party .fx-p:nth-child(6n+4){background:#e0559b}.fx-party .fx-p:nth-child(6n+5){background:#7a8cff}.fx-party .fx-p:nth-child(6n+6){background:#3f9d6f}.fx-party .fx-p:nth-child(2n){animation-name:fx-fall-sway;animation-duration:7.4s}.fx-party .fx-p:nth-child(3n){width:11px;height:18px}.fx-party .fx-p:nth-child(7n+2){width:6px;height:6px;border-radius:50%;animation-duration:4.8s}.fx-forest .fx-p{font-size:20px;line-height:1;animation:fx-fall-sway 11s linear infinite}.fx-forest .fx-p:nth-child(2n){font-size:15px;animation-duration:14s}.fx-forest .fx-p:nth-child(5n){font-size:24px;animation-duration:9s}.fx-night .fx-p{top:auto;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 6px 1px #ffffffe6;animation:fx-twinkle 3.4s ease-in-out infinite}.fx-night .fx-p:nth-child(4n+1){top:10%}.fx-night .fx-p:nth-child(4n+2){top:26%}.fx-night .fx-p:nth-child(4n+3){top:44%}.fx-night .fx-p:nth-child(4n+4){top:63%}.fx-night .fx-p:nth-child(3n){width:2px;height:2px;animation-duration:2.1s}.fx-night .fx-p:nth-child(7n+3){width:4px;height:4px;animation-duration:4.6s}.fx-night .fx-p:nth-child(9),.fx-night .fx-p:nth-child(18){top:8%;width:60px;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,.95),transparent);box-shadow:none;animation:fx-shoot 7s ease-in infinite}.fx-night .fx-p:nth-child(18){top:30%;animation-delay:-3.5s;animation-duration:9s}.fx-cozy .fx-p{top:auto;bottom:-4vh;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#ffd07a,#e0662f 70%);box-shadow:0 0 8px 2px #e0662fb3;animation:fx-rise 7s ease-in infinite}.fx-cozy .fx-p:nth-child(2n){width:3px;height:3px;animation-duration:5.2s}.fx-cozy .fx-p:nth-child(5n+1){width:7px;height:7px;animation-duration:9s}.fx-cozy .fx-p:nth-child(3n){animation-name:fx-rise-sway}.event-theme.theme-cozy:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(90% 55% at 50% 112%,rgba(233,120,40,.55),transparent 70%);animation:fx-flicker 4.5s ease-in-out infinite}.fx-beach .fx-p{top:auto;bottom:-4vh;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle,#fff0c8f2,#f0b45a26 70%);box-shadow:0 0 8px 1px #ffe19699;animation:fx-rise-sway 11s linear infinite}.fx-beach .fx-p:nth-child(2n){width:5px;height:5px;animation-duration:14s}.fx-beach .fx-p:nth-child(5n){width:9px;height:9px;animation-duration:8s}.fx-neon .fx-p{top:20%;width:70px;height:70px;border-radius:50%;filter:blur(16px);background:radial-gradient(circle,rgba(255,45,148,.55),transparent 70%);animation:fx-drift 13s ease-in-out infinite,fx-pulse 5s ease-in-out infinite}.fx-neon .fx-p:nth-child(2n){background:radial-gradient(circle,rgba(0,229,255,.5),transparent 70%);top:60%;animation-duration:16s,6.4s}.fx-neon .fx-p:nth-child(3n){background:radial-gradient(circle,rgba(155,92,255,.5),transparent 70%);top:40%;width:96px;height:96px}.fx-neon .fx-p:nth-child(1),.fx-neon .fx-p:nth-child(7),.fx-neon .fx-p:nth-child(11){top:-2vh;left:-8vw;width:160vmax;height:2px;border-radius:2px;filter:none;background:linear-gradient(90deg,rgba(255,45,148,.95),rgba(255,45,148,.45) 60%,transparent);box-shadow:0 0 14px 2px #ff2d9480;transform-origin:0 50%;animation:fx-laser 7s ease-in-out infinite alternate}.fx-neon .fx-p:nth-child(7){top:auto;bottom:-2vh;left:auto;right:-8vw;transform-origin:100% 50%;background:linear-gradient(270deg,rgba(0,229,255,.95),rgba(0,229,255,.45) 60%,transparent);box-shadow:0 0 14px 2px #00e5ff80;animation:fx-laser-rev 9s ease-in-out infinite alternate}.fx-neon .fx-p:nth-child(11){top:38vh;background:linear-gradient(90deg,rgba(155,92,255,.9),rgba(155,92,255,.4) 60%,transparent);box-shadow:0 0 14px 2px #9b5cff80;animation-duration:11s}@keyframes fx-fall{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:0}8%{opacity:1}50%{transform:translateY(52vh) translate(26px) rotate(220deg)}92%{opacity:1}to{transform:translateY(116vh) translate(-14px) rotate(520deg);opacity:0}}@keyframes fx-fall-sway{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:0}8%{opacity:1}25%{transform:translateY(24vh) translate(-34px) rotate(140deg)}50%{transform:translateY(52vh) translate(30px) rotate(300deg)}75%{transform:translateY(84vh) translate(-26px) rotate(460deg)}92%{opacity:1}to{transform:translateY(116vh) translate(18px) rotate(600deg);opacity:0}}@keyframes fx-twinkle{0%,to{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1.3)}}@keyframes fx-shoot{0%,62%{transform:translate(0);opacity:0}64%{opacity:1}74%{transform:translate(46vw,24vh);opacity:0}to{transform:translate(46vw,24vh);opacity:0}}@keyframes fx-rise-sway{0%{transform:translateY(0) translate(0);opacity:0}15%{opacity:1}35%{transform:translateY(-38vh) translate(-16px)}65%{transform:translateY(-76vh) translate(14px)}85%{opacity:.85}to{transform:translateY(-120vh) translate(-8px);opacity:0}}@keyframes fx-pulse{0%,to{opacity:.75;scale:1}50%{opacity:1;scale:1.18}}.whosin-bar{height:8px;border-radius:999px;background:var(--glass-2);border:1px solid var(--glass-line);overflow:hidden}.whosin-bar span{display:block;height:100%;border-radius:999px;min-width:4px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#ffb46b 30%));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 55%,transparent);transition:width .5s cubic-bezier(.2,.9,.3,1)}.theme-fx.fx-burst .fx-p{animation-iteration-count:1;animation-fill-mode:forwards;animation-duration:2.9s!important;animation-delay:0s!important}.fx-locked{position:fixed;top:28%;left:50%;z-index:4;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 86%,#ffb46b 14%),color-mix(in srgb,var(--accent) 84%,#b03a7a 16%));color:#fff;font-weight:800;font-size:1.15rem;letter-spacing:-.01em;padding:.85rem 1.7rem;border-radius:var(--radius-sm);box-shadow:0 10px 40px color-mix(in srgb,var(--accent) 55%,transparent);animation:fx-pop .5s cubic-bezier(.2,1.6,.4,1) both,fx-fadeout .6s ease 2.6s both}@keyframes fx-pop{0%{transform:translate(-50%) scale(.4);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes fx-fadeout{to{opacity:0}}@keyframes fx-laser{0%{transform:rotate(14deg);opacity:.25}45%{opacity:.85}to{transform:rotate(58deg);opacity:.35}}@keyframes fx-laser-rev{0%{transform:rotate(-12deg);opacity:.3}45%{opacity:.85}to{transform:rotate(-56deg);opacity:.3}}@keyframes fx-rise{0%{transform:translateY(0) translate(0);opacity:0}15%{opacity:1}85%{opacity:.85}to{transform:translateY(-120vh) translate(20px);opacity:0}}@keyframes fx-drift{0%,to{transform:translate(0)}33%{transform:translate(7vw,9vh)}66%{transform:translate(-6vw,4vh)}}@keyframes fx-flicker{0%,to{opacity:.7}25%{opacity:.98}50%{opacity:.55}75%{opacity:.9}}@media(prefers-reduced-motion:reduce){.theme-fx .fx-p{animation:none;opacity:.65;top:12%!important;bottom:auto!important}.theme-fx .fx-p:nth-child(5n+2){top:33%!important}.theme-fx .fx-p:nth-child(5n+3){top:54%!important}.theme-fx .fx-p:nth-child(5n+4){top:72%!important}.theme-fx .fx-p:nth-child(5n+5){top:88%!important}.event-theme.theme-cozy:after{animation:none}}.theme-tile{border:1px solid var(--accent);border-left-width:5px!important;box-shadow:0 8px 26px -6px var(--accent);position:relative;overflow:hidden}.theme-tile .title{color:var(--ink);font-weight:700}.theme-tile.theme-party{background:linear-gradient(135deg,#e0559b57,#9d6bd429 62%),var(--glass)}.theme-tile.theme-beach{background:linear-gradient(135deg,#f0993a57,#78c8d22e 62%),var(--glass)}.theme-tile.theme-forest{background:linear-gradient(135deg,#3f9d6f5c,#1c4a3233 62%),var(--glass)}.theme-tile.theme-night{background:linear-gradient(135deg,#8b83ff57,#080a1a57 62%),var(--glass)}.theme-tile.theme-neon{background:linear-gradient(135deg,#ff2d945c,#00e5ff33 62%),var(--glass);box-shadow:0 0 22px -4px #ff2d94}.theme-tile.theme-cozy{background:linear-gradient(135deg,#df803857,#783c1e2e 62%),var(--glass)}.facepile{display:flex;align-items:center;margin-top:6px}.facepile .face{display:inline-flex;margin-left:-7px;border-radius:50%}.facepile .face:first-child{margin-left:0}.facepile .face .avatar{box-shadow:0 0 0 2px var(--surface)}.facepile .face-friend .avatar{box-shadow:0 0 0 2px var(--accent)}.emoji-strip{display:flex;gap:4px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.emoji-strip .chip{flex:none}.cat-tag{flex:none;font-size:.78rem;font-weight:700;color:var(--muted);background:var(--accent-soft);border-radius:6px;padding:.2rem .6rem}.land{text-align:center;padding:3rem 1rem 2rem}.land-title{font-size:clamp(2.4rem,8vw,4rem);font-weight:850;letter-spacing:-.03em;line-height:1.02;margin:.6rem auto 0;max-width:12ch;background:linear-gradient(120deg,var(--ink) 30%,var(--accent) 120%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.land-sub{color:var(--muted);max-width:460px;margin:1rem auto 1.6rem;font-size:1.05rem}.land-cta{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.land-showcase{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin:2.2rem auto 0;max-width:520px}.land-showcase .chip{cursor:default}.land-points{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem;color:var(--muted);font-size:.9rem}.land-points b{color:var(--ink)}.filter-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.filter-row .chip{flex:none;display:inline-flex;align-items:center;gap:6px}.filter-count{background:var(--accent-soft);color:var(--accent);border-radius:999px;font-size:.7rem;font-weight:800;min-width:17px;height:17px;padding:0 5px;display:inline-grid;place-items:center;line-height:1}.chip.on .filter-count{background:#ffffff38;color:#fff}.resp-dot{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;opacity:.8;transition:opacity .1s ease,transform .1s ease}.resp-dot:hover{opacity:1}.resp-dot:active{transform:scale(.94)}.resp-dot.on{opacity:1;transform:scale(1.12)}.resp-dot.on .avatar{box-shadow:0 0 0 2.5px var(--accent),0 0 14px color-mix(in srgb,var(--accent) 60%,transparent)}.resp-dot:not(.on):has(~.resp-dot.on),.resp-dot.on~.resp-dot:not(.on){opacity:.45}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(72px + env(safe-area-inset-bottom));z-index:60;background:var(--go);color:#fff;font-weight:700;font-size:.92rem;padding:.6rem 1.1rem;border-radius:var(--radius-sm);box-shadow:0 6px 20px #23a07359;animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(min-width:641px){.toast{bottom:24px}}.cal-month{display:grid;grid-template-columns:repeat(7,1fr);background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);overflow:hidden;box-shadow:var(--shadow),inset 0 1px 0 var(--glass-glint)}.cal-head{padding:.5rem .4rem;text-align:center;font-size:.72rem;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line)}.cal-cell{min-height:84px;padding:4px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;cursor:pointer;overflow:hidden}.cal-cell:nth-child(7n){border-right:none}.cal-other{background:#7f7f8c14;color:var(--muted)}.cal-daynum{font-size:.72rem;font-weight:700;width:20px;height:20px;display:inline-grid;place-items:center;border-radius:50%}.cal-today{background:var(--accent);color:#fff}.cal-pill{border:none;font:inherit;text-align:left;cursor:pointer;font-size:.66rem;font-weight:700;border-radius:5px;padding:1px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);overflow:hidden;box-shadow:var(--shadow),inset 0 1px 0 var(--glass-glint)}.cal-week-col{border-right:1px solid var(--line)}.cal-week-col:last-child{border-right:none}.cal-week-head{display:flex;flex-direction:column;align-items:center;padding:.5rem .2rem;border-bottom:1px solid var(--line)}.cal-week-today{background:var(--accent-soft)}.cal-pill-lg{font-size:.72rem;padding:4px 6px;border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;white-space:normal}.cal-pill-time{font-weight:800;font-size:.62rem;opacity:.75}.cal-day-row{background:none;border:none;font:inherit;text-align:left;padding:4px 0;gap:10px;display:flex;align-items:center}.avatar{border-radius:50%;object-fit:cover;flex:none;display:inline-grid;place-items:center}.avatar-fallback{background:var(--accent-soft);color:var(--accent);font-weight:700}.empty{text-align:center;color:var(--muted);padding:2.2rem 1rem}.section-h{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:1.4rem 0 .2rem}.hero{text-align:center;padding:3.5rem 1rem}.hero h1{font-size:2.6rem}.tally{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.tally>span{display:block;height:100%;background:var(--go)}.err{color:var(--no);font-size:.9rem}.divider{height:1px;background:var(--line);margin:.4rem 0}.addr-menu{position:absolute;z-index:30;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--glass-line);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow:hidden;max-height:240px;overflow-y:auto}.addr-item{display:block;width:100%;text-align:left;padding:.55rem .75rem;background:none;border:none;font:inherit;color:var(--ink);cursor:pointer}.addr-item:hover{background:var(--accent-soft);color:var(--accent)}.accent{color:var(--accent);font-weight:600}
